← All docs

MCP server

MCP server

The MCP (Model Context Protocol) front door exposes the same capability search as the HTTP API, shaped as tools your agent can call directly.

Base URL

Default local: http://localhost:8090 (see MCP_PORT in compose). In production this may be mounted under /mcp on your public host.

Health

GET /health

Returns {"status":"ok"} when the service is up.

Tools

List available tools:

GET /tools

search_capabilities

RRF faceted search over discovered capabilities.

Invoke

POST /tools/search_capabilities?q=weather&limit=10

Query parameters match the HTTP search API (q, kind, source, category, semantic_domain, semantic_facet, operation_type, limit).

Response — JSON array of hits (id, kind, url, semantic_facet, operation_type, score, description) wrapped in MCP content blocks.

get_capability

Fetch a single capability by UUID.

Invoke

POST /tools/get_capability?capability_id=<uuid>

When to use MCP vs HTTP

HTTP /v1/search MCP tools
Best for Custom integrations, browsers, llms.txt clients Agent runtimes that speak MCP
Discovery manifest Use GET /llms.txt on the API Use GET /tools on MCP
Auth Same as API (none in local dev) Same

The live tool schemas below are fetched from your running MCP instance.

Live tool schemas

Live tool list from http://mcp:8090/tools

search_capabilities

RRF faceted search over discovered capabilities

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "semantic_domain": {
      "type": "string"
    },
    "semantic_facet": {
      "type": "string"
    },
    "operation_type": {
      "type": "string"
    },
    "limit": {
      "type": "integer"
    }
  }
}

get_capability

Fetch a single capability by id

{
  "type": "object",
  "properties": {
    "capability_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "capability_id"
  ]
}