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.
- Host: GitHub
- URL: https://github.com/tizee/mcp-server-ietf
- Owner: tizee
- License: mit
- Created: 2025-03-05T08:29:19.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-06T07:48:17.000Z (4 months ago)
- Last Synced: 2025-03-06T08:32:34.634Z (4 months ago)
- Language: Python
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- mcp-index - IETF Document Fetcher - Access and retrieve IETF RFC documents, enabling search by keywords and management of document pagination. Provides standardized access to essential specifications for Large Language Models. (Document Processing)
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.