{"id":820835,"date":"2026-01-27T16:33:26","date_gmt":"2026-01-27T15:33:26","guid":{"rendered":"https:\/\/www.devoteam.com\/?post_type=expert-view&#038;p=820835"},"modified":"2026-01-28T08:41:06","modified_gmt":"2026-01-28T07:41:06","slug":"guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/","title":{"rendered":"Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real"},"content":{"rendered":"\n<p class=\"wp-block-yoast-seo-estimated-reading-time yoast-reading-time__wrapper\"><span class=\"yoast-reading-time__icon\"><svg aria-hidden=\"true\" focusable=\"false\" data-icon=\"clock\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" style=\"display:inline-block;vertical-align:-0.1em\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"><\/path><\/svg><\/span><span class=\"yoast-reading-time__spacer\" style=\"display:inline-block;width:1em\"><\/span><span class=\"yoast-reading-time__descriptive-text\">Tiempo estimado de lectura: <\/span><span class=\"yoast-reading-time__reading-time\">22<\/span><span class=\"yoast-reading-time__time-unit\"> minutos<\/span><\/p>\n\n\n\n<style>\n  .dt-msft-strip{\n    font-family:\"Montserrat\", Arial, sans-serif;\n    max-width:1200px;\n    margin:22px auto;\n    padding:14px 18px;\n    border-radius:14px;\n    background:\n      radial-gradient(900px 120px at 10% 0%, rgba(248,72,94,.22), rgba(248,72,94,0) 60%),\n      linear-gradient(90deg, #ffffff, #ffffff);\n    border:1px solid #efeeee;\n    box-shadow: 0 10px 22px rgba(0,0,0,0.06);\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:16px;\n  }\n\n  .dt-msft-left{\n    display:flex;\n    align-items:center;\n    gap:12px;\n    min-width:0;\n  }\n\n  .dt-msft-dot{\n    width:10px; height:10px;\n    border-radius:999px;\n    background:#f8485e;\n    box-shadow:0 0 0 6px rgba(248,72,94,.12);\n    flex:0 0 auto;\n  }\n\n  .dt-msft-content{min-width:0;}\n\n  .dt-msft-kicker{\n    display:flex;\n    align-items:center;\n    gap:10px;\n    margin:0 0 4px;\n    flex-wrap:wrap;\n  }\n\n  .dt-msft-chip{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    padding:4px 10px;\n    border-radius:999px;\n    font-size:12px;\n    font-weight:700;\n    color:#f8485e;\n    background:rgba(248,72,94,.10);\n    border:1px solid rgba(248,72,94,.18);\n    white-space:nowrap;\n  }\n\n  .dt-msft-title{\n    margin:0;\n    font-size:15px;\n    font-weight:700;\n    color:#3c3c3a;\n    line-height:1.35;\n    letter-spacing:-0.01em;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .dt-msft-mini{\n    margin:6px 0 0;\n    display:flex;\n    gap:12px;\n    flex-wrap:wrap;\n    font-size:12.5px;\n    color:#3c3c3a;\n    opacity:.9;\n  }\n  .dt-msft-mini span{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    white-space:nowrap;\n  }\n  .dt-msft-mini i{\n    width:6px; height:6px; border-radius:999px;\n    background:#f8485e; opacity:.65;\n    display:inline-block;\n  }\n\n  .dt-msft-cta{\n    flex:0 0 auto;\n    text-decoration:none;\n    display:inline-flex;\n    align-items:center;\n    gap:10px;\n    padding:9px 14px;\n    border-radius:999px;\n    background:#f8485e;\n    color:#ffffff;\n    font-size:13.5px;\n    font-weight:700;\n    box-shadow: 0 10px 22px rgba(248,72,94,0.20);\n    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;\n    white-space:nowrap;\n  }\n  .dt-msft-cta:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 14px 26px rgba(248,72,94,0.24);\n    background:#e63f54;\n  }\n  .dt-msft-cta .arrow{\n    display:inline-block;\n    transition: transform .2s ease;\n  }\n  .dt-msft-cta:hover .arrow{\n    transform: translateX(2px);\n  }\n\n  @media (max-width: 860px){\n    .dt-msft-strip{flex-direction:column; align-items:flex-start;}\n    .dt-msft-title{white-space:normal;}\n    .dt-msft-cta{width:100%; justify-content:center;}\n  }\n<\/style>\n\n<div class=\"dt-msft-strip\">\n  <div class=\"dt-msft-left\">\n    <span class=\"dt-msft-dot\" aria-hidden=\"true\"><\/span>\n\n    <div class=\"dt-msft-content\">\n      <div class=\"dt-msft-kicker\">\n        <span class=\"dt-msft-chip\">Partner oficial MuleSoft<\/span>\n      <\/div>\n\n      <p class=\"dt-msft-title\">\n        Consultor\u00eda en integraci\u00f3n para conectar sistemas, datos y APIs con impacto real.\n      <\/p>\n\n      <div class=\"dt-msft-mini\" aria-hidden=\"true\">\n        <span><i><\/i>Arquitectura + delivery<\/span>\n        <span><i><\/i>Integraci\u00f3n de APIs<\/span>\n        <span><i><\/i>Time-to-value r\u00e1pido<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <a class=\"dt-msft-cta\"\n     href=\"https:\/\/devoteam.info\/es\/consultoria-partner-oficial-mulesoft\/\"\n     target=\"_blank\" rel=\"noopener\">\n     Ver la p\u00e1gina <span class=\"arrow\">\u2192<\/span>\n  <\/a>\n<\/div>\n\n\n\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents\"><h2>En este art\u00edculo vamos a ver:<\/h2><ul><li><a href=\"#h-que-es-mcp-model-context-protocol\" data-level=\"2\">\u00bfQu\u00e9 es MCP (Model Context Protocol)?<\/a><\/li><li><a href=\"#h-conector-de-mcp-en-mulesoft-y-sus-capacidades\" data-level=\"2\">Conector de MCP en MuleSoft y sus capacidades<\/a><\/li><li><a href=\"#h-caso-de-uso-mule-como-mcp-server-el-asistente-medico-inteligente-con-datos-y-acciones-en-tiempo-real\" data-level=\"2\">Caso de Uso Mule como MCP Server: \u201cEl Asistente M\u00e9dico Inteligente\u201d con datos y acciones en tiempo real<\/a><\/li><li><a href=\"#h-ejemplo-de-mule-como-mcp-client-hello-world-mcp-client\" data-level=\"2\">Ejemplo de Mule como MCP Client: Hello World MCP Client<\/a><\/li><li><a href=\"#h-conclusiones\" data-level=\"2\">Conclusiones<\/a><\/li><li><a href=\"#h-codigo-en-github\" data-level=\"2\">C\u00f3digo en GitHub<\/a><\/li><li><a href=\"#h-bibliografia\" data-level=\"2\">Bibliograf\u00eda<\/a><\/li><\/ul><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-1\" id=\"h-que-es-mcp-model-context-protocol\"><strong>\u00bfQu\u00e9 es MCP (Model Context Protocol)?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En el panorama actual de la Inteligencia Artificial, el acceso est\u00e1tico a datos ya no es suficiente. El verdadero valor reside en la capacidad de los agentes de IA para interactuar con el mundo real con informaci\u00f3n a d\u00eda, hora y minuto actual.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed es donde el <strong>Model Context Protocol (MCP)<\/strong> y MuleSoft se unen para transformar radicalmente la forma en que los agentes de IA consumen informaci\u00f3n y ejecutan procesos<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"456\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22.png\" alt=\"\" class=\"wp-image-825749\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22.png 810w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22-300x169.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22-768x432.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">MCP es un est\u00e1ndar open-source para conectar IA a sistemas externos. Introducido inicialmente por Anthropic y que recientemente ha pasado a formar parte de la <strong>Linux Foundation<\/strong> (abarca proyectos como Linux, Kubernetes, OpenTelemetry\u2026) Al igual que las APIs nos permiten interactuar en tiempo real con sistemas, aplicaciones, bases de datos\u2026 Los Agente\/Agentes de IA tambi\u00e9n necesitan estas capacidades para ser realmente \u00fatiles y aportar valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Me gusta definir una API como una \u201cpeque\u00f1a puertecita\u201d en nuestras aplicaciones que permiten a otras aplicaciones\/usuarios interactuar con las mismas. Yo veo a MCP de forma similar, pero en este caso los usuarios son Agentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta la aparici\u00f3n de este protocolo, cada agente ten\u00eda que integrarse de una forma diferente a cada API, generando una fragmentaci\u00f3n que dificultaba el escalado y&nbsp; mantenimiento de soluciones de IA:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fragmentaci\u00f3n t\u00e9cnica:<\/strong> Cada agente requer\u00eda una integraci\u00f3n personalizada para cada API<\/li>\n\n\n\n<li><strong>Problemas en el mantenimiento:<\/strong> Cualquier cambio en la estructura de una API obligaba a actualizar manualmente la l\u00f3gica de cada agente que la utilizaba.<\/li>\n\n\n\n<li><strong>Acoplamiento de modelos:<\/strong> Las herramientas estaban \u00abatrapadas\u00bb en implementaciones propietarias, lo que dificultaba cambiar de un Agente a otro (por ejemplo, pasar de GPT a Claude) sin redise\u00f1ar las conexiones<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La arquitectura de MCP se basa en tres componentes clave:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"417\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-72-1024x417.png\" alt=\"\" class=\"wp-image-825777\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-72-1024x417.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-72-300x122.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-72-768x313.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-72.png 1130w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Host:<\/strong> Es la aplicaci\u00f3n (como una interfaz de chat en una aplicaci\u00f3n o un IDE como VsCode en modo Agente) donde reside el modelo de IA.<\/li>\n\n\n\n<li><strong>MCP Client:<\/strong> El componente que vive dentro del Host e inicia la conexi\u00f3n con el MCP Server<\/li>\n\n\n\n<li><strong>MCP Server:<\/strong> Es el servicio que expone <strong>herramientas, recursos o prompts<\/strong>. En nuestro caso, MuleSoft act\u00faa como este servidor de alta capacidad.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>Herramientas (Tools)<\/em><\/strong><strong>:<\/strong> Son funciones ejecutables que el modelo puede invocar para realizar acciones en el mundo real (como \u00abreservar una cita\u00bb o \u00abenviar un WhatsApp\u00bb).\n<ul class=\"wp-block-list\">\n<li>A nivel integraci\u00f3n, esta es la pieza m\u00e1s interesante y con mayor valor<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><em>Recursos (Resources)<\/em><\/strong><strong>:<\/strong> Son fuentes de datos legibles que proporcionan contexto adicional y veraz al modelo (archivos README.md para indicar instrucciones espec\u00edficas al Agente o archivos de log).<\/li>\n\n\n\n<li><strong><em>Prompts:<\/em><\/strong> Son plantillas de promts predefinidas que ayudan a guiar el comportamiento del Agente o a estructurar su respuesta de manera estandarizada.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Aqu\u00ed es donde entra MCP actuando como el <strong>\u00abUSB-C\u00bb de la IA<\/strong>: permitiendo conectar con fuentes de datos (bases de datos, archivos, sistemas locales) y aplicaciones externas de forma segura y estandarizada. Esto permite que la IA no solo genere texto, sino que consulte informaci\u00f3n veraz y realice acciones concretas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-2\" id=\"h-conector-de-mcp-en-mulesoft-y-sus-capacidades\"><strong>Conector de MCP en MuleSoft y sus capacidades<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16-1024x577.png\" alt=\"\" class=\"wp-image-826591\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16-1024x577.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16-300x169.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16-768x432.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16-1536x865.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image16.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">MuleSoft ha dado un paso de gigante al lanzar su <strong>MCP Connector<\/strong>, actuando como el puente definitivo entre la robustez de la Anypoint Platform y la agilidad de los agentes de IA. Sus capacidades principales incluyen<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exposici\u00f3n de APIs como \u00abTools\u00bb:<\/strong> Permite transformar APIs o assets ya existentes de integraci\u00f3n existente (API que se integra con SAP,&nbsp; Salesforce, sistemas legacy o bases de datos) en \u00abtools\u00bb que el agente de IA puede invocar directamente.<\/li>\n\n\n\n<li><strong>Ejecuci\u00f3n en Tiempo Real:<\/strong> El agente no trabaja con una \u00abfoto\u00bb de los datos que se entrenaron en su d\u00eda al modelo, sino que consulta y modifica informaci\u00f3n en vivo a trav\u00e9s de los flujos de MuleSoft.<\/li>\n\n\n\n<li><strong>Cero Programaci\u00f3n en el Modelo:<\/strong> El conector proporciona al Agente la definici\u00f3n t\u00e9cnica (metadata) necesaria para saber qu\u00e9 hace la herramienta y qu\u00e9 par\u00e1metros necesita, eliminando la necesidad de codificar l\u00f3gica de integraci\u00f3n dentro del prompt o del modelo.<\/li>\n\n\n\n<li><strong>Seguridad Enterprise:<\/strong> Hereda todas las capas de seguridad de MuleSoft, permitiendo controlar qui\u00e9n (qu\u00e9 agente) accede a qu\u00e9 informaci\u00f3n y bajo qu\u00e9 pol\u00edticas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El conector a d\u00eda de hoy nos oferece las siguientes operaciones (despu\u00e9s veremos con m\u00e1s detalle algunas de ellas):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"425\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/MulePallete-1024x425.png\" alt=\"\" class=\"wp-image-826618\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/MulePallete-1024x425.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/MulePallete-300x125.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/MulePallete-768x319.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/MulePallete.png 1392w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mulesoft-como-mcp-server\"><strong>MuleSoft como MCP Server<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este modo, Mule \u00ababre la puerta\u00bb a los agentes de IA para que interact\u00faen con el MCP Server. Despu\u00e9s las veremos con m\u00e1s detalle pero de forma resumida son estas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tool Listener:<\/strong> Se invoca cuando un agente de IA decide invocar una \u00abherramienta\u00bb. Por ejemplo, cuando la IA dice \u00abnecesito reservar una cita\u00bb, este listener dispara el flujo correspondiente.<\/li>\n\n\n\n<li><strong>Resource Listener:<\/strong> Expone datos estructurados para que el agente los lea como contexto.<\/li>\n\n\n\n<li><strong>On New Session Listener: <\/strong>Se activa el momento que un MCP Client se conecta al MCP Server, permitiendo capturar metadatos de la sesi\u00f3n, identificar al cliente y ejecutar l\u00f3gicas de inicializaci\u00f3n o auditor\u00eda antes de que se invoquen a las tools\n<ul class=\"wp-block-list\">\n<li>Este concepto es importante, ya que a diferencia de las APIS, un MCP Client se conecta a un MCP Server, se queda conectado y a partir de ah\u00ed ya se descubren las tools o resources que expone y se pueden invocar, manteniendo la sesion iniciada y viva hasta que se desconecta.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mulesoft-como-mcp-client\"><strong>MuleSoft como MCP Client<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MuleSoft tambi\u00e9n puede actuar como cliente, permitiendo que tus flujos de integraci\u00f3n consuman capacidades de otros servidores MCP externos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Call Tool:<\/strong> Permite que un flujo de MuleSoft llame a una tool de un MCP Server(por ejemplo, una tool de crear ticket del MCP Server de JIRA)<\/li>\n\n\n\n<li><strong>Get Resource \/ Get Prompt:<\/strong> Permite traer datos o gu\u00edas de otros servidores MCP para enriquecer la l\u00f3gica de integraci\u00f3n en MuleSoft.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-3\" id=\"h-caso-de-uso-mule-como-mcp-server-el-asistente-medico-inteligente-con-datos-y-acciones-en-tiempo-real\"><strong>Caso de Uso Mule como MCP Server: \u201cEl Asistente M\u00e9dico Inteligente\u201d con datos y acciones en tiempo real<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mi background m\u00e1s funcional de cuando empec\u00e9 en el mundillo IT viene del sector m\u00e9dico.&nbsp; As\u00ed que uno de los primeros casos de uso que se me vinieron a la cabeza fue el de un m\u00e9dico, que desde un chat, mediante lenguaje natural pudiera realizar acciones en lugar de aprender a usar la interfaz de la interfaz de la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos a un cardi\u00f3logo en una consulta con muchos pacientes y tareas que atender. En lugar de navegar por m\u00faltiples aplicaciones y men\u00fas, lanza una instrucci\u00f3n en lenguaje natural:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u00abB\u00fascame a mis pacientes con riesgo cardiovascular cr\u00edtico, reserva una cita conmigo ma\u00f1ana y conf\u00edrmales la cita por WhatsApp y por SMS\u00bb.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El caso de uso se b\u00e1sicamente es realizar el siguiente workflow:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Interactuar con una BBDD (base de datos) que tiene la informaci\u00f3n de los pacientes<\/li>\n\n\n\n<li>Reservar mediante el sistema de citas<\/li>\n\n\n\n<li>Y finalmente enviar un WhatsApp y un SMS al paciente confirmando la cita<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A alto nivel ser\u00eda la arquitectura ser\u00eda algo similar a esto:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1024x596.png\" alt=\"\" class=\"wp-image-825805\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1024x596.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-300x175.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-768x447.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1536x895.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Este caso de uso no requiere construir nuevas integraciones desde cero. Por el contrario, se <strong>reutiliza la arquitectura de APIs ya existente<\/strong> en la organizaci\u00f3n. Y aqu\u00ed es donde veo la mayor potencia de MCP en MuleSoft, se pueden aprovechar los endpoints y flujos ya existentes de las APIs que est\u00e1n funcionando, y desde las tools del MCP Server, referenciar a las APIS ya funcionando.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Nota: Para este caso de uso ejemplo, las APIs de Mule que se integran con los sistemas finales descritos (la BBDD de pacientes, el servicio de reserva de citas, la API&nbsp; de de Twilio) <\/em><strong><em>son mocks que siempre devuelven el mismo resultado<\/em><\/strong><em>, <\/em><strong><em>pero sirven <\/em><\/strong><em>para esta demo que lo que <\/em><strong><em>queremos es ver la capacidad de los agentes<\/em><\/strong><em> de interpretar los resultados y saber a qu\u00e9 tool llamar<\/em><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Usando MuleSoft como MCP server se quedar\u00eda de la siguiente forma la arquitectura:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75-1024x625.png\" alt=\"\" class=\"wp-image-825819\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>VSCode (simulando ser un chat en la aplicaci\u00f3n de gesti\u00f3n cl\u00ednica) actuando como el MCP Client, utiliza a GitHub Copilot (el Agente) para conectarse a nuestros servidores MCP en MuleSoft y hablar con las APIs mediante lenguaje natural.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-demo-vscode-github-copilot-como-mcp-client-realizando-la-orquestacion\"><strong>Demo: VSCode + GitHub Copilot como MCP Client realizando la orquestaci\u00f3n<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-requisitos-previos\">Requisitos previos:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VSCode actualizado (versi\u00f3n 1.96 o superior recomendada).<\/li>\n\n\n\n<li>Extensi\u00f3n de GitHub Copilot instalada e iniciada sesi\u00f3n en GitHub<\/li>\n\n\n\n<li>Anypoint Studio min v7.21<\/li>\n\n\n\n<li>Mule Runtime 4.6+<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En el archivo mcp.json deberemos configurar el acceso a nuestros MCP Servers y arrancarlos<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"795\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75-1024x795.png\" alt=\"\" class=\"wp-image-825796\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75-1024x795.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75-300x233.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75-768x596.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-75.png 1045w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para autenticarnos con los MCP Servers, en este caso por simplicidad usaremos de tipo \u201cBasic Auth\u201d. Ai intentar arrancar los MCP Servers, VsCode nos pedir\u00e1 que introduzcamos el valor del header Authorization.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"779\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image5.png\" alt=\"\" class=\"wp-image-826646\" style=\"width:519px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image5.png 694w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image5-267x300.png 267w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Los MCP Servers deber\u00edan haber arrancado y ya estar\u00e1n disponibles a usar por Github Copilot.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-demo\">Demo<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez configurado, abrimos el Chat de Copilot y entramos en modo Agent. Ahora, el m\u00e9dico escribir\u00eda lo que requiera. Copilot no tiene un flujo programado, sino que razona qu\u00e9 tools necesita usar bas\u00e1ndose en las descripciones que definimos en los MCP servers de Mule. Incluso cuando no tiene los datos suficientes, se los pide al usuario.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"1012\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image8.png\" alt=\"\" class=\"wp-image-826673\" style=\"width:484px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image8.png 672w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image8-199x300.png 199w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si se quiere ver el detalle concreto de lo que se ha enviado y devuelto en la tool podemos hacerlo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"408\" height=\"469\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image31.png\" alt=\"\" class=\"wp-image-826727\" style=\"width:384px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image31.png 408w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image31-261x300.png 261w\" sizes=\"auto, (max-width: 408px) 100vw, 408px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, una vez se tienen todos los datos necesarios seguir\u00e1 haciendo la orquestaci\u00f3n necesaria hasta completar el objetivo inicial definido.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"843\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image24.png\" alt=\"\" class=\"wp-image-826754\" style=\"width:652px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image24.png 991w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image24-300x255.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image24-768x653.png 768w\" sizes=\"auto, (max-width: 991px) 100vw, 991px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"274\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-73-1024x274.png\" alt=\"\" class=\"wp-image-825783\" style=\"width:653px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-73-1024x274.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-73-300x80.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-73-768x206.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-73.png 1050w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En los siguientes apartados veremos t\u00e9cnicamente c\u00f3mo se han definido, implementado y probado los MCP Servers en MuleSoft<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-sapi-patients\"><strong><em>1. SAPI-PATIENTS<\/em><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta API simula la integraci\u00f3n con una base de datos (BBDD) donde est\u00e1 alojada la informaci\u00f3n de los pacientes de la cl\u00ednica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dispone varios endpoints para simular un <a href=\"https:\/\/www.codecademy.com\/article\/what-is-crud-explained\">CRUD <\/a>en la BBDD, pero solo vamos a centrarnos en el de obtener pacientes. Como vemos actualmente el API devuelve esta lista de pacientes (GET \/pacientes), los cuales algunos de ellos tiene un riesgo cr\u00edtico<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"891\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-79-1024x891.png\" alt=\"\" class=\"wp-image-825840\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-79-1024x891.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-79-300x261.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-79-768x668.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-79.png 1193w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A nivel del API de Mule, es un API super sencillita que devuelve un mock de un listado de pacientes fijo<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image29-1024x551.png\" alt=\"\" class=\"wp-image-826783\" style=\"width:806px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image29-1024x551.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image29-300x162.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image29-768x414.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image29.png 1376w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para convertir esta API en un MCP Server habr\u00e1 que hacer lo siguiente:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-1-establecer-la-configuracion-global-del-mcp-server\"><strong>1.1 Establecer la configuraci\u00f3n global del MCP Server<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"1024\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image19-976x1024.png\" alt=\"\" class=\"wp-image-826837\" style=\"width:681px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image19-976x1024.png 976w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image19-286x300.png 286w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image19-768x806.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image19.png 1026w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas cosillas a destacar de esta configuraci\u00f3n son las siguientes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Connection (Transporte)<\/strong> Define el protocolo f\u00edsico de comunicaci\u00f3n entre el cliente de IA y la aplicaci\u00f3n Mule:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Streamable HTTP Server:<\/strong> Expone el servidor MCP a trav\u00e9s de la red mediante un <strong>HTTP Listener<\/strong>. Es la opci\u00f3n necesaria para despliegues en CloudHub, RTF o cuando el cliente de IA accede de forma remota.<\/li>\n\n\n\n<li><strong>Stdio:<\/strong> Usa los canales de Standard Input\/Output(consola). Se suele usar para ejecuci\u00f3n y depuraci\u00f3n local.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B. Response Content Type (Entrega de Datos)<\/strong> Define la modalidad t\u00e9cnica en la que se env\u00edan los paquetes de datos al cliente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SSE (Server-Sent Events):<\/strong> Configuraci\u00f3n por defecto y recomendada. Mantiene una conexi\u00f3n persistente que permite el \u00abstreaming\u00bb de datos, ideal para respuestas progresivas de agentes de IA.<\/li>\n\n\n\n<li><strong>Standard \/ JSON:<\/strong> Env\u00eda la respuesta completa en un \u00fanico paquete y cierra la conexi\u00f3n inmediatamente despu\u00e9s.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-2-configurar-las-tools\"><strong>1.2 Configurar las tools<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez establecida la configuraci\u00f3n global, definimos las capacidades espec\u00edficas que el agente de IA podr\u00e1 ejecutar. Para nuestro endpoint de pacientes, utilizaremos la operaci\u00f3n <strong>Tool Listener<\/strong>. Esta operaci\u00f3n es el \u00abcontrato\u00bb que MuleSoft p\u00fablica para que el Agente sepa c\u00f3mo interactuar con el sistema.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77-1024x759.png\" alt=\"\" class=\"wp-image-825856\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Configuraci\u00f3n del Tool Listener para \u00abget_patients\u00bb:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bas\u00e1ndonos en nuestra implementaci\u00f3n en Mule, configuramos el listener con lo siguiente:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tool Name:<\/strong> get_patients.<\/li>\n\n\n\n<li><strong>Tool Description:<\/strong><em>\u00abEsta herramienta recupera una lista de pacientes de la BBDD de pacientes. Permite a los consumidores de la API filtrar y paginar los resultados para optimizar la carga de datos.\u00bb<\/em>\n<ul class=\"wp-block-list\">\n<li><em>Importante:<\/em> Esta descripci\u00f3n es la que el Agente procesa para decidir si esta herramienta es \u00fatil para cumplir la petici\u00f3n del usuario.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Parameters Schema (JSON):<\/strong> Definimos el contrato que permite al agente saber de qu\u00e9 forma llamar a la tool<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Alguna reflexi\u00f3n que veo respecto al Tool Listener:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Al igual que ocurre con las API Spec REST tradicionales en el Design Center, el <strong>Parameters Schema<\/strong> del Tool Listener<strong> deber\u00eda residir<\/strong> en <strong>Anypoint Exchange<\/strong> como un asset reutilizable. Esto permitir\u00eda que la implementaci\u00f3n de la API lo referencie directamente, asegurando que el \u00abcontrato\u00bb de la tool a est\u00e9 centralizado, versionado y gobernado desde un \u00fanico punto de verdad. Estoy seguro que en un futuro pr\u00f3ximo esto llegar\u00e1<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Respecto al resto del flujo es bastante sencillo pero se puede ver la potencia de los MCP Servers:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Guardamos en una variable el payload que recibe el tool listener que consiste en un objeto con los campos enviados por el MCP Client\/Agente<\/li>\n\n\n\n<li>Invocamos a un subflujo ya existente en el API REST que se encargar\u00eda de integrarse con la BBDD\n<ol class=\"wp-block-list\">\n<li>Aqu\u00ed es de las cosas m\u00e1s potentes que veo de MCP, podemos reutilizar la l\u00f3gica\/trabajo que ya hac\u00edan las API REST y si es necesario modificar algo<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Finalmente modificamos el payload de respuesta, filtrando por aquellos pacientes con el valor del campo riesgo que nos haya llegado por el MCP Client\/Agente\n<ol class=\"wp-block-list\">\n<li>Destacar que esto solo se ha realizado para mostrar algo de l\u00f3gica adicional que podr\u00eda realizar el MCP, este filtro&nbsp; de devolver solo los pacientes seg\u00fan el riesgo indicado deber\u00eda hacerse en la llamada a la BBDD<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-3-on-new-session-listener\"><strong>1.3 On New Session Listener<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"738\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-81-1024x738.png\" alt=\"\" class=\"wp-image-825826\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-81-1024x738.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-81-300x216.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-81-768x554.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-81.png 1397w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Se dispara cuando un cliente MCP se conecta (inicia el <em>handshake<\/em>) con el servidor MuleSoft<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77-1024x571.png\" alt=\"\" class=\"wp-image-825809\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77-1024x571.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77-300x167.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77-768x428.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-77.png 1437w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Este flujo en mi caso lo us\u00e9 para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Logear la informaci\u00f3n que llega cuando un cliente MCP se conecta<\/li>\n\n\n\n<li>Y validar que el Basic Auth enviado es correcto y proteger m\u00ednimamente el acceso al MCP Server\n<ul class=\"wp-block-list\">\n<li>La gobernanza\/gesti\u00f3n de los MCP Servers deber\u00eda realizarse al igual que en las APIs desde API Manager, actualmente es necesario Flex Gateway <a href=\"https:\/\/yucelmoran.com\/secure-your-mulesoft-mcp-server-a-step-by-step-guide-using-managed-flex-gateway-3ae19f7f0115\">en este blog justo se explica esa parte<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-4-testear-el-mcp-server-con-postman\"><strong>1.4 <\/strong><strong>Testear el MCP Server con Postman<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso estoy usando Postman pero existe una herramienta que tambi\u00e9n es super potente llamada <a href=\"https:\/\/github.com\/modelcontextprotocol\/inspector\">MCP Inspector<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crearemos una nueva colecci\u00f3n con el bot\u00f3n que solemos crear las colecciones, requests, environments en Postman pero seleccionaremos de tipo MCP<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30-1024x604.png\" alt=\"\" class=\"wp-image-826864\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30-1024x604.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30-300x177.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30-768x453.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30-1536x906.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image30.png 1551w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Configuraremos los datos para poder llamar al MCP Server y pulsaremos en el bot\u00f3n \u201cConnect\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74-1024x541.png\" alt=\"\" class=\"wp-image-825790\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74-1024x541.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74-300x158.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74-768x405.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74.png 1453w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez conectados, nos aparecer\u00e1n las tools disponibles del MCP Server autom\u00e1ticamente, seleccionamos cual queremos usar, informamos los par\u00e1metros que necesitemos y lo ejecutamos<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"761\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image28-1024x761.png\" alt=\"\" class=\"wp-image-826891\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image28-1024x761.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image28-300x223.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image28-768x571.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image28.png 1478w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si la llamada de la tool ha funcionado correctamente, veremos que devuelve un listado de pacientes con riesgo \u201ccr\u00edtico\u201d, que es lo que le hab\u00edamos pasado como par\u00e1metro en la invocaci\u00f3n a la tool de get_patients<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"581\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21-1024x581.png\" alt=\"\" class=\"wp-image-826945\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21-1024x581.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21-300x170.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21-768x436.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21-1536x871.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image21.png 1834w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez hemos comprobado que nuestra tool funciona correctamente, m\u00e1s tarde la configuraremos en nuestro agente para que sea este el que decida usarla cuando sea necesario y no especificarlo nosotros.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-5-subida-a-runtime-manager\"><strong>1.5 <\/strong><strong>Subida a runtime manager<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Respecto a la subida a runtime manager, no tiene nada de especial que estemos exponiendo un MCP Serve, se genera el JAR y se sube como un API normal.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"467\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82-1024x467.png\" alt=\"\" class=\"wp-image-825862\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82-1024x467.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82-300x137.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82-768x350.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82-1536x700.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-82.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para testear el API con Postman realizar\u00edamos lo mismo del paso <a href=\"https:\/\/docs.google.com\/document\/d\/1X1gT_7PDf650oi1k3vMOxO09czLJqC-JPKfIxOthEKk\/edit?tab=t.0#heading=h.96jpn3n1ps5n\">1.4 Testear el MCP Server con Postman<\/a>, pero simplemente cambiando la baseURL a la del ingress externo ya que en mi caso la he desplegado en CloudHub 2.0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-sapi-appointments\"><strong><em>2. SAPI-APPOINTMENTS<\/em><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez tenemos listo el MCP Server anterior para extraer datos de los pacientes, sapi-appointments nos permitir\u00e1 simular el comprobar la disponibilidad de una cita en una cl\u00ednica m\u00e9dica y reservar una cita para el paciente con el doctor<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A nivel de configuraci\u00f3n es muy similar a la anterior as\u00ed que no se va a detallar demasiado<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"756\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1-1024x756.jpg\" alt=\"\" class=\"wp-image-826226\" style=\"width:869px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1-1024x756.jpg 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1-300x221.jpg 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1-768x567.jpg 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1-1536x1134.jpg 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez desplegado a CloudHub 2.0 se puede probar la tool con Postman<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"704\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6-1024x704.png\" alt=\"\" class=\"wp-image-826973\" style=\"width:900px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6-1024x704.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6-300x206.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6-768x528.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6-1536x1056.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image6.png 1867w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-sapi-twilio\"><strong><em>3. SAPI-TWILIO<\/em><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Finalmente, para cerrar el proceso, el agente utiliza MCP Server encargado de integrase con el API de Twilio para enviar un mensaje de WhatsApp y un SMS al paciente<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-74-1024x932.png\" alt=\"\" class=\"wp-image-825832\" style=\"width:792px;height:auto\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez desplegado a CloudHub 2.0 se puede probar las tools&nbsp; con Postman, por ejemplo la de enviar WhatsApp<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"733\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1024x733.jpg\" alt=\"\" class=\"wp-image-826075\" style=\"width:796px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1024x733.jpg 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-300x215.jpg 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-768x550.jpg 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83-1536x1099.jpg 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-83.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-4\" id=\"h-ejemplo-de-mule-como-mcp-client-hello-world-mcp-client\"><strong>Ejemplo de Mule como MCP Client: Hello World MCP Client<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender c\u00f3mo MuleSoft puede actuar como MCP Client, veremos un ejemplo muy sencillo. Podr\u00edamos considerarlo como el \u00abHello World\u00bb de la programaci\u00f3n tradicional, pero aplicado en este caso a MuleSoft actuando como MCP Client que consume una tool de un MCP Server externo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1-1024x771.jpg\" alt=\"\" class=\"wp-image-826007\" style=\"width:762px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1-1024x771.jpg 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1-300x226.jpg 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1-768x578.jpg 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1-1536x1157.jpg 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-76-1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso hemos reutilizado por simplicidad el endpoint de crear pacientes aprovechando que en el API esta operaci\u00f3n no estaba implementada<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A nivel de global config del MCP Client tenemos configurado lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"913\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-78-1024x913.png\" alt=\"\" class=\"wp-image-825831\" style=\"width:686px;height:auto\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-78-1024x913.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-78-300x268.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-78-768x685.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-78.png 1389w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Y lanzando la llamada desde Postman en la respuesta despu\u00e9s de pasar el payload a JSON esta ser\u00eda la respuesta del MCP Server<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"502\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80-1024x502.png\" alt=\"\" class=\"wp-image-825838\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80-1024x502.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80-300x147.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80-768x376.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80-1536x753.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-80.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Veo la opci\u00f3n de Mule como MCP Client es valiosa en escenarios donde necesitamos un comportamiento determinista. Por ejemplo: digamos que estamos implementando un <a href=\"https:\/\/mac-project.ai\/\">agente de IA con Mule<\/a> y en cierto punto queremos asegurar que este paso del workflow sea determinista llamando a una tool de un MCP Server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-5\" id=\"h-conclusiones\"><strong>Conclusiones<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MuleSoft prepara el terreno para evitar el <\/strong><a href=\"https:\/\/blogs.mulesoft.com\/automation\/how-to-avoid-agent-sprawl\/\"><strong>Agent Sprawl<\/strong><\/a>\n<ul class=\"wp-block-list\">\n<li>Al igual que en su d\u00eda ocurri\u00f3 con las APIs, en el cual MuleSoft enfoc\u00f3 su tecnolog\u00eda para poder tener una red de APIs. Actualmente est\u00e1 desarrollando funcionalidades y preparando el terreno para para poder descubrir, orquestar, gobernar y observar agentes. Siendo MCP un componente clave dentro de estos<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><em>\u00bf1 MCP Server por API?<\/em><\/strong>\n<ul class=\"wp-block-list\">\n<li><em>En este caso de uso por simplicidad hemos tenido 1 MCP Server por SAPI, pero se recomienda agrupar por dominio de negocio (Domain Driven Design)<\/em>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/nordicapis.com\/why-mcp-shouldnt-wrap-an-api-one-to-one\/\">https:\/\/nordicapis.com\/why-mcp-shouldnt-wrap-an-api-one-to-one\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><em>Ubicaci\u00f3n del MCP Server \u00bfInstancia embebida o separada?<\/em><\/strong>\n<ul class=\"wp-block-list\">\n<li><em>\u00bfEs correcto que el MCP Server est\u00e9 en la propia instancia del API o deber\u00eda estar en una propia instancia separada y este que haga una HTTP request al API?<\/em>\n<ul class=\"wp-block-list\">\n<li><em>En esta demo hemos est\u00e1 dentro de la propia instancia por simplicidad, sin embargo en entornos m\u00e1s reales deber\u00eda estar el MCP Server en una instancia separada de las APIs:<\/em>\n<ul class=\"wp-block-list\">\n<li>Independencia del Contrato y separaci\u00f3n de los ciclos de vida del MCP y API<\/li>\n\n\n\n<li>Modularidad<\/li>\n\n\n\n<li>Escalabilidad y aislamiento<\/li>\n\n\n\n<li>Posibilidad de orquestaci\u00f3n de llamadas a varias APIs<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><em>Seguridad: a d\u00eda de hoy tenemos varias opciones pero ninguna tan est\u00e1ndar o sencilla como las APIs SOAP\/REST que conectan con API Manager mediante el ApiKit router<\/em><\/strong><em>:<\/em>\n<ul class=\"wp-block-list\">\n<li>Seguridad en los flujos del API Implementation: Utilizando la operaci\u00f3n \u201cOn New Session Listener\u201d (la usada en este caso de uso), podemos interceptar headers personalizadas o validar tokens OAuth para validar la identidad del agente antes de exponer las herramientas<\/li>\n\n\n\n<li>Seguridad de Red: solo habilitar el ingress interno y que solo se pueda acceder a las APIs de Mule si se est\u00e1 dentro de la misma red en la que se encuentra el ingress interno<\/li>\n\n\n\n<li>Flex Gateway: podemos forzar que se pase por una capa de gobierno antes de llegar al API de MuleSoft. En este articulo de Edgar Moran est\u00e1 todo el detalle-&gt;<a href=\"https:\/\/medium.com\/another-integration-blog\/secure-your-mulesoft-mcp-server-a-step-by-step-guide-using-managed-flex-gateway-3ae19f7f0115\">Secure Your MuleSoft MCP Server: A Step-by-Step Guide using Managed Flex Gateway | by Edgar Moran | Another Integration Blog | Jan, 2026 | Medium<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>Contrato del json schema embebido en el API Implementation<\/em><\/strong><em> El json schema del MCP Server deber\u00eda estar en el design center, publicado como asset en Exchange y desde el api implementation referenciarlo, al igual que ocurre con las API Spec tradicionales<\/em><\/li>\n\n\n\n<li><strong><em>Manejo y significado de los errores <\/em><\/strong><em>Anteriormente ya era super importante tener una respuesta de errores est\u00e1ndar, con detalle y que ayudar\u00e1 a los clientes del API a poder entender el motivo y quien hab\u00eda causado el error. Ahora siendo los clientes agentes de IA, es a\u00fan m\u00e1s crucial tenerlo ya que a partir de estos errores el agente puede entender el motivo del error, razonar y realizar otra acci\u00f3n (Ejemplo: sapi-appointments devuelve un 404 indicando que no se ha encontrado ning\u00fan m\u00e9dico con ese ID, con esto el agente de IA puede entender y pedirle al usuario que revise si la informaci\u00f3n proporcionada es la correcta)<\/em><\/li>\n\n\n\n<li><strong><em>Observabilidad:<\/em><\/strong><em> A trav\u00e9s de Anypoint Monitoring y los logs de Runtime Manage se puede tener trazabilidad sobre tools de los MCP Servers y la orquestaci\u00f3n seguridad. Adem\u00e1s mediante el correlationId podemos hacer una trazabilidad E2E de todos sistemas por los que ha pasado<\/em><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-6\" id=\"h-codigo-en-github\"><strong>C\u00f3digo en GitHub<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/adrianfs98\/sapi-patients\">Sapi-patients<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/adrianfs98\/sapi-appointments\">Sapi-appointments<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/adrianfs98\/sapi-twilio\">Sapi-twilio<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-7\" id=\"h-bibliografia\"><strong>Bibliograf\u00eda<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/modelcontextprotocol.io\/docs\/getting-started\/intro\">Model Context Protocol Docs<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.mulesoft.com\/mcp-connector\/latest\/\">MuleSoft MCP Connector<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/another-integration-blog\/secure-your-mulesoft-mcp-server-a-step-by-step-guide-using-managed-flex-gateway-3ae19f7f0115\">Secure Your MuleSoft MCP Server: A Step-by-Step Guide using Managed Flex Gateway<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learning.postman.com\/docs\/postman-ai\/mcp-requests\/overview\/\">Postman MCP requests<\/a><\/li>\n<\/ul>\n\n\n\n<style>\n  .dt-msft-strip{\n    font-family:\"Montserrat\", Arial, sans-serif;\n    max-width:1200px;\n    margin:22px auto;\n    padding:14px 18px;\n    border-radius:14px;\n    background:\n      radial-gradient(900px 120px at 10% 0%, rgba(248,72,94,.22), rgba(248,72,94,0) 60%),\n      linear-gradient(90deg, #ffffff, #ffffff);\n    border:1px solid #efeeee;\n    box-shadow: 0 10px 22px rgba(0,0,0,0.06);\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:16px;\n  }\n\n  .dt-msft-left{\n    display:flex;\n    align-items:center;\n    gap:12px;\n    min-width:0;\n  }\n\n  .dt-msft-dot{\n    width:10px; height:10px;\n    border-radius:999px;\n    background:#f8485e;\n    box-shadow:0 0 0 6px rgba(248,72,94,.12);\n    flex:0 0 auto;\n  }\n\n  .dt-msft-content{min-width:0;}\n\n  .dt-msft-kicker{\n    display:flex;\n    align-items:center;\n    gap:10px;\n    margin:0 0 4px;\n    flex-wrap:wrap;\n  }\n\n  .dt-msft-chip{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    padding:4px 10px;\n    border-radius:999px;\n    font-size:12px;\n    font-weight:700;\n    color:#f8485e;\n    background:rgba(248,72,94,.10);\n    border:1px solid rgba(248,72,94,.18);\n    white-space:nowrap;\n  }\n\n  .dt-msft-title{\n    margin:0;\n    font-size:15px;\n    font-weight:700;\n    color:#3c3c3a;\n    line-height:1.35;\n    letter-spacing:-0.01em;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n\n  .dt-msft-mini{\n    margin:6px 0 0;\n    display:flex;\n    gap:12px;\n    flex-wrap:wrap;\n    font-size:12.5px;\n    color:#3c3c3a;\n    opacity:.9;\n  }\n  .dt-msft-mini span{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    white-space:nowrap;\n  }\n  .dt-msft-mini i{\n    width:6px; height:6px; border-radius:999px;\n    background:#f8485e; opacity:.65;\n    display:inline-block;\n  }\n\n  .dt-msft-cta{\n    flex:0 0 auto;\n    text-decoration:none;\n    display:inline-flex;\n    align-items:center;\n    gap:10px;\n    padding:9px 14px;\n    border-radius:999px;\n    background:#f8485e;\n    color:#ffffff;\n    font-size:13.5px;\n    font-weight:700;\n    box-shadow: 0 10px 22px rgba(248,72,94,0.20);\n    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;\n    white-space:nowrap;\n  }\n  .dt-msft-cta:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 14px 26px rgba(248,72,94,0.24);\n    background:#e63f54;\n  }\n  .dt-msft-cta .arrow{\n    display:inline-block;\n    transition: transform .2s ease;\n  }\n  .dt-msft-cta:hover .arrow{\n    transform: translateX(2px);\n  }\n\n  @media (max-width: 860px){\n    .dt-msft-strip{flex-direction:column; align-items:flex-start;}\n    .dt-msft-title{white-space:normal;}\n    .dt-msft-cta{width:100%; justify-content:center;}\n  }\n<\/style>\n\n<div class=\"dt-msft-strip\">\n  <div class=\"dt-msft-left\">\n    <span class=\"dt-msft-dot\" aria-hidden=\"true\"><\/span>\n\n    <div class=\"dt-msft-content\">\n      <div class=\"dt-msft-kicker\">\n        <span class=\"dt-msft-chip\">Partner oficial MuleSoft<\/span>\n      <\/div>\n\n      <p class=\"dt-msft-title\">\n        Consultor\u00eda en integraci\u00f3n para conectar sistemas, datos y APIs con impacto real.\n      <\/p>\n\n      <div class=\"dt-msft-mini\" aria-hidden=\"true\">\n        <span><i><\/i>Arquitectura + delivery<\/span>\n        <span><i><\/i>Integraci\u00f3n de APIs<\/span>\n        <span><i><\/i>Time-to-value r\u00e1pido<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <a class=\"dt-msft-cta\"\n     href=\"https:\/\/devoteam.info\/es\/consultoria-partner-oficial-mulesoft\/\"\n     target=\"_blank\" rel=\"noopener\">\n     Ver la p\u00e1gina <span class=\"arrow\">\u2192<\/span>\n  <\/a>\n<\/div>\n\n\n\n<div class=\"wp-block-cover alignfull\" style=\"padding-top:var(--wp--preset--spacing--medium);padding-right:var(--wp--preset--spacing--medium);padding-bottom:var(--wp--preset--spacing--medium);padding-left:var(--wp--preset--spacing--medium)\"><img decoding=\"async\" class=\"wp-block-cover__image-background wp-image-825141 size-large\" alt=\"\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1204187820-2-1024x683.jpg\" data-object-fit=\"cover\"\/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-black-background-color has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container has-global-padding is-layout-constrained wp-container-core-cover-is-layout-51351515 wp-block-cover-is-layout-constrained\">\n<h3 class=\"wp-block-heading\" id=\"h-descubre-como-conectar-agentes-de-ia-con-sistemas-reales-usando-mcp-y-mulesoft\">Descubre c\u00f3mo conectar agentes de IA con sistemas reales usando MCP y MuleSoft.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un recorrido pr\u00e1ctico por arquitectura, tools, seguridad y un caso real en el sector sanitario, con ejemplos ejecutables y buenas pr\u00e1cticas para entornos enterprise.<br><br><\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-84b7d28f wp-block-columns-is-layout-flex\" style=\"margin-top:0px;margin-bottom:0px\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/devoteam.info\/es\/contacta-con-nosotros\/\">Contacta con nosotros<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Partner oficial MuleSoft Consultor\u00eda en integraci\u00f3n para conectar sistemas, datos y APIs con impacto real. Arquitectura + delivery Integraci\u00f3n de APIs Time-to-value r\u00e1pido Ver la p\u00e1gina \u2192 \u00bfQu\u00e9 es MCP (Model Context Protocol)? En el panorama actual de la Inteligencia Artificial, el acceso est\u00e1tico a datos ya no es suficiente. El verdadero valor reside en [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","categories":[741],"tags":[6883,6884,6880,6881,6882],"industry":[],"class_list":["post-820835","expert-view","type-expert-view","status-publish","hentry","category-mulesoft","tag-aiagents","tag-apis","tag-mcp","tag-modelcontextprotocol","tag-mulesoft-2"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-15 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Blog<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/\" target=\"_self\" >Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Gu\u00eda MCP (Model Context Protocol): integraci\u00f3n con MuleSoft | Devoteam<\/title>\n<meta name=\"description\" content=\"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real\" \/>\n<meta property=\"og:description\" content=\"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-28T07:41:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1204187820-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1708\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"22 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/\",\"name\":\"Gu\u00eda MCP (Model Context Protocol): integraci\u00f3n con MuleSoft | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/image22.png\",\"datePublished\":\"2026-01-27T15:33:26+00:00\",\"dateModified\":\"2026-01-28T07:41:06+00:00\",\"description\":\"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/\"]}],\"accessibilityFeature\":[\"tableOfContents\"]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/image22.png\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/image22.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/devoteam.info\\\/es\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/es\\\/\",\"name\":\"Devoteam\",\"description\":\"AI-Driven Tech Consulting\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Gu\u00eda MCP (Model Context Protocol): integraci\u00f3n con MuleSoft | Devoteam","description":"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/","og_locale":"es_ES","og_type":"article","og_title":"Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real","og_description":"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.","og_url":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/","og_site_name":"Devoteam","article_modified_time":"2026-01-28T07:41:06+00:00","og_image":[{"width":2560,"height":1708,"url":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1204187820-2.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"22 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/","url":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/","name":"Gu\u00eda MCP (Model Context Protocol): integraci\u00f3n con MuleSoft | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22.png","datePublished":"2026-01-27T15:33:26+00:00","dateModified":"2026-01-28T07:41:06+00:00","description":"Descubre qu\u00e9 es Model Context Protocol (MCP), c\u00f3mo conecta agentes de IA con sistemas reales y c\u00f3mo MuleSoft act\u00faa como MCP Server y Client.","breadcrumb":{"@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/"]}],"accessibilityFeature":["tableOfContents"]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22.png","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image22.png"},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/es\/expert-view\/guia-mulesoft-mcp-habilitando-a-la-ia-informacion-y-acciones-en-tiempo-real\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/es\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/devoteam.info\/es\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Gu\u00eda MuleSoft MCP: Habilitando a la IA informaci\u00f3n y acciones en tiempo real"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/es\/#website","url":"https:\/\/devoteam.info\/es\/","name":"Devoteam","description":"AI-Driven Tech Consulting","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"esnekane","author_link":"https:\/\/devoteam.info\/es\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Partner oficial MuleSoft Consultor\u00eda en integraci\u00f3n para conectar sistemas, datos y APIs con impacto real. Arquitectura + delivery Integraci\u00f3n de APIs Time-to-value r\u00e1pido Ver la p\u00e1gina \u2192 \u00bfQu\u00e9 es MCP (Model Context Protocol)? En el panorama actual de la Inteligencia Artificial, el acceso est\u00e1tico a datos ya no es suficiente. El verdadero valor reside en&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/expert-view\/820835","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":5,"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/expert-view\/820835\/revisions"}],"predecessor-version":[{"id":827187,"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/expert-view\/820835\/revisions\/827187"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/media?parent=820835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/categories?post=820835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/tags?post=820835"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/es\/wp-json\/wp\/v2\/industry?post=820835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}