An MCP server for fetching, parsing, and reading RFCs from the ietf.org website. This server provides tools and resources to interact with RFC documents programmatically.
- Fetch RFC documents by number
- Search for RFCs by keyword
- Extract specific sections from RFC documents
- Parse both HTML and TXT format RFCs
- Caching for better performance
Configure your MCP settings file to use the server:
{
"mcpServers": {
"rfc-server": {
"command": "npx",
"args": ["@mjpitz/mcp-rfc"],
"disabled": false,
"autoApprove": []
}
}
}
Fetch an RFC document by its number.
Parameters:
number
(string, required): RFC number (e.g. "2616")format
(string, optional): Output format (full, metadata, sections), default: "full"
Example:
{
"number": "2616",
"format": "metadata"
}
Search for RFCs by keyword.
Parameters:
query
(string, required): Search keyword or phraselimit
(number, optional): Maximum number of results to return, default: 10
Example:
{
"query": "http protocol",
"limit": 5
}
Get a specific section from an RFC.
Parameters:
number
(string, required): RFC number (e.g. "2616")section
(string, required): Section title or number to retrieve
Example:
{
"number": "2616",
"section": "Introduction"
}
rfc://{number}
: Get an RFC document by its numberrfc://search/{query}
: Search for RFCs by keyword
- Run in watch mode:
npm run dev
- Start the server:
npm run start
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
The server implements two main components:
- RFC Service: Handles fetching, parsing, and extracting data from RFCs
- MCP Server: Implements the MCP protocol and exposes tools and resources
The RFC service supports both HTML and TXT format RFCs, attempting to use HTML first for better structure, then falling back to TXT format if needed.