Rfcxml Mcp
About
MCP server for structural understanding of RFC documents.
Details
- Author
- shuji-bonji
- Downloads
- 251
- Categories
- Other, Developer Tools
Jump to
- RFC text retrieval and section extraction with structural awareness
- Normative requirements extraction (MUST/SHOULD/MAY) with structured output
- RFC dependency graph construction (normative/informative)
- Definition scope management and related sections
- Implementation checklist generation
- Automatic fallback to text format for legacy RFCs
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Rfcxml McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server to your MCP configuration file (Claude Desktop or Claude Code) using the command npx -y @shuji-bonji/rfcxml-mcp. Optionally install globally via npm install -g @shuji-bonji/rfcxml-mcp and use rfcxml-mcp as the command. Tools are invoked through the MCP client.
get_rfc_structure
Get RFC section hierarchy and metadata. Metadata is enriched from the IETF Datatracker API (category, stream, publication date, abstract). Pass includeAuthors=true to also resolve author names (incurs extra API calls).
get_requirements
Extract normative requirements (MUST/SHOULD/MAY) from RFC in structured format.
get_definitions
Get term definitions from RFC.
get_rfc_dependencies
Get RFC reference relationships (normative/informative).
get_related_sections
Get sections related to the specified section.
generate_checklist
Generate RFC implementation checklist in Markdown format.
validate_statement
Validate if a statement complies with RFC requirements.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"rfcxml mcp": {
"rfcxml": {
"command": "npx",
"args": [
"-y",
"@shuji-bonji/rfcxml-mcp"
]
}
}
}
}
McpServers
{
"rfcxml": {
"command": "npx",
"args": [
"-y",
"@shuji-bonji/rfcxml-mcp"
]
}
}
A Model Context Protocol (MCP) server forstructured understandingof RFC documents.
Unlike existing text-based RFC MCP servers, this server leverages the semantic structure of RFCXML to enable:
- Normative requirements extraction(MUST/SHOULD/MAY) with structured output
- RFC dependency graphconstruction
- Definition scope management
- Implementation checklist generation
┌─────────────────────────┐ │ Markdown / PDF │ Display & Sharing ├─────────────────────────┤ │ Translation │ Explanation & Verification ├─────────────────────────┤ │ RFCXML MCP │ Common Understanding for AI & Humans ├─────────────────────────┤ │ RFCXML │ Single Source of Truth └─────────────────────────┘
Add the following to your MCP configuration file:
{ "mcpServers": { "rfcxml": { "command": "npx", "args": ["-y", "@shuji-bonji/rfcxml-mcp"] } } }
- Claude Desktop (macOS):~/Library/Application Support/Claude/claude_desktop_config.json
- Claude Desktop (Windows):%APPDATA%\Claude\claude_desktop_config.json
- Claude Code (project scope):.mcp.jsonat the project root
- Claude Code (user scope):~/.claude.json
- Claude Code (CLI):claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcp
{ "mcpServers": { "rfcxml": { "command": "rfcxml-mcp" } } }
- get_rfc_structure- Get section hierarchy and metadata
- get_requirements- Extract normative requirements (MUST/SHOULD/MAY) with structure
- get_definitions- Get term definitions and their scope
- get_rfc_dependencies- Get referenced RFCs (normative/informative)
- get_related_sections- Get related sections within the same RFC
- validate_statement- Verify if a statement complies with RFC requirements
- generate_checklist- Generate implementation checklist
RFCs published after RFC 8650 (December 2019) are available in official RFCXML v3 format. Earlier RFCs may not have XML available.
This server includesautomatic fallbackfunctionality - when XML is unavailable, it parses the text format instead.
All responses include source information:
{ "rfc": 6455, "sections": [...], "_source": "text", "_sourceNote": "Warning: Parsed from text format. Accuracy may be limited." }
{ "metadata": { "title": "Transmission Control Protocol (TCP)", "docName": "draft-ietf-tcpm-rfc793bis-28", "number": 9293 }, "sections": [ { "number": "section-1", "title": "Purpose and Scope" }, { "number": "section-3", "title": "Functional Specification", "subsections": [ { "number": "section-3.1", "title": "Header Format" }, { "number": "section-3.5", "title": "Establishing a Connection", "subsections": [ { "number": "section-3.5.1", "title": "Half-Open Connections and Other Anomalies" }, { "number": "section-3.5.2", "title": "Reset Generation" } ] } ] } ], "referenceCount": { "normative": 15, "informative": 85 }, "_source": "xml" }
get_requirements- Extract Normative Requirements
{ "rfc": 9293, "filter": { "level": "MUST" }, "stats": { "total": 53, "byLevel": { "MUST": 53 } }, "requirements": [ { "id": "R-section-3.5-5", "level": "MUST", "text": "A TCP implementation support simultaneous open attempts (MUST-10).", "section": "section-3.5", "sectionTitle": "Establishing a Connection" }, { "id": "R-section-3.7.1-9", "level": "MUST", "text": "TCP endpoints implement both sending and receiving the MSS Option (MUST-14).", "section": "section-3.7.1", "sectionTitle": "Maximum Segment Size Option" } ], "_source": "xml" }
get_rfc_dependencies- Get RFC Dependencies
{ "rfc": 9293, "normative": [ { "rfcNumber": 791, "title": "Internet Protocol", "anchor": "RFC0791" }, { "rfcNumber": 2119, "title": "Key words for use in RFCs to Indicate Requirement Levels" }, { "rfcNumber": 5681, "title": "TCP Congestion Control" } ], "informative": [ { "rfcNumber": 793, "title": "Transmission Control Protocol" }, { "rfcNumber": 1122, "title": "Requirements for Internet Hosts - Communication Layers" } ], "_source": "xml" }
generate_checklist- Generate Implementation Checklist
# RFC 9293 Implementation Checklist Transmission Control Protocol (TCP) Role: Client ## Required (MUST / REQUIRED / SHALL) - [ ] A TCP implementation support simultaneous open attempts (MUST-10). (section-3.5) - [ ] TCP endpoints implement both sending and receiving the MSS Option (MUST-14). (section-3.7.1) - [ ] The RTO be computed according to the algorithm in, including Karn's algorithm (MUST-18). (section-3.8.1) ## Optional (MAY / OPTIONAL) - [ ] Implementers include "keep-alives" in their TCP implementations (MAY-5). (section-3.8.4)
{ "metadata": { "title": "The WebSocket Protocol", "number": 6455 }, "sections": [ { "number": "1", "title": "Introduction" }, { "number": "5", "title": "Data Framing" } ], "_source": "text", "_sourceNote": "Warning: Parsed from text format. Accuracy may be limited." }
See theexamples/directory for complete checklist samples:
Generate an implementation checklist for RFC 9293 (TCP).
src/ ├── index.ts # MCP server entry point ├── config.ts # Centralized configuration ├── constants.ts # BCP 14 keyword definitions + RFC number limits ├── services/ │ ├── rfc-fetcher.ts # RFC fetching (parallel) │ ├── rfc-service.ts # RFC parse & cache management │ ├── rfcxml-parser.ts # RFCXML parser │ ├── rfc-text-parser.ts # Text fallback parser │ └── checklist-generator.ts # Checklist generation service ├── tools/ │ ├── definitions.ts # MCP tool definitions │ └── handlers.ts # Tool handlers (toolHandlers map) ├── types/ │ └── index.ts # Type definitions └── utils/ ├── cache.ts # LRU cache ├── fetch.ts # Parallel fetch utility ├── logger.ts # Logger abstraction ├── requirement-extractor.ts # Shared requirement extraction ├── section.ts # Section search utilities ├── statement-matcher.ts # Weighted statement matching ├── text.ts # Text processing utility └── validation.ts # Input validation
Sends parallel requests to multiple sources (RFC Editor, IETF Tools, Datatracker) and uses the first successful response:
┌─────────────────┐ │ fetchRFCXML() │ └────────┬────────┘ │ Parallel requests ┌────┴────┬────────────┐ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ │RFC │ │IETF │ │Data- │ │Editor │ │Tools │ │tracker │ └────┬───┘ └────┬───┘ └────┬───┘ │ │ │ └────┬─────┴──────────┘ │ Promise.any (first success) ▼ ┌───────────┐ │ Successful│ → Cancel other requests via AbortController │ Response │ └───────────┘
LRU (Least Recently Used) cache with memory limits:
# Install dependencies npm install # Development mode npm run dev # Build npm run build # Test (watch mode) npm test # Test (single run — for CI etc.) npm test -- --run # E2E test (MCP client integration) npm run test:e2e # Lint npm run lint # Format npm run format
- mjpitz/mcp-rfc- Text-based RFC MCP
- ietf-tools/RFCXML- RFCXML schema
- xml2rfc- IETF official tool
Chia Health MCP Server — Patient workflow integration for a licensed US telehealth platform. Browse GLP-1 medications (semaglutide, tirzepatide), peptide therapies (sermorelin, NAD+, glutathione), and longevity treatments. Check eligibility, complete intake, sign consents, and manage treatment plans. 30 tools, HIPAA-compliant. All prescriptions evaluated by licensed US healthcare providers and delivered from FDA-regulated pharmacies across 50 states + DC.
Broker + MCP server for last-bidder-wins games on Solana — agents register, auto-fund a Privy wallet, and bid via streamable HTTP
AI-powered no-code app builder with 17 MCP tools — create projects, generate pages from natural language, AI text/image generation (GPT, Claude, Gemini, 14+ models), page CRUD, workflow execution, publish & version control. SSE transport, API key auth.
An mcp server for your food ordering needs.
Agent-to-Agent handoff certification for multi-agent systems — validates context preservation, verifies agent capabilities before handoff, logs transfer chains, and ensures no data loss in agent orchestration.
Unified MCP & skill management gateway with progressive disclosure. Manages multiple MCP servers as Agent Apps, loading tool schemas on demand for 99% context token savings. Shared across Claude Code, Codex, OpenCode and more.
A collection of Model Context Protocol (MCP) servers for various tasks and integrations, supporting both Python and Node.js environments.
Open-souSecurely feeds real security refreshed rules into Cursor, Claude Code, and Windsurf — zero config, no API key.
Health intelligence MCP — access biomarkers, biological age, and personalized longevity action plans from your Aniva profile.
Real-time stock heatmaps and investment tools delivered as interactive React components.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





