Rossum MCP & Agent
Kit de servidor MCP e agente de IA para processamento inteligente de documentos com Rossum.
Documentação
Rossum MCP Server & Rossum Agent
Orquestração Rossum com IA: fluxos de trabalho documentais por conversa, depuração automática de pipelines e configuração de automação por linguagem natural.
Kit de ferramentas de IA conversacional para a plataforma Rossum de processamento inteligente de documentos. Transforma a configuração complexa de fluxos de trabalho, depuração e configuração em conversas em linguagem natural por meio de um servidor Model Context Protocol (MCP) e um agente de IA especializado.
[!IMPORTANT] Este projeto foi movido para um GitLab privado da empresa para uma reformulação importante. Este repositório público está temporariamente arquivado e não receberá atualizações durante esse período.
[!NOTE] Este não é um projeto oficial da Rossum. É uma integração desenvolvida pela comunidade, construída sobre a API Rossum, e não um produto (ainda).
O Que Você Pode Fazer?
Exemplo 1: Configuração de Organização
Configure uma organização completa de cliente com filas, esquemas, validações, detecção de duplicatas, notificações por e-mail e configuração de interface:
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)
O Que Isso Demonstra:
- Configuração de Filas e Esquemas: Cria filas com especificações detalhadas de campos, incluindo tabelas de itens de linha
- Campos Calculados: Adiciona campos derivados com lógica de negócios (categorização por diferença de datas)
- Detecção de Duplicatas: Configura deduplicação em nível de documento com mensagens voltadas ao usuário
- Validações de Negócios: Implementa validação com múltiplas regras (limites de valores, verificações de soma, verificações aritméticas)
- Notificações por E-mail: Configura alertas por e-mail com modelos, acionados por mudanças de estado do documento
- Configuração de Interface: Personaliza a exibição de colunas da fila para eficiência operacional
- Verificação de Ponta a Ponta: Valida toda a configuração com uploads de documentos reais
Este exemplo mostra a capacidade do agente de configurar uma organização pronta para produção do zero — tudo a partir de um único prompt conversacional.
Exemplo 2: Análise e Documentação de Hooks
Analise e documente automaticamente todos os hooks/extensões configurados em uma fila:
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
O Que Isso Faz:
- Lista todos os hooks/extensões na fila especificada
- Analisa a descrição e o código de cada hook
- Gera explicações claras e concisas sobre a funcionalidade
- Documenta eventos de acionamento e configurações
- Salva documentação abrangente em um arquivo markdown
Este exemplo mostra como o agente pode analisar automações existentes para ajudar equipes a entenderem seus fluxos de trabalho configurados.
Exemplo 3: Demonstração de Divisão e Classificação Aurora
Configure um pipeline completo de divisão e classificação de documentos com filas de treinamento, mecanismo de divisão, hooks automatizados e roteamento 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.
O Que Isso Demonstra:
-
Orquestração de Filas: Cria 7 filas (3 de treinamento + 3 de teste + 1 de entrada) com esquemas consistentes
-
Aquecimento de Conhecimento: Envia e anota 90 documentos de treinamento para ensinar o mecanismo
-
Mecanismo de Divisão: Configura um mecanismo de IA para detectar limites e tipos de documentos
-
Automação de Hooks: Configura um webhook sofisticado que automaticamente:
- Divide PDFs com múltiplos documentos em anotações individuais
- Remove páginas em branco de forma inteligente
- Roteia documentos divididos para as filas corretas por tipo
- Sugere divisões na inicialização e executa após confirmação
-
Testes de Ponta a Ponta: Valida todo o pipeline com documentos de teste
Este exemplo mostra a capacidade do agente de orquestrar fluxos de trabalho complexos envolvendo múltiplas filas, mecanismos, esquemas, hooks automatizados com lógica personalizada e roteamento inteligente de documentos — tudo a partir de um único prompt conversacional.
Estrutura do Repositório
Pacotes principais:
- rossum-mcp/ - Servidor MCP que expõe a API Rossum como uma superfície de ferramentas totalmente tipada para assistentes de IA (veja ferramentas disponíveis)
- rossum-agent/ - Agente de IA especializado com habilidades, subagentes e uma API REST (veja ferramentas disponíveis e habilidades e subagentes)
Pacotes de suporte (usados para desenvolvimento, implantação e integração):
- rossum-agent-client/ - Cliente Python tipado para a API do Rossum Agent
- rossum-agent-client-ts/ - Cliente TypeScript tipado para a API do Rossum Agent
- rossum-agent-tui/ - Interface de terminal para desenvolvimento e testes (Node.js)
Início Rápido
Pré-requisitos: Python 3.12+, uv, conta Rossum com credenciais 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
O agente espera PostgreSQL em localhost:5432 e Valkey em localhost:6379 por padrão. Substitua pelas variáveis de ambiente POSTGRES_* e VALKEY_* (veja CLAUDE.md).
Instale o TUI (Fabry) a partir do checkout local para conversar com o agente pelo seu 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
Veja rossum-agent-tui/README.md para flags, atalhos de teclado e persistência de sessão.
Para detalhes de pacotes individuais, veja rossum-mcp/README.md e rossum-agent/README.md. Veja CLAUDE.md para a lista completa de opções de configuração (AWS Bedrock, Valkey, logging, etc.).
Instalação e Uso
Servidor MCP com Claude Desktop
Melhor para: Uso interativo com Claude Desktop
Configure o Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no 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"
}
}
}
}
Ou execute de forma autônoma: rossum-mcp
Documentação
- Documentação Completa - Guias completos e referência da API
- README do Servidor MCP - Configuração e ferramentas do servidor MCP
- README do Agente - Kit de ferramentas do agente e uso da interface
- Exemplos - Fluxos de trabalho e casos de uso de exemplo
Recursos
- API Rossum - Documentação oficial da API
- Model Context Protocol - Especificação do MCP
- SDK da API Rossum - SDK Python
Desenvolvimento
# 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
Veja regression_tests/README.md para a estrutura de avaliação de qualidade do agente.
Licença
Licença MIT - veja LICENSE para detalhes.
Contribuição
Contribuições são bem-vindas! Veja os READMEs de cada pacote para diretrizes de desenvolvimento.