MCP Inspectorを使ってMCPサーバーをテストする方法
MCPを使うとさまざまなWebサービスやアプリケーションをプラグインのように生成AIと連携させることができます。
MCPとはなんぞやという方はこちらをご覧ください。
自作のMCPサーバーを開発される機会も増えてくると思いますが、MCPサーバーを開発していると、どうやってテストしたらいいんだろうと思われるのではないでしょうか。MCPサーバーはJSON-RPCのサーバーとして動作するもので、通常は公式のSDKを用いて開発することになります。なのでMCPサーバーが正常に動作するかどうかの検証を、Jestなどの一般的なユニットテストで書くことができません。公式サイトでは、MCP Inspectorを使ってテストせよと書かれてあります。今回はMCP Inspectorを使って自作のMCPサーバーをテストする方法について説明します。
公式サイト
GitHubのリポジトリはこちらにあります。
使ってみる
MCPサーバーとして、FileSystem MCP Serverを使います。NPMやPyPIパッケージから直接サーバーを起動することもできますが、今回は開発しているライブラリのテストを想定して、ソースコードからビルドすることにします。MCPサーバーの開発言語はTypeScriptでもPythonでもGoでも何でも構いませんが、Inspector自体はJavaScriptで書かれているので、実行にはNode.jsが必要です。
リポジトリをcloneして、/src/filesystemにあるコードをビルドします。
git clone git@github.com:modelcontextprotocol/servers.git
cd servers/src/filesystem
npm install
npm run build
ビルドできたら、実行できるか確認してみましょう。このサーバーは、ローカルにあるファイルを生成AIから操作するためのMCPサーバーなので、引数にアクセスを許可するディレクトリを渡す必要があります。
node dist/index.js /Users/yamada/tmp
Secure MCP Filesystem Server running on stdio
上記のメッセージが表示されたら成功です。いったんCtrl+Cでサーバーを停止します。
InspectorからMCPサーバーを起動する
Inspectorはnpxコマンドで直接起動できるので、インストールする必要はありません。
npx @modelcontextprotocol/inspector node dist/index.js /Users/yamada/tmp
🔍 MCP Inspector is up and running at http://localhost:5173 🚀
Inspectorが起動したら、上記のように表示されるので、ブラウザでURLにアクセスします。
「Connect」をクリックしてサーバーに接続します。

接続すると、メニューが表示されます。このMCPサーバーでは、Toolしか実装されていないので、Resources/Prompts/Toolsのうち、Toolsのボタンだけが有効になっています。

「List Tools」をクリックすると、実装されているToolの一覧が表示されます。ここから実際にToolの動作を確認することができます。試しに「list_directory」をクリックして、pathに有効なディレクトリを入力してみましょう。

ディレクトリの中身が表示されましたね!
続いて、「read_file」をクリックして、先程list_directoryで取得したファイルのパスを指定すると、ファイルの内容を読み出すことができます。

このように、Inspectorを使えばMCPサーバーに実装した機能を画面から実行できるようになります。もちろん、MCPサーバーに実装されていれば、ResourceやPromptsについても同様に実行できます。
自動テストはできる?
自動テストのしくみは現時点では用意されていないようですが、Inspectorを起動してPlaywrightなどでIntegration Testを実装することは可能と思われます。興味のある方はチャレンジしてみてください。
最後に
社内のマニュアルを生成AIから参照できる、RunbookのMCPサーバーを提供しています。ヘルプデスク業務やサポート業務などで便利に使えますのでぜひ試してみてくださいね。