IBM Db2 for i — MCP-сервер для Claude Code: запросы к IBM i
Даёт ассистенту доступ к базам Db2 for i только на чтение: SELECT-запросы, схемы, таблицы и индексы. Пригодится, когда нужно разобраться в данных на AS/400 без ручного SQL.
claude mcp add --env DB2I_HOSTNAME=<DB2I_HOSTNAME> --env DB2I_USERNAME=<DB2I_USERNAME> --env DB2I_PASSWORD=<DB2I_PASSWORD> --env DB2I_SCHEMA=<DB2I_SCHEMA> --env DB2I_PROFILES=<DB2I_PROFILES> --transport stdio ibm-db2-for-i -- npx -y mcp-server-db2iЧто делает IBM Db2 for i
Сервер принимает SQL от модели и выполняет его на IBM i через драйвер IBM i Access ODBC. Java не нужен. Для систем, где открыт только SSH, есть драйвер Mapepire, а для JT400 — отдельный режим JDBC. Разрешены только SELECT: запросы автоматически ограничиваются по числу строк и снимаются по таймауту, чтобы не подвесить систему.
Кроме выборки данных сервер умеет смотреть структуру: список библиотек, описание колонок, индексы и ограничения, вьюхи. Один процесс может держать несколько профилей подключения в DB2I_PROFILES — у каждого свой драйвер и список разрешённых библиотек. Отдельные инструменты можно отключить, например оставить режим только с метаданными без execute_query.
Нужен доступ к IBM i по сети и учётная запись с правом читать нужные библиотеки. Чувствительные колонки можно маскировать в результатах. Установка идёт через npx -y mcp-server-db2i, параметры подключения передаются переменными окружения — пароль в конфиге клиента останется открытым текстом, так что доступ к файлу конфигурации стоит ограничить.
Какие задачи решает
- посмотреть состав библиотек и таблиц на IBM i
- снять выборку из Db2 for i, не рискуя блокировками
- описать колонки и индексы перед правкой программы
- подключиться к системе, где открыт только SSH
- скрыть чувствительные колонки в результатах запроса
Примеры запросов агенту
- Покажи список библиотек на IBM i и найди таблицы с заказами
- Опиши колонки таблицы
ORDERSв библиотекеPRODLIB - Сделай SELECT последних 50 строк из
PRODLIB.ORDERSи выведи таблицей
Как установить IBM Db2 for i
Командой платформы
claude mcp add --env DB2I_HOSTNAME=<DB2I_HOSTNAME> --env DB2I_USERNAME=<DB2I_USERNAME> --env DB2I_PASSWORD=<DB2I_PASSWORD> --env DB2I_SCHEMA=<DB2I_SCHEMA> --env DB2I_PROFILES=<DB2I_PROFILES> --transport stdio ibm-db2-for-i -- npx -y mcp-server-db2iВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера
Командой платформы
codex mcp add ibm-db2-for-i --env DB2I_HOSTNAME=<DB2I_HOSTNAME> --env DB2I_USERNAME=<DB2I_USERNAME> --env DB2I_PASSWORD=<DB2I_PASSWORD> --env DB2I_SCHEMA=<DB2I_SCHEMA> --env DB2I_PROFILES=<DB2I_PROFILES> -- npx -y mcp-server-db2iВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера
Файл настроек
{
"mcpServers": {
"ibm-db2-for-i": {
"command": "npx",
"args": [
"-y",
"mcp-server-db2i"
],
"env": {
"DB2I_HOSTNAME": "<DB2I_HOSTNAME>",
"DB2I_USERNAME": "<DB2I_USERNAME>",
"DB2I_PASSWORD": "<DB2I_PASSWORD>",
"DB2I_SCHEMA": "<DB2I_SCHEMA>",
"DB2I_PROFILES": "<DB2I_PROFILES>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера
Файл настроек
{
"servers": {
"ibm-db2-for-i": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-db2i"
],
"env": {
"DB2I_HOSTNAME": "<DB2I_HOSTNAME>",
"DB2I_USERNAME": "<DB2I_USERNAME>",
"DB2I_PASSWORD": "<DB2I_PASSWORD>",
"DB2I_SCHEMA": "<DB2I_SCHEMA>",
"DB2I_PROFILES": "<DB2I_PROFILES>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера
Командой платформы
gemini mcp add -e DB2I_HOSTNAME=<DB2I_HOSTNAME> -e DB2I_USERNAME=<DB2I_USERNAME> -e DB2I_PASSWORD=<DB2I_PASSWORD> -e DB2I_SCHEMA=<DB2I_SCHEMA> -e DB2I_PROFILES=<DB2I_PROFILES> ibm-db2-for-i npx -y mcp-server-db2iВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о IBM Db2 for i
Как установить IBM Db2 for i в Claude Code?
Выполните `claude mcp add mcp-server-db2i -e DB2I_HOSTNAME=<DB2I_HOSTNAME> -e DB2I_USERNAME=<DB2I_USERNAME> -e DB2I_PASSWORD=<DB2I_PASSWORD> -- npx -y mcp-server-db2i, подставив свои значения. Второй вариант — с явным транспортом и профилями: claude mcp add --env DB2I_HOSTNAME=<DB2I_HOSTNAME> --env DB2I_USERNAME=<DB2I_USERNAME> --env DB2I_PASSWORD=<DB2I_PASSWORD> --env DB2I_SCHEMA=<DB2I_SCHEMA> --env DB2I_PROFILES=<DB2I_PROFILES> --transport stdio ibm-db2-for-i -- npx -y mcp-server-db2i`.
Что делает IBM Db2 for i?
Выполняет на IBM i SQL-запросы на чтение от имени ассистента и показывает метаданные: библиотеки, таблицы, колонки, индексы и вьюхи. Запись и изменение данных исключены.
Что нужно, чтобы сервер заработал?
Хост, логин и пароль к IBM i в переменных DB2I_HOSTNAME, DB2I_USERNAME, DB2I_PASSWORD. Для систем без открытого порта ODBC включите драйвер Mapepire через DB2I_DRIVER=mapepire.