Skip to main content
Glama
systemyuri

MCP Orquestacion de Agentes

by systemyuri

ο»Ώ# MCP Orquestacion de Agentes

🧠 MCP - Orquestación de Agentes con FastMCP y Groq

CreaciΓ³n del primer flujo de orquestaciΓ³n/integraciΓ³n de capacidades en un sistema de agentes

Open In Colab


Related MCP server: mcp-db-server

πŸ“‹ INFORMACIΓ“N GENERAL

Campo

Valor

TΓ­tulo

CreaciΓ³n del primer flujo de orquestaciΓ³n/integraciΓ³n de capacidades en un sistema de agentes

Curso

CERTI AI ARCHITECT ONLINE 2026 II LIMA

Docente

IGNACIO ALEXIS ZAMBRANO CARRILLO

Autor

David Yurivilca

Fecha

Julio 2026

InstituciΓ³n

BSG Institute


🎯 OBJETIVO

DiseΓ±ar, construir y orquestar un sistema de agentes que integra mΓΊltiples capacidades utilizando el Model Context Protocol (MCP) como estΓ‘ndar de comunicaciΓ³n, demostrando:

  • βœ… IdentificaciΓ³n de capacidades de negocio

  • βœ… DiseΓ±o de herramientas (tools) MCP

  • βœ… ImplementaciΓ³n con FastMCP

  • βœ… OrquestaciΓ³n con LangChain + Groq

  • βœ… Trazabilidad y seguridad


πŸ“Š CONTEXTO DEL NEGOCIO

E-commerce de productos alimenticios en Argentina

El dataset simula las operaciones de una empresa de e-commerce, permitiendo:

  • AnΓ‘lisis de clientes por regiΓ³n (6 regiones argentinas)

  • EvaluaciΓ³n de productos y categorΓ­as (8 categorΓ­as)

  • Estudio de mΓ©todos de pago (5 mΓ©todos)

  • IdentificaciΓ³n de oportunidades comerciales

πŸ“ˆ Datos disponibles

Tabla

Registros

DescripciΓ³n

clientes

326

Datos demogrΓ‘ficos de clientes

ventas

3,029

Transacciones completas

productos

38

CatΓ‘logo de productos

categorias

8

ClasificaciΓ³n de productos

metodos_pago

5

Medios de pago disponibles


πŸ› οΈ TECNOLOGÍAS UTILIZADAS

TecnologΓ­a

PropΓ³sito

Python 3.10+

Lenguaje principal

FastMCP

Framework para servidores MCP

LangChain 1.0+

OrquestaciΓ³n de agentes

LangGraph

Backend de agentes con estado

Groq (LLaMA 3.3 70B)

Modelo LLM con tool calling

SQLite

Base de datos local

Google Colab

Entorno de ejecuciΓ³n


πŸš€ ARQUITECTURA DEL SISTEMA

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              USUARIO FINAL                                  β”‚
β”‚                     (InteractΓΊa en lenguaje natural)                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                          AGENTE LANGCHAIN                                   β”‚
β”‚                     (Orquestador + Razonamiento)                            β”‚
β”‚                                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  1. Recibe la pregunta del usuario                              β”‚        β”‚
β”‚  β”‚  2. Interpreta la intenciΓ³n usando Groq (LLaMA 3.3 70B)         β”‚        β”‚
β”‚  β”‚  3. Aplica el System Prompt (polΓ­ticas y reglas)                β”‚        β”‚
β”‚  β”‚  4. Selecciona la(s) herramienta(s) necesaria(s)                β”‚        β”‚
β”‚  β”‚  5. Ejecuta el loop de orquestaciΓ³n                             β”‚        β”‚
β”‚  β”‚  6. Genera respuesta final con evidencia                        β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       MCP CLIENT (LangChain Adapter)                        β”‚
β”‚                                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  β€’ Conecta al servidor MCP vΓ­a HTTP                             β”‚        β”‚
β”‚  β”‚  β€’ Descubre herramientas disponibles                            β”‚        β”‚
β”‚  β”‚  β€’ Ejecuta llamadas a herramientas (tool calls)                 β”‚        β”‚
β”‚  β”‚  β€’ Gestiona la comunicaciΓ³n con el servidor MCP                 β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         MCP SERVER (FastMCP)                                β”‚
β”‚                                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  HERRAMIENTAS (TOOLS) EXPUESTAS                                  β”‚       β”‚
β”‚  β”‚                                                                  β”‚       β”‚
β”‚  β”‚  πŸ”Ή buscar_clientes          πŸ”Ή perfil_consumo_cliente           β”‚       β”‚
β”‚  β”‚  πŸ”Ή clientes_alto_valor      πŸ”Ή top_productos_vendidos           β”‚       β”‚
β”‚  β”‚  πŸ”Ή analisis_categoria       πŸ”Ή ventas_por_region                β”‚       β”‚
β”‚  β”‚  πŸ”Ή preferencia_metodo_pago  πŸ”Ή calcular_nivel_cliente           β”‚       β”‚
β”‚  β”‚                                                                   β”‚      β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚      β”‚
β”‚  β”‚  β”‚   βœ… ValidaciΓ³n de parΓ‘metros (tipos y lΓ­mites)            β”‚  β”‚      β”‚
β”‚  β”‚  β”‚   βœ… Manejo de errores (try/except)                        β”‚  β”‚      β”‚
β”‚  β”‚  β”‚   βœ… Consultas SQL parametrizadas (seguridad)              β”‚  β”‚      β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                          SQLite DATABASE                                      β”‚
β”‚                                                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”‚
β”‚  β”‚  CLIENTES   β”‚  β”‚   VENTAS    β”‚  β”‚  PRODUCTOS  β”‚  β”‚ CATEGORIAS  β”‚           β”‚
β”‚  β”‚  326 reg.   β”‚  β”‚ 3,029 reg.  β”‚  β”‚  38 reg.    β”‚  β”‚   8 reg.    β”‚           β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                                                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                                              β”‚
β”‚  β”‚ METODOS_PAGOβ”‚                                                              β”‚
β”‚  β”‚   5 reg.    β”‚                                                              β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”§ TOOLS IMPLEMENTADAS

Tool

PropΓ³sito

Riesgo

buscar_clientes

Buscar clientes por nombre, apellido o regiΓ³n

Bajo

perfil_consumo_cliente

Perfil completo de consumo de un cliente

Bajo

clientes_alto_valor

Identificar clientes con alto gasto

Bajo

top_productos_vendidos

Productos mΓ‘s vendidos

Bajo

analisis_categoria

AnΓ‘lisis de ventas por categorΓ­a

Bajo

ventas_por_region

Resumen de ventas por regiΓ³n

Bajo

preferencia_metodo_pago

Preferencias de mΓ©todos de pago

Bajo

calcular_nivel_cliente

Clasificar clientes (VIP, Premium, Regular)

Bajo


πŸ“‹ GUÍA DE USUARIO PASO A PASO

πŸ”§ PRERREQUISITOS

  1. Cuenta de Google (para acceder a Colab)

  2. Cuenta en Groq (para obtener API Key gratuita)

πŸš€ EJECUCIΓ“N EN GOOGLE COLAB

Paso 1: Abrir el notebook en Colab

OpciΓ³n A - Desde el repositorio:

# Clonar el repositorio
git clone https://github.com/tu-usuario/MCP-Orquestacion-Agentes.git

# O abrir directamente en Colab:
# https://colab.research.google.com/github/tu-usuario/MCP-Orquestacion-Agentes/blob/main/notebooks/PlantillaMCPMultiFuenteFastMCPLangChainOpenAI-david-yurivilca.ipynb

OpciΓ³n B - Subir manualmente:

  1. Descargar el archivo .ipynb

  2. Ir a https://colab.research.google.com/

  3. Click en "Subir" β†’ Seleccionar el archivo

Paso 2: Configurar la API Key de Groq

En la Fase 3, el notebook solicitarΓ‘ la API Key:

# Busca esta celda y ejecΓΊtala
GROQ_API_KEY: Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·  # Ingresa tu API Key aquΓ­

ΒΏDΓ³nde obtenerla?

  1. Ve a https://console.groq.com/

  2. Inicia sesiΓ³n con tu cuenta

  3. Ve a "API Keys" en el menΓΊ lateral

  4. Click en "Create API Key"

  5. Copia la clave generada


