protheus-mcp-server (piloto)
Provides read-only access to TOTVS Protheus ERP system, enabling queries for customer credit limits, payment conditions, products, stock balances, warehouses, purchase orders, and more via OAuth2 authenticated API endpoints.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@protheus-mcp-server (piloto) Show me the credit limit for customer 123456"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
protheus-mcp-server (piloto)
Conector MCP somente-leitura para consulta ao Protheus (TOTVS) da DFL. Expõe 10 endpoints GET como tools MCP, com autenticação OAuth2 (password grant + refresh automático) e tratamento amigável de respostas vazias/erros.
Este conector apenas consulta (GET). Não altera nada no Protheus. Os fontes
.prwsão usados só como referência de contrato — nunca são modificados.
Configuração
Copie .env.example para .env e preencha:
PROTHEUS_BASE_URL— base REST (inclui/rest/03).PROTHEUS_USER/PROTHEUS_PASSWORD— credenciais OAuth2. Use um usuário de serviço só-leitura.PROTHEUS_TENANT_ID—empresa,filial(ex.:03,01). Deixe vazio para não enviar o header.PROTHEUS_DFL_TOKEN— token dos WS customizados (só se a MVDFL_TOKENestiver ligada).
Related MCP server: TOTVS RM Database MCP Server
Build e execução
npm install
npm run build
node dist/index.js # inicia o servidor MCP via stdioAs variáveis de ambiente precisam estar carregadas (via .env do seu runner, Docker, ou export).
Tools (10 endpoints do piloto)
Tool | Endpoint | Observação |
|
| ✅ com dados |
|
| ✅ com dados |
|
| base pode estar vazia |
|
| base pode estar vazia |
|
| base pode estar vazia |
|
| = Solicitações (ambiente DFL) |
|
| = Pedidos (ambiente DFL) |
|
| RH — dado sensível (LGPD) |
|
| e-mail do VENDEDOR |
|
| saldo em aberto (SE1) |
Tratamento amigável de respostas
Regra geral aplicada a toda tool (protheusClient.normalize):
Lista vazia (
items: []), 404 "Nenhum registro foi encontrado" → mensagem "Nenhum registro encontrado para os filtros informados." (não é erro).500 (inclui o comportamento conhecido de alguns WS customizados quando não há registro ou falta parâmetro) → mensagem explicativa pedindo revisão dos parâmetros.
401 → renova o token uma vez e repete; persistindo, retorna erro de autorização.
Formatos: envelope padrão
{hasNext, items}e o formato custom dosWSR*são ambos aceitos.
Regra de autenticação (token/refresh)
O endpoint OAuth2 do Protheus é sensível à codificação dos parâmetros: se username/password/
refresh_token forem 100% percent-encoded (ex.: @ → %40), a autenticação falha. Por isso o
cliente monta as URLs de token e refresh com os parâmetros direto na URL, escapando apenas
o que quebraria a própria URL (#, &, +, espaço e %) e preservando @, !, etc.
Ver ProtheusClient.encTokenParam. Não trocar por URLSearchParams — ele reescapa o @ e
volta a dar erro de autenticação.
Contratos
Os contratos completos (rotas, parâmetros, campos de retorno, bugs conhecidos) estão em
../protheus-piloto-contratos.json e ../Protheus_Piloto_Spec_10_Endpoints.md.
Available Tools
10 toolsprotheus_armazens_mrpArmazéns (MRP)A
Consulta os armazéns do MRP. Sem ID, retorna a lista; com branchId+code, um armazém específico. Obs.: base pode estar sem registros.
Inputs: code, page, order, fields, +2 more.
protheus_clientes_por_vendedorClientes por vendedor (WSRCLIENTE)A
Retorna os clientes vinculados a um vendedor/gerente, identificado pelo e-mail (SA3.A3_EMAIL). Atenção: o e-mail é do VENDEDOR, não do cliente.
Inputs: email (required).
protheus_condicoes_pagamentoCondições de pagamentoA
Consulta as condições de pagamento (Faturamento/Financeiro). Sem code, retorna a lista; com code, uma condição específica.
Inputs: code, page, order, fields, +1 more.
protheus_folha_pagamentoFolha de pagamento (RH)A
Demonstrativo de pagamento (RH). Sem employeeId, retorna os tipos de alteração salarial (sem dado pessoal). Com employeeId, retorna o demonstrativo do funcionário — DADO PESSOAL SENSÍVEL (LGPD).
Inputs: employeeId.
protheus_limite_credito_clienteLimite de crédito do clienteB
Consulta o limite de crédito dos clientes (Faturamento). Sem internalId, retorna a lista; com internalId (código+loja), um cliente específico.
Inputs: page, order, fields, pagesize, +1 more.
protheus_pedidos_compra_mrpPedidos de compra (MRP)A
Pedidos de compra do MRP (endpoint MRPPurchaseRequest — no ambiente DFL retorna PEDIDOS). Sem ID, lista; com branchId+code, um específico. Obs.: base pode estar sem registros.
Inputs: code, page, order, fields, +2 more.
protheus_produtos_mrpProdutos (MRP)B
Consulta produtos do MRP. Sem ID, retorna a lista; com branchId+product, um produto específico. Obs.: base pode estar sem registros.
Inputs: page, order, fields, product, +2 more.
protheus_saldo_clienteSaldo em aberto do cliente (WSRSALDOCLIENTE)A
Retorna o saldo em aberto (títulos a receber, SE1) de um cliente. Informe o código do cliente. Empresa/filial são fixadas em 03/01 pelo web service.
Inputs: cliente (required).
protheus_saldo_estoque_mrpSaldo em estoque (MRP)A
Consulta os saldos em estoque do MRP. Sem ID, retorna a lista; com branchId+code, um registro específico. Obs.: base pode estar sem registros.
Inputs: code, page, order, fields, +2 more.
protheus_solicitacoes_compra_mrpSolicitações de compra (MRP)A
Solicitações de compra do MRP (endpoint MRPPurchaseOrder — no ambiente DFL retorna SOLICITAÇÕES). Sem ID, lista; com branchId+code, uma específica. Obs.: base pode estar sem registros.
Inputs: code, page, order, fields, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct business entity or operation: customer balance, credit limit, payment conditions, various MRP entities (products, stock, warehouses, purchase requests, orders), payroll, and clients by seller. No two tools overlap in purpose; descriptions clearly differentiate them.
All tool names follow the pattern 'protheus_<entity>_<specifier>' with underscores and consistent use of Portuguese nouns. The naming is predictable and uniform, making it easy to infer functionality from the name.
With 10 tools covering financial, MRP, HR, and sales domains, the count is well-scoped for a pilot consultation server. Each tool serves a clear purpose without bloat or redundancy.
The tool set provides essential read-only consultations across multiple ERP modules (financial, MRP, HR, sales). Minor omissions exist, such as a general customer list or inventory movements, but given the pilot nature, coverage is adequate for common queries.
Maintenance
Related MCP Connectors
TOTVS Protheus ERP for AI: stock, sales, orders, customers and MRP. Read-only, official API.
Unofficial remote MCP server for Less Annoying CRM: OAuth 2.1, read-only grants, 10 tools.
Conta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.
One OAuth connector for your team's remote MCP servers, with Tool Packs, guardrails and logs.
Related MCP Servers
- AlicenseAqualityCmaintenanceA read-only MCP server exposing TOTVS support tickets (Portal do Cliente) as tools for LLMs in Claude Code, Claude Desktop, and Cursor.11MIT
- FlicenseNot gradedqualityDmaintenanceProvides a standardized MCP interface to query and interact with TOTVS RM databases over HTTP, secured via API key.-
- AlicenseNot gradedqualityDmaintenanceMCP server for the Omie API to list products, consult clients, and create budgets22 npmMIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for Olist Tiny ERP, enabling querying of products, inventory, orders, invoices, accounts, contacts, shipping, purchase orders, CRM, and price lists via the official REST API v3.MIT