Repository navigation
feat(mcp): cover five additional NFS-e operational API routes - #16
Merged
Merged
Conversation
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
force-pushed
the
feat/nfse-operational-parity-20261106
branch
from
November 9, 2026 19:19
b09b976 to
a030d0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objetivo
Avançar a paridade efetiva entre a API fiscal do Akaunting e o MCP. Esta entrega torna cinco operações nativas descobríveis e utilizáveis via ferramentas genéricas, respeitando a autenticação do usuário e a aprovação independente quando há efeitos financeiros.
Rotas implementadas
Consultas de POST comprovadamente sem persistência:
api.nfse.settings.vault.diagnostics: diagnóstico do Vault/OpenBao, sem retorno de segredos, com validação estrita dos estados/motivos e booleanos.api.nfse.bulk.plan: prévia de até 100 IDs de faturas distintos, sem enfileirar ou emitir notas, com resposta JSON tipada e isolamento por empresa.Mutações sob aprovação pessoal no navegador:
api.nfse.dps.advance: avanço monotônico excepcional da sequência DPS com próximo número esperado, número novo, motivo e confirmação explícitos; estado de autoridade revalidado antes da execução.api.nfse.invoices.refresh: reconciliação de recibo fiscal atual, mediante identificação exata da fatura/recibo e verificação de empresa, sem criar NFS-e nova.api.nfse.bulk.dispatch: despacho para fila nativa exclusivamente em produção restrita, comMCP_NFSE_FISCAL_WRITES_ENABLED=true, 1–100 faturas verificadas, ambiente/DPS prontos e confirmação independente. Os workers fazem o preflight fiscal real; uma resposta incerta não deve ser repetida sem conciliação.A camada
Api::postReadOnlyrestringe os POSTs de leitura aos dois endpoints acima; não cria proxy HTTP genérico, não habilita emissão fiscal por GET e não executa mutações diretamente por ferramenta MCP.Validação executada
git diff --check: aprovado.akaunting-nfseatual: 47 rotas, 35 cobertas, 12 pendentes, nenhuma divergência.Limites
Não houve alteração real de dados financeiros, transmissão de NFS-e, mudança de DPS nem teste com certificados de cliente. Os testes são sintéticos e isolados, sem credenciais de produção. As 34 operações restantes continuam indisponíveis, inclusive fluxo seguro de criação de perfil/PFX, downloads e outras ações fiscais/Core. O objetivo final de configuração integral ainda não está concluído.
O novo parâmetro
post_bodyna ferramenta genéricaakaunting_api_readexige atualização do catálogo do aplicativo ChatGPT após merge e deploy. Nesta conversa, o esquema ainda foi observado desatualizado também paramodule_filters, apesar da atualização solicitada; não declarar esse detalhe corrigido sem testar o cliente.Sem merge nem deploy antes da revisão exigida pelo repositório.