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

smithery badge

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.

FerramentaO que responde
iso20022_bank_transaction_codesO 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_detailsO 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_mappingsQual mensagem ISO 20022 substitui uma mensagem legada e quais esquemas de pagamento usam uma mensagem ISO 20022.
iso20022_code_setsO 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.
    • /RCDT e //ESCT: uma família ou uma subfamília isolada (as barras iniciais fixam o nível).
    • /RCDT/ESCT e PMNT//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.008 ou camt.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 como pacs.008.001.13 també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_calls para iso20022_code_sets para a lista, notas e um bloco provenance. 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_elements também conta os dois elementos nas profundidades 0 e 1 (contêiner Document, mensagem), que elements_by_depth omite.
    • 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, como MT103, 940 ou pacs.008) e um standard opcional (restringe a resposta a um padrão ou esquema, como SEPA).
  • 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.

iso20022_code_sets

  • Respostas: o que um conjunto de códigos externos ISO 20022 contém (por exemplo BalanceType), o que um código como CLBD significa, 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 como BalanceType ou ExternalBalanceType1Code, um código como CLBD ou uma mensagem ISO 20022 como camt.053), um code opcional (verifica um valor no conjunto de códigos) e um offset opcional (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 o next_offset para 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.

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)

  1. Abra Personalizar → Conectores, escolha + Adicionar → Adicionar conector personalizado.
  2. Digite um nome (por exemplo ISO 20022 Navigator) e a URL do endpoint. Deixe a autenticação desligada.
  3. 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

  1. Execute MCP: Open User Configuration na Paleta de Comandos (ou crie .vscode/mcp.json em um projeto).

  2. Adicione:

    {
      "servers": {
        "iso20022": {
          "type": "http",
          "url": "https://mcp.isonavigator.io/iso20022"
        }
      }
    }
    
  3. Execute MCP: List Servers, selecione iso20022 e inicie (ou reinicie).

  4. 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ão python server.py — transporte HTTP como implantado, em http://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.