MCP server for AI-powered Rossum orchestration: document workflows, debug pipelines automatically, and configure intelligent document processing through natural language.
Project description
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).
Quick Start
# Set environment variables
export ROSSUM_API_TOKEN="your-api-token"
export ROSSUM_API_BASE_URL="https://api.elis.rossum.ai/v1"
# Run the MCP server
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 rossum_mcp/server.py
Claude Desktop Configuration
Configure Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"rossum": {
"command": "python",
"args": ["/path/to/rossum-agents/rossum-mcp/rossum_mcp/server.py"],
"env": {
"ROSSUM_API_TOKEN": "your-api-token",
"ROSSUM_API_BASE_URL": "https://api.elis.rossum.ai/v1",
"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, and UPLOAD operations. Only GET and LIST operations will be available.
Checking the Current Mode
Use get_mcp_mode to query the current operation mode:
User: What mode are we in?
Assistant: [calls get_mcp_mode] → "read-only"
To change the mode, restart the server with a different ROSSUM_MCP_MODE environment variable.
Available Tools
A compact, fully-typed tool surface — Pydantic models, StrEnum parameters, and consolidated APIs built for agents:
| Category | Description |
|---|---|
| Read Layer | Get any entity by ID or search/list with typed filters |
| Delete Layer | Unified delete for any supported entity by ID |
| Document Processing | Upload documents, retrieve content, update/confirm/copy annotations |
| Queue Management | Create and configure queues (including from templates) |
| Schema Management | Define, modify, patch, and prune field structures |
| Engine Management | Configure extraction and splitting engines |
| Extensions (Hooks) | Webhooks, serverless functions, template-based creation, testing |
| Rules & Actions | Business rules with TxScript triggers and actions |
| Workspace Management | Create workspaces |
| Organization & Users | Feature flags, user creation and updates |
| Email Templates | Automated email responses |
| MCP Mode | Get/set read-only or read-write mode at runtime |
| Tool Discovery | Dynamic tool loading via list_tool_categories |
Tool List by Category
Read Layer (unified get + search replacing ~25 individual get_X/list_X tools):
get, search
Supported entities for get (by ID): queue, schema, hook, engine, rule, user, workspace, email_template, organization_group, organization_limit, annotation, relation, document_relation, hook_secrets_keys
Supported entities for search (with typed filters): all get entities except organization_limit and hook_secrets_keys, plus search-only entities hook_log, hook_template, user_role, queue_template_name
Delete Layer (unified delete replacing individual delete_X tools):
delete
Supported entities: queue, schema, hook, rule, workspace, annotation
Document Processing:
upload_document, get_annotation_content, start_annotation, bulk_update_annotation_fields, confirm_annotation, copy_annotations
Queue Management:
create_queue_from_template, update_queue
Schema Management:
patch_schema, get_schema_tree_structure, prune_schema_fields
Engine Management:
create_engine, update_engine, create_engine_field, get_engine_fields
Extensions (Hooks):
create_hook, update_hook, create_hook_from_template, test_hook
Rules & Actions:
create_rule, patch_rule
Workspace Management:
create_workspace
User Management:
create_user, update_user
Email Templates:
create_email_template
MCP Mode:
get_mcp_mode
Tool Discovery:
list_tool_categories
For detailed API documentation with parameters and examples, see TOOLS.md.
Example Workflows
Upload and Monitor
# 1. Upload document
upload_document(file_path="/path/to/invoice.pdf", queue_id=12345)
# 2. Get annotation ID
annotations = search(query={"entity": "annotation", "queue_id": 12345, "ordering": ["-created_at"]}, first_n=1)
# 3. Check status
annotation = get(entity="annotation", entity_id=annotations[0]["id"])
Update Fields
# 1. Start annotation (moves to 'reviewing')
start_annotation(annotation_id=12345)
# 2. Get content with field IDs
annotation_content = get_annotation_content(annotation_id=12345)
# Returns {"path": "/tmp/rossum_annotation_12345_content.json"} — use jq/grep on that file
# 3. Update fields using datapoint IDs
bulk_update_annotation_fields(
annotation_id=12345,
operations=[{"op": "replace", "id": 67890, "value": {"content": {"value": "INV-001"}}}]
)
# 4. Confirm
confirm_annotation(annotation_id=12345)
License
MIT License - see LICENSE for details.
Resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rossum_mcp-2.1.0.tar.gz.
File metadata
- Download URL: rossum_mcp-2.1.0.tar.gz
- Upload date:
- Size: 44.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e79d7cb4c76dedd47651e405cb74c05e6f8b0cfd53895839fcf69c7fc74ba701
|
|
| MD5 |
d14a45d2c39f3133178605157781fcc3
|
|
| BLAKE2b-256 |
dcdc9c7ff5d32753f2cf9350f7c4ed7b70643b4dc1b1616f472ce09169d0e6da
|
File details
Details for the file rossum_mcp-2.1.0-py3-none-any.whl.
File metadata
- Download URL: rossum_mcp-2.1.0-py3-none-any.whl
- Upload date:
- Size: 57.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58ae3b8b76e588013026e28d4e13a402ec69c40cfd99c687c6ec74501b6d3a35
|
|
| MD5 |
ee0b127d99dd07c522e6b8064349e55f
|
|
| BLAKE2b-256 |
b41f5c06d34c04a8abfe2cd5ae07c14013e7f4c87b155163c96ed7780b2bf636
|