mcpField
M
MCP Server Example

MCP Server Example

ローカル
github.com/alejandro-ao開発ツール16278 週間前に更新

MCP Server Example について

ドキュメント検索を行う、学習用のシンプルな MCP サーバーの例です。動画チュートリアルと併せて提供されています。さまざまな LLM クライアントと連携できる基本的なサーバーの構築方法と、Claude Desktop での設定手順を示しています。

主な機能

  1. 01uv を用いた Python によるサーバー実装
  2. 02リソース、ツール、プロンプトの概要説明
  3. 03Claude Desktop の設定手順
  4. 04一般的な接続問題のトラブルシューティング

活用シーン

  1. 01MCP サーバーの構築方法の学習
  2. 02ローカルのドキュメント検索サーバーを Claude Desktop に接続

MCP 対応

MCP サーバーの実装方法を示す例であり、Claude Desktop などの MCP ホストアプリケーションに接続する手順を説明しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP サーバーの例

このリポジトリには、教育目的の Model Context Protocol(MCP)サーバーの実装が含まれています。このコードでは、さまざまな LLM クライアントと連携できる、実用的な MCP サーバーの構築方法を紹介します。

チュートリアルの全編は、YouTube の動画チュートリアルをご覧ください。

MCP とは?

MCP(Model Context Protocol)は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。MCP は、AI アプリケーション用の USB-C ポートのようなものです。AI モデルをさまざまなデータソースやツールに接続するための標準化された方法を提供します。

MCP の図

主なメリット
  • LLM が直接接続できる、事前構築済みの連携機能が増え続けています
  • LLM プロバイダーやベンダーを柔軟に切り替えられます
  • インフラストラクチャ内でデータを保護するためのベストプラクティスを活用できます

アーキテクチャの概要

MCP はクライアント・サーバーアーキテクチャに従っており、ホストアプリケーションは複数のサーバーに接続できます。

  • MCP ホスト:MCP を通じてデータにアクセスする Claude Desktop、IDE、AI ツールなどのプログラム
  • MCP クライアント:サーバーとの 1 対 1 の接続を維持するプロトコルクライアント
  • MCP サーバー:標準化された Model Context Protocol を通じて特定の機能を公開する軽量プログラム
  • データソース: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 | sh

uv コマンドが認識されるように、作業後にターミナルを再起動してください。

プロジェクトのセットアップ
  1. プロジェクトを作成して初期化します。
# 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
  1. サーバーの実装ファイルを作成します。
touch main.py
サーバーの実行
  1. MCP サーバーを起動します。
uv run main.py
  1. サーバーが起動し、接続を受け付けられる状態になります

Claude Desktop への接続

  1. 公式ウェブサイトから Claude Desktop をインストールします
  2. 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"
            ]
        }
    }
}
  1. Claude Desktop を再起動します

トラブルシューティング

Claude Desktop がサーバーを認識しない場合:

  1. 設定ファイルのパスとアクセス権限を確認します
  2. 設定内の絶対パスが正しいことを確認します
  3. uv が正しくインストールされ、アクセス可能であることを確認します
  4. Claude Desktop のログにエラーメッセージがないか確認します

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細については、LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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