Construyendo tu primer servidor MCP: Una guía práctica
Parte 2 de 3 de la serie MCP Server Series. En la Parte 1 exploramos qué son los servidores MCP y por qué importan. En esta segunda parte construiremos un servidor MCP funcional que conecte una IA con datos reales y herramientas. Al terminar tendrás un servidor MCP operativo. Se describen opciones en Python y TypeScript para que elijas según tu stack.
Quién debería leer esto y requisitos previos: desarrolladores con conocimientos básicos de Python o TypeScript y Node.js, familiaridad con patrones async await, comprensión de JSON y APIs y entre 30 y 45 minutos para seguir el tutorial. Objetivos: saber elegir entre Python y TypeScript para MCP, construir un servidor MCP completo, conectar el servidor a Claude y probar su funcionamiento.
Python versus TypeScript: cuál elegir. Python es la opción nativa para IA, ideal cuando el flujo es intensivo en datos, integración con librerías de ML como TensorFlow o PyTorch, y prototipado rápido. Es excelente para análisis, inferencia y transformaciones de datos. TypeScript y Node.js destacan en rendimiento de entrada/salida y concurrencia, son mejores para aplicaciones en tiempo real, orquestación de múltiples APIs y extensiones de IDE. Realidad práctica: ambas funcionan muy bien; en este artículo me centro en Python por ser más accesible, y doy equivalentes conceptuales para TypeScript.
Construyendo un servidor MCP de datos de clientes en Python. Arquitectura general: definimos herramientas que describe el servidor, implementamos handlers que ejecutan las acciones y ejecutamos el servidor usando un transporte stdio para comunicarse con clientes IA. En un proyecto real sustituye la base de datos en memoria por una base de datos como PostgreSQL o por llamadas a APIs externas.
Paso 1 Instalación de dependencias. Crear carpeta del proyecto e instalar SDK MCP con pip. Opcionalmente crear y activar un entorno virtual. Recomendación general: mantener dependencias en requirements y usar entornos virtuales para despliegues.
Paso 2 Definir las herramientas. Piensa en cada herramienta como una API que la IA puede descubrir y llamar. Ejemplos de herramientas útiles: get_customer para recuperar información de un cliente por su id, list_premium_customers para listar clientes premium y search_customers para buscar por nombre. Cada herramienta debe incluir descripción clara y un esquema de entrada que valide parámetros e indique cuándo usarla.
Paso 3 Implementar ejecución de herramientas. El handler que atiende llamadas debe validar argumentos, recuperar datos de la fuente correspondiente y devolver contenido tipado para que la IA lo consuma. Añade manejo de errores descriptivo y registros para facilitar el diagnóstico.
Paso 4 Probar el servidor en local. Ejecuta el servidor en modo stdio o con la herramienta de tu SDK para asegurarte de que inicia correctamente y responde sin errores. Realiza pruebas manuales de los flujos más comunes y usa unit tests para cada herramienta.
Conectando el servidor MCP a Claude. Método 1 Claude Desktop. Localiza el archivo de configuración de Claude Desktop en macOS en la ruta ~/Library/Application Support/Claude/claude_desktop_config.json y en Windows en %APPDATA%/Claude/claude_desktop_config.json. Añade una entrada mcpServers con el comando y la ruta absoluta a tu script Python y reinicia Claude Desktop completamente. Luego prueba prompts sencillos como Who are our premium customers o Look up customer 1 para ver cómo Claude selecciona y ejecuta las herramientas.
Método 2 Conexión programática. Si construyes una app personalizada, inicia el proceso del servidor MCP desde tu aplicación, negocia la sesión MCP, descubre herramientas con list_tools e implementa un bucle que interprete respuestas de Claude que solicitan uso de herramientas. Ejecuta las llamadas a tu servidor MCP y devuelve los resultados como tool_result para que Claude pueda continuar la conversación con los datos reales.
Versión TypeScript. Para desarrolladores Node.js describe un servidor que expone handlers para tools/list y tools/call, registra las herramientas con sus esquemas y conecta el transporte stdio. TypeScript es especialmente indicado cuando necesitas manejar muchas solicitudes concurrentes, streaming en tiempo real o integrar multitud de paquetes del ecosistema NPM.
Expandir el servidor con funcionalidad real. Integración con bases de datos: usa clientes asíncronos como asyncpg para Postgres o el cliente oficial de MongoDB para consultas escalables. Llamadas a APIs externas: emplea clientes HTTP asíncronos como httpx en Python o axios/fetch en Node.js para crear tickets, consultar CRMs o sincronizar datos. Lectura de ficheros y logs: usa librerías asíncronas para I O eficiente y evita bloquear el event loop.
Buenas prácticas de pruebas. 1 Unit tests para cada herramienta usando pytest o el framework que prefieras. 2 Prueba con Claude Desktop antes de integrar en código complejo para validar descripciones y esquemas. 3 Añade logging estructurado e indicadores de telemetría para poder monitorizar llamadas, latencias y errores.
Problemas comunes y soluciones. Servidor no responde: revisa rutas absolutas y permisos, y verifica la ruta del intérprete Python en la configuración. Herramienta no se llama: mejora la descripción y el esquema de entrada para que la IA entienda cuándo usarla. Argumentos incorrectos: enriquece input schema con descripciones y tipos más precisos. Crash con ciertas entradas: añade validación y manejo de excepciones robusto.
Consideraciones de producción. Antes de desplegar aborda seguridad, autenticación y autorización de llamadas, rate limiting, manejo de errores y observabilidad. Optimiza rendimiento con pooling de conexiones a bases de datos, caché y limitación de concurrencia si tu servicio atiende muchas solicitudes simultáneas.
Servicios y ventajas de Q2BSTUDIO. En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones de software a medida y aplicaciones a medida para empresas que necesitan integrar agentes IA, pipelines de datos y cuadros de mando con Power BI. Si buscas apoyo para desarrollar un servidor MCP productivo, migrar integraciones a la nube o asegurar tus APIs, nuestros expertos pueden ayudar. Conecta tus proyectos con nuestras capacidades en servicios cloud aws y azure y con prácticas de ciberseguridad y pentesting para garantizar despliegues seguros. Conoce cómo diseñamos soluciones de software a medida y aplicaciones a medida y cómo aplicamos inteligencia artificial práctica para empresas.
Palabras clave integradas para SEO: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Utiliza estas capacidades para posicionar tu producto en buscadores y para articular casos de uso empresariales reales como automatización de atención al cliente, integración CRM y reporting avanzado con Power BI.
Próximos pasos y recursos. En la Parte 3 cubriremos seguridad en producción, autenticación y autorización, limitación de tasa, optimización de rendimiento, despliegue y monitorización. Si quieres ejemplos prácticos y asistencia para producción, en Q2BSTUDIO podemos acompañarte desde la arquitectura hasta la puesta en marcha. Comparte tus dudas y proyectos y podremos ayudarte a convertir un prototipo MCP en una solución fiable y escalable.
Si necesitas asesoría para integrar agentes IA, implementar pipelines de datos, proteger tus APIs con prácticas de ciberseguridad o migrar a la nube, contacta con nuestro equipo de Q2BSTUDIO para una propuesta personalizada.
Comentarios