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-order ainda não está publicado no npm, então um comando npx -y @theluckystrike/mcp-change-order falhará. Os três caminhos acima são os que funcionam e cada um é exercitado pela CI.

change-order demo

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

FerramentaO que faz
change_order_createAbre 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_lineAdiciona uma linha adicionada, removida ou alterada a um rascunho, com quantidade, preço unitário em unidades menores, motivo e data
change_order_statusAvança o status: rascunho para enviado, enviado para aprovado ou rejeitado, rascunho ou enviado para anulado, cada etapa com data
change_order_getUma ordem de alteração completa: cada linha com seu delta, o IVA, o histórico e o valor corrente da referência
change_order_listOrdens de alteração por referência, status, cliente e intervalo de datas, com deltas aprovados e pendentes por moeda
change_order_deleteExclui um rascunho vazio criado por engano. Gratuito em todos os planos
contract_valueO valor corrente de uma referência: original, delta aprovado, valor atual, delta pendente mantido separado
change_order_documentA ordem de alteração como documento em texto simples para o cliente aprovar
change_order_invoice_payloadO delta aprovado como itens invoice_create (unidades MAJOR) e itens quote_create (unidades MINOR)
license_status / license_activateGratuito ou Pro, e onde fazer upgrade

Gratuito vs Pro

GratuitoPro
Ordens de alteração abertas (rascunho e enviadas)5ilimitado
Linhas por ordem de alteração200200
Abrir, linha, mover, obter, listar, excluirsimsim
Valor contratual correntesimsim
Documento de ordem de alteraçãonãosim
Payload de delta pronto para faturamento, ambas as escalasnãosim

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: