
SpecProof
Lets Claude search through 3GPP, IETF, and MPEG standards documents using semantic and full-text search. You get back citations with section numbers, page references, and source release versions. The server runs as a managed MCP endpoint at mcp.specproof.ai with API key auth and IP allowlisting. Built on a FAISS-accelerated index with 600k+ chunks and sub-second query times. Reach for this when you're working on telecom protocols, network architecture, or codec implementation and need to pull exact clauses from standards docs without manually paging through PDFs. Free tier gives you 1k searches to try it out.
- tools
- 17
- transport
- HTTP
- last updated
- Feb 1, 2026
Install
From registry metadata$ npx add-mcp https://mcp.specproof.ai/ --name specproof-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http specproof-mcp https://mcp.specproof.ai/Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 17 toolsVerified live against the running server on Nov 6, 2026.
get_spec_referencesGet all specifications referenced by a given spec. Args: spec_number: Specification number (e.g., "23.501", "26.230") reference_type: Filter by type - "normative", "informative", "inline" (optional)2 params
Get all specifications referenced by a given spec. Args: spec_number: Specification number (e.g., "23.501", "26.230") reference_type: Filter by type - "normative", "informative", "inline" (optional)
reference_typevaluespec_number*stringget_spec_dependentsGet all specifications that reference a given spec (reverse lookup). Args: spec_number: Specification number to find dependents of max_results: Maximum results (default: 50)2 params
Get all specifications that reference a given spec (reverse lookup). Args: spec_number: Specification number to find dependents of max_results: Maximum results (default: 50)
max_resultsintegerspec_number*stringget_relationship_graphGet a relationship graph centered on a specification, expanding N hops. Returns JSON with nodes and edges suitable for graph visualization. Each node includes title, series, working group, and reference counts. Each edge includes source, target, reference type, and count. Args...3 params
Get a relationship graph centered on a specification, expanding N hops. Returns JSON with nodes and edges suitable for graph visualization. Each node includes title, series, working group, and reference counts. Each edge includes source, target, reference type, and count. Args...
depthintegerreference_typevaluespec_number*stringget_spec_metadataGet enriched metadata for specifications with filtering. Args: spec_number: Filter by spec number (partial match) series: Filter by series (e.g., "26" for 26.xxx codecs) working_group: Filter by working group (e.g., "SA4") doc_class: Filter by document class - "TS" or "TR" lim...5 params
Get enriched metadata for specifications with filtering. Args: spec_number: Filter by spec number (partial match) series: Filter by series (e.g., "26" for 26.xxx codecs) working_group: Filter by working group (e.g., "SA4") doc_class: Filter by document class - "TS" or "TR" lim...
doc_classvaluelimitintegerseriesvaluespec_numbervalueworking_groupvalueget_most_referenced_specsGet the most referenced (most important) specifications ranked by incoming reference count. Args: doc_type: Filter by "3gpp" or "ietf" series: Filter by series number limit: Maximum results (default: 20)3 params
Get the most referenced (most important) specifications ranked by incoming reference count. Args: doc_type: Filter by "3gpp" or "ietf" series: Filter by series number limit: Maximum results (default: 20)
doc_typevaluelimitintegerseriesvalueget_series_overviewGet an overview of all specification series with document counts, reference statistics, and working group assignments.
Get an overview of all specification series with document counts, reference statistics, and working group assignments.
No parameters. Call it with no arguments.
search_specificationsSearch across 3GPP, IETF, and Multimedia specification documents using full-text search. Args: query: Search query terms (required) doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional) spec_number: Filter by specification number (optional) max_results: Maxi...4 params
Search across 3GPP, IETF, and Multimedia specification documents using full-text search. Args: query: Search query terms (required) doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional) spec_number: Filter by specification number (optional) max_results: Maxi...
doc_typevaluemax_resultsintegerquery*stringspec_numbervaluesemantic_searchPerform semantic search using vector embeddings with FAISS acceleration. Args: query: Natural language search query (required) max_results: Maximum number of results to return (default: 5, max: 20) similarity_threshold: Minimum similarity threshold 0.0-1.0 (default: 0.3) index...4 params
Perform semantic search using vector embeddings with FAISS acceleration. Args: query: Natural language search query (required) max_results: Maximum number of results to return (default: 5, max: 20) similarity_threshold: Minimum similarity threshold 0.0-1.0 (default: 0.3) index...
index_typevaluemax_resultsintegerquery*stringsimilarity_thresholdnumberget_document_contentGet specific content from a specification document. Args: filename: Document filename (required) page_range: Page range like "10-15" or single page "20" (optional) section: Section title filter (optional)3 params
Get specific content from a specification document. Args: filename: Document filename (required) page_range: Page range like "10-15" or single page "20" (optional) section: Section title filter (optional)
filename*stringpage_rangevaluesectionvaluelist_documentsList available specification documents. Args: doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional) search_pattern: Search pattern for spec number or title (optional) limit: Maximum number of results (default: 20, max: 100)3 params
List available specification documents. Args: doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional) search_pattern: Search pattern for spec number or title (optional) limit: Maximum number of results (default: 20, max: 100)
doc_typevaluelimitintegersearch_patternvalueget_requirementsList normative requirements (RFC 2119 / BCP 14 "shall/should/may" statements) extracted from specifications, each cited back to its source clause. Args: spec_number: Filter by spec number, e.g. "23.501" or "RFC 9110" (optional) obligation: Filter by strength - "must", "must_no...4 params
List normative requirements (RFC 2119 / BCP 14 "shall/should/may" statements) extracted from specifications, each cited back to its source clause. Args: spec_number: Filter by spec number, e.g. "23.501" or "RFC 9110" (optional) obligation: Filter by strength - "must", "must_no...
limitintegerobligationvaluesearchvaluespec_numbervaluegenerate_testsGenerate a cited, runnable conformance test that verifies one normative requirement. The test is grounded in the requirement sentence plus its surrounding clause from the corpus, and every test cites the spec, section and page it enforces. If the requirement is not testable (b...2 params
Generate a cited, runnable conformance test that verifies one normative requirement. The test is grounded in the requirement sentence plus its surrounding clause from the corpus, and every test cites the spec, section and page it enforces. If the requirement is not testable (b...
requirement_id*integertargetstringdiff_spec_versionsDiff two versions of a specification at the NORMATIVE level: which requirements were added, removed, or reworded. Not a textual diff — a clause that merely moved page or was recased counts as unchanged. Args: spec_base: Spec identity without the version, e.g. "38331" or "23501...5 params
Diff two versions of a specification at the NORMATIVE level: which requirements were added, removed, or reworded. Not a textual diff — a clause that merely moved page or was recased counts as unchanged. Args: spec_base: Spec identity without the version, e.g. "38331" or "23501...
from_versionvaluelimitintegerobligationvaluespec_base*stringto_versionvalueget_schema_definitionsLook up formal, machine-checkable structure defined in the specifications: ASN.1 types (3GPP RRC/NAS message grammars) and JSON Schema / OpenAPI models (5G Service Based Interfaces). Prefer this over prose search when the question is about a message's *structure* — field names...4 params
Look up formal, machine-checkable structure defined in the specifications: ASN.1 types (3GPP RRC/NAS message grammars) and JSON Schema / OpenAPI models (5G Service Based Interfaces). Prefer this over prose search when the question is about a message's *structure* — field names...
kindvaluelimitintegernamevaluespec_numbervalueget_rfc_lineageAn RFC's revision history. RFCs are immutable — an RFC is never revised, it is obsoleted or updated by a *different* RFC — so this Obsoletes/Updates graph, not a version diff, IS its change history. Use it to find out whether an RFC you depend on has been superseded. Args: rfc...1 params
An RFC's revision history. RFCs are immutable — an RFC is never revised, it is obsoleted or updated by a *different* RFC — so this Obsoletes/Updates graph, not a version diff, IS its change history. Use it to find out whether an RFC you depend on has been superseded. Args: rfc...
rfc*stringbuild_cross_spec_suiteAssemble the normative requirements for one procedure across a spec AND the specs it normatively references — a procedure like registration or handover is never described in a single document. Returns a cited suite plan; feed the requirement_ids to generate_tests. Args: spec_b...4 params
Assemble the normative requirements for one procedure across a spec AND the specs it normatively references — a procedure like registration or handover is never described in a single document. Returns a cited suite plan; feed the requirement_ids to generate_tests. Args: spec_b...
include_referencesbooleankeyword*stringlimitintegerspec_base*stringget_database_statsGet comprehensive database and system statistics.
Get comprehensive database and system statistics.
No parameters. Call it with no arguments.
Sponsors
Readme
Details
- Repository
- github.com/ibouazizi/specproof
- Website
- specproof.ai
- Category
- Search & Web Crawling
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026