1 Id6caEiWWX06 8G9XlHoA

¿Alguna vez has deseado que tu asistente de inteligencia artificial no sólo pudiera chatear, sino también realizar acciones reales, como enviar un mensaje de Slack o actualizar una hoja de cálculo? Eso ha sido técnicamente posible durante un tiempo, pero normalmente significaba escribir un montón de código frágil y personalizado para cada API. Con el nuevo servidor Zapier Model Context Protocol (MCP) y la integración nativa MCP de LangChain, ahora puedes hacerlo sin todo ese código. En este tutorial, te guiaré a través de la construcción de un agente de IA basado en LangChain que se conecta al servidor MCP alojado de Zapier para realizar tareas del mundo real. Aprenderás cómo configurar tu entorno, conectarte al punto final MCP de Zapier, autorizar al agente a usar herramientas específicas y ejecutar una acción útil, como enviar un mensaje de Slack, directamente desde el lenguaje natural.

Tabla de contenidos

¿Qué es MCP y por qué usar el servidor MCP de Zapier?

Model Context Protocol (MCP) es un protocolo abierto (desarrollado originalmente por Anthropic) que estandariza cómo los modelos de IA pueden interactuar con herramientas y servicios externos. En términos simples, MCP define una manera para que un modelo de lenguaje utilice «herramientas» con entradas y salidas bien definidas. Esto significa que tu IA puede ir más allá de la generación de texto y realmente llamar a APIs o realizar acciones de una manera estructurada y segura.

El servidor MCP alojado de Zapier cambia las reglas del juego en este ámbito. Zapier cuenta con una biblioteca de más de 7.000 aplicaciones y 30.000 acciones, y su servidor MCP actúa como puente entre los agentes de IA y esas aplicaciones. En lugar de escribir integraciones personalizadas para cada servicio, puede dar a su agente un único punto final MCP que exponga cualquier acción que haya habilitado. Por ejemplo, a través de Zapier MCP, su IA podría «enviar un mensaje de Slack», «añadir una fila a Google Sheets» o «crear un evento de calendario» simplemente llamando a la herramienta adecuada, sin necesidad de una compleja codificación API por su parte. Zapier gestiona la autenticación y los detalles de la API entre bastidores, para que usted pueda centrarse en la lógica de su agente.

¿Por qué es tan potente? Su IA pasa de ser un chatbot pasivo a un operador activo. En lugar de limitarse a responder, ahora puede realizar acciones reales, como enviar mensajes o actualizar hojas de cálculo, sin necesidad de código personalizado para cada API. MCP estandariza la forma en que las herramientas se exponen a la IA, y el enorme ecosistema de aplicaciones de Zapier hace que miles de acciones sean accesibles al instante. Al final de esta guía, tendrás un agente LangChain conectado al servidor MCP de Zapier, capaz de ejecutar tareas como enviar un mensaje de Slack desde un mensaje en lenguaje natural.

Configurar tu entorno Python

Empecemos por configurar nuestro entorno de desarrollo. Usaremos Python para este tutorial. Asegúrate de tener Python 3.8+ instalado y una clave API OpenAI (ya que usaremos un modelo OpenAI para el razonamiento del agente).

1. Instala los adaptadores LangChain MCP y las librerías OpenAI. En tu terminal, ejecuta:

pip install langchain-mcp-adapters langchain-openai

Esto instalará el adaptador LangChain MCP (para conectarse a servidores MCP) y la envoltura LangChain para modelos OpenAI. También puede instalar el núcleo LangChain como una dependencia.

2. Configura tus claves API. Deberías almacenar tu clave API de OpenAI como una variable de entorno por seguridad. Por ejemplo, crea un archivo .env o expórtalo en tu shell:

export OPENAI_API_KEY="sk-xxxxxxxxxxxx"

También necesitaremos proporcionar la URL de nuestro endpoint Zapier MCP (que obtendremos en la siguiente sección). Es una buena idea mantener esa URL en secreto (es como una contraseña para tus acciones Zapier), por lo que también puedes almacenarla en una variable de entorno:

export ZAPIER_MCP_URL="https://actions.zapier.com/mcp/your-unique-key/sse"

(No te preocupes si aún no tienes esa URL – la generaremos en Zapier en un momento).

Obteniendo tu Zapier MCP Endpoint y autorizando acciones

Antes de que nuestro agente pueda usar las herramientas de Zapier, necesitamos configurar Zapier y obtener nuestra URL MCP endpoint personal. Esto implica dos pasos: crear un servidor MCP alojado y elegir a qué acciones de Zapier puede acceder el agente.

1. Visita https://mcp.zapier.com/mcp/servers

Este es el panel MCP de Zapier. Haz clic en el botón + Nuevo servidor y dale un nombre a tu servidor (por ejemplo, «LangChain Agent Server»).

2. Selecciona un Cliente MCP

