MCP Python Server — API-оболочка
В этом проекте создается MCP-сервер на Python, который предоставляет инструмент для запросов к внешнему API. Совместимо с Claude Desktop или ChatGPT Desktop, которые поддерживают протокол контекста модели (MCP).
✨ Особенности
Демонстрация инструмента через MCP
HTTP-запрос к внешнему API
Прямая интеграция с Claude/Desktop через claude.json
Related MCP server: MCP Python Toolbox
🚀 Требования
Питон 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 install "mcp[cli]"С УФ (рекомендуется)
uv init mcp-api-server
cd mcp-api-server
uv add "mcp[cli]"Установка МКП
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👷 Быстрый старт (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Запустить локально в режиме разработки
mcp dev server.pyЗапуск в производственном режиме
mcp run server.pyИли с помощью uv:
uv run --with mcp[cli] mcp run server.py🚀 Интеграция с Claude/Desktop
Найдите claude.json в папке конфигурации Claude/Desktop:
В 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
Вы можете задать вопрос модели:
Используйте инструмент consult_api с параметром «ping»
А модель будет использовать ваш 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 🚀
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.