Paso 3: Subir los archivos CSV

En la Fase 3, el notebook mostrarΓ‘ un botΓ³n para subir archivos:

  1. Haz clic en "Choose Files"

  2. Selecciona los 5 archivos CSV:

    • clientes.csv

    • ventas.csv

    • productos.csv

    • categorias.csv

    • metodos_pago.csv

https://via.placeholder.com/600x200?text=Upload+CSV+Files


Paso 4: Ejecutar el notebook secuencialmente

El notebook estΓ‘ organizado en 11 fases. Ejecuta cada celda en orden:

Fase

Celdas

QuΓ© hace

Tiempo estimado

Fase 0-2

1-6

DiseΓ±o y planificaciΓ³n

5 min

Fase 3

7-10

Carga de datos a SQLite

3 min

Fase 4

11-19

Pruebas de consultas SQL

5 min

Fase 5

20-22

CreaciΓ³n del MCP Server

2 min

Fase 6

23

Levantar el servidor

1 min

Fase 7

24-25

Descubrir y probar tools

3 min

Fase 8

26

Definir System Prompt

1 min

Fase 9

27-30

Crear el agente con Groq

2 min

Fase 10

31-37

Ejecutar pruebas

10 min

Fase 11

38-39

EvaluaciΓ³n y limpieza

2 min


Paso 5: Verificar el servidor MCP

En la Fase 6, verΓ‘s un mensaje como este:

βœ… MCP Server activo!
   URL: http://127.0.0.1:8000/mcp
   PID: 12345
   Log: /content/mi_mcp_server.log

Si ves este mensaje, el servidor estΓ‘ funcionando correctamente. πŸŽ‰


Paso 6: Ejecutar las pruebas

En la Fase 10, verΓ‘s preguntas de ejemplo:

# Prueba 1: Producto mΓ‘s vendido
resultado = await consultar_agente(
    "ΒΏCuΓ‘l es el producto mΓ‘s vendido en cantidad?"
)

*** Resultado Esperado ***

πŸ“ RESPUESTA FINAL
El producto mΓ‘s vendido en cantidad es el de Hamburgesas congeladas, 
con un total de 382 unidades vendidas y $3,438 de ingresos totales.

Resultado esperado:


πŸ“ RESPUESTA FINAL
El producto mΓ‘s vendido en cantidad es el de Hamburgesas congeladas, 
con un total de 382 unidades vendidas y $3,438 de ingresos totales.

πŸ“ EJEMPLOS DE PREGUNTAS PARA PROBAR

BΓ‘sicas (1 tool)


"ΒΏCuΓ‘l es el producto mΓ‘s vendido?"
"Busca clientes de la regiΓ³n Patagonia"
"Dame el perfil del cliente Dan Parkin (ID: 4)"
"ΒΏQuΓ© categorΓ­a de productos genera mΓ‘s ingresos?"

Intermedias (2-3 tools)


"Identifica los 5 clientes que mΓ‘s han gastado, dime su regiΓ³n y clasifica su nivel"
"ΒΏCuΓ‘nto vendimos en la regiΓ³n Buenos Aires?"
"ΒΏQuΓ© mΓ©todo de pago es el mΓ‘s utilizado por los clientes?"

Avanzadas (5+ tools) - DesafΓ­o

Realiza un anΓ‘lisis completo de la regiΓ³n Patagonia:
1. ΒΏCuΓ‘ntos clientes hay en Patagonia?
2. ΒΏCuΓ‘les son los 3 productos mΓ‘s vendidos en Patagonia?
3. ΒΏQuΓ© categorΓ­a genera mΓ‘s ingresos en Patagonia?
4. ΒΏQuΓ© mΓ©todo de pago prefieren los clientes de Patagonia?
5. ΒΏQuΓ© recomendaciones darΓ­as para aumentar las ventas en esta regiΓ³n?

❓ SOLUCIΓ“N DE PROBLEMAS COMUNES

Error: "GROQ_API_KEY no configurada"

# AsegΓΊrate de haber ejecutado la celda que solicita la API Key
# Si no funciona, reinicia el runtime y vuelve a ejecutar

Error: "El servidor no iniciΓ³"

# Verifica que la base de datos se creΓ³ correctamente
!ls -la /content/mcp_laboratorio.db
# Verifica que el archivo del servidor existe
!ls -la /content/mi_mcp_server.py
# Revisa el log del servidor
!cat /content/mi_mcp_server.log

Error: "Puerto 8000 ocupado"


# Libera el puerto y reinicia
!fuser -k 8000/tcp 2>/dev/null || true

Error en las pruebas SQL

# Verifica que los archivos CSV se subieron correctamente
# Ejecuta la Fase 3 nuevamente

πŸ“Š RESULTADOS DEL LABORATORIO

MΓ©trica

Valor

Capacidades identificadas

8

Tools implementadas

8

Pruebas SQL exitosas

8/8

Pruebas manuales exitosas

8/8

Pruebas del agente exitosas

7/7

Criterios de evaluaciΓ³n

8/8 (100%)

Principales hallazgos de negocio

Hallazgo

Valor

Producto mΓ‘s vendido

Hamburgesas congeladas (382 unidades)

CategorΓ­a con mΓ‘s ingresos

CarnicerΓ­a ($27,615 - 27.58%)

RegiΓ³n con mΓ‘s ventas

Buenos Aires ($35,820 - 1,041 Γ³rdenes)

MΓ©todo de pago mΓ‘s usado

Mercado Pago (28.79%)

Cliente con mayor gasto

Pinchas Stollsteiner ($760)


πŸ”’ MEDIDAS DE SEGURIDAD

Medida

ImplementaciΓ³n

SQL Injection

βœ… Consultas parametrizadas con ?

ExposiciΓ³n de SQL

βœ… No se expone SQL libre al LLM

ValidaciΓ³n de tipos

βœ… asegurar_int() convierte y valida

LΓ­mites de resultados

βœ… limite acotado (1-25, 1-50, 1-20)

Solo lectura

βœ… Todas las tools usan SELECT

Manejo de errores

βœ… Try/except en ejecutar_sql


πŸ“ ESTRUCTURA DE ARCHIVOS

πŸ“‚ MCP-Orquestacion-Agentes/
β”‚
β”œβ”€β”€ πŸ“„ README.md                               # Este archivo
β”œβ”€β”€ πŸ“„ requirements.txt                         # Dependencias
β”œβ”€β”€ πŸ“„ .env.example                             # Variables de entorno
β”‚
β”œβ”€β”€ πŸ“‚ notebooks/
β”‚   └── πŸ“„ PlantillaMCPMultiFuenteFastMCPLangChainOpenAI-david-yurivilca.ipynb
β”‚
β”œβ”€β”€ πŸ“‚ datasets/
β”‚   β”œβ”€β”€ πŸ“„ clientes.csv                         # 326 clientes
β”‚   β”œβ”€β”€ πŸ“„ ventas.csv                           # 3,029 transacciones
β”‚   β”œβ”€β”€ πŸ“„ productos.csv                        # 38 productos
β”‚   β”œβ”€β”€ πŸ“„ categorias.csv                       # 8 categorΓ­as
β”‚   └── πŸ“„ metodos\_pago.csv                     # 5 mΓ©todos de pago
β”‚
└── πŸ“‚ docs/
    β”œβ”€β”€ πŸ“„ guia-usuario.md                      # GuΓ­a detallada (este documento)
    └── πŸ“„ arquitectura.md                      # ExplicaciΓ³n tΓ©cnica

πŸ“¦ INSTALACIΓ“N LOCAL (OPCIONAL)

Si deseas ejecutar localmente en lugar de Colab:


# Clonar el repositorio
git clone https://github.com/tu-usuario/MCP-Orquestacion-Agentes.git
cd MCP-Orquestacion-Agentes
# Crear entorno virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows
# Instalar dependencias
pip install -r requirements.txt
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tu GROQ_API_KEY
# Ejecutar el notebook
jupyter notebook notebooks/

πŸ“„ requirements.txt


fastmcp>=0.1.0
langchain>=1.0.0
langchain-mcp-adapters>=0.1.0
langchain-groq>=1.0.0
pandas>=2.0.0
sqlite3
jupyter>=1.0.0

πŸ“„ .env.example

# Groq API Configuration
GROQ_API_KEY=tu_api_key_aqui
GROQ_MODEL=llama-3.3-70b-versatile
# Opciones de modelo alternativas:
# GROQ_MODEL=llama-3.1-8b-instant
# GROQ_MODEL=mixtral-8x7b-32768
# GROQ_MODEL=gemma2-9b-it

🧠 APRENDIZAJES CLAVE

  1. MCP estandariza la conectividad - Un servidor MCP puede servir a mΓΊltiples agentes

  2. La orquestaciΓ³n es responsabilidad del agente - MCP conecta, el agente decide

  3. Las tools deben ser atΓ³micas - Una tool = una capacidad de negocio

  4. La seguridad es por capas - Server valida, orquestador controla, prompt guΓ­a

  5. La trazabilidad es fundamental - Ver quΓ© tools usΓ³ el LLM y por quΓ©

  6. Groq es una alternativa viable - RΓ‘pido, econΓ³mico y con tool calling


πŸ“‹ GUÍA DE USUARIO ADICIONAL PARA COLAB

πŸ”— Enlace directo para abrir en Colab

En el README, el badge de Colab ya estΓ‘ incluido:

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tu-usuario/MCP-Orquestacion-Agentes/blob/main/notebooks/PlantillaMCPMultiFuenteFastMCPLangChainOpenAI-david-yurivilca.ipynb)

⚠️ IMPORTANTE PARA COLAB

  1. Runtime: AsegΓΊrate de usar un runtime con GPU habilitada

    • Runtime β†’ Change runtime type β†’ T4 GPU (recomendado)

  2. Tiempo de ejecuciΓ³n: El notebook completo toma ~30-40 minutos

  3. Guardar progreso: Colab guarda automΓ‘ticamente en tu Drive

    • Archivo β†’ Guardar una copia en Drive

  4. ReconexiΓ³n: Si se desconecta, vuelve a ejecutar desde la Fase 3

    • Las variables se reinician al reconectar

  5. Costos: Groq es gratuito, pero verifica tu lΓ­mite de uso

    • Gratis: 30 requests/minuto


πŸ“š REFERENCIAS

DocumentaciΓ³n oficial

Material del curso

  • PDF: Estrategias de IntegraciΓ³n CERTI AI ARCHITECT ONLINE 2026 II LIMA

  • PDF: GuΓ­a TeΓ³rica - OrquestaciΓ³n de MCP con Agentes


πŸ“ NOTAS FINALES

Sobre el uso de Groq vs OpenAI

Este laboratorio fue adaptado para usar Groq en lugar de OpenAI debido a:

  • βœ… Tier gratuito generoso para desarrollo educativo

  • βœ… Inferencia ultrarrΓ‘pida

  • βœ… Excelente soporte para tool calling

  • βœ… Buen rendimiento en espaΓ±ol

Sobre el dataset

El dataset fue diseΓ±ado para simular un e-commerce real con:

  • DistribuciΓ³n geogrΓ‘fica realista (6 regiones argentinas)

  • Variedad de categorΓ­as de productos alimenticios

  • MΓ©todos de pago comunes en LatinoamΓ©rica

  • Volumen de datos adecuado para anΓ‘lisis (3,029 transacciones)


πŸ‘€ DATOS DEL AUTOR

Campo

Valor

Nombre

David Yurivilca

Curso

CERTI AI ARCHITECT ONLINE 2026 II LIMA

InstituciΓ³n

BSG Institute

Fecha de entrega

Julio 2026


πŸ“„ LICENCIA

Este proyecto es de uso educativo para el curso CERTI AI ARCHITECT ONLINE 2026 II LIMA de BSG Institute.


πŸ“Œ "No se trata de dar 'acceso a todo' al LLM.
Se trata de exponer las capacidades mΓ­nimas necesarias,
bajo permisos explΓ­citos, con herramientas bien descritas,
evidencia verificable, acciones controladas y trazabilidad completa."


⭐ Si este proyecto te ha sido útil, ‘no olvides darle una estrella en GitHub! ⭐


VersiΓ³n 1.0 - Julio 2026

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systemyuri/MCP-Orquestacion-Agentes'

If you have feedback or need assistance with the MCP directory API, please join our Discord server