En la ventana emergente «Nuevo Servidor MCP», se te pedirá que selecciones un Cliente MCP. Si estás construyendo tu propio agente con LangChain (como estamos haciendo en este tutorial), elige: ✅ Otro. Las otras opciones (Claude, Cursor, Windsurf) se refieren a plataformas específicas con soporte incorporado. «Other» es para clientes personalizados como LangChain.

3. Asigna un nombre a tu servidor

Asigna a tu servidor un nombre descriptivo como LangChain Agent Server y, a continuación, haz clic en Crear servidor MCP.

4. Añade acciones a tu servidor MCP

Una vez creado tu servidor, haz clic en él y busca la sección titulada Herramientas. Haz clic en + Añadir herramienta. Verás una lista con miles de aplicaciones: Gmail, Slack, Google Sheets, Notion, Airtable, etc. Elige una (por ejemplo, Slack) y, a continuación, selecciona una acción concreta (por ejemplo, «Enviar mensaje de canal»).

Una vez que selecciones una acción, Zapier te pedirá que:

  • Conectes tu cuenta (por ejemplo, inicia sesión en Slack)
  • Configura el comportamiento de los campos: para campos como «Canal» y «Texto del mensaje», elige: «Hacer que AI seleccione un valor para este campo» para el Canal, y «Hacer que AI genere un valor para este campo» para el Texto del mensaje

Esto permite a tu agente rellenar dinámicamente los valores en tiempo de ejecución basándose en la solicitud del usuario.

5. Copia la URL de tu punto final MCP

Una vez configuradas tus herramientas, ve a la pestaña Conectar de tu servidor MCP. En «Conectar con URL específica del servidor», encontrarás la URL exclusiva de tu servidor:

https://mcp.zapier.com/api/mcp/s/<your-server-id>/sse

⚠️ Trata esta URL como una contraseña – da acceso a tus herramientas.

Guárdala en tu entorno para que LangChain pueda utilizarla:

export ZAPIER_MCP_URL="https://mcp.zapier.com/api/mcp/s/<your-server-id>/sse"

En este punto, deberías tener:

  • Una URL de punto final Zapier MCP (la URL de tu servidor alojado, ahora almacenada como ZAPIER_MCP_URL)
  • Al menos una herramienta + acción autorizada (por ejemplo, Slack → Enviar mensaje de canal), con campos configurados para el control de IA

Ahora estamos listos para usar esta configuración en un agente LangChain.

Conexión de LangChain al servidor MCP de Zapier

LangChain proporciona un adaptador nativo para el protocolo de contexto de modelo (MCP), lo que permite a los agentes interactuar con herramientas externas a través de una interfaz estandarizada. El servidor MCP alojado de Zapier expone miles de acciones de aplicaciones como Slack, Google Sheets, Gmail, etc., sin necesidad de escribir envoltorios de API personalizados.

En esta sección, vamos a caminar a través de una implementación completa de Python utilizando el adaptador LangChain MCP y el agente LangGraph para enviar un mensaje a través de Slack.

Construiremos un agente LangChain que se conecte a Zapier MCP, busque las herramientas disponibles y envíe un mensaje a Slack utilizando una instrucción de lenguaje natural. Vamos a desglosarlo:

1. Cargar variables de entorno

Empezamos cargando nuestra configuración desde un archivo .env. Esto mantiene los secretos (como tus claves API y la URL de Zapier) fuera del código fuente.

import os
from dotenv import load_dotenv

load_dotenv()

ZAPIER_MCP_URL = os.getenv("ZAPIER_MCP_URL")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
SLACK_CHANNEL = os.getenv("SLACK_CHANNEL", "#general")
SLACK_MESSAGE = os.getenv("SLACK_MESSAGE", "Hello from LangChain MCP adapter!")

También establecemos valores por defecto para el canal Slack y el mensaje, en caso de que no se proporcionen.

2. Comprueba las variables requeridas

Asegúrate de que las variables requeridas se establecen, de lo contrario salir temprano con un error claro.

if not ZAPIER_MCP_URL or not OPENAI_API_KEY:
raise EnvironmentError("Make sure ZAPIER_MCP_URL and OPENAI_API_KEY are set in the .env file.")

3. Importar las bibliotecas LangChain y LangGraph

import asyncio
from pprint import pprint
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

Estas son las bibliotecas centrales para conectarse a Zapier MCP y construir el agente de IA.

4. Conectar a Zapier y cargar herramientas

async with MultiServerMCPClient({
"zapier": {
"url": ZAPIER_MCP_URL,
"transport": "sse"
}
}) as client:
tools = client.get_tools()
tools = [t for t in tools if hasattr(t, "name") and hasattr(t, "run")]

Establecemos una conexión asíncrona con el servidor MCP de Zapier mediante Server-Sent Events (SSE) y, a continuación, recuperamos las herramientas disponibles (como las acciones de Slack).

5. Validar y listar las herramientas disponibles

if not tools:
raise RuntimeError("No valid tools found. Check your Zapier MCP configuration.")

print(f"✅ Loaded {len(tools)} tools:")
for tool in tools:
print(f" - {tool.name}")

