nikkie-ftnextの日記

イベントレポートや読書メモを発信

MCP Inspectorは任意のMCPサーバをテストできる!(俺がMCPクライアントなんだっ...)

はじめに

七尾百合子さん、お誕生日 28日目 おめでとうございます! nikkieです。

@modelcontextprotocol/inspectorがどんなものかをこのたび理解しました

目次

@modelcontextprotocol/inspector

The MCP inspector is a developer tool for testing and debugging MCP servers.

Inspector用のドキュメントもあります。
※この記事の内容は、このドキュメントに書いてあることです

Python SDKmcp dev

Inspectorを認識したのは、MCPサーバ・クライアントの素振りをしていてmcp devを実行したとき。
素振りリポジトリMCPサーバのディレクトリで始めます。

MCPサーバのスクリプトweather.pyを指定して

% uv run mcp dev weather.py
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

ブラウザで http://127.0.0.1:6274 を開くと、Inspectorが。

  • サイドメニューから「Connect」
  • Toolsタブ
    • 「List Tools」
    • Toolを選んで「Run Tool」

Pythonコードで実装していたことを、Inspectorで手動で体験しました。

ここでサイドメニューに目を向けると

  • Transport Type: STDIO
  • Command: uv
  • Arguments: run --with mcp mcp run weather.py

今の私はこの設定値が読め、「任意のMCPサーバを指定できるのでは?」と気づきました。

Inspectorを起動してMCPサーバを指定する

ここで作業ディレクトリは、素振りリポジトリのルートです

% npx --version
10.5.0
% npx @modelcontextprotocol/inspector
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

(1) mcp devに代えて

Inspectorに以下を渡します。

  • Transport Type: STDIO
  • Command: uv
  • Arguments: run --with mcp quickstart/weather/weather.py

これでも動かせます!

(2) 任意のMCPサーバとして、Playwright MCP

  • Transport Type: STDIO
  • Command: npx
  • Arguments: @playwright/mcp@latest

Toolsを一覧でき、browser_navigateにURLを渡すなどできます!

(3) SSE TransportのMCPサーバ

過去に素振りしたSSEバージョンも指定してみます

(別のシェルで)素振りリポジトリsse/weather/にて

% uv run weather.py
INFO:     Started server process [50708]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

Inspectorにて

つながりました🙌

終わりに

はじめmcp devで出会ったInspectorは一体どんなツールなのか掴みかねていましたが、MCPの理解が進んだことで、任意のMCPサーバを指定できることに気づけました。
自作MCPサーバの動作確認や、話題のMCPサーバをまずは人力クライアントで確認など、なかなか重宝しそうです。