
Servidor MCP en n8n: generar leads con un agente de IA
Un AI Agent de n8n ya puede ejecutar por su cuenta una búsqueda de leads en Google Maps. Describes el encargo en lenguaje natural, el agente elige la categoría, el país, la ciudad y el tamaño de la búsqueda, y lee de vuelta las filas terminadas. La conexión son un nodo y una credencial.
Es una forma de automatización distinta a la de la guía del flujo con polling, donde cada parámetro queda fijado antes de ejecutar. Aquí los parámetros son decisión del agente. Eso resulta muy útil para investigación abierta y muy arriesgado para cualquier cosa que gaste dinero. La mayor parte de este artículo trata de la segunda mitad de esa frase.
¿Flujo fijo o agente?
Ambos caminos llaman a la misma API y cuestan los mismos créditos. Se diferencian en quién elige los argumentos.
| Flujo fijo (HTTP Request) | Agente de IA (MCP) | |
|---|---|---|
| Quién elige categoría y ciudad | Tú, al construirlo | El modelo, al ejecutarse |
| Repetibilidad | Idéntica en cada ejecución | Varía según la petición |
| Sirve para | Lotes programados, un nicho por campaña | Investigación, preguntas puntuales, peticiones en chat |
| Cómo falla | Resultado equivocado, fácil de rastrear | Resultado plausible de la búsqueda equivocada |
| Revisión necesaria | Una vez | Después de cada cambio de prompt |
Una regla que aguanta en la práctica: si puedes escribir la búsqueda antes de ejecutar el flujo, escríbela. Recurre al agente cuando la petición llega como una frase y no como un formulario.
Qué le da el endpoint al agente
El servidor MCP es una sola URL. Del saludo inicial se encarga n8n.
| Ajuste | Valor |
|---|---|
| Endpoint | https://www.basedonb.com/api/mcp |
| Nodo | MCP Client Tool, versión 1.2 o posterior |
| Transporte | HTTP Streamable |
| Autenticación | MCP OAuth2 con Dynamic Client Registration, o Bearer con una clave API que lleve el ámbito mcp |
Una vez conectado, el agente puede llamar a diez herramientas:
| Herramienta | Para qué la usa el agente |
|---|---|
submit_scrape | Inicia una búsqueda. La única herramienta que gasta créditos. |
get_scrape_status | Comprueba si un trabajo sigue en marcha |
get_scrape_results | Lee las filas terminadas, por páginas |
list_scrapes | Mira los trabajos recientes antes de iniciar otro |
cancel_scrape | Detiene un trabajo iniciado por error |
get_account | Lee el plan y el estado de la cuenta |
get_credits | Consulta el saldo antes de gastarlo |
list_countries | Resuelve un país a su código ISO |
list_states | Encuentra el código GeoNames con punto, por ejemplo US.TX |
list_cities | Confirma la escritura de una ciudad que el modelo pudo adivinar |
Las tres últimas importan más de lo que parece. Un modelo al que se le piden dentistas en Texas se inventará el código de la región sin pestañear. Las herramientas de listado le permiten comprobar en lugar de adivinar, y llamarlas no cuesta nada.
La conexión
1. Crea la credencial una sola vez. En n8n, añade una credencial MCP para el endpoint anterior. Con MCP OAuth2 dejas activado Dynamic Client Registration y n8n guarda el token de refresco rotativo, así que la credencial se configura una vez y luego se deja tranquila. Con Bearer pegas una clave API creada en el panel, en API y Webhooks. Dale el ámbito mcp y nada más.
2. Añade el nodo MCP Client Tool y selecciona esa credencial. Deja el transporte en HTTP Streamable.
3. Conecta el nodo al puerto de herramientas del AI Agent, junto al modelo de chat que uses. El agente descubre la lista de herramientas por su cuenta.
4. Restringe la lista de herramientas. El nodo permite exponer solo una parte. Empieza por las de solo lectura, prueba unos cuantos prompts y añade submit_scrape únicamente después. Un agente que no puede gastar créditos es algo seguro sobre lo que iterar.
Los límites viven en el prompt del sistema
Las herramientas describen lo que es posible. Ninguna describe lo que es sensato para tu cuenta, así que eso le toca al prompt. Un punto de partida que funciona:
Encuentras leads de negocios locales con las herramientas de
BasedOnBusiness.
Antes de cualquier busqueda:
- Llama a get_credits. Si el saldo es menor que el numero de
leads pedidos, detente e informa del saldo.
- Confirma cada nombre de lugar con list_countries, list_states
o list_cities. Nunca inventes un codigo de pais o de region.
Al buscar:
- Nunca pidas mas de 50 leads en un trabajo salvo que la persona
indique explicitamente una cifra mayor.
- Trata una sola categoria cada vez.
- Los creditos se gastan al iniciar el trabajo, no cuando
vuelven los resultados. Cancelar no los devuelve.
Nunca soportado:
- La busqueda por codigo postal y la busqueda por radio
alrededor de una direccion no existen. Dilo. No sustituyas
por una ciudad cercana.
Cuando termine el trabajo, informa del numero de filas y
detente. No pegues la lista completa.
Cada línea está ahí por una manera concreta en que esto se tuerce. La cara es la de los créditos.
Tres límites que el agente no puede descubrir solo
Los créditos se cobran al enviar, sobre el número solicitado. Pedir 500 leads cuesta 500 créditos en el momento en que arranca el trabajo, vuelvan 500 filas o doce. Un filtro aplicado después no reduce el cargo, y cancelar tampoco. Esta es la frase más importante que puedes poner en el prompt, porque un modelo sin señal de coste redondea las cifras hacia arriba para parecer minucioso.
Los trabajos tienen techos firmes. Un trabajo admite como mucho 10 términos de búsqueda. Una cuenta admite 2 trabajos abiertos a la vez, y todos los trabajos abiertos juntos no pueden apuntar a más de 5.000 leads. Un agente que lanza un trabajo por ciudad sobre una lista de veinte acabará recogiendo respuestas 429 en lugar de leads. Dile que recorra las ubicaciones de una en una y que consulte list_scrapes antes de iniciar otro.
La geografía tiene un vocabulario. El país es un código ISO como GB. La región es un código GeoNames con punto como US.TX, que ningún modelo conoce de forma fiable. La ciudad es un nombre que hay que confirmar. Los códigos postales y las búsquedas por radio no están soportados en absoluto. La opción real más cercana es un polígono dibujado que se pasa como custom_geo, algo que un agente genera mal y que se maneja mejor desde el panel.
Mantén las filas fuera del modelo
La mejor razón para usar MCP es que el agente elige la búsqueda. No es razón para que además cargue con los datos.
Los resultados vienen en páginas de hasta 500 filas. Pasarlas por el modelo quema tokens, corta por sitios impredecibles y produce un resumen donde tú querías una hoja de cálculo. Deja que el agente decida qué buscar e informe del identificador del trabajo y del número de filas, y luego lleva ese identificador a un nodo HTTP Request normal y escribe las filas en Google Sheets, en un CRM o en una base de datos. La guía del flujo con polling cubre esa mitad en detalle, incluida la paginación por cursor y la escritura a prueba de duplicados.
Si quieres que el agente razone sobre la lista en lugar de guardarla, hazle una pregunta concreta sobre una página acotada, no le pidas la lista en sí.
Lo que sigue sin ser decisión del agente
Todo lo que tenga coste o consecuencias fuera de n8n. A quién se contacta, qué dice el mensaje, si un teléfono puede llamarse legalmente. La guía legal y de privacidad recoge las reglas básicas, y ninguna se ablanda porque un modelo haya elegido los términos de búsqueda.
Otra cosa que conviene recordar: las fichas de Google Maps no tienen campo de correo. Un agente al que se le piden correos trabaja con lo que el paso de enriquecimiento encontró en la web de cada negocio, no con datos de Maps. La guía de extracción de correos explica dónde está ese techo.
Preguntas frecuentes
¿Qué es un servidor MCP en n8n?
MCP es un protocolo que permite a un modelo de IA llamar a herramientas externas. En n8n conectas un nodo MCP Client Tool a un AI Agent, indicas la URL del servidor y el agente obtiene todas las herramientas que ese servidor publica. El endpoint de BasedOnB publica diez herramientas para buscar en datos de negocios de Google Maps y leer los resultados.
¿Cómo conecto BasedOnB a un AI Agent de n8n?
Añade un nodo MCP Client Tool, pon el endpoint en https://www.basedonb.com/api/mcp, elige el transporte HTTP Streamable y autentícate con MCP OAuth2 o con una clave API Bearer que tenga el ámbito mcp. Conecta el nodo al puerto de herramientas del AI Agent. No hace falta nada más.
¿Un agente de IA gasta más créditos que un flujo fijo?
El precio es el mismo, porque ambos caminos llaman a la misma API. El riesgo es distinto. Los créditos se cobran al enviar la búsqueda, según el número de leads solicitados, así que un agente que elige una cifra alta los gasta al instante. Limita esa cifra en el prompt del sistema y haz que compruebe el saldo con get_credits.
¿Puede el agente buscar por código postal o por radio alrededor de una dirección?
No. La búsqueda acepta un país, opcionalmente una región y opcionalmente una ciudad, o un polígono dibujado. No existe entrada de código postal ni de radio. Si se le pide un radio de cinco kilómetros, el agente debería decir que esa forma no está soportada en lugar de sustituirla por una ciudad.
¿Conviene usar MCP o la API REST en n8n?
Usa la API REST cuando la categoría, la ubicación y los filtros están fijados y el flujo debe ejecutarse igual siempre. Usa MCP cuando la petición llega en lenguaje natural y los parámetros útiles no se conocen de antemano. Muchos equipos usan los dos: el agente para investigar y un flujo fijo para los lotes de producción.
¿Qué herramientas debería exponer al agente?
Solo lo que necesita la tarea. Un agente de investigación que lee trabajos existentes necesita las herramientas de estado, resultados y listados, y nada que gaste dinero. Añade submit_scrape solo cuando el prompt tenga un tope firme para el número de leads y hayas probado el agente frente a peticiones vagas.
¿Puede el agente manejar todo el conjunto de resultados?
No debería intentarlo. Los resultados vienen paginados de 500 filas, y una lista grande agota el contexto del modelo y gasta tokens sin ninguna ventaja. Deja que el agente decida qué buscar y luego mueve las filas a Sheets, a un CRM o a una base de datos con nodos normales de n8n.
Empieza con un encargo que puedas permitirte
Dale al agente herramientas de solo lectura, un modelo de chat y una pregunta cuya respuesta ya conoces. Comprueba que resuelve el código de la región en lugar de inventárselo, y que rechaza una petición por código postal en lugar de buscar una ciudad sin decir nada.
Después añade submit_scrape con un tope en el prompt y ejecuta un trabajo pequeño. Una cuenta nueva de BasedOnB viene con 50 créditos de exportación de un solo uso y sin tarjeta, suficiente para ver cómo se comporta todo el ciclo antes de cualquier lote real. Si prefieres no construir el agente, la plantilla n8n lista para usar hace la versión fija de este trabajo en unos diez minutos.