An open API service indexing awesome lists of open source software.

https://github.com/tizee/mcp-server-ietf

A Model Context Protocol server for fetching IETF documents (RFCs) for Large Language Models.
https://github.com/tizee/mcp-server-ietf

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

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.