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.
- Authorization endpoint:
https://mcp.specproof.ai/authorize - Token endpoint:
https://mcp.specproof.ai/token - Registration endpoint:
https://mcp.specproof.ai/register - Discovery:
https://mcp.specproof.ai/.well-known/oauth-authorization-server - Access tokens are bearer tokens, 7-day lifetime.
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.