internet-standards-mcp
You can look up authoritative RFC and IANA standards data for accurate citations and implementations.
Get RFC status:
rfc_inforeturns title, status, current/obsolete, obsoleted-by chain, current replacements, updates, and links for up to 20 RFCs, BCPs/STDs/FYIs, or drafts.Read exact RFC sections:
rfc_sectionreturns verbatim section text by number or title with applicable errata, phrase search across an RFC, or table of contents; warns if obsolete.Search RFCs by topic:
search_rfcsfinds documents by title/keywords/abstract, ranking current RFCs above replaced ones.Look up IANA registry entries:
iana_lookupfinds HTTP status codes/fields/methods, media types, URI schemes, ports, TLS cipher suites, link relations, and DNS RR types with defining RFC references.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@internet-standards-mcp Is RFC 2616 still current? What replaces it?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Internet Standards
RFCs and IANA registries for coding agents, straight from the RFC Editor and IANA: the exact text of any RFC section, whether an RFC is still current and what replaces it today, the errata filed against a section, and registered values such as HTTP status codes, header fields, media types, ports and TLS cipher suites.
Models quote obsolete RFCs from memory. Ask one about HTTP/1.1 and it cites RFC 2616, which was replaced twice (by RFCs 7230 to 7235 in 2014, then by RFCs 9110 to 9112 in 2022). Internet Standards follows every obsoleted-by chain to its end, warns whenever a section comes from an obsolete RFC, and returns section text verbatim with the verified errata that correct it, so an agent can quote a requirement exactly and know it still applies.
rfc_info: status, whether it is current, what obsoletes it and the current replacements at the end of the chain, what updates it. Accepts RFC numbers, BCP/STD/FYI series (BCP 14 is RFC 2119 and RFC 8174) and Internet-Draft names.rfc_section: one section's exact text by number (15.5.5) or title, with its verified and held errata; a phrase search across the RFC; or the table of contents, with subsections listed so an agent can drill down.search_rfcs: topic search in which current documents rank above the ones they replaced.iana_lookup: HTTP status codes, fields and methods, media types, URI schemes, port numbers, TLS cipher suites, link relations and DNS record types, each with its defining RFC section.
No account or key needed. Built and maintained by Arhan Canli.
Install
Needs Node.js 20 or newer. No account or key.
Claude Code
claude mcp add internet-standards -- npx -y internet-standards-mcpClaude Desktop: download internet-standards-mcp-<version>.mcpb from the latest release and open it. The bundle is signed; verify it with gh attestation verify <file> --repo arhancanli/internet-standards-mcp.
Any other client (Windsurf, Zed, Cline, Continue and others), in its MCP config file:
{
"mcpServers": {
"internet-standards": {
"command": "npx",
"args": [
"-y",
"internet-standards-mcp"
]
}
}
}Docker
docker build -t internet-standards-mcp https://github.com/arhancanli/internet-standards-mcp.git && docker run -i --rm internet-standards-mcpHosted (Streamable HTTP): node src/server.mjs --http serves stateless MCP at POST /mcp (port from PORT, default 3000).
Related MCP server: mcp-ietf-datatracker
Example
An agent calls rfc_info with:
{
"ids": [
"RFC 2616",
"BCP 14",
"draft-ietf-httpbis-semantics",
"RFC 99999"
]
}and gets back (recorded from the live server on 2026-09-26):
{
"results": [
{
"id": "RFC 2616",
"rfc": "RFC 2616",
"title": "Hypertext Transfer Protocol -- HTTP/1.1",
"status": "Draft Standard",
"current": false,
"obsoleted_by": [
"RFC 7230",
"RFC 7231",
"RFC 7232",
"RFC 7233",
"RFC 7234",
"RFC 7235"
],
"current_replacements": [
"RFC 9110",
"RFC 9111",
"RFC 9112"
],
"updated_by": [
"RFC 2817",
"RFC 5785",
"RFC 6266",
"RFC 6585"
],
"obsoletes": [
"RFC 2068"
],
"published": "June 1999",
"authors": "R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter et al.",
"url": "https://www.rfc-editor.org/rfc/rfc2616.html",
"errata": "https://www.rfc-editor.org/errata/rfc2616",
"info": "https://www.rfc-editor.org/info/rfc2616"
},
{
"id": "BCP 14",
"series": "BCP14",
"rfc": "RFC 2119",
"title": "Key words for use in RFCs to Indicate Requirement Levels",
"status": "Best Current Practice",
"current": true,
"updated_by": [
"RFC 8174"
],
"published": "March 1997",
"authors": "S. Bradner",
"url": "https://www.rfc-editor.org/rfc/rfc2119.html",
"errata": "https://www.rfc-editor.org/errata/rfc2119",
"info": "https://www.rfc-editor.org/info/rfc2119"
},
{
"id": "BCP 14",
"series": "BCP14",
"rfc": "RFC 8174",
"title": "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words",
"status": "Best Current Practice",
"current": true,
"updates": [
... (43 more lines)Tools
Tool | What it does |
| Looks up an entry in an IANA registry (HTTP status codes, fields, methods; media types; URI schemes; port numbers; TLS cipher suites; link relations; DNS record types) by exact value or name, else by text. Returns the entry and its defining RFC section. |
| For up to 20 RFCs (RFC 2616, BCP 14, STD 97 or a draft name): title, status, whether it is current, what obsoletes it and the current replacements at the end of that chain, what updates it, and links. Use before citing or implementing an RFC. |
| Returns the exact text of one RFC section (by number like 15.5.5 or by title) with the verified errata that apply to it; with find, lists the sections containing a phrase; with neither, the table of contents. Warns when the RFC is obsolete. |
| Finds RFCs by topic words in titles, keywords and abstracts; current documents rank above the ones they replaced. Returns number, title, status, year and what obsoletes each. |
How it behaves
Read-only: no tool changes anything outside this process.
Network: HTTPS only, to the hosts listed in
package.jsonunderfactory.allowHosts, with a deadline, a size cap and bounded retries; a read that stalls is abandoned and retried. Nothing else is contacted, and nothing is logged except unexpected failures (to stderr, without your inputs).Per-RFC lookups use the RFC Editor's small per-document records. The full RFC index (for search, series and drafts) and the errata export are downloaded compressed on first use, then kept in memory as parsed data for 12 hours; RFC texts and IANA registries for 24 hours.
Section text is the RFC Editor's published plain text with page footers and running headers removed; long sections are cut at 12,000 characters with an explicit marker.
Results are compact JSON with a matching output schema.
Benchmark
Measured 2026-09-26 with gpt-5.4-mini, 10 fixed tasks graded by fixed checks (bench/tasks.json, raw results in bench/results/).
Server | Correct | Input tokens | Output tokens | Tool calls | Median time |
This server | 10/10 | 16294 | 350 | 10 | 2.1 s |
rfcxml-mcp, the most active RFC server | 5/10 | 206325 | 782 | 24 | 4.1 s |
Performance
Measured 2026-09-26 from Dubai, home connection against the live upstream, Node 24.19.0 (bench/perf.json, scripts/perf.mjs in the factory).
Call | First call | Repeat | Result size |
rfc_info: RFC 2616, BCP 14, a draft name and a missing number | 1814 ms | 0.6 ms | 2,055 chars |
rfc_section: RFC 9110 section 12.5.1 with its errata | 1868 ms | 0.5 ms | 6,171 chars |
rfc_section: RFC 7231 section 6.5.4 (paginated, obsolete) | 2795 ms | 0.4 ms | 997 chars |
rfc_section: find a phrase in RFC 9110 | 636 ms | 4.6 ms | 5,094 chars |
search_rfcs: http semantics | 1212 ms | 3.6 ms | 1,190 chars |
iana_lookup: HTTP status 418 | 358 ms | 0.4 ms | 245 chars |
iana_lookup: media type application/json | 278 ms | 0.6 ms | 206 chars |
iana_lookup: port 5432 | 480 ms | 1.1 ms | 497 chars |
First call: a fresh server process, including the TLS connection and the upstream's own time. Repeat: the same call again, answered from the in-process cache, so it shows this server's own overhead.
Tool definitions the model reads on every turn (name, description, input schema): 2,119 characters, against 3,643 for rfcxml-mcp, the most active RFC server. The full tool list, with the output schemas and annotations clients use to validate results, is 3,610 characters (3,636 for the alternative).
Data sources
RFC Editor: per-RFC records, RFC text, the RFC index and the errata database.
IANA protocol registries (CSV exports).
More MCP servers by Arhan Canli
Actions Check: Checks GitHub Actions workflows: outdated actions, old Node runtimes, retired runners, injection.
Config Check: Validates config files against their official schemas: tsconfig, compose, workflows, 1,400+ more.
Cron Check: Explains cron expressions, lists next run times in any time zone, converts between cron dialects.
Dockerfile Check: Checks Dockerfiles: build-breaking mistakes, base image tags that exist, digests, platforms, EOL.
Domain Health: Email and domain checks: SPF lookup limits, DKIM keys, DMARC, DNS records, registration expiry.
End of Life: Is this version still supported? EOL dates, latest patch and upgrade target for 470+ products.
Kube Check: Checks Kubernetes manifests for your version: removed APIs, unknown fields, Pod Security, risks.
License Check: Open source license answers: SPDX ids, copyleft, and whether a dependency's license fits yours.
The whole collection, 12 more
License
MIT, Copyright (c) 2026 Arhan Canli.
Available Tools
4 toolsiana_lookupIANA registry lookupARead-onlyIdempotent
Looks up an entry in an IANA registry (HTTP status codes, fields, methods; media types; URI schemes; port numbers; TLS cipher suites; link relations; DNS record types) by exact value or name, else by text. Returns the entry and its defining RFC section.
Inputs: query (required), registry (required). Returns: exact, total, entries, registry
rfc_infoRFC status and replacementsARead-onlyIdempotent
For up to 20 RFCs (RFC 2616, BCP 14, STD 97 or a draft name): title, status, whether it is current, what obsoletes it and the current replacements at the end of that chain, what updates it, and links. Use before citing or implementing an RFC.
Inputs: ids (required). Returns: results
rfc_sectionExact RFC section textARead-onlyIdempotent
Returns the exact text of one RFC section (by number like 15.5.5 or by title) with the verified errata that apply to it; with find, lists the sections containing a phrase; with neither, the table of contents. Warns when the RFC is obsolete.
Inputs: rfc (required), find, section, subtree. Returns: rfc, obsoleted_by
search_rfcsSearch RFCsARead-onlyIdempotent
Finds RFCs by topic words in titles, keywords and abstracts; current documents rank above the ones they replaced. Returns number, title, status, year and what obsoletes each.
Inputs: query (required), include_obsolete. Returns: total, results
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clear, distinct purpose: IANA registry lookup vs. RFC discovery, metadata retrieval, and section text extraction. There is no meaningful overlap between any two tools.
All names use lowercase with underscores styles vary between object+verb (iana_lookup), object+noun (rfc_info, rfc_section), and verb+object (search_rfcs). The pattern is not perfectly uniform but remains predictable and readable.
At 4 tools, the server is compact but covers the core references for internet standards. Slightly thin, but each tool serves a necessary, non-redundant function.
The set covers IANA lookups, RFC searching, metadata validation, and section-level text with errata. Missing full RFC text retrieval or a registry listing, but the main workflows are covered without major dead ends.
Maintenance
Related MCP Connectors
Find IANA ports, MIME types, HTTP codes/fields, URI schemes, PENs, BCP 47 tags, RFCs, any registry.
Exact reference codes for AI agents: countries, currencies with minor units, HTTP status, MIME.
Pay-per-call web tools for agents: URL to markdown, metadata, links, DNS, email/domain checks, RDAP.
Machine-readable entity discovery with provenance, trust and verified source evidence.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables programmatic access to IETF RFC documents, allowing users to fetch, search, and extract specific sections from RFCs.3139 npm20Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables querying IETF documents, RFCs, working groups, and persons from the IETF Datatracker via MCP tools.150 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides LLM-based access to IETF documents such as RFCs, Internet-Drafts, STD/BCP/FYI series, and errata through a Model Context Protocol server.MIT
- AlicenseNot gradedqualityAmaintenanceEnables evidence-first, read-only analysis of IETF RFCs with pinned content-addressed snapshots, byte-exact citations, and RFC 2119/8174 requirement extraction. Provides tools, resources, and prompts for resolving, reading, searching, comparing, and verifying RFC content with provenance.2 npmApache 2.0