メインコンテンツへスキップ
見出し画像

"Claude Codeを使ってMCPサーバーを試すM3"

    MCPサーバー(AIエージェントがツールを呼び出すための標準規格)を作っている人には地味に刺さりそうなツールが、10月8日にProduct Huntで公開された。名前は「SineFrame M3」。pytestの中でClaude CodeやCodexといった実際のAIエージェントを動かし、MCPサーバーが本当に正しく呼ばれるかを検証する、テスト専用のフレームワークだ。この記事では公式サイトとGitHubリポジトリの一次情報から、何ができて何がまだ分からないのかを整理する。

    pytestの中でClaude Codeを実際に動かして検証する

    M3の核はシンプルだ。MCPサーバーを2つの角度からテストできる。

    • ダイレクトテスト: サーバーをstdioまたはStreamable HTTPで直接呼び出し、返ってくる構造化データが期待通りかをアサートする

    • エージェントテスト: Claude Code、Codex、OpenCode、Pi、その他のACP対応エージェント(Agent Client Protocol、AIエージェントとツールをつなぐ共通規格)に実際にサーバーを使わせ、ツール呼び出しの様子を記録する

    GitHubのREADMEにはこう書かれている。

    "M3 runs Claude Code, Codex, OpenCode, or Pi against your server, records every MCP tool call"
    (訳: M3はClaude Code、Codex、OpenCode、Piをあなたのサーバーに対して実際に動かし、すべてのMCPツール呼び出しを記録する)

    テスト対象がモックではなく実物のエージェントという点が、このツールの一番の特徴だ。 テストコードもpytestの書き方に近い。READMEの例では`pytestmark = pytest.mark.m3(agents=[...])`のようにエージェントと使うモデルを指定し、`expect(result).to_have_tool_call(...)`で特定のツールが正しい引数で呼ばれたかを検証する。

    既存のテストはプロトコル準拠止まり、M3は「選ぶ判断」まで見る

    ここまでなら従来のMCPテストツールと似ているように見えるが、違いは検証の対象にある。多くの既存ツールはサーバーが仕様通りにレスポンスを返すか(スキーマ検証)を確認するところまでだ。それに対してM3のエージェントテストは、AIエージェントが実際にどのツールを選び、どの引数を渡すかという「判断」の部分までテストする。

    つまりあなたがMCPサーバーを作っているなら、「仕様通りに動く」ことと「AIが実際に正しく使ってくれる」ことは別問題だと気づいているはずだ。M3は後者、つまりAIの振る舞いが変わった時に気づく仕組みとして作られている。複数のエージェント(Claude Code/Codex/OpenCode/Pi)を並行して同じテストにかけられる点も、1つのモデルの癖に依存しないための設計だ。

    バージョン固定テストという機能もある。特定のモデルバージョン間で互換性が保たれているかを比較する仕組みで、モデルが更新された時にサーバーの挙動が崩れていないかを確認できる。

    動かすのに要るのはuvと、無料のApache-2.0ライセンス

    ライセンスはApache-2.0のオープンソースで無料だ。インストール方法は2つ用意されている。

    uv tool install sf-m3-cli

    または、macOS/Linux向けのシェルインストーラ。

    curl -LsSf https://m3.sineframe.com/install.sh | sh

    インストール後は`m3 init`で初期化、`m3 setup`で環境構築、`m3 doctor`で動作確認という流れになる。テストの実行はこんな具合だ。

    m3 test -- tests
    m3 test --harness codex=gpt-5.6-sol -- tests
    m3 test --trials 5 -- tests

    `--harness`で使うエージェントとモデルを切り替え、`--trials`で同じテストを何回繰り返すかを指定できる(AIの応答にはばらつきがあるので、複数回試すのは妥当な設計だ)。テスト結果はローカルの`.m3/executions.sqlite`に保存され、トレースやタイムラインをM3のUIで見返せる。CI統合用に`m3 ci test --upload`というコマンドもあり、これを使うとPRのゲーティング(基準を満たさないテストがあればマージをブロックする仕組み)とホスト側での実行管理ができる。

    ここで未確認なのが料金だ。公式サイトでは「Pre-release preview(プレリリース・プレビュー)」と表記されており、ホスト型のCI連携サービスが将来的に有料化されるのかは今回確認した範囲では分からない。CLI自体とOSSのコア機能は無料で使える。

    GitHubの星はまだ7個、MCPサーバーを作っていない人には関係ない話

    GitHubのスター数は現時点で7個と、立ち上がったばかりの規模感だ。開発者はRishav KatochとUtkarsh Pandeyの2人で、Product Huntでの公開は10月8日。まだ実績の蓄積を外から確認できる段階ではない。

    あなたがMCPサーバーを自分で開発・公開している、あるいはチームで複数のAIエージェントに対応させようとしているなら、このツールは今すぐ試す価値がある。無料で、インストールも1コマンドで済むからだ。一方、ChatGPTやClaudeを利用者として使っているだけで、MCPサーバーを書く側に立っていない人には、今回の話はほぼ関係がない。

    判断

    試す価値があるのは、MCPサーバーを自分で書いている、または書く予定がある人に限られる。無料でOSS、インストールも軽いので導入コストは低い。一方で星7個・プレリリース表記という規模感を考えると、本番のCIパイプラインに今すぐ本格導入するのはまだ早いだろう。まずは手元のプロジェクトで`m3 init`から試し、ダイレクトテストとエージェントテストの両方が自分のサーバーに意味を持つかを確認するのが現実的な一歩目だ。料金体系が固まるまでは、ホスト型のCI連携(`--upload`)に本格的に依存する判断は保留でよい。

    関連リンク

     
     
    制作会社の営業 / 現場でAIを業務に組み込んでます。 freee・Gmail・広告運用をClaudeで自動化した実例を、 コピペで動く手順として公開。 「AIで仕事をラクにしたい人」向け。

    あなたへのおすすめ