Esto proporciona información útil para verificar que su configuración Zapier está funcionando y las herramientas se cargaron correctamente.

6. Inicializar el LLM y crear el agente

model = ChatOpenAI(model="gpt-3.5-turbo", openai_api_key=OPENAI_API_KEY, temperature=0)
agent = create_react_agent(model, tools)

Utilizamos GPT-3.5 Turbo como motor de razonamiento y lo envolvemos en un agente LangGraph ReAct con acceso a las herramientas cargadas.

7. Formatear la instrucción de usuario

agent_input = {
"messages": [
{"role": "user", "content": f'Please post the message "{SLACK_MESSAGE}" to the {SLACK_CHANNEL} Slack channel.'}
]
}

Esta es la entrada de lenguaje natural que daría el usuario. Puedes imaginarlo viniendo de un chatbot frontend.

8. Invocar al agente

print("\n🤖 Invoking LangGraph agent...")
agent_result = await agent.ainvoke(agent_input)

Aquí activamos el agente. Bajo el capó, razonará sobre la instrucción del usuario y utilizará la herramienta apropiada (acción Slack).

9. Analizar y mostrar la salida

final_message = agent_result.get("final_answer") or agent_result.get("output")
if final_message:
print("\n✅ Agent output:", final_message)
else:
for msg in reversed(agent_result.get("messages", [])):
if msg.type == "ai" and msg.content:
print("\n✅ Agent said:", msg.content)
break
else:
print("⚠️ No AI output found in agent result.")

Intentamos extraer la respuesta final del agente. Puede ser un mensaje de confirmación o el resultado de la acción de Slack.

10. Ejecuta el Script

Envuelve la lógica principal en un runner asíncrono:

if __name__ == "__main__":
asyncio.run(main())

La ejecución del agente invocará a Zapier para realizar la acción «Enviar mensaje de Slack». Efectivamente, podemos ver que se ha enviado un mensaje en el canal #general de mi Slack, confirmando la ejecución exitosa del flujo. Esto sirve como validación concreta de que el agente, conectado a través de MCP y LangChain, es capaz de interactuar con servicios externos de forma fiable y en tiempo real.

LangChain

Este enfoque combina la invocación de herramientas en tiempo real a través de Zapier con el razonamiento en lenguaje natural a través de LangChain, dando a tu IA la capacidad de actuar, no solo de responder.

Pruébalo también con otras herramientas, como Google Sheets o Gmail, configurando nuevas acciones en tu panel Zapier MCP.

Conclusión: De Chatbot a Action-Taker

Al integrar LangChain con el servidor MCP de Zapier, hemos transformado una IA conversacional en algo mucho más potente: un agente que puede realizar acciones en miles de aplicaciones utilizando lenguaje natural. En lugar de escribir manualmente frágiles envoltorios de API para cada herramienta, se conecta un único punto final MCP y se desbloquean acciones como enviar mensajes de Slack, añadir filas de hojas de cálculo o incluso activar flujos de trabajo en su CRM.

Esta arquitectura es escalable: puedes intercambiar o añadir herramientas en Zapier sin cambiar la lógica central de tu agente. A medida que Zapier sigue ampliando su catálogo de aplicaciones, su agente crece en capacidad, sin tocar una sola línea de código de integración.

Por qué es importante

Este enfoque salva una brecha clave entre el razonamiento de la IA y la ejecución en el mundo real. No se trata sólo de generar respuestas útiles, sino de hacer las cosas. Y gracias a protocolos abiertos como MCP y bibliotecas como LangChain, ya no es necesario ser un ingeniero de empresa para construirlo.

Si eres desarrollador, prueba a añadir más herramientas y a ver hasta dónde puedes llevar a tu agente. Si no eres desarrollador, herramientas como Zapier MCP permiten dotar a los agentes de capacidades reales, todo ello sin escribir complejas integraciones de backend.

Ahora que has visto cómo configurarlo, tienes todo lo que necesitas para empezar a automatizar con agentes inteligentes. ¿Qué hará ahora su asistente de IA?


👏¿Te ha gustado la lectura? ¡Aplaude!

Si este artículo te ha aportado valor, tus aplausos no solo ayudan a que otros lo descubran, sino que también me motivan a seguir compartiendo conocimientos sobre IA del mundo real.

🚀 ¿Quieres construir agentes más inteligentes, más rápido?

Suscríbete a Invoke Agent() – mi newsletter repleta de arquitecturas de agentes del mundo real, herramientas prácticas y tutoriales prácticos.

🔓 Bono para suscriptores:

Obtén acceso exclusivo a mi AI Agent Resource Hub, que incluye el script completo de este tutorial, plantillas, fragmentos de código y demos privadas para potenciar tus construcciones.

👉 Únete a la comunidad: Suscríbete aquí

🌐 Sígueme para más inmersiones profundas en IA:

MediumInstagramYouTubePairrot

Juntos, construyamos agentes que realmente hagan cosas.

Gracias por formar parte de la comunidad

Antes de irte:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *