protogrid

Search / ai.specproof/specproof-mcp

SpecProof

R0· no sign-in

SpecProof: Search standards specs with MCP-ready precision.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust85of 100
Uptime, 30 days100%
Latency p50328 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "specproof-mcp": {
      "type": "http",
      "url": "https://mcp.specproof.ai/"
    }
  }
}
claude mcp add --transport http specproof-mcp https://mcp.specproof.ai/
[mcp_servers.specproof-mcp]
url = "https://mcp.specproof.ai/"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "specproof-mcp": {
      "type": "remote",
      "url": "https://mcp.specproof.ai/",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "specproof-mcp": {
      "type": "http",
      "url": "https://mcp.specproof.ai/"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=specproof-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnNwZWNwcm9vZi5haS8ifQ%3D%3D"
}
{
  "servers": {
    "specproof-mcp": {
      "type": "http",
      "url": "https://mcp.specproof.ai/"
    }
  }
}
{
  "mcpServers": {
    "specproof-mcp": {
      "httpUrl": "https://mcp.specproof.ai/"
    }
  }
}
extensions:
  "specproof-mcp":
    enabled: true
    name: "specproof-mcp"
    type: streamable_http
    uri: "https://mcp.specproof.ai/"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • warn
    tools.annotationsonly 11 of 17 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints11 of 17 tools declare all four hints; missing: get_spec_dependents (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_relationship_graph (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_spec_metadata (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,238 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

17 tools, about 3,238 tokens to load them all · tool set 7aff5efef43a · checked 2026-10-20 00:54 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 85 / 100

provenance85
liveness100
freshness45
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% -stale-260d

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.specproof.ai/ streamable-httpnoneyes100%328 ms2025-11-252026-10-19

Tools (17)

build_cross_spec_suiteread-onlyAssemble 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_base: The anchor spec, e.g. "23502" or "38331" keyword: The procedure/topic, e.g. "registration", "handover", "authentication" include_references: Also pull matching clauses from specs this one references (default: True) limit: Max requirements in the plan (default: 20, max: 50)
diff_spec_versionsread-onlyDiff 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_version: Older version label, e.g. "j20" (default: the second-newest in the corpus) to_version: Newer version label, e.g. "j30" (default: the newest in the corpus) obligation: Only report changes at this strength — "must", "must_not", "should", "should_not", "may" limit: Max requirements to list per bucket (default: 25)
generate_testsread-onlyGenerate 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 (boilerplate, scope text), the generator abstains rather than inventing a test. Args: requirement_id: The requirement's id, as shown by get_requirements target: "pytest" for a runnable Python test module, or "gherkin" for a reviewable .feature file (default: pytest)
get_database_statsread-onlyGet comprehensive database and system statistics.
get_document_contentread-onlyGet 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)
get_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)
get_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: spec_number: Center specification number depth: Number of hops to expand (1-3, default: 1) reference_type: Filter by type - "normative", "informative" (optional)
get_requirementsread-onlyList 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_not", "should", "should_not", or "may" (optional) search: Keyword to search within the requirement text (optional) limit: Maximum number of requirements to return (default: 30, max: 100)
get_rfc_lineageread-onlyAn 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: The RFC, e.g. "7231", "rfc7231" or "RFC 7231"
get_schema_definitionsread-onlyLook 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, types, ranges, optionality. The definition is returned verbatim from the spec, so it is exact rather than recalled. Args: name: Type or schema name, e.g. "RRCSetup", "MeasConfig", "SmContextCreateData" spec_number: Restrict to a spec, e.g. "38.331" kind: "asn1", "openapi" or "json_schema" limit: Maximum definitions to return (default: 10, max: 25)
get_series_overviewGet an overview of all specification series with document counts, reference statistics, and working group assignments.
get_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)
get_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" limit: Maximum results (default: 50)
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)
list_documentsread-onlyList 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)
search_specificationsread-onlySearch 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: Maximum number of results to return (default: 10, max: 50)
semantic_searchread-onlyPerform 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_type: FAISS index type - "hnsw", "ivf", or "flat" (optional, auto-selected)

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.specproof/specproof-mcp",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "auth": {
        "via": "portal-api",
        "type": "api-key",
        "header": "x-api-key or Authorization: Bearer"
      },
      "tool": "manual",
      "notes": "Hosted MCP server for 3GPP/IETF spec search; vector search via FAISS when available.",
      "service": "specproof.ai",
      "version": "1.0.0",
      "mcp_endpoint": "https://mcp.specproof.ai/"
    }
  },
  "icons": [
    {
      "src": "https://specproof.ai/icons/specproof-icon-16.png",
      "sizes": [
        "16x16"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-32.png",
      "sizes": [
        "32x32"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-48.png",
      "sizes": [
        "48x48"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-64.png",
      "sizes": [
        "64x64"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-128.png",
      "sizes": [
        "128x128"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-180.png",
      "sizes": [
        "180x180"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-256.png",
      "sizes": [
        "256x256"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-384.png",
      "sizes": [
        "384x384"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://specproof.ai/icons/specproof-icon-1024.png",
      "sizes": [
        "1024x1024"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "SpecProof",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.specproof.ai/",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "id": "1147457273",
    "url": "https://github.com/ibouazizi/specproof.git",
    "source": "github"
  },
  "websiteUrl": "https://specproof.ai",
  "description": "SpecProof: Search standards specs with MCP-ready precision."
}