Integrando Herramientas MCP con AWS Bedrock en una API mínima de ASP.NET Core
En este artículo explicamos cómo construir una API mínima de ASP.NET Core que integra AWS Bedrock con capacidades de cliente MCP, permitiendo invocar de forma dinámica herramientas de IA a través de interfaces MCP estandarizadas. Esta arquitectura combina la abstracción IChatClient de Microsoft.Extensions.AI con herramientas externas gestionadas por MCP para crear soluciones modulares y escalables.
Cómo trabajar con modelos LLM en .NET: existen varias alternativas según el nivel de abstracción. Las opciones más habituales son un cliente de proveedor LLM directo vía API o SDK para control fino, Microsoft.Extensions.AI como abstracción de nivel intermedio, y Semantic Kernel para abstracción de alto nivel. En este artículo elegimos Microsoft.Extensions.AI por ofrecer un equilibrio entre simplicidad y flexibilidad sin acoplar la implementación a un proveedor concreto.
Dependencias y configuración inicial: instala las extensiones AI correspondientes y el adaptador para Bedrock. Registra servicios de infraestructura en el contenedor de dependencias: añade AddDefaultAWSOptions llamando a Configuration.GetAWSOptions, registra TryAddAWSService para IAmazonBedrockRuntime y crea una instancia singleton de IChatClient usando el runtime de Bedrock convertido a IChatClient, configurando el builder para UseFunctionInvocation si se van a invocar herramientas.
Integración del cliente MCP y carga dinámica de herramientas: el cliente MCP se puede crear sobre un transporte HTTP. Con un HttpClient se crea un HttpClientTransport apuntando al endpoint del servidor MCP y luego se construye el McpClient mediante CreateAsync. Desde ese cliente se solicita la lista de herramientas disponibles con ListToolsAsync y se pasa ese catálogo a las llamadas del chat para que el modelo pueda invocar esas herramientas de manera dinámica.
Ejemplo de flujo en un endpoint único: en una API mínima mapa un POST en la ruta /api/message que reciba el mensaje del usuario y el IChatClient inyectado. Al llamar a GetResponseAsync del chat incluye en las opciones el identificador del modelo Bedrock que quieras usar y el conjunto de herramientas proveniente de MCP. De esta forma cada petición se envía al LLM y el modelo puede coordinar invocaciones a herramientas externas cuando sea necesario.
Autenticación on behalf of user: para autenticar peticiones hacia el servidor MCP desde nombre del usuario que realiza la petición web, implementa un delegating handler que extraiga el encabezado Authorization del HttpContext y lo copie en el HttpRequestMessage saliente. Este patrón on behalf of permite delegar de forma segura la identidad y aprovechar tokens ya presentes en la petición original.
Limitaciones a tener en cuenta: únicamente se pueden usar los modelos de Bedrock soportados por Microsoft.Extensions.AI y no todos los modelos admiten invocación de herramientas. Además el SDK de MCP está aún en preview y su API puede cambiar. Planea pruebas y un margen para actualizar dependencias.
Beneficios y buenas prácticas: combinando IChatClient con herramientas MCP obtienes una arquitectura modular que mantiene tu código agnóstico al proveedor, permite cargar nuevas herramientas sin desplegar código y protege la delegación de identidad mediante tokens on behalf of. Este patrón facilita la adopción de nuevos modelos y capacidades de IA con cambios mínimos en tu base de código.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida, software a medida y soluciones de inteligencia artificial para empresas. Ofrecemos servicios integrales que van desde la consultoría hasta la implantación, incluyendo ciberseguridad, pentesting y servicios cloud. Si necesitas desarrollar soluciones personalizadas confía en nuestra experiencia en aplicaciones a medida y en la gestión y migración en la nube con servicios cloud aws y azure.
Palabras clave: 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 proyectos de inteligencia de negocio y Power BI, automatización de procesos y soluciones de agentes IA integradas con plataformas cloud para maximizar el valor de tus datos.
Conclusión: integrar AWS Bedrock y herramientas MCP en una API mínima de ASP.NET Core permite construir soluciones de IA dinámicas y extensibles manteniendo el código desacoplado de proveedores concretos. En Q2BSTUDIO te ayudamos a diseñar e implementar estas arquitecturas, asegurar la comunicación y adaptar la solución a las necesidades específicas de tu empresa.
Comentarios