About MCP Python Server — API Wrapper
A Python MCP server pattern that exposes a tool for querying an external HTTP API, with an example tied to a CV backend. It is intended for use with MCP-compatible Claude or ChatGPT Desktop clients.
Key features
- 01Expose an API query as an MCP tool
- 02Make HTTP requests to an external API
- 03Optional API credentials and URL via .env
- 04Run with the MCP CLI
Use cases
- 01Call an external API from Claude Desktop
- 02Query a CV backend through an MCP tool
- 03Configure API access with environment variables
MCP support
The server exposes external API queries as MCP tools and can be configured for compatible Claude or ChatGPT Desktop clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Python Server — API Wrapper
Este proyecto crea un servidor MCP en Python que expone una herramienta para consultar una API externa. Compatible con Claude Desktop o ChatGPT Desktop que soporten el Model Context Protocol (MCP).
✨ Características
- Exposición de una herramienta (tool) vía MCP
- Consulta HTTP a una API externa
- Integración directa con Claude/Desktop vía claude.json
🚀 Requisitos
- Python 3.9+
- mcp[cli] (instalable vía pip o uv)
- Claude o ChatGPT Desktop (con soporte MCP)
📁 Estructura del proyecto
.
├── 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.
⚙️ Instalación
Con pip
pip install "mcp[cli]"
Con uv (recomendado)
uv init mcp-api-server
cd mcp-api-server
uv add "mcp[cli]"
Instación del MCP
mcp install mi_script.py
Inatalación con .env
mcp install mi_script.py -f .env
Instalación de dependencias
pip install -r requirements.txt
Variables de entorno
Crea un archivo .env en la raíz del proyecto para definir variables de entorno opcionales:
# .env
API_KEY=mi_api_key
API_URL=https://miapi.com/consulta
👷 Rápido Inicio (Quickstart)
Crear el servidor 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
Ejecutar localmente en modo dev
mcp dev server.py
Ejecutar en modo producción
mcp run server.py
O con uv:
uv run --with mcp[cli] mcp run server.py
🚀 Integración con Claude/Desktop
Ubica claude.json en la carpeta de configuración de Claude/Desktop:
- En Windows: %APPDATA%\Claude\claude.json
- En Linux/macOS: ~/.claude/claude.json
Ejemplo:
{
"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"
]
}
}
}
🤖 Uso dentro de Claude/Desktop
Puedes pedirle al modelo:
Usa la herramienta consultar_api con el parámetro "ping"
Y el modelo usará tu servidor MCP para hacer una llamada HTTP en tiempo real.
🎁 Bonus: extensión de herramientas
@mcp.tool()
async def traducir(texto: str, lang: str) -> str:
return f"Traducido: {texto} → {lang}"
🔍 Recursos
- Documentación oficial MCP: https://docs.mcp.run/
- Repositorio SDK Python: https://github.com/modelcontextprotocol/mcp
✅ Hecho con amor y httpx 🚀
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.