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.