MCP Python Server — API Wrapper について
外部 HTTP API への問い合わせをツールとして公開する Python 製 MCP サーバーの例で、履歴書バックエンドとの連携例も含みます。MCP 対応の Claude または ChatGPT Desktop クライアントでの利用を想定しています。
主な機能
- 01API クエリを MCP ツールとして公開
- 02外部 API への HTTP リクエスト
- 03.env による認証情報と URL の任意設定
- 04MCP CLI での実行
活用シーン
- 01Claude Desktop から外部 API を呼び出す
- 02MCP ツール経由で履歴書バックエンドを照会
- 03環境変数で API アクセスを設定
MCP 対応
外部 API への問い合わせを MCP ツールとして公開し、対応する Claude または ChatGPT Desktop クライアント向けに設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Python Server — API Wrapper
このプロジェクトでは、外部 API をクエリするツールを公開する Python 製の MCP サーバーを作成します。Model Context Protocol(MCP)に対応した Claude Desktop または ChatGPT Desktop と互換性があります。
✨ 特徴
- MCP 経由でツールを公開
- 外部 API への HTTP リクエスト
- claude.json 経由で Claude/Desktop と直接連携
🚀 要件
- Python 3.9+
- mcp[cli](pip または uv 経由でインストール可能)
- Claude または ChatGPT Desktop(MCP 対応)
📁 プロジェクト構成
.
├── servidores/profile.py # Servidor MCP con herramientas para interactuar con mi backend del curriculum.
├── server.py # Servidor MCP con herramienta "consultar_api".
├── .env # Variables opcionales para auth/API.
├── claude.json # Config. MCP para integrarlo directamente.
└── README.md # Este documento.
⚙️ インストール
pip を使用する場合
pip install "mcp[cli]"
uv を使用する場合(推奨)
uv init mcp-api-server
cd mcp-api-server
uv add "mcp[cli]"
MCP のインストール
mcp install mi_script.py
.env を使用したインストール
mcp install mi_script.py -f .env
依存関係のインストール
pip install -r requirements.txt
環境変数
任意の環境変数を定義するには、プロジェクトのルートに .env ファイルを作成します。
# .env
API_KEY=mi_api_key
API_URL=https://miapi.com/consulta
👷 クイックスタート
サーバー server.py を作成する
from mcp.server.fastmcp import FastMCP
import httpx
mcp = FastMCP("API Wrapper")
@mcp.tool(description="Consulta una API externa")
async def consultar_api(param: str) -> str:
"""Consulta una API externa con un parámetro y devuelve la respuesta."""
async with httpx.AsyncClient() as client:
r = await client.get(f"https://miapi.com/consulta?param={param}")
return r.text
開発モードでローカル実行する
mcp dev server.py
本番モードで実行する
mcp run server.py
または uv を使用します。
uv run --with mcp[cli] mcp run server.py
🚀 Claude/Desktop との連携
Claude/Desktop の設定フォルダーにある claude.json を探します。
- Windows の場合:%APPDATA%\Claude\claude.json
- Linux/macOS の場合:~/.claude/claude.json
例:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/codigo/backend-curso-inkor/proyectos_memes"
]
},
"Demo": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\\codigo\\backend-curso-inkor\\MCP\\server.py"
]
}
}
}
🤖 Claude/Desktop 内での使用
モデルに次のように依頼できます。
パラメーター「ping」を指定して、consultar_api ツールを使用してください
モデルは MCP サーバーを使用して、リアルタイムで HTTP リクエストを実行します。
🎁 ボーナス:ツールの拡張
@mcp.tool()
async def traducir(texto: str, lang: str) -> str:
return f"Traducido: {texto} → {lang}"
🔍 リソース
- MCP 公式ドキュメント:https://docs.mcp.run/
- Python SDK リポジトリ:https://github.com/modelcontextprotocol/mcp
✅ httpx と愛を込めて作成 🚀
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。