Skip to main content
Glama

RFCXML MCP Server

npm version CI License: MIT Node.js Claude Code

日本語版 README

Сервер протокола контекста модели (MCP) для структурированного понимания документов RFC.

Назначение

В отличие от существующих текстовых MCP-серверов для RFC, этот сервер использует семантическую структуру RFCXML, что позволяет:

  • Извлекать нормативные требования (MUST/SHOULD/MAY) со структурированным выводом

  • Строить граф зависимостей RFC

  • Управлять областью определений

  • Генерировать чек-листы реализации

Related MCP server: Unstructured Document Processor MCP

Архитектура

┌─────────────────────────┐
│  Markdown / PDF         │  Display & Sharing
├─────────────────────────┤
│  Translation            │  Explanation & Verification
├─────────────────────────┤
│  RFCXML MCP             │  Common Understanding for AI & Humans
├─────────────────────────┤
│  RFCXML                 │  Single Source of Truth
└─────────────────────────┘

Сравнение с существующими MCP

Функция

Существующий mcp-rfc

RFCXML MCP

Получение текста RFC

Извлечение разделов

✅ (на основе текста)

✅ (на основе структуры)

Извлечение MUST/SHOULD/MAY

Структурирование условий/исключений

Граф зависимостей RFC

Управление областью определений

Чек-лист реализации

Быстрый старт

Использование с Claude Desktop / Claude Code

Добавьте следующее в ваш файл конфигурации MCP:

{
  "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 (область проекта): .mcp.json в корне проекта

  • Claude Code (область пользователя): ~/.claude.json

  • Claude Code (CLI): claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcp

Установка (опционально)

Для глобальной установки:

npm install -g @shuji-bonji/rfcxml-mcp

Затем настройте MCP:

{
  "mcpServers": {
    "rfcxml": {
      "command": "rfcxml-mcp"
    }
  }
}

Доступные инструменты

Фаза 1: Базовая структура

  • get_rfc_structure - Получение иерархии разделов и метаданных

  • get_requirements - Извлечение нормативных требований (MUST/SHOULD/MAY) со структурой

  • get_definitions - Получение определений терминов и их области действия

Фаза 2: Взаимосвязи

  • get_rfc_dependencies - Получение ссылок на RFC (нормативные/информационные)

  • get_related_sections - Получение связанных разделов внутри того же RFC

Фаза 3: Поддержка верификации

  • validate_statement - Проверка соответствия утверждения требованиям RFC

  • generate_checklist - Генерация чек-листа реализации

Поддержка устаревших RFC

RFC, опубликованные после RFC 8650 (декабрь 2019 г.), доступны в официальном формате RFCXML v3. Для более ранних RFC XML может быть недоступен.

Этот сервер включает функцию автоматического резервного копирования — если XML недоступен, он анализирует текстовый формат.

Информация об источнике

Все ответы включают информацию об источнике:

{
  "rfc": 6455,
  "sections": [...],
  "_source": "text",
  "_sourceNote": "Warning: Parsed from text format. Accuracy may be limited."
}

_source

Описание

xml

Разобрано из RFCXML (высокая точность)

text

Разобрано из текста (средняя точность)

Совместимость

RFC

Формат

Примечания

RFC 8650+

XML

Официальная поддержка RFCXML v3

До RFC 8650

Текст

Автоматический переход на текст

Примеры вывода

get_rfc_structure - Получение структуры RFC

{
  "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 - Извлечение нормативных требований

{
  "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 - Получение зависимостей RFC

{
  "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 - Генерация чек-листа реализации

# 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)

Вывод при переходе на текст (устаревшие RFC)

{
  "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."
}

Примеры

См. каталог examples/ для полных примеров чек-листов:

RFC

Протокол

Источник

RFC 6455

WebSocket

Текст (резерв)

RFC 9293

TCP

RFCXML

RFC 7540

HTTP/2

Текст (резерв)

Пример запроса для Claude:

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

Оптимизация получения RFC

Отправляет параллельные запросы к нескольким источникам (RFC Editor, IETF Tools, Datatracker) и использует первый успешный ответ:

┌─────────────────┐
│  fetchRFCXML()  │
└────────┬────────┘
         │ Parallel requests
    ┌────┴────┬────────────┐
    ▼         ▼            ▼
┌────────┐ ┌────────┐ ┌────────┐
│RFC     │ │IETF    │ │Data-   │
│Editor  │ │Tools   │ │tracker │
└────┬───┘ └────┬───┘ └────┬───┘
     │          │          │
     └────┬─────┴──────────┘
          │ Promise.any (first success)
          ▼
    ┌───────────┐
    │ Successful│ → Cancel other requests via AbortController
    │ Response  │
    └───────────┘

Стратегия кэширования

Кэш LRU (Least Recently Used) с ограничениями по памяти:

Кэш

Макс. записей

Содержимое

XML Cache

20

Исходный RFCXML

Text Cache

20

Исходный текст

Metadata Cache

100

Метаданные RFC

Parse Cache

50

Разобранная структура

Разработка

# 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

Лицензия

MIT

Связанные проекты

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables Large Language Models to search and access IETF RFC documents with pagination support.
    3
    13
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables programmatic access to IETF RFC documents, allowing users to fetch, search, and extract specific sections from RFCs.
    3
    42
    19
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server for obtaining, parsing and reading RFC documents from the ietf.org website, providing programmatic interactive tools.
    3
    2
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shuji-bonji/rfcxml-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server