Cómo construí un servidor MCP en 50 líneas de Python (Generado automáticamente desde OpenAPI)
El Model Context Protocol MCP está transformando la manera en que los asistentes de inteligencia artificial interactúan con servicios externos. En este artículo explico de forma práctica cómo montamos en Q2BSTUDIO un servidor MCP que convierte automáticamente un OpenAPI en más de una docena de herramientas de automatización para LinkedIn en muy pocas líneas de código.
Resumen de lo que construimos: un servidor MCP que genera herramientas desde cualquier especificación OpenAPI, gestiona autenticación por petición con claves API, es compatible con clientes MCP como Claude Desktop y Cursor, y se despliega como un servicio web estándar con health checks para producción.
Tecnologías clave utilizadas: FastMCP para exponer el OpenAPI como herramientas, FastAPI para middleware y endpoints de salud, httpx como cliente HTTP asíncrono con event hooks y ContextVar para mantener el estado por petición de forma segura en entornos asíncronos.
Arquitectura esencial: el asistente AI se comunica con el servidor MCP que, a su vez, reenvía las llamadas al API externo. El servidor MCP lee la especificación OpenAPI en tiempo de arranque y genera automáticamente cada endpoint como una herramienta callable, con validación de parámetros y descripciones extraídas del propio OpenAPI.
Ideas principales de la implementación: usar ContextVar para almacenar la clave API por petición y un event hook de httpx que inyecta dinámicamente el encabezado Authorization en cada solicitud saliente. De este modo múltiples peticiones concurrentes con distintas claves no se contaminan entre sí y el código de las herramientas permanece limpio y sin cambios.
Flujo práctico: al arrancar se descarga la especificación OpenAPI. FastMCP convierte esa especificación en herramientas MCP reutilizando un cliente httpx configurado con base URL y un timeout amplio para operaciones largas. FastAPI envuelve la app MCP para añadir endpoint de salud y middleware que extrae la apiKey ya sea desde el parámetro de consulta apiKey o desde el encabezado Authorization y la deposita en ContextVar para que el event hook la use en las llamadas al API remoto.
Ventajas de este patrón: cero duplicación entre API REST y herramientas AI, integración instantánea de cualquier API con OpenAPI, arquitectura preparada para producción con buen manejo asíncrono, autenticación por petición y timeouts configurables. Además es compatible con cualquier cliente MCP y facilita casos de uso como agentes IA, automatización de procesos y asistentes conversacionales que ejecutan acciones reales en plataformas como LinkedIn.
Posibilidades de ampliación: multi tenancy para enrutar cada clave a su propio tenant, limitación de uso por clave, caching en el nivel MCP, registros y auditoría de uso, y orquestación para escalado en servicios cloud aws y azure.
En Q2BSTUDIO aplicamos este tipo de soluciones a proyectos de aplicaciones a medida y software a medida. Si buscas integrar inteligencia artificial en tus procesos o crear agentes IA que actúen sobre APIs reales podemos ayudarte. Conoce nuestros servicios de inteligencia artificial en Q2BSTUDIO Inteligencia Artificial y descubre cómo desarrollamos aplicaciones a medida en Desarrollo de aplicaciones y software a medida.
Palabras clave relacionadas: 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. También ofrecemos servicios de ciberseguridad y pentesting para proteger integraciones entre asistentes AI y APIs, además de soluciones de inteligencia de negocio y Power BI para explotar los datos generados por estos agentes.
Conclusión: convertir una especificación OpenAPI en herramientas MCP es una manera rápida y mantenible de dotar de capacidades ejecutoras a asistentes de IA. En Q2BSTUDIO combinamos experiencia en desarrollo de software, agentes IA, ciberseguridad y servicios cloud para llevar tus integraciones a producción de forma segura y escalable. Contáctanos para diseñar tu solución personalizada.