# TOTVS Protheus (remote · api.mcp.ai)

TOTVS Protheus ERP for AI: stock, sales, orders, customers and MRP. Read-only, official API.

- Trust score: 74/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- remote · `api.mcp.ai`: 74/100 (this document), [markdown](https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus.md), [page](https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus)

## Channel facts

- Endpoint: `https://api.mcp.ai/p_protheus`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 406, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4082 tokens (~127/item across 32 items; 32 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 80/100
  - Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 32 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 33 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the TOTVS Protheus MCP server?

TOTVS Protheus is a hosted endpoint at https://api.mcp.ai/p_protheus, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http mcp-dir-protheus-mcp 'https://api.mcp.ai/p_protheus'
```

### Cursor

```json
{
  "mcpServers": {
    "mcp-dir-protheus-mcp": {
      "url": "https://api.mcp.ai/p_protheus"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mcp-dir-protheus-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_protheus"
    }
  }
}
```

### Codex

```toml
[mcp_servers.mcp-dir-protheus-mcp]
url = "https://api.mcp.ai/p_protheus"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp-dir-protheus-mcp": {
      "type": "remote",
      "url": "https://api.mcp.ai/p_protheus",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mcp-dir-protheus-mcp --url 'https://api.mcp.ai/p_protheus' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  mcp-dir-protheus-mcp:
    url: "https://api.mcp.ai/p_protheus"
```

### Netclaw

```json
{
  "McpServers": {
    "mcp-dir-protheus-mcp": {
      "Transport": "http",
      "Url": "https://api.mcp.ai/p_protheus"
    }
  }
}
```

### Vellum

```bash
assistant mcp add mcp-dir-protheus-mcp -t streamable-http -u 'https://api.mcp.ai/p_protheus'
```

### Other

```json
{
  "mcpServers": {
    "mcp-dir-protheus-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_protheus"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-26 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-25 (score 73, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-23 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-21 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-19 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-14 (score 70, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: 0.9.346 → 0.9.351

## MCP tools (32)

### `protheus_list_accounts` (~40 tokens)

Lista as instalações Protheus conectadas a este install, com id e label (host/usuário).

Input parameters:

- `account` (string)

### `protheus_diagnostico` (~120 tokens)

Descobre quais APIs REST esta instalação Protheus realmente responde. Sonda cada API do catálogo oficial com uma consulta mínima e classifica em disponivel, ausente, sem_permissao ou erro. Rode isto primeiro numa conta nova: a TOTVS publica 125 APIs para a linha Protheus, mas cada instalação expõe um subconjunto, conforme a versão da LIB, os módulos licenciados e as customizações.

Input parameters:

- `account` (string)
- `limit` (number)
- `termo` (string)

### `protheus_catalogo` (~109 tokens)

Consulta o catálogo das 125 APIs REST oficiais da linha Protheus (id, título, módulo e rotas de leitura), extraído da documentação pública da TOTVS. Serve para descobrir qual rota passar em protheus_api. É documentação, não disponibilidade: para saber o que esta instalação responde, use protheus_diagnostico.

Input parameters:

- `account` (string)
- `limit` (number)
- `segmento` (string)
- `termo` (string)

### `protheus_api` (~135 tokens)

Faz um GET em qualquer rota REST da instalação Protheus conectada. Use para as APIs oficiais que não têm tool dedicada (descubra a rota com protheus_catalogo) e para os endpoints MVC customizados que a empresa criou. Somente leitura.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `path` (string, required)
- `sql_filter` (string)

### `protheus_filiais` (~123 tokens)

Lista as empresas e filiais do grupo (API TSIBranches). É o ponto de partida prático: os códigos de empresa e filial daqui alimentam o header tenantId da conexão e os filtros branchId das demais tools.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_modulos` (~105 tokens)

Lista os módulos do sistema Protheus nesta instalação. Indica o que está ativo e ajuda a explicar por que uma API responde ou não.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_parametros` (~86 tokens)

Consulta os parâmetros de sistema do Protheus.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_usuarios` (~115 tokens)

Lista os usuários do Protheus, ou consulta um usuário por id.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_clientes_fornecedores` (~148 tokens)

Consulta o cadastro de clientes e fornecedores (API CustomerVendor). Sem filtro traz a coleção inteira; `tipo` separa a entidade e, junto com `id`, traz um registro específico.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)
- `tipo` (string)

### `protheus_contatos` (~113 tokens)

Lista os contatos do CRM, ou consulta um contato por id.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_vendedores` (~113 tokens)

Lista os vendedores cadastrados, ou consulta um vendedor pelo código.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_oportunidades` (~116 tokens)

Lista as oportunidades comerciais do CRM, ou consulta uma oportunidade pelo id interno.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_propostas_comerciais` (~157 tokens)

Lista as propostas comerciais de uma oportunidade, ou consulta uma proposta específica. No Protheus a proposta vive dentro da oportunidade, então `oportunidade_id` é obrigatório.

Bulk support: accepts oportunidade_ids, ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `oportunidade_id` (string, required)
- `oportunidade_ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_tabela_precos` (~131 tokens)

Consulta as tabelas de preço. Sem argumentos lista os cabeçalhos; com `codigo` traz uma tabela; com `codigo` e `itens` traz os itens e preços dela.

Input parameters:

- `account` (string)
- `codigo` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `itens` (boolean)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_condicoes_pagamento` (~117 tokens)

Lista as condições de pagamento cadastradas, ou consulta uma pelo id interno.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_limite_credito` (~126 tokens)

Consulta o limite de crédito dos clientes. Com `cliente_id` traz o limite de um cliente específico.

Bulk support: accepts cliente_ids for batched execution.

Input parameters:

- `account` (string)
- `cliente_id` (string)
- `cliente_ids` (array)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_comissoes` (~115 tokens)

Consulta as comissões de venda, ou uma comissão pelo id interno.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_transportadoras` (~114 tokens)

Lista as transportadoras cadastradas, ou consulta uma pelo id interno.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_centros_custo` (~118 tokens)

Lista os centros de custo da contabilidade, ou consulta um pelo id interno.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_produtos` (~138 tokens)

Consulta o cadastro de produtos. O Protheus expõe produto por módulo, então escolha a fonte: varejo (API de produtos do varejo) ou mrp (produto do planejamento de manufatura). São cadastros diferentes, não duas visões do mesmo.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `fonte` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_estoque` (~143 tokens)

Consulta o saldo em estoque. Escolha a fonte: varejo (saldo em estoque do varejo) ou mrp (estoque do MRP, com armazém, lote e saldos bloqueado, consignado e em controle de qualidade). São módulos distintos e podem divergir.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `fonte` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_vendas_varejo` (~128 tokens)

Consulta as vendas do varejo, ou uma venda pelo id interno. Exige o módulo de varejo publicado nesta instalação.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_pedidos_varejo` (~123 tokens)

Lista os pedidos de venda do varejo. Com `id`, retorna os itens daquele pedido.

Bulk support: accepts ids for batched execution.

Input parameters:

- `account` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `id` (string)
- `ids` (array)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_notas_totais` (~117 tokens)

Consulta os totais de notas fiscais de saída ou de entrada do varejo, incluindo a visão de notas canceladas.

Input parameters:

- `account` (string)
- `canceladas` (boolean)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)
- `tipo` (string)

### `protheus_ordens_producao` (~161 tokens)

Consulta as ordens de produção do MRP. Aceita filtros da própria API em `params` (branchId, product, warehouse, deliveryDate, startDate). Com `branch_id` e `codigo` traz uma ordem específica.

Bulk support: accepts branch_ids for batched execution.

Input parameters:

- `account` (string)
- `branch_id` (string)
- `branch_ids` (array)
- `codigo` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)

### `protheus_compras_mrp` (~168 tokens)

Consulta os pedidos de compra ou as solicitações de compra do MRP. Aceita filtros da API em `params` (branchId, product, deliveryDate, warehouse). Com `branch_id` e `codigo` traz um registro específico.

Bulk support: accepts branch_ids for batched execution.

Input parameters:

- `account` (string)
- `branch_id` (string)
- `branch_ids` (array)
- `codigo` (string)
- `expand` (string)
- `fields` (string)
- `filter` (string)
- `order` (string)
- `page` (number)
- `page_size` (number)
- `params` (object)
- `sql_filter` (string)
- `tipo` (string)

### `show_version` (~17 tokens)

Show the current MCP platform and adapter versions.

### `report_bug` (~50 tokens)

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Input parameters:

- `context` (string)
- `conversation` (string)
- `message` (string, required)

### `connect` (~42 tokens)

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

### `toolkit_info` (~37 tokens)

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

### `marketplace` (~532 tokens)

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Input parameters:

- `action` (string)
- `arguments` (string)
- `cancel_comment` (string)
- `cancel_reason` (string)
- `conversation` (string)
- `immediate` (boolean)
- `limit` (number)
- `mcp_id` (string)
- `message` (string)
- `prompt_body` (string)
- `prompt_category` (string)
- `prompt_description` (string)
- `prompt_slug` (string)
- `prompt_targets` (array)
- `prompt_title` (string)
- `prompt_tool` (string)
- `prompt_vars` (string)
- `query` (string)
- `report_context` (string)
- `request_details` (string)
- `request_name` (string)
- `tier_slug` (string)
- `tool_id` (string)

### `authenticate` (~99 tokens)

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Input parameters:

- `token` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus#diagnostics

## Score history

- 2026-09-26: 74
- 2026-09-25: 73
- 2026-09-24: 75
- 2026-09-23: 75
- 2026-09-22: 74
- 2026-09-21: 74
- 2026-09-20: 73
- 2026-09-19: 73
- 2026-09-18: 72
- 2026-09-17: 72
- 2026-09-16: 71
- 2026-09-15: 71
- 2026-09-14: 70
- 2026-09-13: 70
- 2026-09-12: 69
- 2026-09-11: 69
- 2026-09-10: 68
- 2026-09-09: 68
- 2026-09-08: 68
- 2026-09-07: 67
- 2026-09-06: 67
- 2026-09-05: 66
- 2026-09-04: 66
- 2026-09-03: 65
- 2026-09-02: 65
- 2026-09-01: 48
- 2026-08-31: 47
- 2026-08-30: 47
- 2026-08-29: 46
- 2026-08-28: 46

## Common questions

### What is the TOTVS Protheus MCP server?

TOTVS Protheus is an MCP server listed in the public MCP registry as io.github.mcp-dir/protheus-mcp. TOTVS Protheus ERP for AI: stock, sales, orders, customers and MRP. Read-only, official API. This page covers its hosted endpoint (https://api.mcp.ai/p_protheus).

### Is the TOTVS Protheus MCP server safe to use?

TOTVS Protheus scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the TOTVS Protheus MCP server expose?

TOTVS Protheus exposes 32 tools: protheus_list_accounts, protheus_diagnostico, protheus_catalogo, protheus_api, protheus_filiais, and 27 more. Their descriptions and schemas cost roughly 3,956 tokens of context every time the server is loaded.

### Does the TOTVS Protheus MCP server require authentication?

No. We connected to TOTVS Protheus without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the TOTVS Protheus MCP server still maintained?

TOTVS Protheus is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.mcp.ai/p_protheus
- Repository: https://github.com/mcp-dir/protheus-mcp
- Changelog RSS feed: https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus.xml
- Changelog JSON feed: https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus.json
- HTML version of this page: https://verifymcp.io/servers/mcp-dir-protheus-mcp/p-protheus
