Rossum MCP & Agent

Servidor MCP y kit de herramientas de agente de IA para procesamiento inteligente de documentos con Rossum.

Documentación

Servidor Rossum MCP y Rossum Agent

Orquestación de Rossum impulsada por IA: gestiona flujos de trabajo documentales de forma conversacional, depura pipelines automáticamente y configura la automatización mediante lenguaje natural.

Documentation API Reference Python License: MIT

PyPI - rossum-mcp PyPI - rossum-agent PyPI - rossum-agent-client

codecov CodeQL Snyk Security CodeFactor

MCP Fully Typed Rossum API Claude Opus 4.6

Kit de herramientas de IA conversacional para la plataforma de procesamiento inteligente de documentos de Rossum. Transforma la configuración compleja de flujos de trabajo, la depuración y la configuración en conversaciones en lenguaje natural a través de un servidor de Protocolo de Contexto de Modelo (MCP) y un agente de IA especializado.

[!IMPORTANT] Este proyecto se ha trasladado a un GitLab privado de la empresa para una revisión importante. Este repositorio público está archivado temporalmente y no recibirá actualizaciones durante ese período.

[!NOTE] Este no es un proyecto oficial de Rossum. Es una integración desarrollada por la comunidad construida sobre la API de Rossum, no un producto (todavía).

¿Qué Puedes Hacer?

Ejemplo 1: Configuración de Organización

Configura una organización de cliente completa con colas, esquemas, validaciones, detección de duplicados, notificaciones por correo electrónico y configuración de interfaz de usuario:

1. Create two new queues: Invoices and Credit Notes.
2. Update schemas w.r.t. schema specification (Invoices with 15 fields including line items table, Credit Notes as-is)
3. Add a computed field "The Net Terms" to Invoices queue (Due Date - Issue Date → Net 15/30/Outstanding)
4. Implement duplicate document detection on Document ID
5. Add business validations: total amount cap, line items sum check, quantity × unit price check
6. Add email notification extension on document status change to 'to_review'
7. Update Invoice queue UI settings to display 8 key fields
8. Verify setup by uploading a sample invoice twice (testing duplicate detection)

Lo que Esto Demuestra:

  • Configuración de Colas y Esquemas: Crea colas con especificaciones detalladas de campos, incluyendo tablas de elementos de línea
  • Campos Calculados: Añade campos derivados con lógica de negocio (categorización por diferencia de fechas)
  • Detección de Duplicados: Configura la deduplicación a nivel de documento con mensajes visibles para el usuario
  • Validaciones de Negocio: Implementa validaciones de múltiples reglas (límites de montos, comprobaciones de sumas, comprobaciones aritméticas)
  • Notificaciones por Correo Electrónico: Configura alertas de correo electrónico con plantillas activadas por cambios de estado del documento
  • Configuración de Interfaz de Usuario: Personaliza la visualización de columnas de cola para eficiencia operativa
  • Verificación de Extremo a Extremo: Valida toda la configuración con cargas de documentos reales

Este ejemplo muestra la capacidad del agente para configurar una organización lista para producción desde cero, todo a partir de un único prompt conversacional.

Ejemplo 2: Análisis y Documentación de Hooks

Analiza y documenta automáticamente todos los hooks/extensiones configurados en una cola:

Briefly explain the functionality of every hook based on description and/or code one by one for a queue `2042843`.

Store output in extension_explanation.md

Lo que Esto Hace:

  • Lista todos los hooks/extensiones en la cola especificada
  • Analiza la descripción y el código de cada hook
  • Genera explicaciones claras y concisas de la funcionalidad
  • Documenta los eventos de activación y la configuración
  • Guarda documentación completa en un archivo markdown

Este ejemplo muestra cómo el agente puede analizar la automatización existente para ayudar a los equipos a comprender sus flujos de trabajo configurados.

Ejemplo 3: Demostración de División y Clasificación Aurora

Configura un pipeline completo de división y clasificación de documentos con colas de entrenamiento, motor divisor, hooks automatizados y enrutamiento inteligente:

1. Create three new queues in workspace `1777693` - Air Waybills, Certificates of Origin, Invoices.
2. Set up the schema with a single enum field on each queue with a name Document type (`document_type`).
3. Upload documents from folders air_waybill, certificate_of_origin, invoice in `examples/data/splitting_and_sorting/knowledge` to corresponding queues.
4. Annotate all uploaded documents with a correct Document type, and confirm the annotation.
    - Beware document types are air_waybill, invoice and certificate_of_origin (lower-case, underscores).
    - IMPORTANT: After confirming all annotations, double check, that all are confirmed/exported, and fix those that are not.
