mcpField
M
MCP Stateful Example

MCP Stateful Example

ローカル
github.com/stevemadere開発ツール169 週間前に更新

MCP Stateful Example について

MCP Stateful Exampleは、セッション単位のツール呼び出しを試すための最小構成のサーバーとクライアントです。テスト用ツールとセッション維持を検証する統合テストを備え、ステートフルなMCP動作の学習や確認に使えます。

主な機能

  1. 01最小構成のステートフルMCPサーバー
  2. 02セッション対応のツール呼び出し
  3. 03`imagine`と`isLessThan`のテストツール
  4. 04セッション維持を検証するPython統合テスト
  5. 05`/health`監視エンドポイント

活用シーン

  1. 01MCPセッションが状態を保持する仕組みを学ぶ
  2. 02セッション単位のツール呼び出しをテスト
  3. 03開発中にサーバーの稼働状態を確認

MCP 対応

`POST /mcp`エンドポイントを備えたMCPサーバーを実装し、テストクライアントも含みます。テスト用ツールはセッション状態を保持します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Stateful Example

Model Context Protocol (MCP) を使用した、セッションベースのツール呼び出しワークフローを調査・検証するための、最小限で完全に MCP に準拠したサーバーとクライアントの構成です。

特徴

  • ステートフル MCP サーバーのサンプル:セッション処理を実装した最小限の MCP サーバーです
  • テスト用ツール:セッション状態をテストするための imagine ツールと isLessThan ツールが含まれています
  • 統合テスト:サーバーの動作とセッションの永続性を検証する Python ベースのテストです
  • ヘルスチェック:サーバーの状態を監視するための /health エンドポイントが組み込まれています

前提条件

  • Node.js 18+
  • Python 3.8+(統合テスト用)
  • npm または yarn

はじめに

  1. リポジトリをクローンします
  2. Node.js の依存関係をインストールします:
    npm install
    
  3. 統合テスト用の Python の依存関係をインストールします:
    pip install -r test/integration/requirements.txt
    
  4. プロジェクトのルートに、以下の内容で .env.test ファイルを作成します:
    PORT=3088
    
  5. 開発サーバーを起動します:
    npm run dev
    

テストの実行

ユニットテスト
npm test
統合テスト
# Run all integration tests
npm run itest

# Or run a specific test
cd test/integration
python test_initialize.py

プロジェクト構成

  • src/ - ソースコード
    • server/ - MCP サーバーの実装
      • tools/ - ツールの定義
    • client/ - テスト用クライアントの実装
  • test/ - テストファイル
    • integration/ - Python ベースの統合テスト
  • scripts/ - ビルドおよびユーティリティ用スクリプト

利用可能なツール

imagine

指定された下限と上限の間からランダムな数値を選び、セッションに保存します。

パラメーター:

  • lower:下限(この値を含みます)
  • upper:上限(この値を含みます)
isLessThan

現在のセッションで以前に生成した数値より、指定した数値が小さいかどうかを確認します。

パラメーター:

  • number:生成した数値と比較する数値

API エンドポイント

GET /health

サーバーの状態を返すヘルスチェックエンドポイントです。

POST /mcp

MCP に準拠したリクエストを処理するための、メインの MCP プロトコルエンドポイントです。

環境変数

  • PORT:サーバーがリッスンするポート番号(デフォルト:3000)
  • NODE_ENV:環境モード(例:'development'、'production')

ライセンス

ISC

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。