MCP Servers Learning Project について
MCP を学ぶ人向けに、サーバーとクライアントの実装例をまとめたプロジェクトです。Python、TypeScript、ドキュメント提供、ターミナルコマンドツールなど、入門から応用的なテーマまで扱います。
主な機能
- 01Python と TypeScript のクライアント例
- 02天気情報サーバーの例
- 03ドキュメント取得・提供サーバー
- 04ターミナルコマンド実行ツール
- 05エラー処理とリソース管理の例
活用シーン
- 01MCP サーバーへの接続方法を学ぶ
- 02天気情報を提供する MCP サーバーを作る
- 03ドキュメントリソースの提供方法を調べる
- 04入力検証付きターミナルツールの実装を練習する
MCP 対応
複数の MCP サーバーとクライアントの実装例を収録しています。サーバー例は、天気情報、ドキュメントリソース、またはターミナルコマンド実行ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー学習プロジェクト
このリポジトリには、Model Context Protocol(MCP)のサーバーとクライアントの実装例が含まれています。MCP は、Claude などの LLM が外部ツールやデータソースと標準化された方法でやり取りできるようにするプロトコルです。
プロジェクト構成
このリポジトリはいくつかのモジュールに分かれており、それぞれ MCP の異なる側面に焦点を当てています。
1. クイックスタート用リソース
1_quickstart-resources ディレクトリには、MCP を始めるのに役立つクライアントとサーバーの実装例が含まれています。
- mcp-client-python:MCP サーバーに接続するための Python クライアント実装
- mcp-client-typescript:MCP サーバーに接続するための TypeScript クライアント実装
- weather-server-python:天気情報を提供する Python 製 MCP サーバーのサンプル
- weather-server-typescript:天気情報を提供する TypeScript 製 MCP サーバーのサンプル
これらの例では、基本的な MCP の概念を紹介し、独自の実装を始める際の出発点を提供します。
2. MCP ドキュメントサーバー
2_mcpdoc ディレクトリには、ドキュメントを提供するための専用 MCP サーバーが含まれています。
- さまざまなソースからドキュメントを取得して提供できる MCP サーバーを実装しています
- 設定例と堅牢なプロジェクト構成が含まれています
- エラー処理やリソース管理など、高度な MCP の概念を紹介しています
3. ターミナルサーバー
3_building_securing_and_containerizing_mcp_server ディレクトリには、次の機能を持つカスタム MCP サーバーの実装が含まれています。
- システムコマンドにアクセスできるターミナルコマンド実行ツールを公開します
- MCP ドキュメントにアクセスするためのリソースを提供します
- 適切なエラー処理と入力検証を紹介します
- 1 つのサーバーでツールとリソースの両方を実装する方法を示します
はじめに
前提条件
- Python 3.10 以降
- MCP SDK 1.2.0 以降
- TypeScript の例を使用する場合:Node.js と npm
インストール
# For Python dependencies
uv add "mcp[cli]" httpx
# Or with pip
pip install "mcp[cli]" httpx
MCP サーバーの実行
次の方法で、任意の MCP サーバーを実行できます。
# With Python directly
python <path_to_server.py>
# Or with the MCP CLI
mcp dev <path_to_server.py>
たとえば、ターミナルサーバーを実行するには、次のようにします。
python 3_building_securing_and_containerizing_mcp_server/server.py
# Or
mcp dev 3_building_securing_and_containerizing_mcp_server/server.py
Claude Desktop への接続
MCP サーバーを Claude Desktop に接続するには、次のようにします。
mcp install <path_to_server.py>
主な概念
- ツール:Claude がコードを実行したり、副作用を発生させたりするために呼び出せる関数
- リソース:Claude が読み取り、参照できるように公開されたデータ
- プロンプト:Claude とのやり取りを構成するためのテンプレート
コントリビューション
ご自身のユースケースに合わせて、これらの例を自由に拡張・変更してください。役立つ MCP サーバーを開発した場合は、ぜひコミュニティで共有してください。
リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。