2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【MCP Inspector】ローカルコンテナ環境のMCPサーバーをデバックする方法

Posted at

目的

最近は多くのサービスがMCPサーバーを提供し始めており、中には自作を行う人も増えてきたのではないでしょうか。
その際に欲しくなるのがデバック機能ですよね。

本記事ではそんなMCPサーバーをデバックできるツールMCP Inspectorの使い方までをまとめます。

今回デバック対象のMCPサーバーをは以下の記事で作成したものを使います。
是非皆さんもMCPサーバーを立てて実際に動かしてみてください。

MCP Inspector とは

MCP Inspectorとは、MCPを提唱したAnthoropicの公式から提供されており、MCP サーバーのテストとデバッグを行うための対話型開発者ツールです。
公式サイトはこちら↓

MCP Inspectorの実行方法

基本的には先ほどの公式のサイトリポジトリのREADMEに書いてあるので、そちらも参考にしてください。

前提条件

今回のデバック対象のMCPサーバーは以下の記事で構築したものを使います。
【MCP】Claude DesktopからLambda関数を呼び出しS3のファイルを取得する(lambda-tool-mcp-server)

このMCPサーバーは下記条件で動作するようになっています。

  • Windows(WSL2)
  • Docker Container
    • 実行コマンド(Claude Desktopの場合)
    claude_desktop_config.json
    {
        "mcpServers": {
          "awslabs.lambda-tool-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "--interactive",
                "--volume",
                "C:\\Users\\user\\.aws:/app/.aws:ro", 
                "--env",
                "FUNCTION_LIST=lambda-toop-mcp-s3-bucket-list,lambda-toop-mcp-s3-file-list",
                "--env",
                "FUNCTION_INPUT_SCHEMA_ARN_TAG_KEY=tool-input-schema-arn",
                "--env",
                "AWS_REGION=ap-northeast-1",
                "--env",
                "AWS_PROFILE=my_profile",
                "awslabs/lambda-tool-mcp-server:latest"
            ],
            "env": {},
            "disabled": false,
            "autoApprove": []
          }
        }
    }
    

Inspectorの実行

MCP InspectorはNode.jsパッケージとして公開されているので、下記コマンドですぐに実行できます。

npx @modelcontextprotocol/inspector

ただ、今回のMCPサーバーはローカルのDockerコンテナで動かしていますので、MCP InspectorにDockerコマンドと使用するMCPサーバーに合わせた環境変数を渡します。

npx @modelcontextprotocol/inspector \
    docker run --rm --interactive \
    --volume /mnt/c/Users/user/.aws:/app/.aws:ro \
    --env AWS_REGION=ap-northeast-1 \
    --env FUNCTION_LIST=lambda-toop-mcp-s3-bucket-list,lambda-toop-mcp-s3-file-list \
    --env FUNCTION_INPUT_SCHEMA_ARN_TAG_KEY=tool-input-schema-arn \
    --env AWS_PROFILE=eiji \
    awslabs/lambda-tool-mcp-server:latest

:warning:.awsのパスについては環境に合わせたものに変更してください。

実行が成功すると以下のように表示されますので、http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=hogehoge1234にアクセスします。

Starting MCP inspector...
⚙️ Proxy server listening on 127.0.0.1:6277
🔑 Session token: 86124fe68fd2a5941c551c74f2bbca6b06162b3c1169a35a686ee2c77ac39186
Use this token to authenticate requests or set DANGEROUSLY_OMIT_AUTH=true to disable auth

🔗 Open inspector with token pre-filled:
   http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=86124fe68fd2a5941c551c74f2bbca6b06162b3c1169a35a686ee2c77ac39186
   (Auto-open is disabled when authentication is enabled)

🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

するとこのような画面が表示されますので、これでOKです。

image.png

MCP Inspectorの使い方

まず、画面のサイドメニューを確認しましょう。

image.png

  • Transport Type
    MCPサーバーとの通信方式を指定します。
    STDIO(標準入力)、SSE、Streamable HTTP が選択できるようになっています。
    ※今回はSTDIOを使います。

  • Command
    MCPサーバーを起動するためのコマンドを記述します。
    先ほどのinspector実行コマンドで指定したものがすでに入っているかと思います。

  • Arguments
    コマンドに渡される引数を記述します。
    こちらもinspector実行コマンドで指定したものがすでに入っているかと思います。

他にも環境変数や設定オプションなどがありますが、今回は上記3つの設定が入っていればOKです。

MCPサーバーとの接続

次にMCPサーバーと接続するため、Connectボタンを押下してください。
initializeが走り、ステータスがConnectedになれば接続完了です。

image.png

次にToolsタブからList Toolsを押下しましょう。
登録されているToolsが表示されればいよいよ利用可能になります。

image.png

では、実際に表示されているツールを選択し、MCPサーバーが正常に動いているかデバックしてみましょう。
今回のリクエストボディは以下のようにしています。

{
  "bucket_name": "バケット名"
}

image.png

画面上からMCPサーバーのレスポンスやログ、実行履歴にサーバー通知などが確認できるかと思います。

まとめ

今回はDockerコンテナで動かすMCPサーバーに対しての基本的なInspectorの使い方を紹介しました。
より詳細な使い方については是非公式の情報をチェックしてみてください。

今後MCPサーバーを自作する際にも強力なツールになるかと思います!

仲間を募集しています!

ARIではエンジニア・ITコンサルタント・PM職全方位で仲間を募集しております。
カジュアル面談、随時受付中です!
ご興味ある方はこちらをご覧ください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?