Skip to main content
Glama

DeuxOrders MCP

Camada MCP do DeuxOrders. Expõe as operações do sistema como capabilities de domínio para agentes de IA.

Claude Desktop ──(stdio)──┐
                          ├──> DeuxOrders MCP ──> DeuxOrders Backend ──> Services / Database
Hermes ──(HTTP + bearer)──┘

Todo cliente consome exatamente as mesmas capabilities — não existe implementação por canal.

O MCP não reimplementa regra de negócio. Toda validação de domínio, persistência e geração de documento continua no backend.

Construído com Invokta: a mesma capability é publicada por MCP HTTP, MCP stdio, CLI e chamada direta, sem código duplicado por canal.

Instalação

npm install
cp .env.example .env   # preencha os valores
npm run check          # typecheck + testes + build + conformance MCP

Requer Node.js 22.20 ou superior.

Related MCP server: WEATHGARDS

Configuração

Variável

Obrigatória

Descrição

BACKEND_URL

sim

https://deux-erp.deuxcerie.com.br/api/v1 (o sufixo /api/v1 é opcional)

BACKEND_SERVICE_EMAIL

sim

usuário de serviço do MCP no backend

BACKEND_SERVICE_PASSWORD

sim

senha desse usuário

MCP_AUTH_TOKEN

sim

Bearer exigido no canal HTTP (mín. 32 caracteres)

BACKEND_TIMEOUT_MS

não

padrão 15000

BACKEND_RETRIES

não

padrão 2, só para leituras

BACKEND_MAX_EXPORT_BYTES

não

padrão 4194304, teto do arquivo de exportação

INVOKTA_HTTP_HOST

não

padrão 127.0.0.1

INVOKTA_HTTP_PORT

não

padrão 3000

INVOKTA_HTTP_ALLOWED_HOSTS

condicional

obrigatória quando o bind não é loopback

INVOKTA_HTTP_ALLOWED_ORIGINS

não

allowlist de origem para clientes de browser

Gere o token do MCP com openssl rand -base64 48. .env não é versionado.

Autenticação

São duas, distintas e independentes:

Cliente → MCP. Todo POST /mcp exige Authorization: Bearer <MCP_AUTH_TOKEN>. A comparação é em tempo constante; sem token válido, 401. É o canal do Hermes.

O Claude Desktop conecta por stdio, onde não há bearer: quem inicia o processo já provou ser o dono da máquina.

ChatGPT web não é suportado — conectores remotos do ChatGPT exigem OAuth e o Authorization Server não foi construído. É aditivo depois, sem mexer em capability nenhuma.

MCP → Backend. O connector faz login com o usuário de serviço, guarda o JWT em memória e o renova sozinho. A credencial do backend nunca aparece em prompt, description de tool, resposta ou log — há um teste que verifica isso.

Full access no MVP: cliente autenticado alcança todas as capabilities. Não há RBAC por capability.

Executando

npm run mcp:stdio     # Claude Desktop (ou npm run mcp:install para registrar)
npm run mcp:http      # Hermes
npm run devtools      # UI de desenvolvimento: invoca capabilities por qualquer canal
npm run smoke         # varredura de leitura contra o backend real

O passo a passo de lançamento está em DEPLOY.md.

Testando sem agente nenhum

O CLI executa pelo mesmo pipeline (engine.invoke) que o MCP — mesma validação, mesma autorização, mesmo connector:

npm run cli -- list
npm run cli -- describe orders.search
npm run cli -- run clients.search --input '{"search":"maria"}'

Capabilities

53 capabilities em 7 domínios. O mapeamento completo com os endpoints de origem está em MCP_CAPABILITY_MAP.md.

Domínio

Capabilities

Clientes

search, list-options, get, stats, list-orders, create, update, set-status, delete

CRM

list

Pedidos

search, get, create, update, complete, cancel, cancel-item, adjust-item-quantity, mark-paid, reverse-payment, remove-reference

Produtos

search, list-options, get, stats, create, update, set-status, delete, get-recipe, set-recipe, list-recipe-options, set-recipe-option, list-order-options

Estoque

search, list-options, get, create, update, restock, set-status

Caixa

search, get, summary, create, update, delete, audit

Dashboard

summary, revenue-over-time, top-products, top-clients, export-orders

Um cliente MCP vê cada uma como uma tool (orders.createorders_create). Não existe tool genérica de HTTP ou de banco: o agente só alcança o backend pelas operações declaradas aqui.

Tarefas compostas são composição de primitivas. "Cria um pedido igual ao último da cliente X" é clients.searchclients.list-ordersorders.getorders.create.

Arquitetura

Capability (src/capabilities/)      contrato de domínio, schemas de entrada e saída
     ↓
BackendGateway (src/application/)   port
     ↓
connector (src/infrastructure/)     BACKEND_URL, login, headers, timeout, retry, erros
     ↓
DeuxOrders Backend

O connector é o único lugar que conhece o BACKEND_URL e a credencial. Retries acontecem só em GET, e só para falha de rede, 429 ou 5xx — escritas nunca são repetidas.

Erros do backend chegam ao agente traduzidos: uma violação de regra de negócio vira INPUT_INVALID com a mensagem original, que o agente consegue corrigir; um 5xx vira uma mensagem genérica que não vaza nada.

Auditoria

Toda invocação emite em stderr, como JSON de uma linha: timestamp, requestId, capability, canal (mcp-http, mcp-stdio, cli, direct), identidade do chamador, duração e código de erro. Segredos nunca são registrados.

Testes

npm test

Cobrem operação válida, entrada inválida, recurso inexistente, erro do backend, backend indisponível, resposta inesperada, retry, exportação grande demais, não vazamento de credencial e a ausência de tool genérica. O MCP é testável sem Hermes nem Claude.

npm test roda contra dublês. npm run smoke roda contra o backend de produção e é o que valida os contratos de saída contra respostas reais — rode antes de cada lançamento.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A production-grade MCP server and CLI tool that enables AI agents to manage Shopify stores through 49 built-in tools across products, orders, inventory, and analytics. It supports natural language workflows for tasks like inventory tracking, customer support, and sales reporting.
    380
    19
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes internal company services as LLM-callable MCP tools, enabling AI agents to perform business operations like customer management, order processing, and support ticketing through natural language.

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/theossalmeida/mcp-deuxorders'

If you have feedback or need assistance with the MCP directory API, please join our Discord server