🚀 CADC MCP Server

Model Context Protocol server for astronomical data queries via CADC TAP service
Server Running
⏱️ Uptime: 1h 50m 28s
📊 Version: 1.0.0
🔗 MCP: Starting

📡 API Endpoints

GET /
This documentation page (HTML or JSON based on Accept header)
GET /health
Health check endpoint with system metrics and service status
{
  "status": "healthy",
  "uptime": 6628,
  "services": {
    "mcpServer": false,
    "cadcTap": true
  }
}
GET /metrics
Prometheus-compatible metrics for monitoring
POST /mcp
Main MCP protocol endpoint - handles all MCP operations via JSON-RPC
Content-Type application/json
Response text/event-stream (Server-Sent Events)

🛠️ Available Tools

query_adql

Execute ADQL queries against the CADC astronomical database

query ADQL query string (required)
format Output format: csv, tsv, or votable (default: csv)

resolve_datalink

Resolve DataLink URLs for astronomical observations

publisher_id Publisher ID from caom2.Plane table (required)
filter_semantics Array of semantic filters (optional)

search OpenAI Compatible

Search across CADC astronomical data using text queries and filters

query Search query string (required)
limit Maximum results to return (default: 100)
filters Optional filters: collection, telescope, instrument, dateRange, coordinates

fetch OpenAI Compatible

Fetch detailed data and metadata for astronomical resources

resourceId Resource identifier to fetch (required)
resourceType Type: observation, table, metadata, datalink, cutout, preview, raw
format Output format: json, csv, votable, fits, text
options Additional options: includeRelated, includeMetadata, cutout params

💡 Examples

Get Available Tools

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Execute ADQL Query

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "query_adql",
    "arguments": {
      "query": "SELECT TOP 5 observationID, collection FROM caom2.Observation",
      "format": "csv"
    }
  }
}

Fetch Resource Details (OpenAI Compatible)

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "fetch",
    "arguments": {
      "resourceId": "CFHT/806045o",
      "resourceType": "observation",
      "format": "json",
      "options": {
        "includeRelated": true,
        "includeMetadata": true
      }
    }
  }
}

List All Available Tables

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "resources/read",
  "params": {
    "uri": "cadc://tables"
  }
}

📚 Resources

Available Resource URIs

cadc://tables List all available CADC tables
cadc://table/{tableName} Get schema for a specific table (e.g., cadc://table/caom2.Observation)