Integrations
Provides a Python implementation of both MCP client and server components, allowing Python applications to expose and access MCP capabilities.
Employs WebSocket connections for real-time bidirectional communication between MCP clients and servers, supporting the complete MCP handshake and capability negotiation process.
モデルコンテキストプロトコル(MCP)のPython実装
このプロジェクトは、Anthropic MCP仕様に準拠した、Pythonで動作するモデルコンテキストプロトコル(MCP)サーバーとクライアントを実装します。MCPプロトコルの主要なパターンを、シンプルでインタラクティブな例を通して示します。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、JSON-RPC 2.0を基盤とするオープンスタンダードで、AIモデルを外部データソースやツールに接続するためのものです。MCPは、AIアプリケーションが1つ以上のMCPサーバーと通信するクライアントサーバーアーキテクチャを定義します。各MCPサーバーは、以下のような機能を公開します。
- ツール: アクションを実行する実行可能な関数
- リソース: 情報を提供するデータソース
- プロンプト: 定義済みのテンプレートまたはワークフロー
MCP は、これらの機能の検出および呼び出し方法を標準化し、モデルが外部システムと構造化された方法で対話できるようにする「AI 向け USB-C」として機能します。
プロジェクト構造
server/
: MCPサーバーの実装server.py
: MCP リクエストを処理し、サンプルツール/リソースを提供する WebSocket サーバー
client/
: MCPクライアント実装client.py
: サーバーに接続し、すべての MCP 機能を実行するデモ クライアント
デモされた機能
この実装は、コア MCP プロトコル フローを紹介します。
- 機能ネゴシエーション:
initialize
介したクライアント・サーバー間のハンドシェイク - 能力発見:利用可能なツールとリソースの一覧
- ツールの呼び出し: パラメータを指定して
add_numbers
ツールを呼び出す - リソースアクセス: リソースからテキストコンテンツを読み取る
設定
- 仮想環境を作成します。Copy
- 依存関係をインストールします:Copy
使用法
- MCP サーバーを起動します (1 つのターミナルで):Copy
- MCP クライアントを実行します (別のターミナルで)。Copy
クライアントはサーバーに接続し、MCP ハンドシェイクを実行し、機能を検出し、フォーマットされた出力でツールの呼び出しとリソースへのアクセスを実演します。
仕組み
MCPサーバー
サーバー:
- WebSocket接続を受け入れる
- MCP仕様に従ってJSON-RPCリクエストに応答します
- サンプルツール(
add_numbers
)を提供します - サンプルリソース(
example.txt
)を提供します - MCPハンドシェイクと機能検出をサポート
MCPクライアント
クライアント:
- WebSocket経由でサーバーに接続する
- MCPハンドシェイクを実行する
- 利用可能なツールとリソースを発見する
- ツールの呼び出しとリソースの読み取りを実演します
- 結果をフォーマットされた形式で表示します
プロトコルの詳細
MCP は次の主要なメソッドを実装します。
方法 | 説明 |
---|---|
initialize | 能力を確立するためのハンドシェイク |
tools/list | 利用可能なツールの一覧 |
tools/call | 引数を指定してツールを呼び出す |
resources/list | 利用可能なリソースを一覧表示する |
resources/read | リソースコンテンツを読む |
prompts/list | 利用可能なプロンプトを一覧表示する |
プロジェクトの拡張
この実装は次のように拡張できます。
- さまざまな機能を備えたツールを追加する
- 読み取りごとに変化する動的リソースの追加
- ガイド付きインタラクションのためのプロンプトテンプレートの実装
- よりインタラクティブなクライアントアプリケーションの作成
参考文献
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP サーバーの Python 実装。これにより、AI モデルは標準化されたプロトコルを介して外部ツールやデータ ソースに接続でき、JSON-RPC 経由のツール呼び出しとリソース アクセスがサポートされます。
Related MCP Servers
- -securityAlicense-qualityA simple MCP server implementation that provides AI models with basic Solana RPC methods and helpful development prompts.Last updated -21TypeScriptMIT License
- -securityFlicense-qualityImplements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.Last updated -90Python
- -securityAlicense-qualityA streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.Last updated -13PythonMIT License
- -securityFlicense-qualityA simple demonstration project for the Model Control Protocol (MCP) server that provides tools for AI assistants to fetch news articles, perform calculations, retrieve weather data, and generate personalized greetings.Last updated -Python