En este tutorial, creará un sencillo servidor de [protocolo de contexto del modelo] (https://www.ibm.com/es-es/think/topics/model-context-protocol) (MCP) que expone una única herramienta para buscar tutoriales de IBM. Al utilizar el marco "fastmcp" y la biblioteca de solicitudes, el script descarga un índice JSON de tutoriales desde una URL remota. A continuación, busca coincidencias con la consulta de un usuario y devuelve una lista de resultados ordenada. También añadirá la gestión de errores para problemas de red, JSON defectuoso y problemas inesperados, haciendo que la herramienta sea robusta y fácil de usar para principiantes. Por último, ejecutará el servidor MCP para que pueda conectarse y probarse con un cliente como Cursor.
Tanto los desarrolladores de empresas como los de startups están desarrollando cada vez más soluciones impulsadas por la [inteligencia artificial] (https://www.ibm.com/es-es/think/topics/artificial-intelligence) generativa . Para que sus soluciones sean más útiles, necesitan información y contexto actualizados. Los modelos de machine learning necesitan interoperar con herramientas, interfaces de programación de aplicaciones(API), kits de desarrollo de software (SDK) y sistemas front-end para que eso suceda.
El MCP estandariza la forma en que se pasa el contexto entre los modelos de IA y sistemas. Simplifica la coordinación en un modelo de lenguaje de gran tamaño (LLM) y fuentes y herramientas de datos externas. Una analogía común es pensar en el MCP como un puerto USB-C para un LLM. Hacen que un LLM sea mucho más útil porque el modelo tiene acceso a capacidades y datos que no formaban parte del entrenamiento del modelo. Esta capacidad es especialmente útil al crear agentes de IA.
MCP fue desarrollado por Anthropic y fue adoptado por los principales proveedores de IA, incluidos OpenAI, Google DeepMind y los sectores más amplios. Proporciona una forma segura y estandarizada para que los modelos de IA accedan y utilicen datos externos, recursos (como plantillas de instrucciones) y herramientas.
Además, entornos de desarrollo integrados (IDE) como Cursor y Visual Studio Code también han adoptado MCP, lo que permite a sus asistentes de IA acceder a los servidores MCP para que su uso sea más relevante para el contexto y más fácil para los desarrolladores. Creado como un estándar abierto, las organizaciones utilizan el MCP para actuar como puente entre el mundo estocástico de la IA generativa y el mundo determinista de la mayoría de los sistemas empresariales que existen en la actualidad. El MCP proporciona a un LLM información contextual de forma similar a otros patrones de diseño que han empezado a surgir, como generación aumentada por recuperación (RAG), llamadas a herramientas y agentes de IA.
Algunas ventajas de usar MCP en comparación con estas otras soluciones incluyen:
- Escala: los servidores MCP pueden definirse y alojarse una vez y utilizarse en muchos sistemas de IA. Esta capacidad limita la necesidad de definir el acceso a los mismos datos de origen, recursos y herramientas de IA para múltiples sistemas de IA generativa.
- Recuperación de datos: a diferencia de la RAG, donde la recuperación de datos requiere preprocesamiento y vectorización antes de la consulta, MCP es dinámico y permite fluctuaciones y actualizaciones de fuentes de información en tiempo real.
- Complejidad: MCP es bastante sencillo de configurar e incorporar a las aplicaciones de IA, como demostramos aquí. Puede utilizar archivos de configuración fácilmente para hacer que un servidor MCP sea portátil en todos los entornos.
- Independiente de la plataforma: más allá del hecho de que puede crear servidores MCP con Python, TypeScript u otros lenguajes, tampoco están acoplados a una solución LLM específica.
- Depuración a través de un modelo cliente/servidor: el cliente MCP envía solicitudes al servidor MCP, que luego obtiene los datos necesarios de varios sistemas y fuentes externas, ya sean API, bases de datos o archivos locales. Este enfoque estructurado garantiza que el modelo de IA reciba un contexto coherente y relevante, lo que conduce a resultados más precisos y fiables. MCP utiliza JSON-RPC para codificar mensajes y admite 2 mecanismos de transporte, stdio y HTTP streamable. En iteraciones anteriores del protocolo, también admitía HTTP con eventos enviados por el servidor (SSE)
La necesidad de mantenerse constantemente al día con la información más reciente que su empresa necesita puede ser desalentadora. MCP puede ayudar a crear un contexto e incorporar nueva información para los contratos a medida que se ejecutan, información heredada que se está digitalizando pero que no necesariamente se ha hecho digerible y mucho más. Esa información puede ser tanto interna como externa, pero al añadir contexto se evita la lenta necesidad de reciclar un LLM para que sea útil.
Hay muchos servidores MCP remotos disponibles, así como muchas implementaciones de referencia de github.com
Esta guía paso a paso se puede encontrar en nuestro repositorio de GitHub junto con el script server.py al que hará referencia al crear su servidor MCP. En este tutorial, veremos cómo crear un servidor MCP personalizado básico que pueda:
Para facilitar la realización de este tutorial, hemos creado un mecanismo mediante el cual el servidor que usted creará podrá consumir fácilmente el contenido de nuestro tutorial sin necesidad de autenticación.
- Python 3.11 o posterior instalado en su ordenador (compruébelo ejecutando python3 --version en su terminal).
- El módulo venv integrado está disponible (viene con Python en la mayoría de los sistemas; en algunas distribuciones de Linux, es posible que deba instalarlo por separado con Sudo apt install python3-venv).
- Un terminal de línea de comandos (CLI):
- macOS o Linux: utilice su aplicación Terminal (estos entornos son de tipo Unix).
- Windows: utilice PowerShell o Símbolo del sistema, con pequeñas diferencias de sintaxis explicadas en el próximo paso.
- Un editor de texto o IDE de su elección
Cree un nuevo directorio y acceda a él
Asegurándose de que se encuentra en el directorio
Nota: en Windows, podría sustituir
Una vez que haya creado el entorno virtual, debe activarlo mediante el siguiente comando
Una vez activado, es probable que su shell le muestre
Ahora necesita instalar el paquete Python para
Instale el paquete
Una vez completado este paso, puede comprobar que fastMCP está instalado correctamente con el siguiente comando
Si obtiene un resultado similar al siguiente, tiene fastMCP instalado en su entorno virtual.
FastMCP version: 2.10.1
MCP version: 1.10.1
Python version: 3.11.13
Platform: macOS-15.5-arm64-arm-64bit
FastMCP root path: /opt/homebrew/lib/python3.11/site-packages
Ahora que tiene fastMCP instalado, vamos a crear nuestro servidor MCP.
Cree un nuevo archivo en el directorio y llamémosle
Una vez que tenga ese archivo, ábralo y copie y pegue el siguiente fragmento de código en él
Repasemos el código anterior y expliquemos qué hacen las partes clave.
El script comienza importando FastMCP, que proporciona el marco para crear un servidor MCP, y las solicitudes, que se utilizan para descargar datos a través de HTTP. Hemos añadido una constante
A continuación, creamos una instancia de servidor MCP con
El
La búsqueda no distingue entre mayúsculas y minúsculas: la consulta se convierte a minúsculas, y el título y la URL de cada tutorial también se reducen para la búsqueda de coincidencias. Si un tutorial contiene el término buscado en el título o en la URL, se añade a una lista de resultados relevantes.
Si no hay tutoriales que coincidan con la búsqueda, la función devuelve un mensaje descriptivo que indica que no se ha encontrado nada. Si hay coincidencias, la función crea una lista numerada y formateada que muestra el título, la URL, la fecha y, si está disponible, el autor de cada tutorial. El formato utiliza negrita al estilo Markdown para los títulos, de modo que destaquen en los clientes que lo admiten. El texto formateado final se devuelve como una sola cadena.
La función incluye el manejo de excepciones específicas:
Un gestor de
Cada error devuelve un mensaje descriptivo a la persona que llama en lugar de detener el programa.
En la parte inferior, el bloque
Ahora que ha creado su servidor, debe habilitarlo en su IDE antes de poder usarlo. Hay muchos clientes que admiten MCP con varios niveles de integración con el protocolo. El sitio web oficial de MCP proporciona una lista exhaustiva de ejemplos de clientes.
Si tiene Cursor instalado, puede añadir el servidor MCP dentro de Cursor siguiendo estas instrucciones.
Abra la configuración de Cursor y vaya a Herramientas e integraciones. Seleccione Nuevo servidor MCP y pegue el contenido en el archivo mcp.json que Cursor abre en una nueva pestaña. Asegúrese de reemplazar <YOUR PATH>
por el directorio en el que se encuentra. Puede ejecutar pwd en su terminal para obtener la ruta completa. Para más información sobre Cursor y MCP, consulte la documentación de Cursor.
{
"mcpServers": {
"tutorials": {
"command": "fastmcp",
"args": ["run <YOUR PATH>/ibmtutorialmcpserver/server.py"],
"env": {
}
}
}
}
Si es usuario de Microsoft VS Code, puede añadir el servidor MCP siguiendo las instrucciones enlazadas aquí. Asegúrese de que Copilot esté configurado en VS Code antes de continuar.
Si desea habilitar el servidor MCP mediante un archivo, cree un archivo .vscode/mcp.json en el directorio de este proyecto y copie y pegue este código en el archivo. Asegúrese de reemplazar <YOUR PATH> por el directorio en el que se encuentra. Puede ejecutar pwd en su terminal para obtener la ruta completa.
"servers": {
"IBM Tutorials": {
"type": "stdio",
"command": "fastmcp",
"args": [
"run",
"<YOUR PATH>/ibmtutorialmcpserver/server.py"
]
},
},
Ahora que ha habilitado su servidor MCP, pongámoslo en marcha para que pueda utilizar la herramienta creada en server.py. Si utiliza VS Code, consulte estos documentos.
En el chat del IDE, preguntaré "¿Cuáles son algunos tutoriales de series temporales de IBM?". A continuación se muestra el resultado recibido, pero su respuesta puede variar según el modelo utilizado y su IDE.
Resultado:
Here are some IBM time series tutorials:
Time series forecasting with Lag-Llama (zero-shot learning)
Tutorial link
Predict overnight low temperatures using the Lag-Llama model in a zero-shot learning scenario.
Using the watsonx.ai Time Series Forecasting API to predict energy demand
Tutorial link
Predict energy demand with the watsonx.ai Time Series Forecasting API.
Authors: Aleksandra Kłeczek and Meredith Syed
Let me know if you want details or help with a specific tutorial.
¡Genial! El agente ha podido utilizar la herramienta
En este tutorial, ha aprendido a crear un servidor MCP para buscar en todos nuestros tutoriales mediante cualquier cliente MCP que prefiera. Ha creado un servidor MCP con una única herramienta de búsqueda que recupera un índice JSON remoto de tutoriales, filtra los resultados en función de un término de búsqueda y los devuelve en un formato legible. Utiliza fastmcp para registrar y ejecutar la herramienta, solicita la obtención de los datos e incluye la gestión de errores para la red, el análisis y los problemas inesperados. Cuando se ejecuta, los clientes MCP pueden conectar el servidor para consultar en directo todos nuestros tutoriales.
Cree, implemente y gestione potentes asistentes y agentes de IA que automaticen flujos de trabajo y procesos con IA generativa.
Construya el futuro de su empresa con soluciones de IA en las que puede confiar.
Los servicios de IA de IBM Consulting ayudan a reinventar la forma de trabajar de las empresas usando IA para la transformación.