Back to Search

IETF RFC Documents

Provides access to IETF RFC documents, enabling efficient listing, searching, and retrieval with pagination and local caching for internet standards and protocol analysis.

Last updated: 1/27/2026

README

# 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)](https://modelcontextprotocol.github.io/) 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

## Installation

### Requirements
- Python 3.11 or higher
- Dependencies as listed in `pyproject.toml`

### Install from source

```bash
# 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

```bash
# Start the server
mcp-server-ietf
```

Or use it with the MCP inspector:

```bash
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

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

Run inspector with Makefile:

```
make dev
```

### Running Tests

```bash
# Run tests
uv run pytest
```

Or using the Makefile:

```bash
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.

Installation

Add this MCP to your configuration:

{
  "mcpServers": {
    "ietf-rfc-documents": {
      // See GitHub repository for configuration
    }
  }
}

See the GitHub repository for full installation instructions.