Change Order MCP
Pedidos de alteração contra um orçamento ou ordem de serviço: deltas, aprovação, valor de contrato em andamento.
Documentação
mcp-change-order
Servidor MCP para ordens de alteração e variações contratuais. Ordens de alteração contra um orçamento ou uma ordem de serviço, com o valor contratual corrente derivado do que o cliente aprovou.
Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente do Model Context Protocol. Roda na sua própria máquina ou hospedado, sem instalação.
Página do produto: https://mcp.zovo.one/s/change-order — o que faz, as ferramentas que expõe e um endpoint de token ao vivo.
Instalação
Hospedado, nada para instalar. Obtenha um token em https://mcp.zovo.one/mcp/connect (a página de conexão) ou https://mcp.zovo.one/mcp/token (o mesmo token como JSON); um token anônimo gratuito é emitido na hora e uma chave Pro funciona da mesma forma. Em seguida, aponte um cliente MCP para https://mcp.zovo.one/mcp/change-order via streamable-http e envie o token como Authorization: Bearer <token>.
Se o seu cliente não puder definir cabeçalhos, coloque o token no caminho: https://mcp.zovo.one/mcp/change-order/t/<token>. Ambas as formas funcionam. A URL simples sem token responde 401 em tools/call, então o token não é opcional.
Claude Desktop, um clique. Baixe change-order.mcpb do último lançamento e clique duas vezes nele.
A partir do código-fonte. O espelho é autocontido: cada dependência @theluckystrike/* é incluída, então um clone novo compila sem configuração extra.
git clone https://github.com/theluckystrike/mcp-change-order.git
cd mcp-change-order
npm install && npm run build
Em seguida, aponte seu cliente para o ponto de entrada compilado:
{
"mcpServers": {
"change-order": {
"command": "node",
"args": ["/absolute/path/to/mcp-change-order/dist/index.js"]
}
}
}
@theluckystrike/mcp-change-orderainda não está publicado no npm, então um comandonpx -y @theluckystrike/mcp-change-orderfalhará. Os três caminhos acima são os que funcionam e cada um é exercitado pela CI.

Espelho somente leitura de mcp-servers/servers/change-order. Veja MIRROR.md.
No Registro oficial de MCP (io.github.theluckystrike/change-order).
Ordens de alteração contra um orçamento ou uma ordem de serviço, mantidas da forma como uma variação é mantida no local:
o que foi adicionado, o que foi removido e o que mudou, cada um com motivo e data, enviados ao
cliente e respondidos. O valor contratual corrente é o original mais os deltas que o
cliente APROVOU; o que ainda não foi respondido é exibido como pendente e nunca é somado.
Uma vez que uma ordem de alteração é aprovada, o delta retorna como itens prontos para invoice_create em
unidades MAJOR e itens prontos para quote_create em unidades MINOR, em uma única chamada, com a escala
impressa ao lado de cada um.
Nenhum delta é armazenado. Uma ordem de alteração mantém suas linhas e seu histórico de status; o delta, o valor corrente e o IVA são derivados em cada chamada, com a aritmética do próprio servidor de faturamento. Nada é inventado: a primeira ordem de alteração contra uma referência declara o valor contratual original uma única vez, todas as posteriores o herdam, e um valor diferente é recusado pelo nome.
Instalação
Um clique (.mcpb): baixe change-order.mcpb do último lançamento e clique duas vezes nele no Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
Hospedado, sem instalação: aponte um cliente baseado em URL para https://mcp.zovo.one/mcp/change-order. GET https://mcp.zovo.one/mcp/connect gera um token e imprime uma URL pronta.
A publicação no npm para @theluckystrike/mcp-change-order está pendente, então a linha npx abaixo retorna 404 hoje.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"change-order": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-change-order"]
}
}
}
Claude Code
claude mcp add change-order -- npx -y @theluckystrike/mcp-change-order
Cursor
~/.cursor/mcp.json (global) ou .cursor/mcp.json (projeto), mesma entrada do Claude Desktop.
Ferramentas
| Ferramenta | O que faz |
|---|---|
change_order_create | Abre uma ordem de alteração contra um orçamento ou ordem de serviço: referência, cliente, título, data e o valor contratual original na primeira |
change_order_add_line | Adiciona uma linha adicionada, removida ou alterada a um rascunho, com quantidade, preço unitário em unidades menores, motivo e data |
change_order_status | Avança o status: rascunho para enviado, enviado para aprovado ou rejeitado, rascunho ou enviado para anulado, cada etapa com data |
change_order_get | Uma ordem de alteração completa: cada linha com seu delta, o IVA, o histórico e o valor corrente da referência |
change_order_list | Ordens de alteração por referência, status, cliente e intervalo de datas, com deltas aprovados e pendentes por moeda |
change_order_delete | Exclui um rascunho vazio criado por engano. Gratuito em todos os planos |
contract_value | O valor corrente de uma referência: original, delta aprovado, valor atual, delta pendente mantido separado |
change_order_document | A ordem de alteração como documento em texto simples para o cliente aprovar |
change_order_invoice_payload | O delta aprovado como itens invoice_create (unidades MAJOR) e itens quote_create (unidades MINOR) |
license_status / license_activate | Gratuito ou Pro, e onde fazer upgrade |
Gratuito vs Pro
| Gratuito | Pro | |
|---|---|---|
| Ordens de alteração abertas (rascunho e enviadas) | 5 | ilimitado |
| Linhas por ordem de alteração | 200 | 200 |
| Abrir, linha, mover, obter, listar, excluir | sim | sim |
| Valor contratual corrente | sim | sim |
| Documento de ordem de alteração | não | sim |
| Payload de delta pronto para faturamento, ambas as escalas | não | sim |
O limite conta ordens de alteração ABERTAS, as que o cliente ainda não respondeu, não as que você
já abriu. Aprovar, rejeitar ou anular uma libera seu espaço, e o mesmo vale para
change_order_delete em um rascunho sem linhas; todas essas ações são gratuitas em todos os planos, porque
um caminho de volta que apenas uma chave Pro pode alcançar não é um caminho de volta.
Obtenha Pro: https://mcp.zovo.one/buy/change-order (pagamento único de $19, vitalício), ou todos os servidores por $39: https://mcp.zovo.one/buy/bundle
A máquina de status
draft para sent; sent para approved ou rejected; draft ou sent para void.
Aprovado, rejeitado e anulado são finais. Um rascunho não pode ser aprovado diretamente: a aprovação é a
resposta do cliente a algo que foi enviado a ele. Linhas são adicionadas apenas enquanto uma ordem de alteração é um
rascunho; uma enviada que precisa de outra linha é anulada e reaberta, para que a aprovação do
cliente sempre se refira ao que foi enviado a ele. Cada etapa carrega sua própria data, e uma etapa
datada antes da última é recusada.
De onde vem o dinheiro
Este servidor não mantém aritmética própria. computeTotals, currencyDecimals,
formatMoney e roundHalfUp são importados de @theluckystrike/mcp-invoice/lib, a
quarentena de armazenamento corrompido de @theluckystrike/mcp-timezone/lib, o "hoje"
ciente de fuso horário de @theluckystrike/mcp-quotes/lib. A taxa de IVA, a moeda e o nome da
empresa vêm do perfil de negócios compartilhado que business_set no servidor de faturamento escreve.
Nada é escrito fora do diretório próprio deste servidor, e nenhum armazenamento irmão é aberto.
A percepção medida
Uma linha alterada são dois itens, não um, porque um único item líquido não mostra ao cliente nada
que ele possa verificar. Uma linha que vai de 3 x EUR 450,00 para 5 x EUR 420,00 vale +EUR
750,00, e o payload tentador é um item de quantidade 1 a EUR 750,00. O cliente
não consegue reproduzir esse valor a partir de nada na ordem de alteração que assinou. O payload
que este servidor emite é uma reversão, -3 x EUR 450,00, e a linha revisada, 5 x EUR 420,00;
cada uma se reproduz em uma calculadora, e computeTotals sobre ambas é o mesmo +EUR 750,00,
porque o roundHalfUp do servidor de faturamento é simétrico em sinal. A mesma regra carrega uma
remoção como quantidade negativa ao preço unitário pelo qual foi lançada, o que invoice_create
aceita. A suíte de unidades reexecuta o próprio computeTotals do servidor de faturamento sobre o payload
como retornado e afirma os quatro valores de item e os três totais, depois alimenta os
itens quote_create no mesmo mecanismo como se o valor MINOR fosse MAJOR e
afirma que o líquido é exatamente 100x, para que no dia em que alguém "simplificar" o payload para um único item
líquido, ou mover um campo entre as duas escalas, a compilação avise em vez do cliente.
Privacidade
Todos os dados permanecem na sua máquina, em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/change-order/.
Nada é enviado a lugar algum. Não há conta nem chave de API. Chaves de licença são verificadas
offline. Este servidor lê um arquivo que não possui, o perfil de negócios compartilhado, e
não escreve em nenhum armazenamento além do seu próprio.
Construído por theluckystrike. https://github.com/theluckystrike
Use estas documentações como um servidor MCP
Qualquer cliente MCP (Claude, Cursor, Windsurf, VS Code) pode ler a documentação deste repositório diretamente via GitMCP — sem instalação:
- URL de documentação MCP: https://gitmcp.io/theluckystrike/mcp-change-order