ISO 20022 Navigator
Dados de referência somente leitura para mensagens financeiras ISO 20022. Consulte Códigos de Transação Bancária, mapeie mensagens legadas SWIFT MT, NACHA e CHAPS para ISO 20022 e veja quais esquemas de pagamento usam uma mensagem. Gratuito, sem autenticação.
Servidor MCP hospedado
npx add-mcp 'https://mcp.isonavigator.io/iso20022'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP ISO 20022 Navigator
Um servidor MCP que dá a assistentes de IA respostas fundamentadas sobre mensagens financeiras ISO 20022, a partir dos dados de referência por trás do ISO 20022 Navigator.
Gratuito e público. A URL do endpoint é tudo o que um cliente precisa.
Endpoint: https://mcp.isonavigator.io/iso20022 (HTTP Streamable, acesso aberto)
Documentação · Privacidade · Suporte: i22navigatorapp@gmail.com
Ferramentas
Todas as ferramentas são somente leitura.
| Ferramenta | O que responde |
|---|---|
iso20022_bank_transaction_codes | O que um Código de Transação Bancária ISO 20022 (domínio, família, subfamília) significa e quais códigos existem sob um domínio ou família. |
iso20022_message_details | O que é uma mensagem ISO 20022 específica: nome, descrição, área de negócio, versão mais recente e tamanho da estrutura. |
iso20022_legacy_and_scheme_mappings | Qual mensagem ISO 20022 substitui uma mensagem legada e quais esquemas de pagamento usam uma mensagem ISO 20022. |
iso20022_code_sets | O que um conjunto de códigos externos ISO 20022 contém, o que um código significa e quais conjuntos de códigos uma mensagem usa. |
iso20022_bank_transaction_codes
- Respostas: o que um Código de Transação Bancária ISO 20022 significa: os códigos de domínio, família e subfamília que classificam lançamentos em extratos bancários e relatórios de conta, por exemplo
PMNT-RCDT-ESCT. Também mostra quais famílias estão sob um domínio, quais subfamílias sob uma família e onde um código aparece. - Entrada:
code, escrito como domínio-família-subfamília com hífens. Qualquer parte pode ficar sozinha ou ser omitida:PMNT: um domínio, com suas famílias.PMNT-RCDT: um domínio e uma família, com as subfamílias.PMNT-RCDT-ESCT: um código completo, com os três nomes e uma descrição./RCDTe//ESCT: uma família ou uma subfamília isolada (as barras iniciais fixam o nível)./RCDT/ESCTePMNT//ESCT: duas partes com um nível omitido.ESCT: nenhum nível informado; todos os níveis em que o código existe são retornados.
- Retorna: nomes oficiais, contagens, listas dos códigos relacionados, uma descrição quando uma combinação corresponde, notas e um bloco
provenance. Um código não encontrado indica onde cada parte existe e lista os códigos existentes mais próximos. - Exemplos de perguntas:
- O que significa o código de transação bancária PMNT-RCDT-ESCT?
- Quais famílias o domínio PMNT contém?
- Quais domínios usam a família RCDT?
- OTHR é uma família ou uma subfamília?
- Notas:
- Cobre a lista de códigos externos ISO. Códigos específicos de bancos (proprietários) estão fora dela, então um código não encontrado pode ser um deles.
- Códigos são correspondidos, não significados. Para encontrar um código para um tipo de transação, navegue a partir do domínio para baixo.
- Descrições de combinações são geradas por IA e validadas contra as definições oficiais ISO.
iso20022_message_details
- Respostas: o que é uma mensagem ISO 20022 específica, por exemplo
pacs.008oucamt.053: nome oficial, descrição em linguagem simples, área de negócio e domínio a que pertence, versão mais recente e o tamanho e a forma da sua estrutura. - Entrada:
message_id, quatro letras e três dígitos. Qualquer caixa funciona, e um ponto, hífen, sublinhado, espaço ou junção simples também funcionam (pacs.008,PACS-008,pacs008). Um identificador completo comopacs.008.001.13também é aceito; a resposta descreve a versão mais recente mantida e observa qualquer diferença. - Retorna: o nome da mensagem, descrição, área de negócio (código, nome e domínio), o agrupamento funcional do Navigator, versão mais recente, estatísticas da estrutura (total de elementos, profundidade máxima e contagens de elementos em cada profundidade), o número de conjuntos de códigos externos que a mensagem usa com um ponteiro
next_callsparaiso20022_code_setspara a lista, notas e um blocoprovenance. Uma mensagem ausente do conjunto de dados informa isso e lista até cinco mensagens mantidas na mesma área de negócio, pelo número mais próximo primeiro. - Exemplos de perguntas:
- O que é pacs.008?
- A qual área de negócio camt.053 pertence?
- Qual o tamanho da definição da mensagem pain.001?
- camt.099 ainda está atual?
- Notas:
- Cobre a variante padrão (variante 1) de cada mensagem, na versão mais recente mantida.
- Os números de estrutura são contagens de elementos da definição da mensagem. A árvore de elementos em si está fora da resposta desta ferramenta. As contagens cobrem todo elemento declarado: elementos opcionais e cada alternativa de uma escolha são contados junto com os obrigatórios, então os números descrevem o tamanho da definição, e uma única instância de mensagem usa um subconjunto dela.
total_elementstambém conta os dois elementos nas profundidades 0 e 1 (contêiner Document, mensagem), queelements_by_depthomite. - O agrupamento funcional é próprio do Navigator e é separado do padrão ISO 20022.
- Mensagens aposentadas são retornadas com a carga de dados em que foram aposentadas.
- Descrições são geradas por IA e validadas contra as definições oficiais ISO.
iso20022_legacy_and_scheme_mappings
- Respostas: qual mensagem ISO 20022 substitui uma mensagem legada (SWIFT MT, NACHA, CHAPS legado), por exemplo MT103 → pacs.008, e quais esquemas de pagamento usam uma mensagem ISO 20022.
- Entradas:
message(uma mensagem legada ou ISO 20022, comoMT103,940oupacs.008) e umstandardopcional (restringe a resposta a um padrão ou esquema, comoSEPA). - Retorna: mapeamentos no nível de mensagem com status, uso de esquema, notas e um bloco
provenance. - Exemplos de perguntas:
- O que substituiu o MT103?
- Qual é o equivalente ISO 20022 do MT940?
- Quais esquemas de pagamento usam pacs.008?
- tsin.004 ainda está atual?
- Notas:
- Apenas a versão mais recente da mensagem. Uma versão na entrada (por exemplo
pacs.008.001.08) mapeia para sua mensagem (pacs.008). - Mensagens aposentadas são retornadas com a carga de dados em que foram aposentadas.
- As respostas listam o que o Navigator registrou. Quando um mapeamento está ausente, a resposta informa isso e direciona assistentes a responder a partir dos dados registrados.
- Apenas a versão mais recente da mensagem. Uma versão na entrada (por exemplo
iso20022_code_sets
- Respostas: o que um conjunto de códigos externos ISO 20022 contém (por exemplo
BalanceType), o que um código comoCLBDsignifica, se um código pertence a um conjunto, quais conjuntos de códigos uma mensagem usa e quais mensagens usam um conjunto de códigos. - Entradas:
message(um conjunto de códigos comoBalanceTypeouExternalBalanceType1Code, um código comoCLBDou uma mensagem ISO 20022 comocamt.053), umcodeopcional (verifica um valor no conjunto de códigos) e umoffsetopcional (continua uma lista longa). - Retorna: para um conjunto de códigos, seus detalhes, seus valores (código, nome, descrição) e as mensagens que o usam com seu número (
message_count). Para um código, todo conjunto de códigos que o contém. Para uma mensagem, seus conjuntos de códigos com seu número de valores. Listas chegam como texto delimitado por pipe com uma linha de cabeçalho. Listas longas vêm em páginas; cada resposta informa se a lista está completa e onext_offsetpara continuar. - Exemplos de perguntas:
- Quais códigos o conjunto de códigos BalanceType contém?
- CLBD é um código de tipo de saldo válido?
- O que o código OTHR significa em ISO 20022?
- Quais conjuntos de códigos camt.053 usa?
- Notas:
- Valores de Código de Transação Bancária são servidos por
iso20022_bank_transaction_codes. - Links entre conjuntos de códigos e mensagens são registrados por mensagem, e por elemento está fora dos dados.
- Valores desativados são retornados com a carga de dados em que foram desativados.
- Descrições de conjuntos de códigos (
concept_description) são geradas por IA. Descrições de valores são texto ISO. navigator_groupé o agrupamento próprio do Navigator de conjuntos de códigos, que difere de uma classificação ISO.
- Valores de Código de Transação Bancária são servidos por
Fazendo o assistente usar
Alguns assistentes respondem a partir de conhecimento geral, a menos que sejam solicitados a usar uma ferramenta, uma escolha feita pelo assistente. Adicionar a seguinte linha às instruções de um Projeto ajuda o assistente a usar as ferramentas onde elas se aplicam:
Para qualquer pergunta sobre códigos de transação bancária ISO 20022, mensagens, seus equivalentes legados (SWIFT MT, NACHA), quais esquemas de pagamento usam uma mensagem, o que um conjunto de códigos externos ou código significa, ou quais conjuntos de códigos uma mensagem usa, chame o conector ISO Navigator primeiro e responda a partir de seus dados.
Outros assistentes podem se comportar de forma diferente. Se uma resposta vier sem uma chamada de ferramenta, pergunte novamente com "de acordo com o ISO Navigator".
Limites de uso
- Limite de taxa compartilhado. O limite é de 600 chamadas por minuto entre todos os usuários juntos. Quando é atingido, a resposta informa quanto tempo esperar antes de tentar novamente.
- Tamanho da solicitação. Solicitações de até 64 KB são aceitas, e o servidor lida com até 20 solicitações ao mesmo tempo.
Dados
Toda resposta carrega um bloco provenance. Seu data_baseline (por exemplo 4Q2025) é o trimestre da carga de dados de base do Navigator, que marca quando os dados foram adicionados ao Navigator e difere de qualquer data de publicação ISO 20022. Verifique a documentação atual do próprio esquema ou da SWIFT antes de confiar em uma data de migração.
O Navigator registra uma seleção dos esquemas de pagamento do mundo, não todos eles. Os padrões cobertos são SWIFT MT, SEPA, CIPS, NACHA / ACH, AFT, Lynx, RTR, CHAPS, Elixir, iDEAL, SIC, Bankgirot, NPP, MEPS+, RENTAS e BAHTNET. Um esquema que não está nesta lista, como T2, FedNow ou Fedwire, não tem mapeamentos registrados, então a resposta não o listará.
Algumas explicações são geradas por IA. Verifique contra a documentação oficial ISO 20022 e do esquema antes do uso em produção.
Conectar
Use a URL do endpoint acima. Os nomes de menu mudam entre versões; se um rótulo abaixo diferir do que você vê, a documentação MCP do próprio cliente é a referência.
Claude (app web e desktop)
- Abra Personalizar → Conectores, escolha + Adicionar → Adicionar conector personalizado.
- Digite um nome (por exemplo
ISO 20022 Navigator) e a URL do endpoint. Deixe a autenticação desligada. - Em um chat, use o botão + no canto inferior esquerdo, depois Conectores, e ligue o conector.
Nos planos Team e Enterprise, um proprietário primeiro o adiciona em Configurações da organização → Conectores → Adicionar → Personalizado → Web; membros então o conectam de Personalizar → Conectores. O plano Free permite um conector personalizado. Veja o guia da Anthropic.
Claude Code
claude mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
Verifique com claude mcp list, ou /mcp dentro do Claude Code. Adicione --scope user para disponibilizá-lo em todos os projetos.
VS Code com GitHub Copilot
-
Execute MCP: Open User Configuration na Paleta de Comandos (ou crie
.vscode/mcp.jsonem um projeto). -
Adicione:
{ "servers": { "iso20022": { "type": "http", "url": "https://mcp.isonavigator.io/iso20022" } } } -
Execute MCP: List Servers, selecione
iso20022e inicie (ou reinicie). -
Use o Copilot Chat no modo Agent; as ferramentas aparecem na lista de ferramentas.
Cursor
Adicione a ~/.cursor/mcp.json (todos os projetos) ou .cursor/mcp.json (um projeto):
{
"mcpServers": {
"iso20022": {
"url": "https://mcp.isonavigator.io/iso20022"
}
}
}
As ferramentas podem ser ligadas e desligadas na lista de ferramentas do chat.
ChatGPT
Conectores MCP personalizados precisam do modo desenvolvedor e estão disponíveis na web. A disponibilidade depende do seu plano; veja o guia da OpenAI. Em resumo: ative o modo desenvolvedor em Configurações → Apps → Configurações avançadas, escolha Criar, digite a URL do endpoint e deixe a autenticação desligada, selecione Scan Tools, depois Criar. Este servidor lê dados, então acesso somente leitura é suficiente.
Codex CLI
codex mcp add iso20022 --url https://mcp.isonavigator.io/iso20022
Isso salva o servidor em ~/.codex/config.toml. Ou adicione você mesmo lá (.codex/config.toml para um projeto confiável):
[mcp_servers.iso20022]
url = "https://mcp.isonavigator.io/iso20022"
Verifique com codex mcp list, ou /mcp dentro de uma sessão Codex.
Gemini CLI
gemini mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
Adicione --scope user para disponibilizá-lo em todos os projetos; o padrão é apenas o projeto atual. Ou adicione a ~/.gemini/settings.json (.gemini/settings.json para um projeto):
{
"mcpServers": {
"iso20022": {
"httpUrl": "https://mcp.isonavigator.io/iso20022"
}
}
}
Use httpUrl, not url, which is for SSE servers. Check it with gemini mcp list, or /mcp inside a session. Which Google accounts or API keys Gemini CLI accepts is set by Google and has changed; check Google's current documentation if it will not start.
Qualquer outro cliente MCP
Qualquer cliente que suporte servidores MCP remotos via Streamable HTTP pode usar a URL do endpoint. Uma verificação de saúde independente de banco de dados está em https://mcp.isonavigator.io/iso20022/health.
Executar localmente
Requer Python 3.14 e acesso ao banco de dados Navigator (privado).
python -m venv .venv
.venv\Scripts\activate # Windows; on macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt
Coloque a string de conexão em um arquivo .env como DATABASE_URL=..., e então:
python server.py— transporte stdio, para Claude Desktop ou MCP Inspector- defina
MCP_TRANSPORT=http, e entãopython server.py— transporte HTTP como implantado, emhttp://localhost:8000/iso20022(verificação de saúde:/iso20022/health)
Veja o topo de server.py para as outras configurações.
Testes
pip install -r requirements-dev.txt
bandit -q -r . -x ./tests,./.venv
ruff check .
python -m pytest -q
Os testes de banco de dados são executados quando DATABASE_URL está disponível.
Licença
O código está sob a Licença MIT. Os dados de referência servidos pelas ferramentas estão fora deste repositório e de sua licença.