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
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フレームワーク間でのデータの変換や処理を行うツール
自動化されたデータ解析やレポート生成システム