MCP Starter Project について
Python 製 MCP サーバーと TypeScript クライアントの構築方法を学ぶための開発者向けスタータープロジェクトです。ドキュメント検索、セッション単位の会話履歴、Hugging Face モデルによるツール呼び出しを扱います。
主な機能
- 01Python 製 MCP サーバー
- 02Express ベースの TypeScript クライアント
- 03LangChain、LlamaIndex、OpenAI のドキュメント検索
- 04セッション単位の会話履歴
- 05ツール呼び出しの実行とエラー処理
活用シーン
- 01MCP サーバーとクライアントの試作
- 02チャットでの AI ライブラリ文書検索
- 03セッションを伴うツール連携のテスト
MCP 対応
ドキュメント検索ツールを公開する Python 製 MCP サーバーと、接続してツールを取得し、モデルが生成したツール呼び出しを実行する TypeScript クライアントを含みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP スタータープロジェクト
MCP とは?
Model Context Protocol(MCP)は、外部のツールや API とやり取りできる AI アプリケーションを構築するための標準です。主に次の 2 つのコンポーネントで構成されています。
- MCP サーバー:AI モデルから呼び出せるツールや関数を定義して公開する Python サービスです
- MCP クライアント:MCP サーバーに接続し、AI モデルとツールの間のやり取りを管理する TypeScript/JavaScript クライアントです
プロジェクト構成
mcp_starter/
├── mcp-server/ # Python MCP server implementation
│ ├── main.py # Server with documentation search tool
│ └── pyproject.toml # Python dependencies
└── mcp-clients/ # TypeScript MCP client implementation
├── index.ts # Express server with HuggingFace integration
└── package.json # Node.js dependencies
はじめに
前提条件
- Python 3.11 以降
- Node.js 18 以降
- Hugging Face API キー
- Google 検索機能用の Serper API キー
サーバーのセットアップ
- Python 仮想環境を作成して有効化します。
cd mcp-server
python -m venv .venv
# On Windows
.venv\Scripts\activate
- 依存関係をインストールします。
pip install -e .
mcp-serverディレクトリに.envファイルを作成します。
SERPER_API_KEY=your_serper_api_key_here
クライアントのセットアップ
- Node.js の依存関係をインストールします。
cd mcp-clients
npm install
mcp-clientsディレクトリに.envファイルを作成します。
HUGGINGFACE_API_KEY=your_huggingface_api_key_here
- TypeScript コードをビルドします。
npm run build
アプリケーションの実行
- MCP サーバーを起動します。
cd mcp-server
python main.py
- 新しいターミナルで、クライアントサーバーを起動します。
cd mcp-clients
node build/index.js ../mcp-server/main.py
API の使用
クライアントは次の 2 つのエンドポイントを公開します。
- ヘルスチェック:
GET http://localhost:3000/health - チャット:
POST http://localhost:3000/chat
チャットリクエストの例:
{
"query": "Search the langchain docs for RAG",
"sessionId": "user123"
}
機能
-
ドキュメント検索ツール:人気の AI ライブラリのドキュメントを検索します。
- LangChain
- LlamaIndex
- OpenAI
-
会話管理:セッションごとにチャット履歴を保持します
-
ツール連携:AI モデルの応答とツール呼び出しをシームレスに連携します
-
エラー処理:API 呼び出しとツール実行に対して堅牢なエラー処理を行います
動作の仕組み
- MCP サーバーは、AI モデルから呼び出せるツールを定義します
- クライアントは MCP サーバーに接続し、利用可能なツールを取得します
- ユーザーがクエリを送信すると:
- クライアントが会話履歴を整形します
- Hugging Face モデルに送信します
- モデルの応答からツール呼び出しを抽出して実行します
- ツールの結果を含む最終応答を返します
環境変数
サーバー
SERPER_API_KEY:Google 検索機能用の API キー
クライアント
HUGGINGFACE_API_KEY:Hugging Face モデルへのアクセスに使用する API キー
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。