Crear un servidor MCP permite conectar un modelo de lenguaje grande LLM o cualquier sistema de inteligencia artificial a datos en tiempo real, datos personales o fuentes externas, ampliando enormemente las capacidades del modelo más allá de su conocimiento estático. En esta guía explico cómo construir desde cero un servidor MCP y herramientas MCP, usando un ejemplo didáctico que resuelve un fallo clásico de los LLM: contar la cantidad de letras r en variantes de la palabra strawberry como strawberrrry o strawberrrrrrry.

Requisitos iniciales y estructura de proyecto: necesitas Node instalado y un proyecto básico creado con el comando npm init -y. Crea un archivo index.js y tendrás al menos los ficheros package.json y package-lock.json. Cambia en package.json la propiedad type para que npm trate el proyecto como módulo estableciendo type con el valor module. Un árbol mínimo sería index.js, package.json y package-lock.json.

Instalaciones necesarias: el servidor MCP utiliza el SDK oficial y para validar parámetros usaremos zod. Instala las dependencias con npm install @modelcontextprotocol/sdk@1.16.0 zod@3.25.76. No es necesario usar TypeScript para seguir esta guía, aunque es compatible si prefieres ese flujo.

Crear el servidor MCP: en código se instancia un objeto McpServer indicando nombre y versión del servicio. La idea central es exponer herramientas MCP que el LLM pueda invocar con parámetros tipados. Cada herramienta declara el parámetro que espera, su descripción y un callback que procesa ese parámetro y devuelve contenido estructurado que el LLM mostrará al usuario. En nuestro ejemplo la herramienta recibe una cadena con la variante de la palabra strawberry, la procesa contando manualmente las r y devuelve un mensaje con el conteo. Este enfoque permite que el LLM delegue tareas concretas y deterministas, como consultar una API, acceder al sistema de ficheros, ejecutar lógica empresarial o, como en este ejemplo, analizar texto de forma exacta.

Validación de parámetros: para asegurar que la entrada es la esperada se define el esquema del parámetro con zod, por ejemplo un string con una descripción que sirve al LLM como pista de contexto para extraer correctamente el valor del usuario. El motor del LLM usa esa descripción para identificar en la entrada cuál es el dato que debe enviar al servidor MCP, lo que resulta en una interfaz flexible entre lenguaje natural y parámetros estructurados.

Transporte de datos: en el ejemplo usamos STDIO como transporte por su simplicidad, aunque el protocolo soporta otros como SSE y HTTP Stream. Para pruebas locales se crea un transporte de tipo StdioServerTransport y se conecta con el servidor mediante server.connect(transport). Esto permite leer y escribir por la entrada y salida estándar, ideal para debugging o integraciones sencillas.

Integración con aplicaciones externas: un servidor MCP puede conectarse a cualquier aplicación que soporte el protocolo. Por ejemplo, para integrarlo con Claude Desktop hay que configurar el archivo claude_desktop_config.json indicando el comando que inicia el servidor MCP. En la práctica se suele lanzar el servidor con npx indicando node seguido de la ruta absoluta al fichero js, o con tsx si se usa TypeScript. Esto facilita que herramientas de terceros descubran y utilicen tus mcp tools.

Depuración e inspección: la herramienta inspector del proyecto Model Context Protocol permite listar herramientas, invocarlas manualmente y simular peticiones, lo que es útil para comprobar que la lógica del servidor funciona sin necesidad de un LLM real. Se ejecuta con npx -y @modelcontextprotocol/inspector seguido del comando que arranca tu servidor MCP. Por defecto el inspector expone el servicio en el puerto 6274 aunque es configurable. Si tienes problemas al pasar la ruta como argumento puedes introducir los detalles manualmente en la interfaz gráfica del inspector y conectar el transporte correspondiente.

Ejemplo de caso de uso real: imagina que tu LLM necesita responder consultas con datos en tiempo real de una base de datos, combinarlo con reglas de negocio y devolver una respuesta estructurada. Con un servidor MCP puedes implementar una herramienta que consulte una API, procese la información y devuelva resultados exactos y auditables. Esto elimina las alucinaciones en respuestas que dependen de datos externos o de cálculos precisos, como el conteo de caracteres del ejemplo.

Buenas prácticas: documenta bien las descripciones de los parámetros para facilitar la extracción por parte del LLM, valida estrictamente la entrada con zod u otra librería, implementa manejo de errores claro y estructurado para que el LLM pueda presentar mensajes útiles al usuario y asegúrate de proteger accesos a datos sensibles mediante autenticación y autorización en el transporte o en las capas de aplicación que expongan las herramientas MCP.

Aplicaciones empresariales y servicios asociados: en Q2BSTUDIO combinamos estas arquitecturas con soluciones a medida para empresas. Podemos implementar servidores MCP integrados con tus sistemas core, automatizar procesos y desplegar soluciones de inteligencia artificial que consumen datos reales de negocio. Si buscas desarrollar una aplicación personalizada consulta nuestra oferta en desarrollo de aplicaciones y software a medida. Para proyectos que requieren integración con infraestructuras cloud ofrecemos despliegues y operaciones sobre servicios cloud aws y azure con prácticas seguras y escalables, más detalles en servicios cloud aws y azure.

Servicios complementarios: además de la implementación técnica podemos ayudar con seguridad y pruebas de penetración para proteger tus endpoints MCP, consultoría en inteligencia de negocio para explotar la información devuelta por las herramientas y soluciones de visualización como Power BI para presentar resultados operativos. Nuestras áreas de experiencia incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Conclusión: crear un servidor MCP es una forma potente de dotar a un LLM de capacidades deterministas y acceso a datos externos, reduciendo errores y ampliando casos de uso productivos. Si quieres diseñar e implementar una solución a medida que integre agentes IA con tus sistemas y proteja la información crítica, en Q2BSTUDIO te acompañamos desde el diseño hasta el despliegue y la operación. Contacta con nosotros para explorar cómo un servidor MCP puede mejorar tus procesos y habilitar experiencias conversacionales precisas y seguras.