En este tutorial, creará un [Model Context Protocol] simple (https://www.ibm.com/mx-es/think/topics/model-context-protocol) (MCP) que expone una única herramienta para buscar tutoriales de IBM. Al utilizar la infraestructura 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 perfectamente formateada. También agregará manejo de errores para problemas de red, JSON incorrecto y problemas inesperados, lo que hace que la herramienta sea robusta y fácil de usar para principiantes. Finalmente, ejecutará el servidor MCP para que pueda conectarse y probarse con un cliente como Cursor.
Tanto los desarrolladores empresariales como los de empresas emergentes están desarrollando cada vez más [inteligencia artificial] generativa (https://www.ibm.com/mx-es/think/topics/artificial-intelligence) soluciones impulsadas por IA. Para que sus soluciones sean más útiles, necesitan información y contexto actualizados. El machine learning modelos necesita 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 y sistemas de IA. Simplifica la coordinación en un modelo de lenguaje grande (LLM) y fuentes y herramientas de datos externas. Una analogía común es pensar en 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 agentes de IA.
MCP fue desarrollado por Anthropic y fue adoptado por los principales proveedores de IA, incluidos OpenAI, Google DeepMind y la industria en general. 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 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. MCP proporciona un LLM con información contextual de manera similar a otros patrones de diseño que han comenzado a surgir, como [generación aumentada por recuperación] (https://www.ibm.com/mx-es/think/topics/retrieval-augmented-generation) (RAG), toolcalling y agentes de IA.
Algunas ventajas de usar MCP en comparación con estas otras soluciones incluyen:
- Escala: los servidores MCP se pueden definir y alojar una vez y ser utilizados por 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 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 usar 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 externos, 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 lleva a resultados más precisos y confiables. MCP utiliza JSON-RPC para codificar mensajes y admite 2 mecanismos de transporte, stdio y HTTP que se puede transmitir. 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 contexto e incorporar nueva información para los contratos a medida que se ejecutan, información heredada/existente que se digitaliza pero que no necesariamente se hace digerible y más. Esa información puede ser tanto interna como externa, pero agregar contexto evita la necesidad de volver a entrenar 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 server.py al que hará referencia al crear su servidor MCP. En este tutorial, veremos la creación de 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 construirá puede consumir fácilmente el contenido de nuestro tutorial sin necesidad de autenticación.
- Python 3.11 o posterior instalado en su computadora (compruébelo ejecutando la versión python3 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).
- Una terminal de línea de comandos (CLI):
- macOS o Linux: use su aplicación Terminal (estos entornos son similares a Unix).
- Windows: use PowerShell o la instrucción de comando, con pequeñas diferencias de sintaxis explicadas en los siguientes pasos.
- Un editor de texto o IDE de su elección
Cree un nuevo directorio y cd en él
Asegurarse de que está en el directorio
Nota: En Windows, es posible que pueda reemplazar
Una vez que haya creado el entorno virtual, debe activarlo con el siguiente comando
Una vez activado, es probable que su shell le muestre
Ahora necesita instalar el paquete Python para
Instale el
Una vez completado este paso, puede verificar que fastMCP esté instalado correctamente ejecutando 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 tiene fastMCP instalado, vamos a crear nuestro servidor MCP.
Cree un nuevo archivo en el directorio y démosle el nombre
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é están haciendo las partes clave.
El script comienza importando FastMCP, que proporciona la infraestructura para crear un servidor MCP y solicitudes, que se utilizan para descargar datos a través de HTTP. Hemos agregado una constante
Luego creamos una instancia de servidor MCP con
Hay
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 que coincidan. Si un tutorial contiene el término de búsqueda en el título o en la URL, se agrega a una lista de resultados relevantes.
Si no hay tutoriales que coincidan con la búsqueda, la función devuelve un mensaje amigable que indica que no se encontró 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 se destaquen en los clientes que lo admiten. El texto final con formato se devuelve como una sola cadena.
La función incluye el manejo de excepciones específicas:
Un general
Cada error devuelve un mensaje descriptivo a la persona que llama en lugar de detener el programa.
En la parte inferior, el
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 agregar el servidor MCP dentro de Cursor siguiendo estas instrucciones.
Abra la configuración del cursor y vaya a Herramientas e integraciones. Seleccione Nuevo servidor MCP y péguelo en mcp.json que Cursor abre en una nueva pestaña. Asegúrese de reemplazar <YOUR PATH> con el directorio en el que se encuentra. Puede ejecutar pwd en su terminal para obtener la ruta completa. Para obtener más información sobre Cursor y MCP, consulte los documentos de Cursor.
{
"mcpServers": {
"tutorials": {
"command": "fastmcp",
"args": ["run <YOUR PATH>/ibmtutorialmcpserver/server.py"],
"env": {
}
}
}
}
Si es usuario de Microsoft VS Code, puede agregar el servidor MCP siguiendo las instrucciones vinculadas 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> con 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, pongamos en marcha el servidor para que pueda usar 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.
¡Excelente! El agente pudo utilizar el
En este tutorial, aprendió a crear un servidor MCP para buscar en todos nuestros tutoriales utilizando cualquier cliente MCP que prefiera. Creó un servidor MCP con una única herramienta de búsqueda que recupera un índice JSON remoto de tutoriales, filtró los resultados en función de un término de búsqueda y los devolvió en un formato legible. Utiliza fastmcp para registrar y ejecutar la herramienta, solicita obtener los datos e incluye manejo de errores para la red, análisis y problemas inesperados. Cuando se ejecuta, los clientes MCP pueden conectar el servidor para consultar en vivo todos nuestros tutoriales.
Cree, implemente y gestione poderosos 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 pueda confiar.
Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.