MCP ExplorerExplorer

Taller Agentes Mcp Nodejs

@mcp-workshopon 14 days ago
1 MIT
FreeCommunity
AI Systems
A Node.js project for managing MCP servers with agents.

Overview

What is Taller Agentes Mcp Nodejs

taller-agentes-mcp-nodejs is a Node.js-based project designed for building and managing agents in an MCP (Multi-Channel Platform) environment.

Use cases

Use cases include building chatbots for customer support, managing IoT devices across different platforms, and creating automated workflows that interact with users through various channels.

How to use

To use taller-agentes-mcp-nodejs, clone the repository from GitHub, install the necessary dependencies using npm, and follow the setup instructions provided in the README file.

Key features

Key features include support for multiple agents, easy integration with existing MCP systems, and a modular architecture that allows for customization and scalability.

Where to use

taller-agentes-mcp-nodejs can be used in various fields such as customer service automation, IoT device management, and any application requiring multi-channel communication.

Content

taller de agentes y mcp

Este proyecto usa MCP para crear herramientas y agentes inteligentes, integrando Model Context Protocol, LangGraph y LangChain.

Requisitos previos

Instalación

Instala las dependencias del proyecto:

npm i

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:

node pasoX/tools/calendar/index.js

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:

node pasoX/agents/reactive.js

Configuración de variables de entorno (.env)

Algunas herramientas requieren configuración adicional mediante variables de entorno. En particular, la herramienta de calendario necesita que definas la URL de tu calendario en un archivo .env dentro de tools/calendar/:

CALENDAR_URL=https://datos.madrid.es/egob/catalogo/300082-8-calendario_laboral.ics

en el ejemplo esta la url de los festivos de Madrid

Puedes usar el archivo .env.example como plantilla. Si no configuras esta variable, la herramienta de calendario no funcionará.

listado de actividades a las que corresponde cada paso:

🛠️ Actividad paso0: Clonar proyecto base y ejecutar un ejemplo simple en cada lenguaje

node test_ollama.js

🛠️ Actividad paso1: Añadir una función que devuelva la respuesta de open meteo completa

node paso1/tools/weather/index.js

🛠️ Actividad paso2: Añadir una herramienta que use la función anterior

npx @modelcontextprotocol/inspector (node paso2/tools/weather/index.js)

🛠️ Actividad paso3: Creamos un agente react, que es el más sencillo de desarrollar, y que llame a la herramienta anterior.

node paso3/agents/reactive.js

🛠️ Actividad paso4: Vamos a hacer una poda a la respuesta de open meteo. ¿Mejoran las respuestas? ¿Y el tiempo de ejecución?

node paso4/agents/reactive.js

🛠️ Actividad paso5: Añadir una función que llame a un calendario ICS y devuelva un JSON con tus eventos

cp paso5/tools/calendar/.env.example paso5/tools/calendar/.env
node paso5/tools/calendar/index.js
npx @modelcontextprotocol/inspector (http://127.0.0.1:8000/sse)

🛠️ Actividad paso6: Haz que tu agente use las dos herramientas en una sola consulta

cp paso6/tools/calendar/.env.example paso6/tools/calendar/.env
node paso6/tools/calendar/index.js
node paso6/agents/reactive.js

🛠️ Demo paso7: Uso de LangFuse

docker compose up -d
cp paso7/tools/calendar/.env.example paso7/tools/calendar/.env
cp paso7/agents/.env.example paso7/agents/.env
node paso7/agents/reactive.js

🛠️ Demo pasoGdrive: Bonus track + google drive WIP

docker compose up -d
cp pasoGdrive/tools/calendar/.env.example pasoGdrive/tools/calendar/.env
cp pasoGdrive/agents/.env.example pasoGdrive/agents/.env
node pasoGdrive/agents/reactive.js

Tools

No tools

Comments