5. Create three new queues in workspace `1777693` - Air Waybills Test, Certificates of Origin Test, Invoices Test.
6. Set up the schema with a single enum field on each queue with a name Document type (`document_type`).
7. Create a new engine in organization `1`, with type = 'splitter'.
8. Configure engine training queues to be - Air Waybills, Certificates of Origin, Invoices.
    - DO NOT copy knowledge.
    - Update Engine object.
9. Create a new schema that will be the same as the schema from the queue `3885208`.
10. Create a new queue (with splitting UI feature flag!) with the created engine and schema in the same workspace called: Inbox.
11. Create a python function-based the **`Splitting & Sorting`** hook on the new inbox queue with this settings:
    **Functionality**: Automatically splits multi-document uploads into separate annotations and routes them to appropriate queues.
    Split documents should be routed to the following queues: Air Waybills Test, Certificates of Origin Test, Invoices Test

    **Trigger Events**:
    - annotation_content.initialize (suggests split to user)
    - annotation_content.confirm (performs actual split)
    - annotation_content.export (performs actual split)

    **How it works**: Python code

    **Settings**:
    - sorting_queues: Maps document types to target queue IDs for routing
    - max_blank_page_words: Threshold for blank page detection (pages with fewer words are considered blank)
12. Upload 10 documents from `examples/data/splitting_and_sorting/testing` folder to inbox queues.

Lo que Esto Demuestra:

  • Orquestación de Colas: Crea 7 colas (3 de entrenamiento + 3 de prueba + 1 de entrada) con esquemas consistentes

  • Calentamiento de Conocimiento: Carga y anota 90 documentos de entrenamiento para enseñar al motor

  • Motor Divisor: Configura un motor de IA para detectar límites y tipos de documentos

  • Automatización de Hooks: Configura un webhook sofisticado que automáticamente:

    • Divide PDFs de múltiples documentos en anotaciones individuales
    • Elimina páginas en blanco de forma inteligente
    • Enruta documentos divididos a las colas correctas según el tipo
    • Sugiere divisiones al inicializar y ejecuta al confirmar
  • Pruebas de Extremo a Extremo: Valida todo el pipeline con documentos de prueba

Este ejemplo muestra la capacidad del agente para orquestar flujos de trabajo complejos que involucran múltiples colas, motores, esquemas, hooks automatizados con lógica personalizada y enrutamiento inteligente de documentos, todo a partir de un único prompt conversacional.

Estructura del Repositorio

Paquetes principales:

Paquetes de soporte (utilizados para desarrollo, implementación e integración):

Inicio Rápido

Requisitos previos: Python 3.12+, uv, cuenta de Rossum con credenciales de API

git clone https://github.com/rossumai/rossum-agents.git
cd rossum-agents

# Install all packages with all features
uv sync --all-extras

# AWS Bedrock (the agent uses Claude via Bedrock)
export AWS_PROFILE="rossum-dev"
export AWS_REGION="eu-west-1"

# Start PostgreSQL (session storage) and Valkey (change tracking)
docker-compose up -d postgres valkey

# Run the agent REST API
uv run rossum-agent-api

El agente espera PostgreSQL en localhost:5432 y Valkey en localhost:6379 por defecto. Anula mediante las variables de entorno POSTGRES_* y VALKEY_* (ver CLAUDE.md).

Instala el TUI (Fabry) desde el checkout local para chatear con el agente desde tu terminal:

# Build the TypeScript client first (TUI depends on it via file:)
cd rossum-agent-client-ts
npm install
npm run build

# Build and link the TUI
cd ../rossum-agent-tui
npm install
npm run build
npm link    # exposes `fabry` on your PATH

fabry \
  --api-url http://localhost:8000 \
  --token your-token \
  --rossum-url your-api-url

Consulta rossum-agent-tui/README.md para ver las banderas, combinaciones de teclas y persistencia de sesiones.

Para detalles de paquetes individuales, consulta rossum-mcp/README.md y rossum-agent/README.md. Consulta CLAUDE.md para la lista completa de opciones de configuración (AWS Bedrock, Valkey, registro, etc.).

Instalación y Uso

Servidor MCP con Claude Desktop

Mejor para: Uso interactivo con Claude Desktop

Configura Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en 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"
      }
    }
  }
}

O ejecuta de forma independiente: rossum-mcp

Documentación

Recursos

Desarrollo

# Install with all development dependencies
uv pip install -e rossum-mcp[all] -e rossum-agent[all]

# Run tests
pytest

# Run regression tests (validates agent behavior)
pytest regression_tests/ -v -s

# Lint and type check
pre-commit run --all-files

Consulta regression_tests/README.md para el marco de evaluación de calidad del agente.

Licencia

Licencia MIT - consulta LICENSE para más detalles.

Contribuciones

¡Las contribuciones son bienvenidas! Consulta los README de cada paquete para las pautas de desarrollo.