SpecProof MCP Documentation

SpecProof exposes a Model Context Protocol (MCP) server that lets AI assistants search and retrieve 3GPP, IETF, and Multimedia specification text. This page covers connecting, authenticating, and calling the tools the server publishes.

Quickstart

Server URL:

https://mcp.specproof.ai

Protocol: MCP 2024-11-05, JSON-RPC 2.0 over HTTPS. Transport is HTTP POST to / or /mcp.

Claude

Open the connectors directory in Claude, find SpecProof, click Connect, and complete OAuth. Or add it as a custom connector using the URL above — Claude handles OAuth automatically.

Other MCP clients

Any MCP client that supports OAuth 2.0 with Dynamic Client Registration (DCR) can connect. Point it at the server URL and it will discover the authorization server via /.well-known/oauth-authorization-server.

Authentication

SpecProof supports two authentication methods. Pick whichever fits your client.

Option A — OAuth 2.0 (recommended for Claude.ai)

OAuth 2.0 with PKCE and Dynamic Client Registration. No manual token handling — Claude runs the flow end-to-end.

Option B — Static API key (recommended for Claude Code, scripts, CI)

Generate a long-lived API key in the SpecProof portal (Settings → API Keys → New Key) and pass it as X-API-Key or Authorization: Bearer. This works with mcp-remote and any client that supports custom headers.

Example mcp.json / claude_desktop_config.json:

{
  "mcpServers": {
    "specproof": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.specproof.ai/mcp",
        "--header",
        "X-API-Key:${SPECPROOF_API_KEY}"
      ],
      "env": {
        "SPECPROOF_API_KEY": "sk_your_key_here"
      }
    }
  }
}

Equivalent raw HTTP call:

curl -X POST https://mcp.specproof.ai/mcp \
  -H "X-API-Key: sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Rate limits: 60 requests/minute per account on the free tier; MCP Access and higher tiers raise or remove this cap.

Tools

search_specifications

Full-text (FTS5) keyword search across the indexed 3GPP and IETF corpus. Use when you know exact terms, TS numbers, or RFC numbers. Supports filtering by source, release, and document number.

semantic_search

Vector similarity search over document chunks using FAISS (HNSW/IVF/Flat indices). Returns the closest-matching clauses for natural-language queries, even when wording differs from the spec.

get_document_content

Retrieve the verbatim text of a specific document, optionally scoped to a page or section range. Preserves structure.

list_documents

Browse the catalog of indexed documents, filterable by source (3gpp, ietf, mpeg), working group, release, or spec series.

get_database_stats

Report on corpus coverage: indexed document count, release coverage, working groups present, last update time. Use before answering coverage-sensitive questions.

Examples

Answer a normative question

"What does 3GPP TS 26.114 say about the IMS Data Channel bootstrap procedure, and which release introduced it?"

The assistant calls semantic_search scoped to TS 26.114, then get_document_content to pull the exact clauses and surrounding context.

Compare across releases

"How did NR sidelink resource allocation change between Rel-16 and Rel-18?"

The assistant queries TS 38.214 for both releases via search_specifications + get_document_content and diffs the normative text.

Cross-SDO lookup

"In IETF RFC 9000, what does Section 19.3 specify about ACK frames, and how does 3GPP TS 24.501 reference QUIC?"

The assistant calls get_document_content on RFC 9000 to pull the clause, then search_specifications against TS 24.501 to locate the normative reference.

Troubleshooting

OAuth connection fails or loops

Claude opens the SpecProof login screen but never redirects back. Usually a third-party cookie block in the browser. Unblock cookies for mcp.specproof.ai and specproof.ai, or try a different browser. Tokens expire after 7 days — reconnect via Claude's connector settings.

"Not authorized" on tool calls after connecting

The access token is valid but your account lacks the plan required for the tool, or the token was revoked. Sign in at specproof.ai to check subscription status. If the status is fine, disconnect and reconnect the SpecProof connector in Claude.

Rate limit (HTTP 429)

Free tier is capped at 1,000 spec searches / month and a default 60 requests/minute. MCP Access and higher tiers remove these caps. See specproof.ai/billing.

Empty or unexpected results

Call get_database_stats first and verify the target release, RFC, or spec series is indexed. If the document is listed but returns no content, email support@specproof.ai with the document number and clause — we will reindex.

Semantic search returns off-topic clauses

Semantic queries match meaning, not exact wording. For precise lookups by TS number, RFC number, or clause identifier, use search_specifications instead — it runs full-text FTS5 and filters.

Stale or superseded content

Specs are indexed on a rolling basis. New 3GPP meeting outputs typically appear within 1–2 weeks; IETF RFCs within 24 hours of publication. If you need a specific draft prioritized, email support.

Connecting from non-Claude MCP clients

Any client that supports OAuth 2.0 with Dynamic Client Registration should work. Point it at https://mcp.specproof.ai; the client will auto-discover endpoints via /.well-known/oauth-authorization-server.

Support

Questions, bug reports, or missing specs: support@specproof.ai. Vulnerability reports: security@specproof.ai.