Construyendo un servidor MCP en Python desde cero

El Model Context Protocol (MCP) es ahora un estándar de la industria. Ha alcanzado los 97 millones de descargas mensuales de su SDK. Todas las principales herramientas de IA lo utilizan. La mayoría de las guías solo te enseñan cómo instalar servidores existentes. Esta guía te muestra cómo construir el tuyo propio utilizando Python y la GitHub API.

¿Qué es MCP? Es un protocolo que permite a los clientes de IA llamar a servicios externos. Tu servidor gestiona las solicitudes de herramientas como Claude o Cursor.

Las tres partes fundamentales de MCP:

  • Tools: Funciones que la IA llama para realizar acciones o recibir datos.
  • Resources: Endpoints de datos de solo lectura, como archivos o registros de bases de datos.
  • Prompts: Plantillas de instrucciones reutilizables para flujos de trabajo consistentes.

Configura tu proyecto Crea un directorio e instala las librerías necesarias usando uv:

mkdir github-mcp-server cd github-mcp-server uv init . uv add "mcp[cli]" httpx

Construyendo el servidor Usa FastMCP para encargarte del trabajo pesado. Un buen servidor MCP utiliza tres archivos específicos: server.py, pyproject.toml y un archivo .env opcional para tu token de GitHub.

Consejos profesionales para el desarrollo:

  • Usa modelos de Pydantic para los retornos de las herramientas. Esto proporciona a la IA datos estructurados en lugar de cadenas de texto desordenadas.
  • Escribe docstrings claros. La IA los lee para decidir cuándo utilizar tu herramienta.
  • Limita los valores de entrada numéricos. Los modelos de IA suelen enviar números inesperados como 0 o 100.
  • Gestiona las excepciones. Un error en tu servidor puede interrumpir toda la conexión.

Pruebas y despliegue No esperes para probar en Claude. Usa primero el MCP Inspector. Ejecuta: uv run mcp dev server.py

Esto abre una interfaz local en http://localhost:5173. Puedes probar herramientas, recursos y prompts en un solo lugar.

Conexión con Claude Desktop: Actualiza tu archivo de configuración para incluir tu servidor. Usa la ruta completa de tu archivo server.py. Utiliza siempre uv run en lugar del comando python simple para evitar errores de entorno.

Conexión con Claude Code: Usa el comando CLI: claude mcp add github-tools -- uv run python /path/to/server.py

Construir servidores MCP personalizados te permite integrar datos en tiempo real en tus flujos de trabajo de IA.

Fuente: https://dev.to/moksh/building-a-python-mcp-server-from-scratch-a-practical-github-api-guide-397k

Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi