MCP Python 服务器—API 包装器
该项目用 Python 创建了一个 MCP 服务器,它公开了一个用于查询外部 API 的工具。与支持模型上下文协议 (MCP) 的 Claude Desktop 或 ChatGPT Desktop 兼容。
✨ 特点
- 通过 MCP 公开工具
- 对外部 API 的 HTTP 查询
- 通过 claude.json 直接与 Claude/Desktop 集成
🚀 要求
- Python 3.9+
- mcp[cli](可通过 pip 或 uv 安装)
- Claude 或 ChatGPT 桌面版(支持 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
带紫外线(推荐)
uv init mcp-api-server
cd mcp-api-server
uv add "mcp[cli]"
MCP 的安装
使用 .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
👷 快速入门(Quickstart)
创建服务器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
在开发模式下本地运行
以生产模式运行
或者使用 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”参数的consult_api工具
并且该模型将使用您的 MCP 服务器进行实时 HTTP 调用。
🎁 奖励:工具扩展
@mcp.tool()
async def traducir(texto: str, lang: str) -> str:
return f"Traducido: {texto} → {lang}"
🔍 资源
✅ 用爱和 httpx 🚀 制作