Skip to main content
Glama
rossumai

Rossum MCP Server

Official
by rossumai
README.md
# Rossum MCP Server

An MCP (Model Context Protocol) server that provides read-only access to Rossum API resources such as queues, schemas, serverless function hooks, and workspaces. This server allows AI agents to discover and utilize these Rossum functionalities as tools, in particular for analysis purposes.

SECURITY WARNING: MCP is not a mature environment from security perspective. Mixing third party MCP tools with untrusted files or LLM confusion may cause your API keys to be leaked if your MCP client has (direct or indirect) internet access. Use this MCP server at your own risk. If you use it, enable the MCP server only while solving pertinent tasks and leave it disabled otherwise.

NOTE: This MCP server is built for demo purposes. It (and its configuration) may randomly evolve in incompatible ways for the time being.

## Setup

1. Ensure you have Python 3.10+ and [uv](https://docs.astral.sh/uv/) installed.

2. Install dependencies:
   ```bash
   uv sync
   ```

3. Configure the MCP server in your MCP client config (e.g., Claude Desktop, Windsurf, Cursor). Add this to your `mcp_config.json`:

   ```json
   {
     "mcpServers": {
       "rossum": {
         "command": "uv",
         "args": ["--project=/path/to/rossum-mcp-server", "run", "mcp", "run", "/path/to/rossum-mcp-server/mcp_server.py"],
         "env": {
           "ROSSUM_API_KEY": "your_api_key_here",
           "ROSSUM_API_BASE": "https://api.elis.rossum.ai/v1"
         }
       }
     }
   }
   ```

   Replace `/path/to/rossum-mcp-server` with the actual path to this project directory, and `your_api_key_here` with your actual Rossum API key.

## Available MCP Tools

The server provides the following tools that AI agents can use:

- **rossum_get_queues** - Get all queues from the Rossum organization
- **rossum_get_schema** - Get a specific schema by its ID (requires `schema_id` parameter)  
- **rossum_get_hooks** - Get all serverless function hooks from the Rossum organization
- **rossum_get_hook** - Get a specific hook by its ID including source code (requires `hook_id` parameter)
- **rossum_get_workspaces** - Get all workspaces from the Rossum organization
- **rossum_get_workspace** - Get a specific workspace by its ID (requires `workspace_id` parameter)

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different Rossum resources: hooks, queues, schemas, and workspaces. The singular vs. plural naming (e.g., get_hook vs. get_hooks) further clarifies whether the tool retrieves a specific item or all items, eliminating any ambiguity.

Naming Consistency5/5

All tool names follow a consistent 'rossum_get_' prefix with snake_case, followed by the resource name (e.g., hook, hooks, queues, schema, workspace, workspaces). This predictable pattern makes it easy to understand what each tool does at a glance.

Tool Count4/5

With 6 tools, the count is reasonable for a Rossum API server, covering key resources like hooks, queues, schemas, and workspaces. It's slightly lean but functional; adding a few more tools (e.g., for creating or updating resources) could enhance completeness without being excessive.

Completeness2/5

The toolset is severely incomplete as it only provides read operations (get) for resources. There are no tools for creating, updating, or deleting hooks, queues, schemas, or workspaces, which are essential for full CRUD coverage in a document processing platform like Rossum. This will cause significant agent failures when trying to modify data.

Maintenance

ActivityInactive
ResponsivenessNo issues