Skip to main content

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.

Documentation Python License: MIT PyPI - rossum-mcp Coverage Fully Typed

Rossum API MCP Ruff ty uv

[!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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rossum_mcp-2.1.0.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rossum_mcp-2.1.0-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

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

Hashes for rossum_mcp-2.1.0.tar.gz
Algorithm Hash digest
SHA256 e79d7cb4c76dedd47651e405cb74c05e6f8b0cfd53895839fcf69c7fc74ba701
MD5 d14a45d2c39f3133178605157781fcc3
BLAKE2b-256 dcdc9c7ff5d32753f2cf9350f7c4ed7b70643b4dc1b1616f472ce09169d0e6da

See more details on using hashes here.

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

Hashes for rossum_mcp-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58ae3b8b76e588013026e28d4e13a402ec69c40cfd99c687c6ec74501b6d3a35
MD5 ee0b127d99dd07c522e6b8064349e55f
BLAKE2b-256 b41f5c06d34c04a8abfe2cd5ae07c14013e7f4c87b155163c96ed7780b2bf636

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page