Skip to main content
Glama
MCP-Server-IETF

MCP-Server-IETF

by tizee

MCP-Server-IETF

A Model Context Protocol server for fetching IETF documents (RFCs) for Large Language Models.

Overview

This project implements a Model Context Protocol (MCP) server that provides access to IETF RFC documents. It enables Large Language Models to access RFC specifications through a standardized interface.

Key features:

  • Download and cache RFC index and documents

  • Search RFCs by keyword in titles

  • Access RFC documents with pagination support

  • Extract metadata like page numbers from documents

Related MCP server: Unstructured Document Processor MCP

Installation

Requirements

  • Python 3.11 or higher

  • Dependencies as listed in pyproject.toml

Install from source

# Clone the repository
git clone https://github.com/tizee/mcp-server-ietf
cd mcp-server-ietf

# Install with pip
pip install -e .

Usage

Starting the server

# Start the server
mcp-server-ietf

Or use it with the MCP inspector:

npx @modelcontextprotocol/inspector uv run mcp-server-ietf

Available Tools

When connected to the server, the following tools are available:

list_docs_number

Get the total number of RFC documents available in the index.

get_doc

Get an RFC document by its number with pagination support.

Parameters:

  • number: The RFC number (e.g., "1234")

  • start_line: The line number to start from (default: 1)

  • max_lines: Maximum number of lines to return (default: 200)

search_rfc_by_keyword

Search for RFC documents by keyword in their titles.

Parameters:

  • keyword: The search term to look for in RFC titles

Development

Setup Development Environment

# Install development dependencies
uv install -e .[dev]

Run inspector with Makefile:

make dev

Running Tests

# Run tests
uv run pytest

Or using the Makefile:

make test

Cache Location

By default, the server caches RFC documents and the index at ~/.cache/ietf-doc-server.

Environment Variables

  • LOG_LEVEL: Set the logging level (default: "DEBUG")

License

MIT License - See LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

3 tools
get_ietf_docC
Get an RFC document by its number in RFC editor Index with pagination support

Args:
    number: The RFC number str (e.g., "1234")
    start_line: The line number to start from (default: 1)
    max_lines: Maximum number of lines to return (default: 200)

Returns:
    A dictionary containing the document content and metadata

Inputs: number (required), max_lines, start_line.

list_ietf_docs_numberB

Get the total number of IETF RFC documents available in RFC editor Index

Inputs: no named parameters.

search_ietf_rfc_by_keywordB
Search for IETF RFC documents from RFC Editor Index by keyword in their titles

Args:
    keyword: The keyword to search for

Returns:
    A list of matching RFCs with their numbers and titles

Inputs: keyword (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get_ietf_doc retrieves specific documents, list_ietf_docs_number provides metadata about document count, and search_ietf_rfc_by_keyword enables keyword-based discovery. The descriptions clearly differentiate between retrieval, counting, and searching functions.

    Naming Consistency4/5

    The tools follow a mostly consistent verb_noun pattern with get_, list_, and search_ prefixes, though 'list_ietf_docs_number' deviates slightly by including 'number' in the name rather than using a more conventional pattern like 'count_ietf_docs'. The snake_case convention is consistently applied throughout.

    Tool Count3/5

    With only 3 tools, the server feels somewhat thin for an IETF/RFC document access service. While the tools cover basic retrieval and search, the count is borderline minimal for what could reasonably include operations like filtering by date, accessing drafts, or managing document collections.

    Completeness3/5

    The toolset covers fundamental document access (get, count, search) but has notable gaps for a complete IETF document service. Missing operations include filtering by date or status, accessing IETF drafts (not just RFCs), and more advanced search capabilities beyond simple keyword matching in titles.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers