Model Context Protocol (MCP) Server

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 プロトコル フローを紹介します。

  1. 機能ネゴシエーション: initialize介したクライアント・サーバー間のハンドシェイク
  2. 能力発見:利用可能なツールとリソースの一覧
  3. ツールの呼び出し: パラメータを指定してadd_numbersツールを呼び出す
  4. リソースアクセス: リソースからテキストコンテンツを読み取る

設定

  1. 仮想環境を作成します。
    python3 -m venv .venv source .venv/bin/activate
  2. 依存関係をインストールします:
    pip install -r requirements.txt

使用法

  1. MCP サーバーを起動します (1 つのターミナルで):
    python server/server.py
  2. MCP クライアントを実行します (別のターミナルで)。
    python client/client.py

クライアントはサーバーに接続し、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利用可能なプロンプトを一覧表示する

プロジェクトの拡張

この実装は次のように拡張できます。

  • さまざまな機能を備えたツールを追加する
  • 読み取りごとに変化する動的リソースの追加
  • ガイド付きインタラクションのためのプロンプトテンプレートの実装
  • よりインタラクティブなクライアントアプリケーションの作成

参考文献

-
security - not tested
F
license - not found
-
quality - not tested

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 経由のツール呼び出しとリソース アクセスがサポートされます。

  1. MCPとは何ですか?
    1. プロジェクト構造
      1. デモされた機能
        1. 設定
          1. 使用法
            1. 仕組み
              1. MCPサーバー
              2. MCPクライアント
            2. プロトコルの詳細
              1. プロジェクトの拡張
                1. 参考文献

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    Implements 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 -
                    90
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A 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 -
                    13
                    Python
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A 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

                  View all related MCP servers

                  ID: 35niv312p3