{"id":1625,"date":"2026-09-27T14:56:05","date_gmt":"2026-09-27T12:56:05","guid":{"rendered":"https:\/\/antoniofernandez.net\/?p=1625"},"modified":"2026-10-24T00:11:13","modified_gmt":"2026-10-23T22:11:13","slug":"que-es-mcp","status":"publish","type":"post","link":"https:\/\/antoniofernandez.net\/copia-divi\/que-es-mcp\/","title":{"rendered":"Qu\u00e9 es MCP y c\u00f3mo conecta los agentes IA con herramientas externas"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas-1024x576.png\" alt=\"Qu\u00e9 es MCP y c\u00f3mo conecta los agentes IA con documentos, bases de datos, APIs y herramientas externas.\" class=\"wp-image-1631\" srcset=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas-1024x576.png 1024w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas-300x169.png 300w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas-768x432.png 768w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas-1536x864.png 1536w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.-Que-es-MCP-y-como-conecta-los-agentes-IA-con-herramientas-externas.png 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Qu\u00e9 es MCP (Model Context Protocol): conexi\u00f3n de agentes de inteligencia artificial con herramientas y servicios externos.<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-color has-link-color wp-elements-1 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si te preguntas qu\u00e9 es MCP, el Model Context Protocol (MCP) es un est\u00e1ndar abierto que permite conectar aplicaciones de inteligencia artificial con herramientas, servicios externos y fuentes de informaci\u00f3n mediante un sistema de comunicaci\u00f3n com\u00fan.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-2 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su objetivo es facilitar que los modelos de lenguaje puedan trabajar con informaci\u00f3n y funcionalidades que no forman parte de sus conocimientos internos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-3 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un agente de inteligencia artificial puede necesitar consultar documentos, recuperar informaci\u00f3n de una base de datos o utilizar una herramienta para completar una tarea. MCP proporciona una forma estandarizada de conectar la aplicaci\u00f3n que ejecuta el agente con esos recursos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-4 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En lugar de desarrollar una integraci\u00f3n completamente diferente para cada herramienta, los desarrolladores pueden utilizar MCP como protocolo com\u00fan, siempre que las aplicaciones y los servicios correspondientes sean compatibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-5 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta caracter\u00edstica resulta especialmente interesante para construir agentes IA capaces de combinar modelos de lenguaje, informaci\u00f3n externa y herramientas especializadas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Qu\u00e9 significa MCP o Model Context Protocol<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-6 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las siglas MCP corresponden a <em>Model Context Protocol<\/em>, que podemos traducir como protocolo de contexto para modelos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-7 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Se trata de un est\u00e1ndar de comunicaci\u00f3n dise\u00f1ado para facilitar la interacci\u00f3n entre aplicaciones de inteligencia artificial y sistemas externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-8 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para comprender su utilidad, debemos recordar que un modelo de lenguaje no dispone autom\u00e1ticamente de acceso a nuestros archivos, aplicaciones o bases de datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-9 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque puede generar respuestas a partir de la informaci\u00f3n que recibe, necesita mecanismos adicionales para consultar datos actualizados o interactuar con herramientas externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-10 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP establece una forma com\u00fan de ofrecer esas capacidades a las aplicaciones compatibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-11 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una aplicaci\u00f3n puede conectarse a un servidor MCP que proporcione acceso controlado a determinados documentos. De esta manera, el modelo podr\u00e1 recibir informaci\u00f3n relevante para responder a una consulta, siempre bajo las condiciones y los permisos establecidos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Qu\u00e9 problema resuelve MCP<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-12 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tradicionalmente, conectar una aplicaci\u00f3n de inteligencia artificial con diferentes servicios externos puede requerir m\u00faltiples integraciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-13 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que queremos desarrollar un agente capaz de consultar documentos, recuperar informaci\u00f3n de una base de datos y utilizar una herramienta de b\u00fasqueda.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-14 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada sistema puede disponer de su propia API, sus mecanismos de autenticaci\u00f3n y sus formatos de comunicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-15 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El desarrollador necesita comprender estas diferencias y programar las conexiones correspondientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-16 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP pretende simplificar parte de este proceso mediante un protocolo compartido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-17 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">As\u00ed, una aplicaci\u00f3n compatible puede utilizar una interfaz estandarizada para descubrir las capacidades que ofrece un servidor MCP e interactuar con ellas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-18 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto no significa que desaparezca todo el trabajo de integraci\u00f3n. Los servidores deben conectarse correctamente con los servicios correspondientes y seguir gestionando la autenticaci\u00f3n, los permisos y los posibles errores.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-19 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, disponer de un protocolo com\u00fan facilita la reutilizaci\u00f3n de determinadas integraciones entre diferentes aplicaciones de inteligencia artificial.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. La relaci\u00f3n entre MCP, las APIs y los modelos de lenguaje<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-20 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para entender correctamente MCP, debemos diferenciar tres conceptos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-21 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Los modelos de lenguaje<\/strong> procesan instrucciones e informaci\u00f3n para generar respuestas. Dependiendo de sus capacidades, tambi\u00e9n pueden proponer la utilizaci\u00f3n de herramientas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-22 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Las APIs<\/strong> permiten que diferentes aplicaciones intercambien informaci\u00f3n y utilicen funcionalidades ofrecidas por otros sistemas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-23 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>MCP<\/strong> establece una forma estandarizada de conectar aplicaciones de inteligencia artificial con herramientas y fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-24 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estos elementos pueden trabajar conjuntamente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-25 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un servidor MCP puede utilizar internamente una API para consultar un servicio externo. La aplicaci\u00f3n que ejecuta el agente se comunica con el servidor MCP y proporciona al modelo los resultados necesarios para completar su tarea.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-26 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, MCP no sustituye necesariamente a las APIs ni a los modelos de lenguaje. Puede utilizar ambos elementos como parte de una arquitectura m\u00e1s amplia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Qu\u00e9 podemos conectar mediante MCP<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-27 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP permite que los servidores compatibles ofrezcan diferentes capacidades a las aplicaciones de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-28 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre sus componentes principales encontramos las herramientas, los recursos y los prompts.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-29 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las herramientas permiten ejecutar funciones o recuperar informaci\u00f3n mediante operaciones definidas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-30 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los recursos proporcionan contenidos que la aplicaci\u00f3n puede utilizar como contexto, como documentos o informaci\u00f3n estructurada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-31 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los prompts ofrecen plantillas de instrucciones que pueden facilitar determinadas interacciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-32 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas capacidades permiten desarrollar diferentes integraciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-33 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos crear un servidor MCP que proporcione acceso a documentos de un proyecto, ofrezca funciones para consultar informaci\u00f3n y facilite instrucciones predefinidas para analizar los resultados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-34 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, debemos recordar que la disponibilidad de cada funci\u00f3n depende de las caracter\u00edsticas del servidor y de las capacidades que admita la aplicaci\u00f3n utilizada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Por qu\u00e9 MCP es importante para los agentes IA<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-35 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los agentes de inteligencia artificial necesitan combinar diferentes componentes para realizar tareas que van m\u00e1s all\u00e1 de generar una respuesta de texto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-36 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un agente puede interpretar una solicitud, identificar la informaci\u00f3n necesaria, utilizar herramientas autorizadas y preparar un resultado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-37 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP facilita la conexi\u00f3n entre la aplicaci\u00f3n que coordina el agente y determinadas herramientas o fuentes de informaci\u00f3n externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-38 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un agente encargado de preparar informes podr\u00eda conectarse a un servidor MCP que permita consultar documentos y recuperar informaci\u00f3n relevante.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-39 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n se encargar\u00eda de gestionar la comunicaci\u00f3n, comprobar las autorizaciones y proporcionar al modelo los resultados obtenidos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-40 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite desarrollar arquitecturas m\u00e1s modulares, en las que podemos incorporar determinadas capacidades sin tener que redise\u00f1ar completamente la comunicaci\u00f3n con cada herramienta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-41 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No obstante, utilizar MCP no convierte autom\u00e1ticamente una aplicaci\u00f3n en un agente aut\u00f3nomo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-42 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La planificaci\u00f3n, la supervisi\u00f3n y el control de las operaciones siguen dependiendo del dise\u00f1o del sistema.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Un ejemplo sencillo para comprender MCP<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-43 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que desarrollamos un asistente de inteligencia artificial para consultar los documentos internos de una empresa.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-44 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El usuario pregunta qu\u00e9 tareas est\u00e1n pendientes en un determinado proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-45 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para responder correctamente, el asistente necesita acceder a informaci\u00f3n que no forma parte de los conocimientos del modelo de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-46 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos utilizar una aplicaci\u00f3n compatible con MCP y conectarla a un servidor que ofrezca acceso autorizado a los documentos del proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-47 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El funcionamiento general ser\u00eda el siguiente:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-48\">\n<li>El usuario realiza una pregunta al asistente.<\/li>\n\n\n\n<li>La aplicaci\u00f3n identifica las capacidades disponibles a trav\u00e9s del servidor MCP.<\/li>\n\n\n\n<li>El modelo puede solicitar la utilizaci\u00f3n de una herramienta adecuada, si la aplicaci\u00f3n y el modelo admiten esa funci\u00f3n.<\/li>\n\n\n\n<li>La aplicaci\u00f3n comprueba los permisos y gestiona la solicitud.<\/li>\n\n\n\n<li>El servidor MCP utiliza los mecanismos necesarios para recuperar la informaci\u00f3n autorizada.<\/li>\n\n\n\n<li>La aplicaci\u00f3n proporciona los resultados al modelo de lenguaje.<\/li>\n\n\n\n<li>El modelo prepara una respuesta utilizando la informaci\u00f3n recibida.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-49 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este ejemplo muestra c\u00f3mo MCP puede facilitar el acceso a informaci\u00f3n externa sin que el modelo tenga que conectarse directamente a todos los sistemas utilizados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-50 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n demuestra la importancia de establecer controles de acceso y verificar los resultados antes de utilizarlos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. MCP como parte del ecosistema de inteligencia artificial<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-51 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP forma parte de un ecosistema tecnol\u00f3gico en el que encontramos modelos de lenguaje, APIs, plataformas de automatizaci\u00f3n, bases de datos y herramientas especializadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-52 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada componente cumple una funci\u00f3n diferente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-53 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los modelos procesan la informaci\u00f3n, las APIs permiten comunicarse con servicios externos y MCP facilita determinadas conexiones estandarizadas entre aplicaciones de inteligencia artificial y sistemas que ofrecen herramientas o recursos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-54 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos desarrollar un agente que utilice un modelo de lenguaje accesible mediante OpenRouter y una aplicaci\u00f3n compatible con MCP para conectarse a herramientas externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-55 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En este caso, OpenRouter facilitar\u00eda el acceso al modelo, mientras que MCP permitir\u00eda establecer las conexiones compatibles con los servidores correspondientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-56 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n del agente coordinar\u00eda ambos componentes y controlar\u00eda las operaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-57 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprender estas diferencias nos ayudar\u00e1 a dise\u00f1ar aplicaciones de inteligencia artificial m\u00e1s flexibles y a seleccionar las tecnolog\u00edas adecuadas para cada proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-58 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><a href=\"https:\/\/modelcontextprotocol.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Documentaci\u00f3n oficial de Model Context Protocol<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">C\u00f3mo funciona MCP: arquitectura y componentes principales<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-59 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para comprender c\u00f3mo funciona MCP, debemos conocer su arquitectura y los componentes que intervienen en la comunicaci\u00f3n entre una aplicaci\u00f3n de inteligencia artificial y los servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-60 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP utiliza una arquitectura en la que las aplicaciones pueden establecer conexiones con servidores que ofrecen herramientas, recursos y otras capacidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-61 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sus tres elementos fundamentales son el host, el cliente MCP y el servidor MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-62 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque cada uno desempe\u00f1a una funci\u00f3n diferente, trabajan conjuntamente para permitir que una aplicaci\u00f3n de inteligencia artificial acceda a informaci\u00f3n y utilice herramientas externas mediante un protocolo com\u00fan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. El host MCP: la aplicaci\u00f3n que coordina el sistema<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-63 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El host es la aplicaci\u00f3n de inteligencia artificial desde la que interact\u00faa el usuario y que incorpora las conexiones MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-64 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puede tratarse de un asistente, una aplicaci\u00f3n de escritorio, un entorno de desarrollo o una plataforma que utiliza modelos de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-65 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su funci\u00f3n consiste en coordinar el funcionamiento general de la aplicaci\u00f3n y gestionar las conexiones con los servidores MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-66 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, imaginemos que utilizamos un asistente de inteligencia artificial para consultar documentos y preparar informes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-67 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En este caso, el asistente actuar\u00eda como host y podr\u00eda establecer conexiones con diferentes servidores MCP para acceder a las capacidades que necesita.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-68 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El host tambi\u00e9n es responsable de aplicar las pol\u00edticas de seguridad correspondientes y determinar c\u00f3mo se incorporan los resultados externos al contexto del modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-69 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es importante recordar que el host no tiene por qu\u00e9 ejecutar directamente todas las herramientas. Puede delegar determinadas operaciones en los servidores MCP conectados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. El cliente MCP: el componente que establece la comunicaci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-70 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El cliente MCP es el componente que mantiene la comunicaci\u00f3n entre el host y un servidor MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-71 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Normalmente, el host crea un cliente para cada conexi\u00f3n con un servidor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-72 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De esta manera, una misma aplicaci\u00f3n puede conectarse a diferentes servidores mediante clientes independientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-73 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un asistente podr\u00eda disponer de un cliente conectado a un servidor de documentos y otro conectado a un servidor que ofrece herramientas de consulta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-74 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada cliente gestiona la comunicaci\u00f3n correspondiente mediante el protocolo MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-75 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre sus funciones encontramos establecer la conexi\u00f3n, intercambiar mensajes y gestionar las operaciones admitidas por el servidor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-76 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta organizaci\u00f3n permite separar las conexiones y facilita la incorporaci\u00f3n de nuevas capacidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-77 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, debemos recordar que el cliente MCP es un componente t\u00e9cnico de la aplicaci\u00f3n y no debe confundirse con el usuario que realiza las solicitudes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. El servidor MCP: donde se ofrecen las herramientas y los recursos<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-78 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor MCP es el componente que pone determinadas capacidades a disposici\u00f3n de las aplicaciones compatibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-79 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas capacidades pueden incluir herramientas, recursos y prompts.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-80 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un servidor puede ofrecer una herramienta para buscar informaci\u00f3n en una base de datos, un recurso que proporciona documentos o una plantilla de instrucciones para realizar una tarea.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-81 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando recibe una solicitud compatible, el servidor ejecuta la operaci\u00f3n correspondiente o proporciona la informaci\u00f3n solicitada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-82 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En algunos casos, el servidor MCP utiliza internamente otras APIs para comunicarse con servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-83 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite que una aplicaci\u00f3n utilice una interfaz MCP com\u00fan sin tener que implementar directamente todas las conexiones particulares de esos servicios.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-84 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No obstante, el servidor sigue necesitando los permisos y las credenciales que correspondan para acceder a los sistemas con los que trabaja.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-85 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, las capacidades disponibles dependen de cada implementaci\u00f3n. No todos los servidores MCP ofrecen las mismas funciones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp-1024x576.png\" alt=\"\" class=\"wp-image-1632\" srcset=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp-1024x576.png 1024w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp-300x169.png 300w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp-768x432.png 768w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp-1536x864.png 1536w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/5.1.-Infografia-arquitectura-mcp-host-cliente-servidor-agentes-ia.webp.png 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">4. C\u00f3mo se comunican los componentes de MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-86 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez identificados los componentes principales, debemos comprender c\u00f3mo intercambian informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-87 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP utiliza mensajes estructurados y <a href=\"https:\/\/modelcontextprotocol.io\/specification\/2025-11-25\/basic\/transports\" target=\"_blank\" rel=\"noreferrer noopener\">mecanismos de transporte<\/a> que permiten establecer la comunicaci\u00f3n entre clientes y servidores.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-88 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los mensajes del protocolo utilizan JSON-RPC, un formato que permite representar solicitudes, respuestas y notificaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-89 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por su parte, los mecanismos de transporte determinan c\u00f3mo se env\u00edan esos mensajes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-90 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre las opciones utilizadas encontramos:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-91 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Comunicaci\u00f3n local mediante stdio<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-92 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Permite intercambiar mensajes mediante la entrada y la salida est\u00e1ndar de un proceso.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-93 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Resulta \u00fatil cuando una aplicaci\u00f3n ejecuta un servidor MCP localmente y establece una conexi\u00f3n directa con \u00e9l.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-94 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Comunicaci\u00f3n mediante HTTP<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-95 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Permite establecer conexiones con servidores MCP accesibles mediante infraestructura HTTP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-96 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En implementaciones compatibles se utiliza Streamable HTTP, aunque debemos tener en cuenta la versi\u00f3n del protocolo y las caracter\u00edsticas de los componentes utilizados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-97 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La elecci\u00f3n del transporte depende de la arquitectura del proyecto, de las capacidades de las aplicaciones y de las condiciones de seguridad necesarias.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-98 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En ambos casos, el objetivo es facilitar el intercambio de mensajes entre el cliente y el servidor mediante el protocolo MCP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. El proceso de conexi\u00f3n y descubrimiento de capacidades<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-99 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de utilizar las herramientas de un servidor MCP, la aplicaci\u00f3n necesita establecer una comunicaci\u00f3n compatible.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-100 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los detalles de este proceso dependen de la versi\u00f3n del protocolo y de la implementaci\u00f3n utilizada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-101 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En t\u00e9rminos generales, el cliente establece una conexi\u00f3n con el servidor y utiliza los mecanismos correspondientes para identificar las capacidades disponibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-102 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, puede obtener informaci\u00f3n sobre las herramientas que ofrece el servidor y las operaciones que admite.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-103 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada herramienta dispone de una descripci\u00f3n y de una estructura que permite conocer los argumentos necesarios para utilizarla.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-104 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n puede proporcionar esta informaci\u00f3n al modelo de lenguaje para que identifique las herramientas disponibles durante una tarea.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-105 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, descubrir una herramienta no significa que deba ejecutarse autom\u00e1ticamente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-106 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El host debe aplicar las autorizaciones, las validaciones y los controles establecidos antes de realizar operaciones externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-107 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta separaci\u00f3n resulta especialmente importante cuando las herramientas pueden acceder a informaci\u00f3n confidencial o modificar datos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Ejemplo pr\u00e1ctico: c\u00f3mo viaja una solicitud por MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-108 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que desarrollamos un asistente de inteligencia artificial que permite consultar informaci\u00f3n almacenada en una base de datos empresarial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-109 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El asistente utiliza un modelo de lenguaje y dispone de una conexi\u00f3n con un servidor MCP que ofrece una herramienta de consulta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-110 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El funcionamiento podr\u00eda organizarse de la siguiente manera:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-111\">\n<li>El usuario solicita al asistente informaci\u00f3n sobre un determinado proyecto.<\/li>\n\n\n\n<li>El host recibe la petici\u00f3n y prepara el contexto necesario para el modelo de lenguaje.<\/li>\n\n\n\n<li>La aplicaci\u00f3n identifica las herramientas disponibles mediante su conexi\u00f3n MCP.<\/li>\n\n\n\n<li>El modelo puede solicitar la utilizaci\u00f3n de una herramienta de consulta.<\/li>\n\n\n\n<li>El host comprueba que la operaci\u00f3n est\u00e1 autorizada.<\/li>\n\n\n\n<li>El cliente MCP transmite la solicitud al servidor correspondiente.<\/li>\n\n\n\n<li>El servidor ejecuta la operaci\u00f3n permitida y devuelve los resultados.<\/li>\n\n\n\n<li>El cliente recibe la respuesta y la proporciona al host.<\/li>\n\n\n\n<li>La aplicaci\u00f3n incorpora la informaci\u00f3n recuperada al contexto del modelo.<\/li>\n\n\n\n<li>El modelo genera una respuesta que el asistente presenta al usuario.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-112 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este ejemplo muestra c\u00f3mo los diferentes componentes trabajan conjuntamente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-113 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El modelo de lenguaje interpreta las instrucciones, el host coordina las operaciones, el cliente establece la comunicaci\u00f3n y el servidor MCP proporciona acceso a la herramienta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-114 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n debemos recordar que el servidor puede utilizar una API tradicional para consultar la base de datos o el servicio correspondiente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-115 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, MCP facilita la comunicaci\u00f3n entre determinados componentes, pero no sustituye necesariamente a las tecnolog\u00edas que utilizan los sistemas externos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Ventajas de una arquitectura MCP modular<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-116 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La separaci\u00f3n entre host, clientes y servidores permite organizar las conexiones de forma modular.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-117 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta caracter\u00edstica puede resultar especialmente interesante cuando desarrollamos aplicaciones que necesitan acceder a diferentes herramientas y fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-118 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre sus principales posibilidades encontramos:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-119 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.1.- <strong>Reutilizaci\u00f3n de integraciones<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-120 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un servidor MCP compatible puede ofrecer sus capacidades a diferentes aplicaciones, siempre que estas admitan los mecanismos necesarios.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-121 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.2.- <strong>Separaci\u00f3n de responsabilidades<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-122 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El host coordina la aplicaci\u00f3n, los clientes gestionan las conexiones y los servidores proporcionan las capacidades externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-123 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>7.3.- Incorporaci\u00f3n de nuevas herramientas<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-124 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos ampliar determinadas funcionalidades mediante nuevos servidores sin tener que redise\u00f1ar por completo todas las conexiones existentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-125 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.4.- <strong>Organizaci\u00f3n de los permisos<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-126 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La arquitectura permite establecer controles diferenciados para determinadas conexiones y operaciones, aunque la seguridad depende de c\u00f3mo se implementen.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-127 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.5.- <strong>Compatibilidad entre componentes<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-128 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El protocolo com\u00fan facilita la comunicaci\u00f3n entre aplicaciones y servidores compatibles, teniendo siempre en cuenta las versiones y las capacidades admitidas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-129 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En definitiva, la arquitectura MCP proporciona una estructura com\u00fan para conectar aplicaciones de inteligencia artificial con herramientas y fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-130 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprender las funciones del host, el cliente y el servidor es fundamental antes de comenzar a desarrollar integraciones m\u00e1s avanzadas o utilizar MCP dentro de nuestros propios agentes IA.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Herramientas, recursos y prompts en MCP<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-131 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong> <\/strong>Herramientas, recursos y prompts en MCP: qu\u00e9 son y c\u00f3mo funcionan<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-132 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una de las caracter\u00edsticas fundamentales de MCP es que permite a los servidores ofrecer diferentes capacidades a las aplicaciones de inteligencia artificial mediante un protocolo com\u00fan.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-133 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre estas capacidades destacan tres elementos principales: las herramientas (<em>Tools<\/em>), los recursos (<em>Resources<\/em>) y las plantillas de instrucciones (<em>Prompts<\/em>).<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-134 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque pueden utilizarse conjuntamente, cada uno cumple una funci\u00f3n diferente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-135 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las herramientas permiten realizar operaciones, los recursos proporcionan informaci\u00f3n y los prompts facilitan instrucciones reutilizables.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-136 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprender estas diferencias es importante para dise\u00f1ar agentes de inteligencia artificial capaces de consultar informaci\u00f3n, interactuar con servicios externos y ejecutar tareas de forma controlada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Qu\u00e9 son las herramientas o Tools en MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-137 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las herramientas son funciones que un servidor MCP pone a disposici\u00f3n de las aplicaciones compatibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-138 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Permiten realizar operaciones espec\u00edficas, como consultar una base de datos, efectuar c\u00e1lculos, buscar informaci\u00f3n o interactuar con una API externa.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-139 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos desarrollar un servidor MCP que ofrezca una herramienta para consultar las condiciones meteorol\u00f3gicas de una ciudad.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-140 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando un usuario solicita informaci\u00f3n sobre el tiempo, el modelo de lenguaje puede identificar esa herramienta como una opci\u00f3n adecuada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-141 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si la aplicaci\u00f3n permite su utilizaci\u00f3n, el cliente MCP env\u00eda la solicitud al servidor, que ejecuta la operaci\u00f3n correspondiente y devuelve los resultados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-142 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una herramienta suele incluir un nombre, una descripci\u00f3n y un esquema que especifica los argumentos necesarios para utilizarla.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-143 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta informaci\u00f3n permite que las aplicaciones y los modelos compatibles comprendan qu\u00e9 funci\u00f3n realiza y c\u00f3mo solicitar su ejecuci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-144 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, disponer de una herramienta no significa que el modelo tenga autorizaci\u00f3n ilimitada para utilizarla.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-145 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n debe aplicar los permisos, las validaciones y los mecanismos de supervisi\u00f3n correspondientes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Qu\u00e9 son los recursos o Resources en MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-146 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los recursos permiten que un servidor MCP proporcione informaci\u00f3n que una aplicaci\u00f3n puede utilizar como contexto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-147 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A diferencia de las herramientas, cuya finalidad principal consiste en ejecutar una funci\u00f3n, los recursos est\u00e1n orientados a ofrecer contenido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-148 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un servidor MCP podr\u00eda proporcionar acceso a documentos, archivos de configuraci\u00f3n o informaci\u00f3n estructurada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-149 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada recurso dispone de un identificador URI que permite localizarlo y solicitar su contenido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-150 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n pueden existir plantillas de recursos que permiten construir identificadores a partir de determinados par\u00e1metros.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-151 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que desarrollamos un asistente encargado de responder preguntas sobre la documentaci\u00f3n de un proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-152 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos configurar un servidor MCP que exponga determinados documentos como recursos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-153 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n podr\u00e1 recuperar el contenido autorizado e incorporarlo al contexto del modelo cuando resulte necesario.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-154 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite proporcionar informaci\u00f3n espec\u00edfica sin incluir permanentemente todos los documentos en cada conversaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-155 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No obstante, debemos comprobar que los recursos ofrecidos contienen informaci\u00f3n apropiada para el usuario y que la aplicaci\u00f3n dispone de los permisos necesarios para acceder a ellos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Qu\u00e9 son los prompts o plantillas de instrucciones<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-156 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los prompts de MCP son plantillas reutilizables que permiten preparar mensajes destinados a los modelos de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-157 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su finalidad consiste en facilitar determinadas interacciones mediante instrucciones previamente definidas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-158 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos crear una plantilla para resumir documentos, analizar informaci\u00f3n o revisar fragmentos de c\u00f3digo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-159 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En lugar de escribir repetidamente las mismas instrucciones, el usuario puede seleccionar una plantilla disponible en una aplicaci\u00f3n compatible.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-160 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Algunas plantillas tambi\u00e9n admiten argumentos que permiten personalizar su contenido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-161 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que disponemos de un prompt denominado \u00abResumir documento\u00bb.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-162 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La plantilla podr\u00eda solicitar el contenido del documento y el tipo de resumen que queremos obtener.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-163 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez proporcionados los argumentos necesarios, la aplicaci\u00f3n recupera los mensajes preparados y los incorpora a la conversaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-164 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De esta manera, los prompts permiten organizar instrucciones frecuentes y facilitar determinadas tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-165 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, una plantilla no ejecuta por s\u00ed misma herramientas externas ni garantiza la exactitud de las respuestas generadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-166 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su funci\u00f3n principal consiste en proporcionar instrucciones estructuradas para una interacci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Diferencias entre herramientas, recursos y prompts<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-167 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque las tres capacidades pueden formar parte de un mismo servidor MCP, resulta importante distinguir sus funciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-168 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Herramientas: realizar operaciones<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-169 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las herramientas permiten ejecutar funciones y, cuando corresponde, interactuar con servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-170 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, consultar una API, realizar un c\u00e1lculo o actualizar un registro autorizado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-171 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Recursos: proporcionar informaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-172 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los recursos permiten recuperar contenidos que pueden utilizarse como contexto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-173 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un documento, un archivo de configuraci\u00f3n o informaci\u00f3n procedente de una fuente determinada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-174 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Prompts: preparar instrucciones<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-175 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los prompts ofrecen plantillas reutilizables para organizar determinadas interacciones con el modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-176 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una plantilla para resumir documentos o preparar un informe.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-177 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En t\u00e9rminos generales, las herramientas suelen estar orientadas a las operaciones que solicita el modelo, los recursos a la informaci\u00f3n que gestiona la aplicaci\u00f3n y los prompts a las instrucciones que selecciona el usuario.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-178 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta distinci\u00f3n describe su funcionamiento habitual, aunque cada aplicaci\u00f3n puede ofrecer diferentes mecanismos de interacci\u00f3n y supervisi\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-179 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para profundizar en estas diferencias, puedes consultar la <a href=\"https:\/\/modelcontextprotocol.io\/docs\/sdk\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n oficial de los SDK de MCP<\/a>, donde se explica c\u00f3mo implementar herramientas, recursos y prompts<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. C\u00f3mo descubre y utiliza estas capacidades una aplicaci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-180 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando una aplicaci\u00f3n establece una conexi\u00f3n con un servidor MCP, puede consultar las capacidades que este ofrece.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-181 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Dependiendo de las caracter\u00edsticas del servidor, podr\u00e1 descubrir herramientas, recursos y prompts.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-182 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada tipo de capacidad dispone de mecanismos espec\u00edficos para consultar sus elementos disponibles y solicitar su utilizaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-183 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una aplicaci\u00f3n puede obtener la lista de herramientas de un servidor y conocer los argumentos que necesita cada una.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-184 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n puede recuperar la lista de recursos disponibles o consultar las plantillas de instrucciones ofrecidas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-185 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez descubiertas estas capacidades, la aplicaci\u00f3n decide c\u00f3mo presentarlas al usuario y c\u00f3mo incorporarlas al funcionamiento del modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-186 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No todas las aplicaciones muestran los mismos elementos ni permiten utilizarlos de id\u00e9ntica manera.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-187 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, algunas operaciones pueden requerir autorizaciones adicionales o estar restringidas por la configuraci\u00f3n del servidor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-188 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, la compatibilidad con MCP no garantiza que todas las capacidades de cualquier servidor est\u00e9n disponibles en todas las aplicaciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Ejemplo pr\u00e1ctico: combinar Tools, Resources y Prompts<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-189 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que desarrollamos un agente de inteligencia artificial encargado de preparar informes sobre proyectos empresariales.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-190 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Queremos que pueda consultar documentos, recuperar informaci\u00f3n actualizada y utilizar una estructura com\u00fan para elaborar los informes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-191 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos dise\u00f1ar un servidor MCP que ofrezca las siguientes capacidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-192 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Un recurso para consultar documentaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-193 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor proporciona acceso autorizado a determinados documentos del proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-194 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n recupera la informaci\u00f3n necesaria y la incorpora al contexto del modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-195 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Una herramienta para consultar tareas pendientes<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-196 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor ofrece una funci\u00f3n que permite consultar las tareas registradas en un sistema externo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-197 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando resulta necesario, el modelo puede solicitar su utilizaci\u00f3n y la aplicaci\u00f3n gestiona la operaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-198 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Un prompt para preparar informes<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-199 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor ofrece una plantilla con las instrucciones y la estructura que deben seguir los informes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-200 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El usuario selecciona la plantilla y proporciona los par\u00e1metros necesarios.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-201 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El proceso completo podr\u00eda organizarse de la siguiente manera:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-202\">\n<li>El usuario selecciona la plantilla para preparar un informe.<\/li>\n\n\n\n<li>La aplicaci\u00f3n recupera el prompt y obtiene las instrucciones correspondientes.<\/li>\n\n\n\n<li>La aplicaci\u00f3n incorpora los documentos autorizados mediante los recursos disponibles.<\/li>\n\n\n\n<li>El modelo identifica si necesita consultar informaci\u00f3n adicional.<\/li>\n\n\n\n<li>Si procede, solicita la utilizaci\u00f3n de una herramienta.<\/li>\n\n\n\n<li>La aplicaci\u00f3n comprueba los permisos y ejecuta la solicitud mediante el cliente MCP.<\/li>\n\n\n\n<li>El servidor devuelve los resultados de la operaci\u00f3n.<\/li>\n\n\n\n<li>El modelo utiliza la informaci\u00f3n recibida para preparar el informe.<\/li>\n\n\n\n<li>El usuario revisa el contenido antes de almacenarlo o compartirlo.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-203 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este ejemplo demuestra c\u00f3mo las tres capacidades pueden complementarse dentro de una misma aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-204 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los recursos proporcionan informaci\u00f3n, las herramientas permiten realizar operaciones y los prompts ayudan a estructurar determinadas tareas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Buenas pr\u00e1cticas al utilizar las capacidades de MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-205 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando desarrollamos aplicaciones o agentes que utilizan servidores MCP, debemos prestar atenci\u00f3n tanto a la funcionalidad como a la seguridad.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-206 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una herramienta mal configurada podr\u00eda ejecutar operaciones no deseadas. Del mismo modo, un recurso podr\u00eda proporcionar informaci\u00f3n que el usuario no est\u00e1 autorizado a consultar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-207 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n debemos considerar que las instrucciones procedentes de fuentes externas pueden contener informaci\u00f3n incorrecta o intentar modificar el comportamiento previsto del agente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-208 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ello, conviene adoptar determinadas precauciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-209 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.1.- <strong>Definir claramente las herramientas<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-210 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada herramienta debe disponer de una descripci\u00f3n comprensible y de argumentos bien definidos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-211 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.2.- <strong>Aplicar permisos espec\u00edficos<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-212 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las aplicaciones y los servidores deben comprobar qu\u00e9 operaciones est\u00e1n autorizadas y qu\u00e9 informaci\u00f3n puede consultar cada usuario.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-213 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.3.- <strong>Validar los argumentos<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-214 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de ejecutar una herramienta, debemos comprobar que los datos recibidos cumplen los requisitos establecidos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-215 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.4.- <strong>Controlar el acceso a los recursos<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-216 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los documentos y las fuentes de informaci\u00f3n deben estar sujetos a las pol\u00edticas de acceso correspondientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-217 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.5.- <strong>Revisar las instrucciones externas<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-218 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los prompts y los contenidos recuperados no deben considerarse autom\u00e1ticamente fiables. Es necesario mantener una separaci\u00f3n adecuada entre las instrucciones autorizadas y la informaci\u00f3n procedente de fuentes externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-219 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">7.6.- <strong>Supervisar las operaciones importantes<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-220 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las acciones que puedan modificar informaci\u00f3n, enviar comunicaciones o producir consecuencias relevantes deben contar con mecanismos de autorizaci\u00f3n y supervisi\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-221 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En definitiva, las herramientas, los recursos y los prompts constituyen tres elementos fundamentales para comprender las posibilidades de MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-222 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su utilizaci\u00f3n conjunta permite desarrollar aplicaciones de inteligencia artificial m\u00e1s flexibles, siempre que se establezcan los controles necesarios y se compruebe la compatibilidad de los diferentes componentes.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">C\u00f3mo empezar a utilizar MCP: conectar un servidor y comprobar su funcionamiento<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-223 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s de conocer la arquitectura y las capacidades de MCP, el siguiente paso consiste en comprender c\u00f3mo podemos utilizarlo en un entorno real.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-224 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para comenzar, no necesitamos desarrollar un agente de inteligencia artificial completo ni contratar un servidor externo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-225 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos realizar una prueba local utilizando un servidor MCP sencillo y una herramienta que permita conectarnos a \u00e9l.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-226 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En este ejemplo utilizaremos <strong>MCP Inspector<\/strong>, una aplicaci\u00f3n que permite explorar las capacidades de los servidores MCP, ejecutar sus herramientas y comprobar las respuestas que proporcionan.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-227 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El objetivo es comprender el proceso de conexi\u00f3n y familiarizarnos con los componentes que posteriormente podremos integrar en nuestros agentes IA.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Qu\u00e9 necesitamos para empezar con MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-228 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de realizar nuestra primera conexi\u00f3n, necesitamos disponer de un entorno adecuado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-229 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los requisitos concretos dependen del servidor MCP que queramos utilizar y de la aplicaci\u00f3n desde la que vayamos a establecer la conexi\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-230 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para este ejemplo necesitaremos:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-231\">\n<li>Un ordenador con Windows, macOS o Linux.<\/li>\n\n\n\n<li>Una instalaci\u00f3n de Node.js y npm que incluya el comando <code>npx<\/code>.<\/li>\n\n\n\n<li>Acceso a una terminal o consola de comandos.<\/li>\n\n\n\n<li>Conexi\u00f3n a Internet para descargar los paquetes necesarios.<\/li>\n\n\n\n<li>MCP Inspector, que utilizaremos para probar la conexi\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-232 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No es necesario contratar servicios externos ni facilitar credenciales personales para realizar esta primera prueba.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-233 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Utilizaremos un servidor MCP de ejemplo que trabaja con una carpeta local.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Qu\u00e9 es MCP Inspector y para qu\u00e9 sirve<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-234 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP Inspector es una herramienta de desarrollo que permite conectarse a servidores MCP y examinar sus capacidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-235 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Resulta especialmente \u00fatil para aprender c\u00f3mo funciona el protocolo y comprobar que un servidor responde correctamente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-236 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Mediante su interfaz podemos explorar las herramientas disponibles, consultar sus descripciones, introducir argumentos y observar los resultados de las operaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-237 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n permite inspeccionar otras capacidades, como recursos y prompts, cuando el servidor correspondiente las ofrece.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-238 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su principal ventaja es que podemos comprobar el funcionamiento de un servidor sin necesidad de desarrollar previamente una aplicaci\u00f3n de inteligencia artificial que act\u00fae como host.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-239 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos utilizar MCP Inspector para conectarnos a un servidor local y comprobar si ofrece una herramienta para consultar determinados archivos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-240 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto facilita la detecci\u00f3n de problemas antes de incorporar el servidor a un proyecto m\u00e1s complejo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Preparar un servidor MCP local de ejemplo<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-241 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para nuestra primera prueba utilizaremos un servidor MCP que permite realizar operaciones autorizadas sobre archivos y carpetas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-242 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este tipo de servidor es \u00fatil para comprender c\u00f3mo una aplicaci\u00f3n puede acceder a recursos almacenados en nuestro ordenador.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-243 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En primer lugar, debemos crear una carpeta espec\u00edfica para las pruebas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-244 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos llamarla <code>pruebas-mcp<\/code> y guardar dentro un archivo de texto que contenga informaci\u00f3n ficticia.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-245 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos crear un archivo denominado <code>proyecto.txt<\/code> con el siguiente contenido:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-246 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Proyecto:<\/strong> Directorio de agentes IA.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-247 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Objetivo:<\/strong> Publicar art\u00edculos educativos sobre modelos de lenguaje, APIs y agentes de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-248 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Estado:<\/strong> Proyecto en desarrollo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-249 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es importante utilizar \u00fanicamente informaci\u00f3n de prueba y evitar documentos personales, contrase\u00f1as o archivos confidenciales.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-250 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A continuaci\u00f3n, abriremos una terminal y utilizaremos MCP Inspector para iniciar el servidor de ejemplo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Conectar MCP Inspector con el servidor<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-251 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez preparada nuestra carpeta de pruebas, podemos iniciar MCP Inspector.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-252 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para ello, abrimos la terminal y ejecutamos el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code has-ast-global-color-3-background-color has-background\"><code>npx -y @modelcontextprotocol\/inspector<\/code><\/pre>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-253 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La herramienta iniciar\u00e1 un entorno de inspecci\u00f3n y mostrar\u00e1 una direcci\u00f3n local que podremos abrir desde nuestro navegador.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-254 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Dentro de MCP Inspector debemos configurar una conexi\u00f3n mediante el transporte STDIO.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-255 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En el campo correspondiente al comando, introducimos:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-256 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><code>npx<\/code><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-257 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En los argumentos, indicamos:<\/p>\n\n\n\n<pre class=\"wp-block-code has-ast-global-color-3-background-color has-background\"><code>-y @modelcontextprotocol\/server-filesystem RUTA_DE_LA_CARPETA<\/code><\/pre>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-258 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos sustituir <code>RUTA_DE_LA_CARPETA<\/code> por la ruta absoluta de nuestra carpeta de pruebas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-259 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, en un sistema Windows podr\u00eda utilizarse una ruta como <code>C:\\pruebas-mcp<\/code>, mientras que en Linux o macOS la ruta depender\u00e1 de la ubicaci\u00f3n elegida.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-260 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor de ejemplo recibir\u00e1 esa ruta y la utilizar\u00e1 para determinar qu\u00e9 carpeta puede gestionar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-261 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez introducidos los datos, pulsamos el bot\u00f3n de conexi\u00f3n de MCP Inspector.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-262 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si todo est\u00e1 configurado correctamente, la aplicaci\u00f3n establecer\u00e1 una comunicaci\u00f3n con el servidor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Descubrir las herramientas disponibles<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-263 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando la conexi\u00f3n se establece correctamente, podemos explorar las capacidades que ofrece el servidor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-264 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para ello, accedemos a la secci\u00f3n de herramientas de MCP Inspector.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-265 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n solicitar\u00e1 al servidor la informaci\u00f3n necesaria para identificar las herramientas disponibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-266 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En un servidor de archivos, podemos encontrar funciones relacionadas con la consulta de directorios, la lectura de documentos y otras operaciones sobre archivos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-267 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La lista concreta depender\u00e1 de la versi\u00f3n del servidor y de su configuraci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-268 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada herramienta dispone de una descripci\u00f3n que explica su finalidad y de un esquema que define los argumentos que necesita.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-269 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una herramienta de lectura de archivos puede requerir que indiquemos la ruta del documento que queremos consultar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-270 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta informaci\u00f3n permite comprender c\u00f3mo una aplicaci\u00f3n compatible puede descubrir las capacidades del servidor y utilizarlas posteriormente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Ejecutar nuestra primera herramienta MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-271 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez identificadas las herramientas disponibles, podemos realizar nuestra primera prueba.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-272 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Buscaremos una herramienta que permita consultar el contenido de un archivo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-273 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Seleccionamos esa herramienta e introducimos la ruta del documento de prueba que hemos creado anteriormente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-274 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s, ejecutamos la operaci\u00f3n desde MCP Inspector.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-275 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El cliente enviar\u00e1 la solicitud al servidor MCP, que comprobar\u00e1 la operaci\u00f3n y tratar\u00e1 de recuperar el contenido solicitado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-276 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si el archivo existe, la ruta es correcta y la operaci\u00f3n est\u00e1 permitida, el servidor devolver\u00e1 la informaci\u00f3n correspondiente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-277 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP Inspector mostrar\u00e1 el resultado para que podamos comprobarlo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-278 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De esta manera, habremos realizado una comunicaci\u00f3n real entre un cliente y un servidor MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-279 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n habremos comprobado c\u00f3mo el servidor expone una herramienta y c\u00f3mo podemos utilizarla mediante el protocolo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-280 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta prueba no requiere que un modelo de lenguaje intervenga en la operaci\u00f3n, ya que estamos ejecutando directamente la herramienta desde un entorno de desarrollo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. C\u00f3mo comprobar que MCP funciona correctamente<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-281 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s de realizar nuestra primera operaci\u00f3n, conviene verificar que todos los componentes funcionan de la manera prevista.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-282 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En primer lugar, debemos comprobar que MCP Inspector establece la conexi\u00f3n con el servidor sin mostrar errores.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-283 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s, podemos verificar que aparecen las herramientas disponibles y que sus descripciones corresponden a las funciones que esperamos encontrar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-284 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A continuaci\u00f3n, ejecutamos una herramienta sencilla y comprobamos que el servidor devuelve un resultado coherente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-285 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n podemos realizar una prueba con una ruta inexistente para observar c\u00f3mo responde el servidor cuando no puede completar una operaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-286 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si encontramos problemas, debemos revisar la instalaci\u00f3n de Node.js, la disponibilidad del comando <code>npx<\/code>, la configuraci\u00f3n del servidor y las rutas utilizadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-287 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Otro aspecto importante consiste en comprobar los permisos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-288 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un servidor de archivos no deber\u00eda disponer de acceso indiscriminado a todo nuestro ordenador. Debemos limitar las carpetas autorizadas y utilizar informaci\u00f3n de prueba.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-289 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Finalmente, cuando terminemos, podemos cerrar MCP Inspector y detener los procesos que hayamos iniciado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-290 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta primera experiencia nos permitir\u00e1 comprender c\u00f3mo conectar un servidor MCP, descubrir sus capacidades y comprobar su funcionamiento antes de incorporarlo a una aplicaci\u00f3n de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-291 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El siguiente paso ser\u00e1 estudiar las precauciones de seguridad que debemos adoptar cuando utilizamos MCP para conectar agentes IA con herramientas y servicios externos.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Seguridad, permisos y limitaciones de MCP en los agentes IA<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-292 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El protocolo MCP facilita la conexi\u00f3n entre aplicaciones de inteligencia artificial y herramientas externas. Sin embargo, estas conexiones tambi\u00e9n pueden introducir riesgos relacionados con la privacidad, el acceso a los datos y la ejecuci\u00f3n de operaciones no autorizadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-293 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos un agente IA que puede consultar documentos, acceder a una base de datos y enviar correos electr\u00f3nicos. Aunque estas funciones resultan \u00fatiles, debemos establecer controles para evitar que el agente acceda a informaci\u00f3n confidencial o ejecute acciones que el usuario no ha autorizado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-294 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por este motivo, la seguridad debe formar parte del dise\u00f1o de cualquier aplicaci\u00f3n que utilice MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-295 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El protocolo proporciona mecanismos de comunicaci\u00f3n y contempla diferentes aspectos relacionados con la autorizaci\u00f3n, pero no garantiza por s\u00ed solo que una integraci\u00f3n sea segura. La protecci\u00f3n efectiva depende tambi\u00e9n de c\u00f3mo se configuren las aplicaciones, los servidores y los servicios externos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Por qu\u00e9 es importante la seguridad en MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-296 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando utilizamos un modelo de lenguaje para generar respuestas, los principales riesgos pueden estar relacionados con la calidad de la informaci\u00f3n y el tratamiento de los datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-297 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, cuando conectamos ese modelo con herramientas externas, aparecen nuevas posibilidades y tambi\u00e9n nuevas responsabilidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-298 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una herramienta podr\u00eda permitir consultar archivos, modificar registros, acceder a informaci\u00f3n empresarial o ejecutar operaciones en un servicio externo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-299 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si estas capacidades no est\u00e1n correctamente protegidas, una aplicaci\u00f3n podr\u00eda exponer informaci\u00f3n confidencial o realizar acciones no deseadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-300 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, los modelos de lenguaje pueden interpretar incorrectamente determinadas instrucciones o recibir contenido malicioso procedente de fuentes externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-301 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, debemos diferenciar entre las operaciones que un agente puede solicitar y las operaciones que realmente est\u00e1 autorizado a ejecutar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-302 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta separaci\u00f3n es fundamental para desarrollar aplicaciones de inteligencia artificial fiables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Control de acceso y permisos de los servidores MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-303 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Uno de los principios m\u00e1s importantes de la seguridad inform\u00e1tica es conceder \u00fanicamente los permisos necesarios para realizar una tarea.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-304 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este principio, conocido como m\u00ednimo privilegio, tambi\u00e9n debe aplicarse a los servidores MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-305 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, si desarrollamos un asistente que necesita consultar documentos, no deber\u00edamos proporcionarle autom\u00e1ticamente permisos para modificar o eliminar esos archivos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-306 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Del mismo modo, un servidor que permite consultar una base de datos no necesita necesariamente disponer de permisos administrativos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-307 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Siempre que sea posible, conviene separar las herramientas de consulta de aquellas que permiten realizar modificaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-308 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n debemos limitar el acceso a las carpetas, las bases de datos y los servicios que realmente necesita cada integraci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-309 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De esta manera, reducimos las consecuencias que podr\u00eda tener una operaci\u00f3n incorrecta o un posible problema de seguridad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Autenticaci\u00f3n y autorizaci\u00f3n: dos conceptos diferentes<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-310 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando conectamos aplicaciones de inteligencia artificial con servicios externos, debemos comprender la diferencia entre autenticaci\u00f3n y autorizaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-311 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La autenticaci\u00f3n permite comprobar la identidad de un usuario o de una aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-312 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La autorizaci\u00f3n determina qu\u00e9 operaciones puede realizar esa identidad y a qu\u00e9 recursos tiene permitido acceder.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-313 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un usuario puede identificarse correctamente en una aplicaci\u00f3n empresarial, pero eso no significa que tenga autorizaci\u00f3n para consultar todos los documentos de la organizaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-314 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta diferencia tambi\u00e9n debe respetarse cuando utilizamos MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-315 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En determinados escenarios, especialmente cuando trabajamos con servidores MCP remotos, podemos utilizar <a href=\"https:\/\/modelcontextprotocol.io\/specification\/2026-07-28\/basic\/authorization\" target=\"_blank\" rel=\"noreferrer noopener\">mecanismos de autorizaci\u00f3n<\/a> basados en est\u00e1ndares como OAuth.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-316 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, los requisitos concretos dependen del transporte utilizado, del servidor y de la arquitectura de la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-317 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No debemos asumir que todos los servidores MCP utilizan el mismo sistema de autenticaci\u00f3n ni que una conexi\u00f3n establecida concede autom\u00e1ticamente acceso a todos los recursos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. El riesgo de las instrucciones maliciosas o prompt injection<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-318 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Uno de los riesgos m\u00e1s relevantes al conectar agentes IA con informaci\u00f3n externa es la inyecci\u00f3n de instrucciones, conocida como <em>prompt injection<\/em>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-319 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este problema aparece cuando un modelo recibe contenido que contiene instrucciones destinadas a alterar su comportamiento.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-320 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, imaginemos que un agente utiliza MCP para consultar documentos de un proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-321 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Uno de esos documentos podr\u00eda contener instrucciones maliciosas que intentan convencer al modelo de que ignore las indicaciones originales o utilice una herramienta para enviar informaci\u00f3n a un destino no autorizado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-322 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque el documento deber\u00eda utilizarse \u00fanicamente como fuente de informaci\u00f3n, el modelo podr\u00eda interpretar incorrectamente esas instrucciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-323 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ello, no debemos considerar autom\u00e1ticamente fiables los documentos, las p\u00e1ginas web ni los resultados obtenidos mediante herramientas externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-324 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las aplicaciones deben mantener una separaci\u00f3n adecuada entre las instrucciones autorizadas y la informaci\u00f3n que reciben de otras fuentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-325 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, las operaciones sensibles deben contar con controles independientes del modelo de lenguaje.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. C\u00f3mo proteger las credenciales y los datos confidenciales<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-326 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Muchos servidores MCP necesitan conectarse a servicios externos mediante claves de API, tokens de acceso u otros mecanismos de autenticaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-327 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas credenciales permiten realizar determinadas operaciones y, por tanto, deben protegerse adecuadamente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-328 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No es recomendable incluir claves privadas directamente en documentos, instrucciones destinadas al modelo o repositorios p\u00fablicos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-329 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando resulte apropiado, podemos utilizar variables de entorno o sistemas especializados para gestionar secretos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-330 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n debemos evitar proporcionar a los agentes informaci\u00f3n confidencial que no sea necesaria para completar sus tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-331 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, si un servidor MCP necesita consultar el estado de un proyecto, no deber\u00eda recibir autom\u00e1ticamente acceso a todos los documentos empresariales.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-332 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Otra precauci\u00f3n consiste en revisar qu\u00e9 informaci\u00f3n se transmite a servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-333 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque un servidor MCP se ejecute localmente, puede utilizar internamente APIs remotas. Por tanto, debemos comprobar qu\u00e9 datos env\u00eda y a qu\u00e9 servicios se conecta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Buenas pr\u00e1cticas para utilizar MCP de forma segura<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-334 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de incorporar un servidor MCP a nuestros agentes de inteligencia artificial, conviene adoptar una serie de medidas preventivas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-335 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Utilizar servidores de confianza.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-336 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos revisar la procedencia de los servidores MCP que instalamos, su documentaci\u00f3n y los permisos que necesitan.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-337 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Aplicar el principio de m\u00ednimo privilegio.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-338 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada servidor debe disponer \u00fanicamente de los permisos necesarios para realizar sus funciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-339 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Solicitar confirmaci\u00f3n para operaciones importantes.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-340 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las acciones que puedan eliminar archivos, modificar informaci\u00f3n, enviar comunicaciones o realizar operaciones econ\u00f3micas deben contar con mecanismos adecuados de autorizaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-341 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Proteger las credenciales.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-342 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las claves de API, los tokens y otros secretos deben almacenarse de forma segura y no deben incluirse innecesariamente en el contexto del modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-343 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Validar las entradas y los resultados.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-344 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos comprobar los argumentos que reciben las herramientas y tratar con precauci\u00f3n la informaci\u00f3n procedente de fuentes externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-345 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Mantener los componentes actualizados.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-346 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es recomendable utilizar versiones compatibles y mantener actualizados los servidores MCP, las bibliotecas y las aplicaciones utilizadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-347 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Registrar y supervisar las operaciones.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-348 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando resulte apropiado, podemos mantener registros de las operaciones realizadas para detectar errores, investigar incidentes y comprobar el funcionamiento del sistema, evitando almacenar informaci\u00f3n sensible innecesaria.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-349 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas medidas no eliminan todos los riesgos, pero ayudan a reducirlos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Limitaciones de MCP que debemos conocer<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-350 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque MCP facilita la integraci\u00f3n de herramientas y fuentes de informaci\u00f3n, tambi\u00e9n presenta limitaciones que debemos considerar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-351 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En primer lugar, MCP es un protocolo de comunicaci\u00f3n, no un sistema completo de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-352 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por s\u00ed solo, no proporciona capacidades de razonamiento, planificaci\u00f3n ni autonom\u00eda a los agentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-353 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas funciones dependen de los modelos de lenguaje, las aplicaciones y los dem\u00e1s componentes utilizados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-354 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En segundo lugar, la compatibilidad entre aplicaciones y servidores puede variar seg\u00fan las versiones del protocolo y las capacidades implementadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-355 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, una aplicaci\u00f3n puede admitir herramientas MCP, pero no ofrecer soporte para todas las dem\u00e1s funciones disponibles.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-356 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Otra limitaci\u00f3n importante es la dependencia de los servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-357 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si un servidor MCP utiliza una API que deja de funcionar, presenta errores o modifica sus condiciones de acceso, las herramientas correspondientes tambi\u00e9n pueden verse afectadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-358 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, el protocolo no garantiza que la informaci\u00f3n proporcionada por un servidor sea correcta ni que las respuestas generadas por el modelo est\u00e9n libres de errores.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-359 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por \u00faltimo, MCP no sustituye las medidas tradicionales de seguridad inform\u00e1tica.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-360 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La autenticaci\u00f3n, los permisos, la protecci\u00f3n de credenciales, la supervisi\u00f3n y las validaciones siguen siendo responsabilidades fundamentales de quienes desarrollan y administran las aplicaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-361 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En definitiva, MCP proporciona una base com\u00fan para conectar aplicaciones de inteligencia artificial con herramientas externas, pero debemos combinarlo con una arquitectura adecuada y controles de seguridad efectivos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-362 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprender estas limitaciones nos permitir\u00e1 utilizar el protocolo de forma responsable y desarrollar agentes IA mejor preparados para trabajar con informaci\u00f3n y servicios reales.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">MCP y los agentes IA: integraciones y ejemplos pr\u00e1cticos<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-363 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los agentes de inteligencia artificial pueden utilizar modelos de lenguaje para interpretar instrucciones, analizar informaci\u00f3n y participar en la ejecuci\u00f3n de tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-364 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, para realizar operaciones que requieren informaci\u00f3n actualizada o acceso a servicios externos, necesitan mecanismos adicionales que les permitan comunicarse con otras aplicaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-365 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aqu\u00ed es donde entra en juego MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-366 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El Model Context Protocol proporciona una forma estandarizada de conectar aplicaciones de inteligencia artificial con servidores que ofrecen herramientas, recursos y otras capacidades.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-367 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Gracias a esta arquitectura, podemos desarrollar agentes capaces de consultar documentos, interactuar con determinados servicios y combinar diferentes fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-368 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A continuaci\u00f3n, veremos c\u00f3mo utilizar MCP dentro de un agente IA y analizaremos algunos ejemplos pr\u00e1cticos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. C\u00f3mo se integra MCP en un agente de inteligencia artificial<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-369 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para comprender esta integraci\u00f3n, debemos recordar que un agente de inteligencia artificial puede estar formado por diferentes componentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-370 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre ellos encontramos el modelo de lenguaje, la aplicaci\u00f3n que coordina su funcionamiento, las herramientas externas y los mecanismos que permiten intercambiar informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-371 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El modelo de lenguaje interpreta las instrucciones y puede identificar cu\u00e1ndo necesita utilizar una herramienta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-372 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n coordina las operaciones, gestiona el contexto y establece las condiciones bajo las cuales pueden ejecutarse determinadas acciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-373 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por su parte, MCP facilita la comunicaci\u00f3n entre la aplicaci\u00f3n y los servidores que ofrecen las capacidades externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-374 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podemos desarrollar un agente que utilice un modelo de lenguaje para analizar una solicitud y un servidor MCP para consultar informaci\u00f3n almacenada en una base de datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-375 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando el modelo identifica que necesita esa informaci\u00f3n, puede solicitar la utilizaci\u00f3n de una herramienta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-376 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n comprueba que la operaci\u00f3n est\u00e1 permitida y transmite la solicitud mediante el cliente MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-377 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor ejecuta la funci\u00f3n correspondiente y devuelve los resultados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-378 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Finalmente, el modelo utiliza la informaci\u00f3n recuperada para preparar una respuesta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-379 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es importante destacar que MCP no decide por s\u00ed mismo qu\u00e9 tareas debe realizar el agente. La planificaci\u00f3n, la selecci\u00f3n de herramientas y la supervisi\u00f3n dependen del dise\u00f1o de la aplicaci\u00f3n y de las capacidades del modelo utilizado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ejemplo pr\u00e1ctico: un agente IA que consulta documentos<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-380 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una de las aplicaciones m\u00e1s interesantes de MCP consiste en conectar agentes de inteligencia artificial con documentos y fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-381 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que queremos desarrollar un asistente para consultar la documentaci\u00f3n de un proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-382 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El usuario podr\u00eda realizar preguntas como:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-383 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u00ab\u00bfCu\u00e1les son los objetivos del proyecto y qu\u00e9 tareas quedan pendientes?\u00bb.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-384 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para responder correctamente, el agente necesita acceder a informaci\u00f3n que no necesariamente forma parte de los conocimientos del modelo de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-385 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos utilizar un servidor MCP que ofrezca acceso autorizado a los documentos correspondientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-386 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El proceso podr\u00eda funcionar de la siguiente manera:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-387\">\n<li>El usuario formula una pregunta.<\/li>\n\n\n\n<li>El agente interpreta la solicitud.<\/li>\n\n\n\n<li>La aplicaci\u00f3n identifica las herramientas o recursos disponibles.<\/li>\n\n\n\n<li>Si resulta necesario, el modelo solicita una herramienta de b\u00fasqueda documental.<\/li>\n\n\n\n<li>La aplicaci\u00f3n comprueba los permisos y realiza la solicitud mediante MCP.<\/li>\n\n\n\n<li>El servidor recupera la informaci\u00f3n autorizada.<\/li>\n\n\n\n<li>El modelo recibe los resultados y prepara una respuesta.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-388 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este sistema puede resultar \u00fatil para consultar manuales, documentaci\u00f3n t\u00e9cnica, archivos de proyectos o bases de conocimiento empresariales.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-389 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No obstante, debemos recordar que recuperar informaci\u00f3n no garantiza que la interpretaci\u00f3n del modelo sea correcta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-390 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ello, cuando resulte apropiado, conviene conservar las referencias de los documentos utilizados y permitir que el usuario compruebe las fuentes originales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Ejemplo pr\u00e1ctico: conectar un agente IA con APIs externas<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-391 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Otra posibilidad consiste en utilizar MCP para conectar agentes de inteligencia artificial con servicios que ofrecen sus funcionalidades mediante APIs.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-392 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, imaginemos que desarrollamos un agente encargado de consultar informaci\u00f3n meteorol\u00f3gica.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-393 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El agente necesita acceder a datos actualizados que proporciona un servicio externo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-394 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos desarrollar o utilizar un servidor MCP que se comunique con la API de ese servicio.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-395 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El servidor ofrecer\u00eda una herramienta para consultar las condiciones meteorol\u00f3gicas de una ubicaci\u00f3n determinada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-396 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando el usuario realiza una consulta, el modelo puede solicitar esa herramienta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-397 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n transmite la solicitud al servidor MCP y este utiliza la <a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-una-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">API<\/a> correspondiente para recuperar los datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-398 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Posteriormente, el servidor devuelve la informaci\u00f3n a la aplicaci\u00f3n y el modelo prepara la respuesta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-399 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En este ejemplo intervienen diferentes componentes:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-400\">\n<li>El modelo de lenguaje interpreta la consulta.<\/li>\n\n\n\n<li>La aplicaci\u00f3n coordina el funcionamiento del agente.<\/li>\n\n\n\n<li>MCP establece la comunicaci\u00f3n con el servidor compatible.<\/li>\n\n\n\n<li>El servidor utiliza la API del servicio meteorol\u00f3gico.<\/li>\n\n\n\n<li>El agente recibe los resultados y prepara la respuesta.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-401 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este ejemplo demuestra que MCP y las APIs no son tecnolog\u00edas excluyentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-402 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De hecho, un servidor MCP puede actuar como intermediario entre una aplicaci\u00f3n de inteligencia artificial y diferentes servicios que ya disponen de sus propias APIs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Ejemplo pr\u00e1ctico: automatizaci\u00f3n de tareas con MCP<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-403 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP tambi\u00e9n puede formar parte de sistemas que automatizan determinadas tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-404 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Imaginemos que queremos desarrollar un agente que consulte informaci\u00f3n sobre proyectos y prepare informes peri\u00f3dicos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-405 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El agente podr\u00eda conectarse a diferentes servidores MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-406 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Uno de ellos proporcionar\u00eda acceso a documentos y otro ofrecer\u00eda herramientas para consultar el estado de las tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-407 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n coordinar\u00eda las conexiones y utilizar\u00eda los resultados para preparar el informe.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-408 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El funcionamiento podr\u00eda organizarse de la siguiente manera:<\/p>\n\n\n\n<ol start=\"1\" style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-409\">\n<li>El sistema inicia la tarea programada.<\/li>\n\n\n\n<li>La aplicaci\u00f3n recupera la informaci\u00f3n necesaria.<\/li>\n\n\n\n<li>El agente identifica si necesita consultar herramientas adicionales.<\/li>\n\n\n\n<li>Los clientes MCP transmiten las solicitudes a los servidores correspondientes.<\/li>\n\n\n\n<li>Los servidores ejecutan las operaciones autorizadas.<\/li>\n\n\n\n<li>El modelo analiza los resultados y prepara el informe.<\/li>\n\n\n\n<li>La aplicaci\u00f3n guarda el documento o lo presenta para su revisi\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-410 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos tener en cuenta que MCP no incorpora por s\u00ed mismo un sistema de programaci\u00f3n de tareas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-411 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para ejecutar operaciones peri\u00f3dicas necesitamos una aplicaci\u00f3n o plataforma que gestione la planificaci\u00f3n y coordine el funcionamiento del agente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-412 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Asimismo, las acciones que puedan modificar datos o enviar informaci\u00f3n a terceros deben disponer de controles de autorizaci\u00f3n adecuados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. C\u00f3mo combinar MCP con OpenRouter<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-413 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Otra posibilidad interesante consiste en combinar MCP con plataformas que facilitan el acceso a diferentes modelos de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-414 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un ejemplo es OpenRouter, que proporciona una API para acceder a distintos modelos de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-415 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Podemos desarrollar una aplicaci\u00f3n que utilice OpenRouter para comunicarse con un modelo compatible y que, al mismo tiempo, incorpore un cliente MCP para conectarse a herramientas externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-416 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En esta arquitectura, cada componente desempe\u00f1a una funci\u00f3n espec\u00edfica.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-417 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">OpenRouter proporciona el acceso al modelo de lenguaje.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-418 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El modelo interpreta las instrucciones y, si admite las capacidades necesarias, puede solicitar la utilizaci\u00f3n de herramientas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-419 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La aplicaci\u00f3n coordina el funcionamiento del sistema y gestiona las solicitudes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-420 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP facilita la comunicaci\u00f3n con los servidores que ofrecen las herramientas y los recursos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-421 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podr\u00edamos desarrollar un asistente que utilice un modelo accesible mediante OpenRouter y un servidor MCP para consultar documentos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-422 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuando el usuario realiza una pregunta, la aplicaci\u00f3n env\u00eda la informaci\u00f3n necesaria al modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-423 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si el modelo solicita una herramienta, la aplicaci\u00f3n comprueba la autorizaci\u00f3n, utiliza MCP para ejecutar la operaci\u00f3n y devuelve los resultados al modelo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-424 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es importante se\u00f1alar que <a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-openrouter\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenRouter<\/a> no convierte autom\u00e1ticamente cualquier modelo en un agente compatible con MCP.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-425 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para desarrollar esta integraci\u00f3n necesitamos una aplicaci\u00f3n que implemente las conexiones correspondientes y un modelo que admita las funciones necesarias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. MCP en entornos locales, servidores VPS y proyectos propios<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-426 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP puede utilizarse en diferentes entornos, dependiendo de las necesidades del proyecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-427 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una opci\u00f3n consiste en ejecutar determinados servidores MCP localmente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-428 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este enfoque puede resultar \u00fatil durante el desarrollo, para realizar pruebas o cuando necesitamos conectar una aplicaci\u00f3n con archivos y herramientas instalados en nuestro ordenador.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-429 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n podemos utilizar servidores MCP remotos, siempre que dispongamos de una infraestructura y de los mecanismos de comunicaci\u00f3n adecuados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-430 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, podr\u00edamos alojar un servidor MCP en un VPS para ofrecer determinadas herramientas a una aplicaci\u00f3n que se ejecuta desde otra ubicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-431 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, publicar un servidor MCP en Internet requiere adoptar medidas adicionales de seguridad.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-432 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos configurar correctamente las conexiones, proteger las credenciales y aplicar los controles de autenticaci\u00f3n y autorizaci\u00f3n correspondientes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-433 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n es importante comprobar que las herramientas no ofrecen acceso innecesario a archivos, servicios internos o informaci\u00f3n confidencial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-434 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La elecci\u00f3n entre una instalaci\u00f3n local y una infraestructura remota depender\u00e1 de las caracter\u00edsticas del proyecto, de sus necesidades de disponibilidad y de los requisitos de seguridad.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-435 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP proporciona un protocolo com\u00fan, pero no sustituye la administraci\u00f3n de los sistemas donde se ejecutan sus componentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-436 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/agentes-ia\/\" target=\"_blank\" rel=\"noreferrer noopener\">Directorio de agentes de inteligencia artificial.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. C\u00f3mo elegir las integraciones MCP adecuadas para nuestro agente IA<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-437 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de incorporar <a href=\"https:\/\/modelcontextprotocol.io\/docs\/learn\/architecture\" target=\"_blank\" rel=\"noreferrer noopener\">servidores MCP<\/a> a un proyecto, debemos definir qu\u00e9 tareas queremos que realice nuestro agente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-438 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No todos los agentes necesitan acceder a numerosas herramientas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-439 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, un asistente que responde preguntas sobre documentos puede necesitar \u00fanicamente una conexi\u00f3n que permita recuperar informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-440 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En cambio, un agente encargado de coordinar diferentes servicios puede necesitar varias herramientas y mecanismos adicionales de supervisi\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-441 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para seleccionar las integraciones adecuadas, conviene considerar los siguientes aspectos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-442 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Definir el objetivo del agente.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-443 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos identificar qu\u00e9 problema queremos resolver y qu\u00e9 informaci\u00f3n o herramientas necesita realmente la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-444 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Comprobar la compatibilidad.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-445 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es importante verificar que la aplicaci\u00f3n admite las capacidades del servidor MCP y que ambos utilizan versiones compatibles del protocolo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-446 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Revisar los permisos.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-447 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debemos conocer qu\u00e9 informaci\u00f3n puede consultar cada servidor y qu\u00e9 operaciones puede realizar.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-448 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Evaluar la procedencia de las integraciones.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-449 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de instalar servidores de terceros, conviene revisar su documentaci\u00f3n, su mantenimiento y las dependencias que utilizan.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-450 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Comenzar con integraciones sencillas.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-451 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Durante las primeras pruebas, resulta recomendable utilizar servidores que ofrezcan operaciones limitadas y trabajar con informaci\u00f3n ficticia.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-452 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Supervisar los resultados.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-453 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las respuestas del modelo y las operaciones realizadas mediante herramientas deben verificarse, especialmente cuando afectan a informaci\u00f3n importante.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-454 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En definitiva, MCP puede facilitar el desarrollo de agentes de inteligencia artificial que utilizan diferentes herramientas y fuentes de informaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-455 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su principal aportaci\u00f3n consiste en proporcionar una interfaz de comunicaci\u00f3n com\u00fan que permite organizar determinadas integraciones de forma modular.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-456 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Sin embargo, el funcionamiento final del agente depender\u00e1 de la arquitectura elegida, de las capacidades del modelo de lenguaje y de los mecanismos de seguridad y supervisi\u00f3n que incorporemos.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n: MCP y el futuro de los agentes de inteligencia artificial<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-457 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP, o Model Context Protocol, es un est\u00e1ndar abierto que facilita la conexi\u00f3n entre aplicaciones de inteligencia artificial y herramientas, servicios y fuentes de informaci\u00f3n externas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-458 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Su principal aportaci\u00f3n consiste en proporcionar un protocolo com\u00fan que permite organizar estas conexiones sin tener que desarrollar desde cero una integraci\u00f3n diferente para cada aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-459 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A lo largo de esta gu\u00eda hemos aprendido qu\u00e9 es MCP, c\u00f3mo funciona su arquitectura y cu\u00e1les son las diferencias entre sus componentes principales: host, cliente y servidor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-460 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n hemos explicado las tres capacidades fundamentales que pueden ofrecer los servidores MCP: herramientas, recursos y prompts.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-461 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Mediante un ejemplo pr\u00e1ctico, hemos visto c\u00f3mo conectar un servidor local, explorar sus herramientas y comprobar su funcionamiento utilizando MCP Inspector.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-462 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Adem\u00e1s, hemos analizado la importancia de la seguridad, la protecci\u00f3n de credenciales y el control de permisos cuando conectamos agentes IA con sistemas externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-463 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Finalmente, hemos explorado diferentes aplicaciones pr\u00e1cticas, como la consulta de documentos, la integraci\u00f3n con APIs, la automatizaci\u00f3n de tareas y la utilizaci\u00f3n de modelos de lenguaje mediante plataformas como OpenRouter.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-464 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MCP no sustituye a los modelos de lenguaje, las APIs ni las aplicaciones que coordinan los agentes. Su funci\u00f3n consiste en facilitar la comunicaci\u00f3n entre determinados componentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-465 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por tanto, conocer este protocolo constituye un paso importante para quienes desean comprender c\u00f3mo funcionan los agentes de inteligencia artificial y comenzar a desarrollar proyectos que utilizan herramientas y fuentes de informaci\u00f3n externas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre OpenRouter<\/h2>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-466 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfQu\u00e9 es MCP en inteligencia artificial?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">MCP significa Model Context Protocol. Es un est\u00e1ndar abierto que permite conectar aplicaciones de inteligencia artificial con servidores que ofrecen herramientas, recursos y plantillas de instrucciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Su objetivo es facilitar la comunicaci\u00f3n entre estas aplicaciones y los sistemas externos que necesitan utilizar.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-467 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfPara qu\u00e9 sirve MCP en los agentes IA?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">MCP permite que las aplicaciones que coordinan agentes de inteligencia artificial se conecten con herramientas y fuentes de informaci\u00f3n mediante un protocolo com\u00fan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, un agente puede utilizar un servidor MCP para consultar documentos, recuperar informaci\u00f3n de una base de datos o acceder a determinadas funciones de un servicio externo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ejecuci\u00f3n de estas operaciones depende de las capacidades de la aplicaci\u00f3n y de los permisos establecidos.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-468 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfCu\u00e1l es la diferencia entre MCP y una API?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">Una API permite que diferentes aplicaciones intercambien informaci\u00f3n o utilicen funcionalidades de otros sistemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MCP es un protocolo especializado en facilitar la conexi\u00f3n entre aplicaciones de inteligencia artificial y servidores que ofrecen determinadas capacidades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas tecnolog\u00edas pueden utilizarse conjuntamente. Por ejemplo, un servidor MCP puede conectarse internamente a una API para recuperar informaci\u00f3n de un servicio externo.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-469 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfEs necesario saber programar para utilizar MCP?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">No siempre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existen aplicaciones que permiten configurar conexiones con determinados servidores MCP sin desarrollar todos sus componentes desde cero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, crear servidores personalizados, integrar servicios espec\u00edficos o resolver problemas t\u00e9cnicos puede requerir conocimientos de programaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para comenzar, podemos utilizar herramientas como MCP Inspector y servidores de ejemplo.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-470 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfMCP funciona con cualquier modelo de inteligencia artificial?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">MCP no depende exclusivamente de un modelo de lenguaje concreto, pero eso no significa que cualquier modelo o aplicaci\u00f3n pueda utilizar todas sus funciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para trabajar con MCP necesitamos una aplicaci\u00f3n que implemente el protocolo y sea compatible con las capacidades del servidor correspondiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si queremos que un modelo solicite la ejecuci\u00f3n de herramientas, tambi\u00e9n necesitaremos que admita las funciones necesarias y que la aplicaci\u00f3n gestione correctamente las operaciones.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color wp-elements-471 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#e5e7eb;font-size:18px\"><summary><strong>\u00bfEs seguro utilizar servidores MCP?<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">La seguridad depende de la configuraci\u00f3n del servidor, de los permisos concedidos y de los controles implementados por la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MCP no garantiza por s\u00ed mismo que una integraci\u00f3n sea segura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de conectar un servidor, debemos revisar su procedencia, limitar los permisos, proteger las credenciales y comprobar qu\u00e9 operaciones puede realizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n conviene solicitar confirmaci\u00f3n para las acciones importantes y tratar con precauci\u00f3n la informaci\u00f3n procedente de fuentes externas.<\/p>\n<\/details>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Sigue aprendiendo sobre agentes de inteligencia artificial<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-472 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Comprender MCP resulta m\u00e1s sencillo cuando conocemos las tecnolog\u00edas que forman parte del ecosistema de los agentes de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-473 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si quieres profundizar en estos conceptos, te recomendamos las siguientes gu\u00edas:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-474 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-un-llm\/\" target=\"_blank\" rel=\"noreferrer noopener\">Qu\u00e9 es un LLM y c\u00f3mo funcionan los modelos de lenguaje.<\/a><\/strong> Descubre qu\u00e9 son los modelos de lenguaje y por qu\u00e9 constituyen uno de los componentes fundamentales de muchas aplicaciones de inteligencia artificial.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-475 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/modelos-de-ia-abiertos-y-cerrados\/\" target=\"_blank\" rel=\"noreferrer noopener\">Modelos de IA abiertos y cerrados.<\/a><\/strong> Conoce las diferencias entre ambos tipos de modelos y los aspectos que debemos considerar al seleccionar uno para nuestros proyectos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-476 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-una-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">Qu\u00e9 es una API y para qu\u00e9 sirve.<\/a><\/strong> Aprende c\u00f3mo se comunican diferentes aplicaciones y por qu\u00e9 las APIs son importantes para conectar los agentes IA con servicios externos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-477 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-openrouter\/\" target=\"_blank\" rel=\"noreferrer noopener\">Qu\u00e9 es OpenRouter y c\u00f3mo funciona.<\/a><\/strong> Descubre c\u00f3mo acceder a diferentes modelos de lenguaje mediante una API y c\u00f3mo podemos incorporar esta plataforma a nuestros proyectos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-478 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n puedes visitar nuestro <strong><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/category\/inteligencia-artificial\/\" target=\"_blank\" rel=\"noreferrer noopener\">Directorio de agentes de inteligencia artificial<\/a><\/strong>, donde encontrar\u00e1s art\u00edculos, gu\u00edas y recursos para seguir aprendiendo sobre estas tecnolog\u00edas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/blog\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ver todas las entradas del blog<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Volver a la p\u00e1gina principal<\/a><\/p>\n\n\n\n<div class=\"wp-block-group has-text-color has-background has-link-color wp-elements-479 is-layout-constrained wp-block-group-is-layout-constrained\" style=\"color:#94a3b8;background-color:#111827\">\n<p class=\"has-text-color has-link-color wp-elements-480 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:25px\">\u26a0\ufe0f Aviso importante<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-481 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este art\u00edculo tiene una finalidad exclusivamente educativa e informativa. Los ejemplos de programaci\u00f3n, las integraciones mediante API y las arquitecturas de agentes de inteligencia artificial se presentan para explicar el funcionamiento de estas tecnolog\u00edas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-482 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las caracter\u00edsticas, los modelos disponibles, las tarifas, los l\u00edmites de utilizaci\u00f3n y las pol\u00edticas de privacidad de OpenRouter y sus proveedores pueden cambiar. Antes de implementar cualquier integraci\u00f3n, consulta la documentaci\u00f3n oficial y verifica las condiciones vigentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-483 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Protege siempre tus claves API y evita enviar informaci\u00f3n confidencial a servicios externos sin comprobar previamente sus condiciones de tratamiento de datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-484 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los ejemplos relacionados con el an\u00e1lisis de informaci\u00f3n econ\u00f3mica o financiera no constituyen asesoramiento de inversi\u00f3n. Los resultados generados mediante modelos de inteligencia artificial deben verificarse antes de utilizarse para tomar decisiones.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Si te preguntas qu\u00e9 es MCP, el Model Context Protocol (MCP) es un est\u00e1ndar abierto que permite conectar aplicaciones de inteligencia artificial con herramientas, servicios externos y fuentes de informaci\u00f3n mediante un sistema de comunicaci\u00f3n com\u00fan. Su objetivo es facilitar que los modelos de lenguaje puedan trabajar con informaci\u00f3n y funcionalidades que no forman parte [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[19],"class_list":["post-1625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inteligencia-artificial","tag-agentes-ia"],"_links":{"self":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/comments?post=1625"}],"version-history":[{"count":11,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1625\/revisions"}],"predecessor-version":[{"id":3312,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1625\/revisions\/3312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media\/1631"}],"wp:attachment":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media?parent=1625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/categories?post=1625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/tags?post=1625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}