MCP サーバーの例
このリポジトリには、教育目的のモデルコンテキストプロトコル(MCP)サーバーの実装が含まれています。このコードは、様々なLLMクライアントと統合できる機能的なMCPサーバーの構築方法を示しています。
完全なチュートリアルを実行するには、 YouTube ビデオ チュートリアルを参照してください。
MCPとは何ですか?
MCP(モデル・コンテキスト・プロトコル)は、アプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。MCPはAIアプリケーション用のUSB-Cポートのようなもので、AIモデルをさまざまなデータソースやツールに接続するための標準化された方法を提供します。

主なメリット
LLMに直接接続できる、構築済みの統合のリストが増えています
LLMプロバイダーとベンダーを切り替える柔軟性
インフラストラクチャ内でデータを保護するためのベストプラクティス
Related MCP server: MCP Server Sample
アーキテクチャの概要
MCP は、ホスト アプリケーションが複数のサーバーに接続できるクライアント サーバー アーキテクチャに従います。
MCPホスト: Claude Desktop、IDE、またはMCPを介してデータにアクセスするAIツールなどのプログラム
MCPクライアント: サーバーとの1:1接続を維持するプロトコルクライアント
MCP サーバー: 標準化されたモデル コンテキスト プロトコルを通じて特定の機能を公開する軽量プログラム
データ ソース: MCP サーバーがアクセスできるローカル (ファイル、データベース) とリモート サービス (API) の両方
MCPコアコンセプト
MCP サーバーは、主に次の 3 種類の機能を提供できます。
リソース: クライアントが読み取ることができるファイルのようなデータ (API レスポンスやファイルの内容など)
ツール: LLM から呼び出せる関数 (ユーザーの承認が必要)
プロンプト: ユーザーが特定のタスクを達成するのに役立つ、事前に作成されたテンプレート
システム要件
Python 3.10以上
MCP SDK 1.2.0以上
uvパッケージマネージャー
はじめる
uv パッケージマネージャーのインストール
MacOS/Linuxの場合:
curl -LsSf https://astral.sh/uv/install.sh | shuvコマンドが確実に実行されるように、後でターミナルを再起動してください。
プロジェクトのセットアップ
プロジェクトを作成して初期化します。
# Create a new directory for our project
uv init mcp-server
cd mcp-server
# Create virtual environment and activate it
uv venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
# Install dependencies
uv add "mcp[cli]" httpxサーバー実装ファイルを作成します。
touch main.pyサーバーの実行
MCP サーバーを起動します。
uv run main.pyサーバーが起動し、接続を受け入れる準備が整います
Claudeデスクトップに接続しています
公式サイトからClaude Desktopをインストールする
MCP サーバーを使用するように Claude Desktop を構成します。
~/Library/Application Support/Claude/claude_desktop_config.jsonを編集します。
{
"mcpServers": {
"mcp-server": {
"command": "uv", # It's better to use the absolute path to the uv command
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/YOUR/mcp-server",
"run",
"main.py"
]
}
}
}Claudeデスクトップを再起動します
トラブルシューティング
サーバーが Claude Desktop によって取得されていない場合は、次の手順に従ってください。
設定ファイルのパスと権限を確認してください
設定内の絶対パスが正しいことを確認します
UVが適切に設置され、アクセス可能であることを確認する
Claude Desktopのログにエラーメッセージがないか確認してください
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。