Mcp

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
GET
GET
GET
GET
GET

List all mcp registry servers

List registry servers ordered by static rank under the chosen ranking version.

Required API key scopes

mcp_registry:read

Query parameters

  • limit
    integer
  • measured_only
    boolean
  • offset
    integer
  • search
    string
  • version
    string

Response


Example request

GET /api/projects/:project_id/mcp_registry/servers
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"registry_name": "string",
"display_name": "string",
"description": "string",
"canonical_url": "string",
"liveness": "string",
"auth_method": "string",
"listed_in_registry": true,
"is_measured": true,
"rank_score": 0
}
]
}

Retrieve mcp registry servers

Full server record: tools, measured stats, per-version scores, connection instructions.

Required API key scopes

mcp_registry:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/mcp_registry/servers/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"registry_name": "string",
"display_name": "string",
"description": "string",
"canonical_url": "string",
"liveness": "string",
"auth_method": "string",
"listed_in_registry": true,
"is_measured": true,
"rank_score": 0,
"remotes": [
{
"type": "string",
"url": "string"
}
],
"packages": [
{
"registry_type": "string",
"identifier": "string"
}
],
"repository_url": "string",
"website_url": "string",
"last_probed_at": "2019-08-24T14:15:22Z",
"tools": [
{}
],
"measured_stats": [
{}
],
"scores": [
{}
],
"connect": {}
}

Retrieve mcp registry servers compare

Rank the same index under several ranking versions side by side. With exactly two versions the response includes per-server rank deltas, the review surface for promoting a new ranking version.

Required API key scopes

mcp_registry:read

Query parameters

  • limit
    integer
  • search
    string
  • versions
    string

Example request

GET /api/projects/:project_id/mcp_registry/servers/compare
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/compare/

Example response

Status 200

Retrieve mcp registry servers discover

Given a task, return the MCP servers most likely to do it, each with its rank rationale, real usage signal where we measure it, and ready-to-run connection instructions. One call is everything an agent needs to go from a task to a connected server.

Required API key scopes

mcp_registry:read

Query parameters

  • intent
    string
  • limit
    integer
  • version
    string

Response


Example request

GET /api/projects/:project_id/mcp_registry/servers/discover
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/discover/

Example response

Status 200
RESPONSE
{
"intent": "string",
"ranking_version": "string",
"candidates": [
{
"rank": 0,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"registry_name": "string",
"title": "string",
"description": "string",
"score": 0.1,
"relevance": 0,
"combined_score": 0,
"why": {},
"liveness": "string",
"auth_method": "string",
"measured": {},
"matched_tools": [
{
"name": "string",
"description": "string",
"source": "string"
}
],
"connect": {}
}
]
}

List all mcp registry servers measured projects

Which projects feed MCP Analytics signal into the index, and how much each contributes. Staff only, because it reports across every project rather than the one in the route: it answers whether the measured layer has enough coverage to rank on.

Required API key scopes

mcp_registry:read

Example request

GET /api/projects/:project_id/mcp_registry/servers/measured_projects
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/measured_projects/

Example response

Status 200
RESPONSE
{
"team_id": 0,
"servers": 0,
"calls": 0
}

List all mcp registry servers versions

Registered ranking versions and their latest completed runs.

Required API key scopes

mcp_registry:read

Example request

GET /api/projects/:project_id/mcp_registry/servers/versions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/mcp_registry/servers/versions/

Example response

Status 200
RESPONSE
{
"version": "string",
"description": "string",
"is_default": true,
"latest_run": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"server_count": 0,
"computed_at": "2019-08-24T14:15:22Z"
}
}