MCP server

Connect the ColdState MCP server

A hosted Model Context Protocol server with 16 read-only tools. Your API key is all you need: there is nothing to install or run.

Endpoint

https://cold-api.coldstate.ai/mcp

The server speaks Streamable HTTP (JSON-RPC 2.0) and is stateless. Authenticate with the same key you use for the REST API, sent as Authorization: Bearer cs_live_.... Each tool call is forwarded to the matching REST endpoint with your key, so rate limits and usage are counted per account exactly as they are for REST. New to the protocol? Read What is an MCP server?

Add it to your client

Any MCP client that supports remote HTTP servers can connect. Add this to the client's MCP config and restart it:

{
  "mcpServers": {
    "coldstate": {
      "url": "https://cold-api.coldstate.ai/mcp",
      "headers": { "Authorization": "Bearer cs_live_..." }
    }
  }
}

With the Claude Code CLI:

claude mcp add --transport http coldstate https://cold-api.coldstate.ai/mcp \
  --header "Authorization: Bearer cs_live_..."

No key yet? Create a free account. The quickstart covers the same calls over REST.

Check the connection

Listing tools needs no key, so you can confirm the server is reachable before configuring a client. Send both content types in the Accept header:

curl -X POST https://cold-api.coldstate.ai/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

initialize and tools/list work without a key; tools/call requires one.

12 tools

Global knowledge base tools

Search, fetch and verify facts from the 48.4M-entry knowledge base. The citation workflow is described in fetch, cite, verify.

coldstate_search_global

POST /v1/search/global

Search the global knowledge base (48.4M entries, 35 domains). Deterministic ranking, with a Ψ score and state per result. Optionally filter by domain.

Arguments
querystring, required, max 2000 chars — The search query.
domainstring — Filter by knowledge domain, e.g. MEDICINE. Case-insensitive.
limitinteger, 1–100, default 10 — Max results to return.
offsetinteger, default 0 — Offset for pagination.

coldstate_fetch

GET /v1/knowledge/fetch

Fetch a knowledge entry verbatim by its stable id, with a content_hash and kb_snapshot for reproducible citation.

Arguments
idstring, required — Stable knowledge entry id.

coldstate_cite

GET /v1/knowledge/cite

Canonical, reproducible citation for an entry: title, domain, source, content_hash and kb_snapshot.

Arguments
idstring, required — Stable knowledge entry id.

coldstate_verify

POST /v1/knowledge/verify

Verify a previously cited fact is unchanged by comparing the content_hash you stored with the current knowledge base.

Arguments
idstring, required — Stable knowledge entry id.
content_hashstring, required — The content_hash from an earlier fetch or cite.

coldstate_snapshot

GET /v1/knowledge/snapshot

Current knowledge-base snapshot id. Pin it for reproducibility: the same query against the same kb_snapshot returns identical results.

coldstate_resolve

GET /v1/knowledge/resolve

Resolve a name, alias or surface form to a canonical entry id. Returns the canonical entry plus alternatives.

Arguments
querystring, required, max 500 chars — The name, term or alias to resolve.
limitinteger, 1–5, default 4 — Max alternative candidates.

coldstate_isomorph

GET /v1/knowledge/isomorph

Cross-domain structural analog of an entry: same structure, different domain.

Arguments
idstring, required — Stable knowledge entry id.
limitinteger, 1–35, default 8 — Max analogs (one per domain).

coldstate_stats

GET /v1/knowledge/stats

With a query: total matches and the state distribution of the top results. Without: global knowledge-base stats.

Arguments
querystring, max 2000 chars — Optional query to get coverage stats for.
domainstring — Optional domain filter (with query).

coldstate_domains

GET /v1/search/domains

List the knowledge domains in the global knowledge base with entry counts.

coldstate_capabilities

GET /v1/knowledge/capabilities

Machine-readable manifest of the server: tools, domains, current kb_snapshot, guarantees and limits. Call it first to self-configure.

4 tools

Custom index tools

Search and inspect the indexes you have built from your own documents. Creating and deleting indexes is done over REST or in the dashboard; every MCP tool is read-only.

coldstate_list_indexes

GET /v1/indexes

List your custom indexes with their status, mode, document count and domain preset.

coldstate_browse_documents

GET /v1/indexes/:id/documents

Browse a custom index: your reference ids and metrics only, since document text is not stored.

Arguments
index_idstring, required — Index id, e.g. idx_…
limitinteger, 1–100, default 20 — Max documents to return.
offsetinteger, default 0 — Offset for pagination.

coldstate_explain

POST /v1/indexes/:id/explain

Explain why a document ranked for a query, term by term. Deterministic and reproducible.

Arguments
index_idstring, required — Index id, e.g. idx_…
querystring, required, max 2000 chars — The query to explain against.
doc_idstring, required — Document id, e.g. "doc_42" or "42".

Limits and discovery

Queries are limited to 2000 characters, batches to 10 queries, and results to 100 per query. Plan quotas and rate limits are on the pricing page.

Machine-readable descriptions of the server: MCP server manifest, OpenAPI 3.1 and llms.txt.