Install
Requires Node.js 22 or later. The package is published on npm as @shuji-bonji/rfcxml-mcp; npx fetches it on first use, so no global install is needed.
Claude Desktop
Add the following to the MCP configuration file:
{
"mcpServers": {
"rfcxml": {
"command": "npx",
"args": ["-y", "@shuji-bonji/rfcxml-mcp"]
}
}
}Configuration file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
CLI:
claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcpOr write the same mcpServers block as above into:
- Project scope:
.mcp.jsonat the project root - User scope:
~/.claude.json
Cowork (plugin)
INFO
A Cowork plugin entry is not described in the repository README at v0.6.53. Until it is, register the server with the same command / args as above in the plugin's MCP configuration.
Pin a version
TIP
The 0.6 line publishes patch releases often. Pin the version when a team relies on identical output or when the server runs in CI.
0.6.x ships patch releases frequently. To pin, write the version into the package spec:
{
"mcpServers": {
"rfcxml": {
"command": "npx",
"args": ["-y", "@shuji-bonji/rfcxml-mcp@0.6.53"]
}
}
}With the CLI: claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcp@0.6.53.
Global install (optional)
npm install -g @shuji-bonji/rfcxml-mcpThen:
{
"mcpServers": {
"rfcxml": {
"command": "rfcxml-mcp"
}
}
}Disk cache: RFCXML_CACHE_DIR
By default, fetched RFCs live only in an in-memory LRU cache and are re-fetched after every restart. Set RFCXML_CACHE_DIR to keep them on disk:
{
"mcpServers": {
"rfcxml": {
"command": "npx",
"args": ["-y", "@shuji-bonji/rfcxml-mcp@0.6.53"],
"env": { "RFCXML_CACHE_DIR": "/home/you/.cache/rfcxml-mcp" }
}
}
}Layout on disk:
$RFCXML_CACHE_DIR/
├── xml/rfc9293.xml # RFCXML (RFC 8650 and later)
└── text/rfc6455.txt # plain text (older RFCs, or XML fetch failures)Prefetch: rfcxml-prefetch
The package also ships a rfcxml-prefetch CLI that fills the same layout ahead of time, for offline or CI use:
# Fetch a range into $RFCXML_CACHE_DIR (or ~/.cache/rfcxml-mcp when unset)
npx -y -p @shuji-bonji/rfcxml-mcp rfcxml-prefetch --range 9110-9114
# Individual RFCs, explicit directory, re-download even if cached
npx -y -p @shuji-bonji/rfcxml-mcp rfcxml-prefetch --rfc 6455 --rfc 9293 --cache-dir ./rfc-cache --forceOptions: --range A-B, --rfc N (repeatable), --cache-dir DIR, --concurrency N (default 3), --force. RFCs already on disk (XML or text) are skipped unless --force is given. RFC numbers must be digits only; --rfc 9110abc exits with code 1.
Pass the same RFCXML_CACHE_DIR to the server
Files saved by rfcxml-prefetch are read only when the MCP server is started with the same RFCXML_CACHE_DIR. Without it the server ignores the prefetched files and fetches again.