io.github.daedalus/mcp-rfc-editor
An MCP server that provides rfc editing capabilities
Open source Open in the app JSON README (API)
About
An MCP server that provides rfc editing capabilities
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- daedalus
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.2
- Last push
- 2026-04-22T14:58:06Z
- Repository state
- ativo
- Language
- Python
- Added
- 2026-08-29 03:02:40
- Updated
- 2026-08-29 03:02:40
- Origin id
io.github.daedalus/mcp-rfc-editor
README
# mcp-rfc-editor
mcp-name: io.github.daedalus/mcp-rfc-editor
An MCP (Model Context Protocol) server for editing RFC TXT documents using the `rfc-editor` Python library.
## Installation
```bash
pip install mcp-rfc-editor
```
## Usage
### CLI
```bash
python -m mcp_rfc_editor
```
### Programmatic
```python
from mcp_rfc_editor import main
main()
```
## MCP Tools
The server exposes the following tools:
- `load_rfc` - Load and parse an RFC TXT file (creates session)
- `download_rfc` - Download an RFC from rfc-editor by ID (creates session)
- `create_rfc` - Create a new empty RFC document (creates session)
- `get_document` - Get the current document from session context
- `save_rfc` - Save an RFC document to TXT format
- `set_title` - Set the document title
- `set_abstract` - Set the document abstract
- `add_section` - Add a new section
- `update_section` - Update an existing section
- `delete_section` - Delete a section
- `list_sections` - List all sections in the document
- `set_copyright` - Set copyright notice
- `set_authors` - Set document authors
- `to_dict` - Convert document to dictionary
## Session-Based Workflow
The server maintains session context so you don't need to pass the full document object on every call:
```python
# 1. Download an RFC - returns Session ID
result = download_rfc(rfc_id="791")
# Returns: {document..., "Session ID": "abc-123"}
# 2. Use session ID to get title (no document needed)
get_title(session_id="abc-123")
# 3. Modify and changes are persisted
set_title(session_id="abc-123", title="New Title")
```
Alternatively, you can always pass the full `document` object directly (legacy mode).
## Development
### Requirements
- Python 3.11+
- mcp
- rfc-editor
### Setup
```bash
pip install -e ".[dev]"
```
### Testing
```bash
pytest tests/
```
### Linting
```bash
black src/ tests/
ruff check src/ tests/
```