promptgarten 🌱
🌍 FR
Guía●●●7 min · +65 XP

Escribe tu propio servidor MCP

Un servidor MCP pone herramientas, datos o plantillas a disposición de cualquier cliente compatible con MCP, desde Claude Code hasta Antigravity.

Tres bloques de construcción

Un servidor MCP ofrece a un cliente como Claude Code o Antigravity tres tipos de capacidades: Tools (funciones que el modelo llama activamente, por ejemplo una consulta a una base de datos), Resources (datos pasivos como archivos o respuestas de API que la aplicación proporciona) y Prompts (plantillas ya hechas que las personas usuarias eligen de forma deliberada).

Flujo mínimo

Un servidor se ejecuta como su propio proceso y se comunica con el cliente mediante un protocolo fijo (normalmente E/S estándar o HTTP). Al arrancar, el cliente consulta tools/list, recibe una lista de definiciones de herramientas con un esquema JSON para los parámetros, y llama a tools/call con los argumentos adecuados cuando lo necesita. Así que tu servidor solo tiene que: registrar herramientas con nombre, descripción y esquema de entrada, y devolver el resultado cuando se le llama.

SDKs oficiales

La organización modelcontextprotocol mantiene SDKs oficiales para Python, TypeScript, Java, Kotlin, C#, Go, PHP, Ruby, Rust y Swift, así que no tienes que implementar el protocolo a mano.

Conexión con un cliente

Un servidor terminado se registra en la configuración del cliente (por ejemplo, mcpServers en Claude Code o mcp_config.json en Antigravity), normalmente con el comando y los argumentos para iniciar el proceso del servidor. Después aparece en el gestor de MCP del cliente, y sus herramientas quedan disponibles para el modelo.

EJEMPLO

Núcleo mínimo de un servidor en Python (con el SDK oficial): un decorador `@mcp.tool()` registra una función `get_forecast(latitude, longitude)` como herramienta; el cliente la descubre automáticamente mediante `tools/list` y la llama cuando la necesita.

🛠️ EJERCICIO — PRUÉBALO TÚ

Con un SDK oficial de MCP (por ejemplo, Python), construye un servidor mínimo con exactamente una tool y conéctalo a un cliente compatible con MCP.

  1. Instala el SDK oficial para tu lenguaje y crea un servidor con una única tool (por ejemplo, una función que devuelva la fecha actual).
  2. Registra el servidor en la configuración MCP de tu cliente (por ejemplo, Claude Code o Antigravity) con el comando de inicio y los argumentos.
  3. Abre el gestor de MCP en el cliente (por ejemplo, /mcp), comprueba que el servidor está conectado y deja que el modelo llame a tu tool.

AUTOEVALUACIÓN

  • ¿Detectó el cliente tu tool automáticamente mediante tools/list, sin que la registraras manualmente en otro sitio?
  • ¿Qué ocurre si el proceso de tu servidor (con transporte STDIO) registra por error en stdout en lugar de stderr?
  • ¿Podrías conectar ahora ese mismo servidor a otro cliente MCP distinto, sin reescribirlo?

QUIZ RÁPIDO

¿Qué diferencia a una "tool" de MCP de una "resource" de MCP?

FUENTES

TEMAS RELACIONADOS

MCP (Model Context Protocol): cómo se conectan las herramientas de IA ●●○Tool use: cómo los LLM llaman a herramientas ●●○Claude Code: el agente de línea de comandos de Anthropic ●●○Plugins: extensiones para herramientas de programación con IA ●○○