MCP-сервер ISO 20022 Navigator
MCP-сервер, который помогает AI-ассистентам отвечать на вопросы об обмене финансовыми сообщениями ISO 20022, опираясь на справочные данные ISO 20022 Navigator.
Бесплатный и общедоступный. Для подключения клиенту достаточно URL конечной точки.
Конечная точка: https://mcp.isonavigator.io/iso20022 (Streamable HTTP, открытый доступ)
Документация · Конфиденциальность · Поддержка: i22navigatorapp@gmail.com
Инструменты
Все инструменты доступны только для чтения.
| Инструмент | На какие вопросы отвечает |
|---|---|
iso20022_bank_transaction_codes | Что означает банковский код операции ISO 20022 (домен, семейство, подсемейство) и какие коды входят в домен или семейство. |
iso20022_message_details | Что представляет собой конкретное сообщение ISO 20022: его название, описание, бизнес-область, последняя версия и размер структуры. |
iso20022_legacy_and_scheme_mappings | Какое сообщение ISO 20022 заменяет устаревшее сообщение и какие платёжные схемы используют сообщение ISO 20022. |
iso20022_code_sets | Какие значения содержит внешний набор кодов ISO 20022, что означает конкретный код и какие наборы кодов использует сообщение. |
iso20022_bank_transaction_codes
-
Отвечает: что означает банковский код операции ISO 20022: коды домена, семейства и подсемейства, которые классифицируют записи в банковских выписках и отчётах по счетам, например
PMNT-RCDT-ESCT. Также показывает, какие семейства входят в домен, какие подсемейства — в семейство и где используется код. -
Входные данные:
code— код в формате «домен-семейство-подсемейство», разделённый дефисами. Можно указать любую часть кода или пропустить отдельные уровни:-
PMNT: домен и относящиеся к нему семейства. -
PMNT-RCDT: домен и семейство, а также подсемейства этого семейства. -
PMNT-RCDT-ESCT: полный код с названиями трёх уровней и описанием. -
/RCDTи//ESCT: только семейство или подсемейство; начальные косые черты указывают уровень. -
/RCDT/ESCTиPMNT//ESCT: два уровня кода с пропущенным промежуточным уровнем. -
ESCT: уровень не указан; возвращаются все уровни, на которых встречается этот код.
-
-
Возвращает: официальные названия, количество и списки связанных кодов, описание при совпадении одной комбинации, примечания и блок
provenance. Если код не найден, ответ показывает, где существует каждая его часть, и перечисляет ближайшие совпадения среди существующих кодов. -
Примеры вопросов:
-
Что означает банковский код операции PMNT-RCDT-ESCT?
-
Какие семейства входят в домен PMNT?
-
В каких доменах используется семейство RCDT?
-
OTHR — это семейство или подсемейство?
-
-
Примечания:
-
Инструмент охватывает внешний список кодов ISO. Банковские (проприетарные) коды в него не входят, поэтому ненайденный код может быть одним из них.
-
Инструмент сопоставляет коды, а не их значения. Чтобы найти код для определённого типа операции, просматривайте иерархию от домена вниз.
-
Описания комбинаций созданы с помощью AI и проверены по официальным определениям ISO.
-
iso20022_message_details
-
Отвечает: что представляет собой конкретное сообщение ISO 20022, например
pacs.008илиcamt.053: его официальное название, описание простым языком, бизнес-область и домен, последняя версия, а также размер и состав его структуры. -
Входные данные:
message_id— четыре буквы и три цифры. Регистр не имеет значения; можно использовать точку, дефис, подчёркивание, пробел или не разделять части (pacs.008,PACS-008,pacs008). Также принимается полный идентификатор, напримерpacs.008.001.13; в ответе описывается последняя доступная версия и отмечаются различия. -
Возвращает: название и описание сообщения, бизнес-область (код, название и домен), функциональную группу в Navigator, последнюю версию, статистику структуры (общее количество элементов, максимальная глубина и количество элементов на каждом уровне), число используемых сообщением внешних наборов кодов и указатель
next_callsна инструментiso20022_code_sets, где можно получить их список, примечания и блокprovenance. Если сообщения нет в наборе данных, ответ сообщает об этом и перечисляет до пяти доступных сообщений из той же бизнес-области, начиная с ближайших по номеру. -
Примеры вопросов:
-
Что такое pacs.008?
-
К какой бизнес-области относится camt.053?
-
Каков размер определения сообщения pain.001?
-
Актуально ли ещё сообщение camt.099?
-
-
Примечания:
-
Инструмент охватывает стандартный вариант (вариант 1) каждого сообщения в последней доступной версии.
-
Показатели структуры — это количество элементов в определении сообщения. Дерево элементов в ответ инструмента не входит. Подсчёт включает все объявленные элементы: необязательные элементы и все альтернативы выбора учитываются наравне с обязательными. Поэтому показатели описывают размер определения, тогда как в одном экземпляре сообщения используется только его часть. В
total_elementsтакже входят два элемента на глубине 0 и 1 (контейнер Document и сообщение), которые не учитываются вelements_by_depth. -
Функциональная группировка создана в Navigator и не относится к стандарту ISO 20022.
-
Для выведенных из обращения сообщений возвращается загрузка данных, в которой они были выведены из обращения.
-
Описания созданы с помощью AI и проверены по официальным определениям ISO.
-
iso20022_legacy_and_scheme_mappings
-
Отвечает: какое сообщение ISO 20022 заменяет устаревшее сообщение (SWIFT MT, NACHA, устаревший формат CHAPS), например MT103 → pacs.008, и какие платёжные схемы используют сообщение ISO 20022.
-
Входные данные:
message— устаревшее сообщение или сообщение ISO 20022, напримерMT103,940илиpacs.008; необязательный параметрstandardпозволяет ограничить ответ одним стандартом или схемой, напримерSEPA. -
Возвращает: соответствия на уровне сообщений, их статусы, информацию об использовании в схемах, примечания и блок
provenance. -
Примеры вопросов:
-
Какое сообщение заменило MT103?
-
Какой формат ISO 20022 соответствует MT940?
-
Какие платёжные схемы используют pacs.008?
-
Актуально ли ещё сообщение tsin.004?
-
-
Примечания:
-
Возвращается только последняя версия сообщения. Если во входных данных указана версия, например
pacs.008.001.08, она сопоставляется с сообщениемpacs.008. -
Для выведенных из обращения сообщений возвращается загрузка данных, в которой они были выведены из обращения.
-
В ответах перечислены сведения, зафиксированные в Navigator. Если соответствие отсутствует, ответ сообщает об этом и предлагает ассистентам отвечать на основе записанных данных.
-
iso20022_code_sets
-
Отвечает: какие значения содержит внешний набор кодов ISO 20022, например
BalanceType; что означает код, напримерCLBD; входит ли код в набор; какие наборы кодов использует сообщение и какие сообщения используют конкретный набор кодов. -
Входные данные:
message— набор кодов, напримерBalanceTypeилиExternalBalanceType1Code, код, напримерCLBD, или сообщение ISO 20022, напримерcamt.053; необязательный параметрcodeпроверяет значение в наборе кодов, а необязательный параметрoffsetпозволяет продолжить просмотр длинного списка. -
Возвращает: для набора кодов — его сведения, значения (код, название, описание) и список использующих его сообщений с их количеством (
message_count). Для кода — все наборы кодов, в которых он содержится. Для сообщения — используемые им наборы кодов и количество значений в каждом из них. Списки передаются в виде текста с разделителями-вертикальными чертами и строкой заголовков. Длинные списки разбиты на страницы; каждый ответ сообщает, полный ли это список, и указываетnext_offsetдля продолжения. -
Примеры вопросов:
-
Какие коды входят в набор BalanceType?
-
Является ли CLBD допустимым кодом типа баланса?
-
Что означает код OTHR в ISO 20022?
-
Какие наборы кодов использует camt.053?
-
-
Примечания:
-
Значения банковских кодов операций предоставляет инструмент
iso20022_bank_transaction_codes. -
Связи наборов кодов с сообщениями фиксируются на уровне сообщения; данные о связях на уровне отдельных элементов отсутствуют.
-
Для деактивированных значений возвращается загрузка данных, в которой они были деактивированы.
-
Описания наборов кодов (
concept_description) созданы с помощью AI. Описания значений взяты из ISO. -
navigator_group— собственная группировка наборов кодов в Navigator, которая отличается от классификации ISO.
-
Как добиться использования инструмента ассистентом
Некоторые ассистенты отвечают на основе общих знаний, если пользователь прямо не просит воспользоваться инструментом. Это решение принимает сам ассистент. Добавьте в инструкции проекта приведённую ниже строку, чтобы помочь ассистенту применять инструменты в подходящих случаях:
При любом вопросе о банковских кодах операций ISO 20022, сообщениях, их устаревших эквивалентах (SWIFT MT, NACHA), платёжных схемах, использующих конкретное сообщение, значении внешнего набора кодов или кода, а также наборах кодов, используемых сообщением, сначала вызови коннектор ISO Navigator и сформируй ответ на основе его данных.
Другие ассистенты могут вести себя иначе. Если ответ получен без вызова инструмента, задайте вопрос ещё раз, добавив «согласно ISO Navigator».
Ограничения использования
-
Общий лимит частоты запросов. Для всех пользователей установлен лимит 600 вызовов в минуту. При достижении лимита в ответе указывается, сколько времени нужно подождать перед повторной попыткой.
-
Размер запроса. Принимаются запросы размером до 64 KB; сервер обрабатывает одновременно не более 20 запросов.
Данные
Каждый ответ содержит блок provenance. Значение data_baseline (например, 4Q2025) указывает квартал, в котором базовые данные Navigator были загружены в систему. Оно обозначает время добавления данных в Navigator и отличается от даты публикации соответствующей версии ISO 20022. Прежде чем ориентироваться на дату миграции, проверьте актуальную документацию соответствующей схемы или SWIFT.
В Navigator представлены некоторые, но не все платёжные схемы мира. Сервис охватывает стандарты SWIFT MT, SEPA, CIPS, NACHA / ACH, AFT, Lynx, RTR, CHAPS, Elixir, iDEAL, SIC, Bankgirot, NPP, MEPS+, RENTAS и BAHTNET. Если схемы нет в этом списке, например T2, FedNow или Fedwire, для неё не записаны сопоставления, и ответ не будет её содержать.
Некоторые пояснения сгенерированы с помощью AI. Перед использованием в производственной среде сверяйте их с официальной документацией ISO 20022 и соответствующей схемы.
Подключение
Используйте URL конечной точки, указанный выше. Названия пунктов меню могут меняться между версиями. Если название ниже отличается от того, что вы видите, ориентируйтесь на документацию MCP для используемого клиента.
Claude (веб-версия и приложение для компьютера)
-
Откройте Customize → Connectors, выберите + Add → Add custom connector.
-
Укажите имя (например,
ISO 20022 Navigator) и URL конечной точки. Аутентификацию оставьте выключенной. -
В чате нажмите кнопку + в левом нижнем углу, выберите Connectors и включите подключение.
В планах Team и Enterprise владелец организации должен сначала добавить подключение в разделе Organization settings → Connectors → Add → Custom → Web.
Затем участники смогут подключить его в разделе Customize → Connectors. В плане Free можно добавить одно пользовательское подключение.
Claude Code
claude mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
Проверьте подключение командой claude mcp list или с помощью /mcp в Claude Code. Добавьте --scope user, чтобы подключение было доступно во всех проектах.
VS Code с GitHub Copilot
-
Выполните команду MCP: Open User Configuration из Command Palette или создайте файл
.vscode/mcp.jsonв проекте. -
Добавьте:
{
"servers": {
"iso20022": {
"type": "http",
"url": "https://mcp.isonavigator.io/iso20022"
}
}
}
-
Выполните команду MCP: List Servers, выберите
iso20022и запустите сервер или перезапустите его. -
Откройте Copilot Chat в режиме Agent. Инструменты появятся в списке инструментов.
Cursor
Добавьте конфигурацию в ~/.cursor/mcp.json (для всех проектов) или .cursor/mcp.json (для одного проекта):
{
"mcpServers": {
"iso20022": {
"url": "https://mcp.isonavigator.io/iso20022"
}
}
}
Инструменты можно включать и выключать в списке инструментов чата.
ChatGPT
Для пользовательских подключений MCP требуется режим разработчика; они доступны в веб-версии. Доступность зависит от вашего плана. Подробнее см. в
Краткая инструкция: включите режим разработчика в разделе Settings → Apps → Advanced settings, выберите Create, укажите URL конечной точки
и оставьте аутентификацию выключенной. Затем выберите Scan Tools и нажмите Create. Этот сервер только читает данные, поэтому достаточно доступа только для чтения.
Codex CLI
codex mcp add iso20022 --url https://mcp.isonavigator.io/iso20022
Команда сохранит сервер в ~/.codex/config.toml. Можно также добавить конфигурацию вручную (.codex/config.toml — для одного доверенного проекта):
[mcp_servers.iso20022]
url = "https://mcp.isonavigator.io/iso20022"
Проверьте подключение командой codex mcp list или с помощью /mcp в сеансе Codex.
Gemini CLI
gemini mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
Добавьте --scope user, чтобы подключение было доступно во всех проектах. По умолчанию оно доступно только в текущем проекте. Также можно добавить конфигурацию в ~/.gemini/settings.json (.gemini/settings.json — для одного проекта):
{
"mcpServers": {
"iso20022": {
"httpUrl": "https://mcp.isonavigator.io/iso20022"
}
}
}
Используйте httpUrl, а не url: последний параметр предназначен для серверов SSE. Проверьте подключение командой gemini mcp list или с помощью /mcp в сеансе. Поддерживаемые Gemini CLI аккаунты Google и API keys определяет Google; эти требования менялись. Если CLI не запускается, проверьте актуальную документацию Google.
Другие клиенты MCP
URL конечной точки можно использовать в любом клиенте, который поддерживает удалённые серверы MCP через Streamable HTTP. Проверить доступность сервера независимо от базы данных можно по адресу https://mcp.isonavigator.io/iso20022/health.
Локальный запуск
Требуются Python 3.14 и доступ к базе данных Navigator (закрытый доступ).
python -m venv .venv
.venv\Scripts\activate # Windows; on macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt
Поместите строку подключения в файл .env в формате DATABASE_URL=..., затем выполните один из вариантов:
-
python server.py— транспорт stdio для Claude Desktop или MCP Inspector -
Задайте
MCP_TRANSPORT=http, затем выполнитеpython server.py— транспорт HTTP, как в развёрнутой версии, по адресу
http://localhost:8000/iso20022 (проверка доступности: /iso20022/health)
Описание остальных настроек см. в начале файла server.py.
Тесты
pip install -r requirements-dev.txt
bandit -q -r . -x ./tests,./.venv
ruff check .
python -m pytest -q
Тесты базы данных запускаются, если доступна переменная DATABASE_URL.
Лицензия
Код распространяется по лицензии MIT. Справочные данные, предоставляемые инструментами, находятся за пределами этого репозитория и не подпадают под его лицензию.