MCP Hub
Back to servers

AS400 MCP Server

Enables development support for AS400/IBM i systems by providing read-only access to metadata, source code, and program dependencies via ODBC. It supports CL, RPG, and COBOL environments, allowing users to retrieve library, table, and system information.

Stars
1
Forks
1
Updated
Dec 19, 2025

AS400 MCP Server

Claude Code用のAS400/IBM i開発支援MCPサーバーです。 ODBC経由でAS400のメタデータやソースコードを取得し、CL/RPG/COBOLプログラムの開発を支援します。

特徴

  • 日本語ラベル対応: カラムやテーブルの日本語説明(TEXT)を取得・活用
  • ソースコード参照: QCLSRC/QRPGSRC等からソースを取得
  • プログラム依存関係調査: 参照ファイル・呼び出し関係を取得
  • システム情報取得: OSバージョン、PTFレベル等を確認
  • 読み取り専用: セキュリティのため全て読み取り操作のみ

利用可能なツール

ツール説明
list_librariesライブラリ一覧(ラベル付き)
list_tablesテーブル/ファイル一覧
get_columnsカラム一覧(日本語ラベル、型、キー情報)
list_source_filesソースファイル一覧(QCLSRC, QRPGSRC等)
list_sourcesソースメンバー一覧
get_sourceソースコード取得
get_dataテーブルデータ取得
get_table_infoテーブル詳細情報
get_system_infoシステム情報(OSバージョン、PTF等)
list_programsプログラム一覧(RPG/CL/COBOL等)
get_program_referencesプログラムの参照ファイル・呼び出し関係
list_data_areasデータエリア一覧(共有変数)
execute_sql任意SELECT実行(読み取り専用)

インストール

前提条件

  • Python 3.10以上
  • IBM i Access ODBC Driver
  • AS400/IBM i 7.3以上(推奨: 7.4以上)
    • 7.3: 基本機能が動作
    • 7.4+: get_program_references等の追加機能が利用可能
  • AS400/IBM iへの接続情報

インストール手順

# 1. リポジトリをクローン
git clone https://github.com/omni-s/as400-mcp.git
cd as400-mcp

# 2. 仮想環境を作成・有効化
python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux/macOS
source .venv/bin/activate

# 3. パッケージをインストール
pip install -e .

Claude Code設定

実際にClaude Codeを動かすプロジェクトルートに .mcp.json ファイルを作成してください。

接続情報(パスワード等)を含む場合は .gitignore.mcp.json を追加することを推奨します。

Windows(.mcp.json)

{
  "mcpServers": {
    "as400": {
      "command": "C:/path/to/as400-mcp/.venv/Scripts/python.exe",
      "args": ["-m", "as400_mcp.server"],
      "env": {
        "AS400_CONNECTION_STRING": "DRIVER={IBM i Access ODBC Driver};SYSTEM=YOUR_SYSTEM;UID=USER;PWD=PASS;CCSID=1208;EXTCOLINFO=1"
      }
    }
  }
}

Linux/macOS(.mcp.json)

{
  "mcpServers": {
    "as400": {
      "command": "/path/to/as400-mcp/.venv/bin/python",
      "args": ["-m", "as400_mcp.server"],
      "env": {
        "AS400_CONNECTION_STRING": "DRIVER={IBM i Access ODBC Driver};SYSTEM=YOUR_SYSTEM;UID=USER;PWD=PASS;CCSID=1208;EXTCOLINFO=1"
      }
    }
  }
}

設定後、Claude Codeを再起動して /mcp コマンドでas400サーバーが表示されることを確認してください。

接続文字列のオプション

オプション説明
SYSTEMAS400のホスト名またはIPアドレス
UIDユーザーID
PWDパスワード
CCSID=1208UTF-8通信(日本語対応)
EXTCOLINFO=1拡張カラム情報(COLUMN_TEXT等)を取得

使い方

基本的なワークフロー

ユーザー: MYLIBの受注テーブルを使ったWeb画面を作って

Claude Code:
1. get_table_info("MYLIB", "ORDER") でテーブル情報取得
2. カラム情報(日本語ラベル付き)を確認
3. get_data でサンプルデータを確認
4. Web画面(React等)とAPI(FastAPI等)を生成

使用例

テーブル構造確認

> MYLIBのORDERテーブルの構造を教えて

既存ソース参照

> MYLIBのソースファイル一覧を見せて
> MYLIB/QRPGSRC内のORDMNTソースを見せて

プログラム調査

> MYLIBにあるRPGプログラムの一覧を見せて
> ORDER001プログラムが参照しているファイルを教えて

Web画面生成

> MYLIBのCUSTOMERテーブルでWebの一覧・詳細画面を作って
  - 日本語ラベルを画面項目名に
  - 検索機能付き

システム情報確認

> AS400のバージョンを教えて

ODBCドライバーの設定

ODBCドライバーの導入方法については、以下の公式ドキュメントを参照してください。

IBM i Access ODBC Installation

開発

Claude Code無しでテストする

MCPサーバーはClaude Code無しでも動作確認できます。

# .env.exampleをコピーして接続情報を設定
cp .env.example .env
# .envを編集して接続情報を入力

# 直接起動(stdinにJSON-RPCを入力)
python -m as400_mcp.server

# ツール一覧を取得
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python -m as400_mcp.server

上記はClaude Code経由ではなく単独でas400-mcp動作させたい場合です。

MCP Inspector(推奨)

Anthropic提供のデバッグ用WebUIでGUIからツールをテストできます。

npx @modelcontextprotocol/inspector python -m as400_mcp.server

「Claude Code無しでテストする」の .env の編集は行ってある事が前提です

ブラウザが開き、ツール一覧の確認や実行テストが可能です。

ユニットテスト

# 開発用依存パッケージをインストール
pip install -e ".[dev]"

# テスト実行
pytest tests/ -v

リント

ruff check .
ruff format .

トラブルシューティング

接続エラー

[HY000] [IBM][System i Access ODBC Driver]Communication link failure

→ SYSTEM、UID、PWDを確認。ファイアウォールでポート446/449/8470等が開いているか確認。

文字化け

UnicodeDecodeError

→ 接続文字列にCCSID=1208を追加(UTF-8通信)。

日本語ラベルが取得できない

COLUMN_TEXT が空

→ 接続文字列にEXTCOLINFO=1を追加。

権限エラー

[42501] User not authorized to object

→ AS400側でユーザーにQSYS2カタログビューへのアクセス権限を付与。

ライセンス

MIT License - Copyright (c) 2025 kozokaAI Inc.

関連リンク

Reviews

No reviews yet

Sign in to write a review