cdryampi

MCP Python Server — API Wrapper

Community cdryampi
Updated

MCP de mi perfil

MCP 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

✅ Hecho con amor y httpx 🚀

MCP Server · Populars

MCP Server · New

    feder-cr

    invisible_playwright_mcp

    Anti-detect agentic stealth browser: undetected browsing, browser automation, Python AI web browsing agent, computer use, scraping, lead generation. No captchas.

    Community feder-cr
    odds-api

    odds-api

    OpenAPI sports betting odds API for coding agents with REST examples, SDKs, MCP, mock mode, arbitrage, positive EV, and bookmaker comparison.

    Community odds-api
    SylphxAI

    Citra

    Citra — PDF answers with page-level proof. Local-first structured text, tables, OCR, visual evidence, and citations via MCP, CLI, and SDK.

    Community SylphxAI
    fastcrw

    fastCRW

    Fast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler & search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.

    Community fastcrw
    Hyperiux-Immersion-Labs

    hyperiux-mcp-server

    Animation effects and interactive UI components for Next.js - CLI-installable, 50+ free MIT effects and 100+ Pro