Rossum MCP Server
MCP server for AI-powered Rossum document processing. Fully typed tools with Pydantic models, StrEnum parameters, and unified APIs — built for agents.
[!NOTE] This is not an official Rossum project. It is a community-developed integration built on top of the Rossum API, not a product (yet).
This MCP server exposes only the public Rossum API. Internal tooling is part of rossum-agent and not available here.
Demo
Rossum MCP in action with Claude Code:
Architecture
rossum-mcp CLI / uvx
→ run.py::main()
→ RossumMCPServer.Config.from_env() # reads env vars
→ RossumMCPServer(config)
→ AsyncRossumAPIClient(token, base_url)
→ _create_app() → FastMCP instance
register_discovery_tools(mcp, mode)
register_get_tools(mcp, client)
register_search_tools(mcp, client)
register_create_tools(mcp, client, base_url)
register_update_tools(mcp, client, base_url)
register_delete_tools(mcp, client)
if READ_ONLY: mcp.disable(tags={"write"})
→ server.run() # stdio transport
The server is a single FastMCP app. Each tool layer (get, search, create, update, delete, discovery) is a registration function that decorates async handlers with @mcp.tool(). Tags (read, write, queues, schemas, ...) drive discoverability and the read-only mode.
Quick Start
Set the required environment variables:
export ROSSUM_API_TOKEN="your-api-token"
export ROSSUM_API_BASE_URL="https://api.elis.rossum.ai/v1"
Then use the installed package or run from source.
Install and run:
uv pip install rossum-mcp
rossum-mcp
Or run from source:
git clone https://github.com/stancld/rossum-agents.git
cd rossum-agents/rossum-mcp
uv sync
python -m rossum_mcp.run
Claude Desktop Configuration
Configure Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"rossum": {
"command": "uvx",
"args": ["rossum-mcp"],
"env": {
"ROSSUM_API_TOKEN": "${ROSSUM_API_TOKEN}",
"ROSSUM_API_BASE_URL": "${ROSSUM_API_BASE_URL}",
"ROSSUM_MCP_MODE": "read-write"
}
}
}
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
ROSSUM_API_TOKEN |
Yes | Your Rossum API authentication token |
ROSSUM_API_BASE_URL |
Yes | Base URL for the Rossum API |
ROSSUM_MCP_MODE |
No | read-write (default) or read-only |
ROSSUM_MCP_LOG_LEVEL |
No | Logging level (default: INFO) |
Read-Only Mode
Set ROSSUM_MCP_MODE=read-only to disable all CREATE, UPDATE, DELETE, and UPLOAD operations. Only GET and LIST operations will be available.
To change the mode, restart the server with a different ROSSUM_MCP_MODE environment variable.
Available Tools
Fully typed with Pydantic models, StrEnum parameters, and unified APIs — 30 tools across 13 categories.
All 30 tools
| Category | Tools |
|---|---|
| Read | get · search |
| Delete | delete |
| Documents | upload_document · get_annotation_content · start_annotation · bulk_update_annotation_fields · confirm_annotation · copy_annotations |
| Queues | create_queue_from_template · update_queue |
| Schemas | patch_schema · get_schema_tree_structure · prune_schema_fields |
| Engines | create_engine · update_engine · create_engine_field · get_engine_fields |
| Hooks | create_hook · update_hook · create_hook_from_template · test_hook |
| Rules | create_rule · patch_rule |
| Workspaces | create_workspace |
| Users | create_user · update_user |
create_email_template |
|
| Mode | get_mcp_mode |
| Discovery | list_tool_categories |
For parameters and examples, see TOOLS.md.
License
MIT License - see LICENSE for details.
Resources
Metadata
Release files for rossum-mcp 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rossum_mcp-2.2.0.tar.gz | 50.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rossum_mcp-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.7 kB
Release files / rossum_mcp-2.2.0.tar.gz
| Download URL | rossum_mcp-2.2.0.tar.gz |
|---|---|
| Size | 50.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7dbbb19e674b29642f5a52438c55426d6408c649c99aac17cdca9479eace458
|
|
BLAKE2b-256 checksum How to use checksums |
dfb3f1e41f608fbee4b896675f332455f9d31c9429b52fae45583f5b8eae284c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / rossum_mcp-2.2.0-py3-none-any.whl
| Download URL | rossum_mcp-2.2.0-py3-none-any.whl |
|---|---|
| Size | 71.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
afb7c7b0a3ec2c67ffe35f66d76d99e95778fdd0e5a39163274381459d1f38dd
|
|
BLAKE2b-256 checksum How to use checksums |
516a645453d4d4f39c7883163bbd197a366183aeaa40f11b78dbdadf800c5a0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|