python-mcp-server-client

MCP Server & Clientは、AIモデルの標準化されたインターフェースを提供するプロジェクトです。これにより、異なる大モデル間のFunction Call形式の不一致や、APIツールの管理の煩雑さを解消します。StdioとSSEの2つの伝送プロトコルをサポートし、ローカルおよびクラウド環境での使用が可能です。

GitHubスター

135

ユーザー評価

未評価

お気に入り

0

閲覧数

48

フォーク

29

イシュー

9

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Python 3.7以上
UVの最新バージョン

インストール方法

インストール方法

前提条件

Python: 3.7以上
UV: 最新版

インストール手順

1. UVパッケージのインストール

MacOS/Linux:
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. プロジェクトの初期化

bash

プロジェクトディレクトリを作成

uv init mcp-server cd mcp-server

仮想環境を作成してアクティブ化

uv venv source .venv/bin/activate # Windows: .venv\Scripts\activate

依存関係をインストール

uv add "mcp[cli]" httpx

サーバー実装ファイルを作成

touch main.py

トラブルシューティング

問題: サーバーが起動しない 解決策: Pythonのバージョンを確認し、依存関係を再インストールしてください。

設定方法

設定方法

基本設定

サーバー設定

main.pyファイルを編集してMCPサーバーを実装します。以下は基本的な設定例です。
python
import json
import os
import httpx
from mcp import tool

async def search_web(query: str) -> dict | None:
    payload = json.dumps({"q": query, "num": 3})
    headers = {
        "X-API-KEY": os.getenv("SERPER_API_KEY"),
        "Content-Type": "application/json",
    }
    async with httpx.AsyncClient() as client:
        response = await client.post(SERPER_URL, headers=headers, data=payload, timeout=30.0)
        return response.json()

環境変数

必要に応じて以下の環境変数を設定:
bash
export SERPER_API_KEY="your-api-key"

使用例

使用例

基本的な使用方法

以下はMCPサーバーの基本的な使用方法です:

プログラムでの使用

python
import requests
import json

def call_mcp_tool(tool_name, params):
    response = requests.post(
        'http://localhost:3000/mcp/call',
        json={
            'tool': tool_name,
            'parameters': params
        }
    )
    return response.json()

使用例

result = call_mcp_tool('analyze', { 'input': 'sample data', 'options': {'format': 'json'} })

使用ケース

AIモデルに対する統一されたAPI呼び出しを実現するプロジェクト
異なるデータソースからの情報を統合するアプリケーション
AIフレームワーク間でのデータの変換や処理を行うツール
自動化されたデータ解析やレポート生成システム

追加リソース