---
title: "Which MCP server to connect to for a job: the need's words matched against every observed tool list (names only; nothing is called), each candidate weighed on reliability (availability interval lower bound), registry-verified publisher, the auth audit, the tool-poisoning scan and the shadowing census; poisoned, copying, unreliable and (auth=none) login-gated servers are excluded with the reason. Signed (crawlcheck-mcp-selection)."
method: GET
path: "/api/v1/mcp/select"
---

# Which MCP server to connect to for a job: the need's words matched against every observed tool list (names only; nothing is called), each candidate weighed on reliability (availability interval lower bound), registry-verified publisher, the auth audit, the tool-poisoning scan and the shadowing census; poisoned, copying, unreliable and (auth=none) login-gated servers are excluded with the reason. Signed (crawlcheck-mcp-selection).

`GET /api/v1/mcp/select`

## Request

- Base URL: `https://crawlcheck.io`
- URL: `https://crawlcheck.io/api/v1/mcp/select`
- Auth: none required

## Query parameters

- `need` string, required
- `auth` 'none' | 'any'
- `limit` integer

## Response `200`

signed shortlist

- object, nullable
  - `kind` string, nullable
  - `v` number, nullable
  - `need` string, nullable
  - `matched_on` string[], nullable
  - `auth` string, nullable
  - `servers_with_tool_lists` number, nullable
  - `servers_matching` number, nullable
  - `candidates` object[], nullable
    - `rank` number, nullable
    - `server` string, nullable
    - `host` string, nullable
    - `publisher` string, nullable
    - `verified_publisher` boolean, nullable
    - `tools_matched` string[], nullable
    - `match` number, nullable
    - `reliability` object, nullable
      - `state` string, nullable
      - `availability` number, nullable
      - `observations` number, nullable
      - `p50_ms` number, nullable
    - `auth` object, nullable
      - `required` boolean, nullable
      - `findings` unknown[], nullable
        - unknown
    - `doubts` unknown[], nullable
      - unknown
    - `score` number, nullable
  - `excluded` object[], nullable
    - `server` string, nullable
    - `host` string, nullable
    - `why` string, nullable

## Other responses

- `400`: no need given

---

[API](https://skmtc.dev/crawlcheck/apis/crawlcheck-api.md) · [All operations](https://skmtc.dev/crawlcheck/apis/crawlcheck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlcheck/apis/crawlcheck-api/revisions/57acbd6d4489?raw)
