
taller agentes mcp python
使用 MCP 协议创建智能工具和代理,集成 Python SDK、LangGraph 和 LangChain。
Repository Info
About This Server
使用 MCP 协议创建智能工具和代理,集成 Python SDK、LangGraph 和 LangChain。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
taller de agentes y mcp
Uso con Dev Container
Este proyecto está preparado para funcionar en un Dev Container de VS Code. Un Dev Container es un entorno de desarrollo preconfigurado y reproducible que incluye todas las dependencias necesarias (como Python y node) dentro de un contenedor Docker.
¿Qué ventajas tiene?
- No necesitas instalar nada en tu máquina salvo Docker y Visual Studio Code.
- El entorno es idéntico para todos los usuarios.
- Incluye todas las herramientas necesarias (Python, node, git, etc.) ya instaladas.
¿Cómo usar el proyecto con Dev Container?
- Instala Docker y Visual Studio Code.
- Instala la extensión Dev Containers en VS Code.
- Abre este proyecto en VS Code.
- Cuando VS Code lo detecte, selecciona "Reopen in Container" o abre la paleta de comandos (
Ctrl+Shift+Pen windows y linux oCmd+Shift+pen mac), buscaDev Containers: Reopen in Containery ejecútalo. - Espera a que se construya el contenedor (esto puede tardar varios minutos la primera vez, se descarga la imagen e instala las dependencias).
- ¡Listo! Ya puedes usar el entorno con todas las dependencias instaladas.
Si necesitas reconstruir el contenedor (por ejemplo, tras cambiar el Dockerfile), usa la opción "Dev Containers: Rebuild and Reopen in Container" desde la paleta de comandos.
Este proyecto usa Model Context Protocol, LangGraph y LangChain.
Conexión a ollama
El dev container se levanta en la misma red que el host y hacer fordward del puerto de ollama por defecto, el 11434. Si cambiarais esto, debeis cambiar tanto el forwardPorts como la variable de entorno OLLAMA_API_URL.
Variables de entorno
He quitado los .env, mania mia, y he movida las variables a la configuración del dev container. Si quereis usar langfuse, cambiar el ics del calendario, o usar google maps, tendresi que actualizar las variables de entorno en la configuracion del devcontainer: .devcontainer/devcontainer.json y hacer un rebuild del contenedor: abre la paleta de comandos (Ctrl+Shift+P en windows y linux o Cmd+Shift+p en mac), busca Dev Containers: Rebuild Container y ejecútalo.
Instalación
El dev container instala las dependencias python despues de crearse y cada vez que se hace un rebuild, pero siempre se puede hacer a mano normalmente:
pip install .
tools
En la carpeta tools están las siguientes herramientas (todas usan el SDK oficial de Model Context Protocol):
- calendar: herramienta que permite consultar eventos de un calendario en formato iCal.
- weather: herramienta que obtiene información meteorológica actual y pronósticos.
- drive: herramienta que te prevision de tiempo de viaje con google maps, coordenadas y direcciones.
Nota: La herramienta calendar funciona como un servidor SSE (Server-Sent Events), por lo que debe estar en ejecución antes de que los agentes puedan consultarla. Para iniciar el servidor de calendar, ejecuta:
python pasoX/tools/calendar/main.py
Asegúrate de que este proceso esté activo antes de lanzar cualquier agente que dependa de la herramienta de calendario.
agents
se encuentran los agentes inteligentes implementados. Cada agente está diseñado para interactuar con una o varias herramientas MCP, resolviendo tareas específicas mediante flujos definidos con LangGraph o LangChain. Consulta la documentación de cada agente para detalles sobre su funcionamiento y configuración.
Ejecución
Para ejecutar un agente, por ejemplo el reactivo:
python pasoX/agents/reactive.py
listado de actividades a las que corresponde cada paso:
🛠️ Actividad paso0: Clonar proyecto base y ejecutar un ejemplo simple en cada lenguaje
python test_ollama.py
🛠️ Actividad paso1: Añadir una función que devuelva la respuesta de open meteo completa
python paso1/tools/weather/main.py
🛠️ Actividad paso2: Añadir una herramienta que use la función anterior
npx @modelcontextprotocol/inspector (python paso2/tools/weather/main.py)
🛠️ Actividad paso3: Creamos un agente react, que es el más sencillo de desarrollar, y que llame a la herramienta anterior.
python paso3/agents/reactive.py
🛠️ Actividad paso4: Vamos a hacer una poda a la respuesta de open meteo. ¿Mejoran las respuestas? ¿Y el tiempo de ejecución?
python paso4/agents/reactive.py
🛠️ Actividad paso5: Añadir una función que llame a un calendario ICS y devuelva un JSON con tus eventos
python paso5/tools/calendar/main.py npx @modelcontextprotocol/inspector (http://127.0.0.1:8000/sse)
🛠️ Actividad paso6: Haz que tu agente use las dos herramientas en una sola consulta
python paso6/tools/calendar/main.py python paso6/agents/reactive.py
🛠️ Demo paso7: Uso de LangFuse
docker compose up -d (ejecutarlo en el ordenador, no en el dev container) python paso7/agents/reactive.py
🛠️ Demo pasoGdrive: Bonus track + google drive WIP
docker compose up -d (ejecutarlo en el ordenador, no en el dev container) python pasoGdrive/agents/reactive.py
Quick Start
Clone the repository
git clone https://github.com/mcp-workshop/taller-agentes-mcp-pythonInstall dependencies
cd taller-agentes-mcp-python
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.