Model Context Protocol (MCP) Server
モデルコンテキストプロトコル(MCP)のPython実装
このプロジェクトは、Anthropic MCP仕様に準拠した、Pythonで動作するモデルコンテキストプロトコル(MCP)サーバーとクライアントを実装します。MCPプロトコルの主要なパターンを、シンプルでインタラクティブな例を通して示します。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、JSON-RPC 2.0を基盤とするオープンスタンダードで、AIモデルを外部データソースやツールに接続するためのものです。MCPは、AIアプリケーションが1つ以上のMCPサーバーと通信するクライアントサーバーアーキテクチャを定義します。各MCPサーバーは、以下のような機能を公開します。
ツール: アクションを実行する実行可能な関数
リソース: 情報を提供するデータソース
プロンプト: 定義済みのテンプレートまたはワークフロー
MCP は、これらの機能の検出および呼び出し方法を標準化し、モデルが外部システムと構造化された方法で対話できるようにする「AI 向け USB-C」として機能します。
Related MCP server: simple_mcp
プロジェクト構造
server/: MCPサーバーの実装server.py: MCP リクエストを処理し、サンプルツール/リソースを提供する WebSocket サーバー
client/: MCPクライアント実装client.py: サーバーに接続し、すべての MCP 機能を実行するデモ クライアント
デモされた機能
この実装は、コア MCP プロトコル フローを紹介します。
機能ネゴシエーション:
initialize介したクライアント・サーバー間のハンドシェイク能力発見:利用可能なツールとリソースの一覧
ツールの呼び出し: パラメータを指定して
add_numbersツールを呼び出すリソースアクセス: リソースからテキストコンテンツを読み取る
設定
仮想環境を作成します。
python3 -m venv .venv source .venv/bin/activate依存関係をインストールします:
pip install -r requirements.txt
使用法
MCP サーバーを起動します (1 つのターミナルで):
python server/server.pyMCP クライアントを実行します (別のターミナルで)。
python client/client.py
クライアントはサーバーに接続し、MCP ハンドシェイクを実行し、機能を検出し、フォーマットされた出力でツールの呼び出しとリソースへのアクセスを実演します。
仕組み
MCPサーバー
サーバー:
WebSocket接続を受け入れる
MCP仕様に従ってJSON-RPCリクエストに応答します
サンプルツール(
add_numbers)を提供しますサンプルリソース(
example.txt)を提供しますMCPハンドシェイクと機能検出をサポート
MCPクライアント
クライアント:
WebSocket経由でサーバーに接続する
MCPハンドシェイクを実行する
利用可能なツールとリソースを発見する
ツールの呼び出しとリソースの読み取りを実演します
結果をフォーマットされた形式で表示します
プロトコルの詳細
MCP は次の主要なメソッドを実装します。
方法 | 説明 |
| 能力を確立するためのハンドシェイク |
| 利用可能なツールの一覧 |
| 引数を指定してツールを呼び出す |
| 利用可能なリソースを一覧表示する |
| リソースコンテンツを読む |
| 利用可能なプロンプトを一覧表示する |
プロジェクトの拡張
この実装は次のように拡張できます。
さまざまな機能を備えたツールを追加する
読み取りごとに変化する動的リソースの追加
ガイド付きインタラクションのためのプロンプトテンプレートの実装
よりインタラクティブなクライアントアプリケーションの作成
参考文献
This server cannot be deployed
Maintenance
Related MCP Connectors
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server implementation that standardizes how AI applications access tools and context, providing a central hub that manages tool discovery, execution, and context management with a simplified configuration system.13-
- FlicenseNot gradedqualityDmaintenanceAn educational MCP server that teaches implementing the Model Context Protocol from scratch, enabling AI models to discover and invoke tools via JSON-RPC over stdio.-
- FlicenseNot gradedqualityFmaintenanceA basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.2-
- FlicenseNot gradedqualityDmaintenanceA demo MCP server that connects an AI to external systems by exposing Python functions as tools and data as resources, using the stdio transport.-