PumpGTM MCP server
PumpGTM es un servidor MCP alojado que permite a Claude, ChatGPT, Cursor, Codex o cualquier agente de IA encontrar compradores que muestran intención, ejecutar campañas de LinkedIn, correo electrónico y X desde tus propias cuentas dentro de los límites de cada plataforma, y devolver cada respuesta a un humano. Inicia sesión con OAuth; no se necesita clave API para clientes de IA.
Servidor MCP alojado
npx add-mcp 'https://mcp.pumpgtm.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
PumpGTM MCP server
Ejecuta campañas de outreach en LinkedIn, email y X desde cualquier agente de IA.
PumpGTM encuentra a los compradores que muestran intención esta semana, redacta y envía el outreach desde tus propias cuentas dentro de los límites de cada plataforma, y entrega cada respuesta a un humano. Esta es la referencia pública para el servidor MCP alojado en https://mcp.pumpgtm.com/mcp.
Inicio rápido · Documentación · tools.json · API REST · Plataformas y agencias · YouTube
Lo que tu agente está manejando
El mismo espacio de trabajo que muestra el panel. Los Plays encuentran personas, las secuencias las contactan a través de LinkedIn, email y X, y cada respuesta espera a un humano.


Cómo encaja todo
flowchart LR
A[Your AI agent<br/>Claude, Cursor, Codex, your own] -- MCP over Streamable HTTP --> M[mcp.pumpgtm.com]
M --> W[Your PumpGTM workspace]
W -- find_people --> P[Buyers showing intent]
W -- sequences --> L[LinkedIn]
W -- sequences --> E[Email]
W -- sequences --> X[X]
L & E & X -- replies --> R[Human decides]
R -- webhook reply.received --> A
Mira y lee
![]() ¿Qué es PumpGTM y cómo funciona realmente? Recorrido de 4 minutos | ![]() Usando IA para gestionar el outbound liderado por fundadores para 10 empresas de YC El artículo de Namanyay en X: un universo de leads, prospectos compartidos, copia medida por reuniones. Lee en pumpgtm.com |
Más en el canal de YouTube de PumpGTM y en PumpGTM en acción, videos que fundadores y creadores hicieron en sus propios canales.
Conéctate
Endpoint (HTTP Streamable): https://mcp.pumpgtm.com/mcp
Dos formas de autenticarte, ambas limitadas a un espacio de trabajo:
- OAuth 2.1 para Claude (web y escritorio), Claude Code, Codex, Cursor y ChatGPT. Añade el endpoint e inicia sesión; no se necesita clave. Se admiten registro dinámico de clientes y PKCE; los metadatos están en
https://pumpgtm.com/.well-known/oauth-authorization-server. Los tokens de acceso duran 30 días, los de actualización 90. - Clave de espacio de trabajo para tu propio agente, los SDK de MCP y la API REST. Inicia sesión en app.pumpgtm.com, abre MCP en la navegación izquierda y copia la clave. Envíala como
Authorization: Bearer eve_mcp_..en cada solicitud. La clave no caduca. La rotación aún no es autoservicio: escribe a hello@pumpgtm.com y la rotamos por ti.
La fila de la base de datos de la clave fija el espacio de trabajo. No puede leer ni actuar en ningún otro espacio de trabajo.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = new Client({ name: "your-agent", version: "1.0.0" });
await client.connect(
new StreamableHTTPClientTransport(new URL("https://mcp.pumpgtm.com/mcp"), {
requestInit: { headers: { Authorization: "Bearer YOUR_WORKSPACE_KEY" } },
}),
);
const { tools } = await client.listTools(); // up to 26 tools, listed below
ChatGPT (hasta que el listado de PumpGTM sea aprobado en el directorio de ChatGPT): en Configuración, abre Plugins y activa Modo desarrollador (Plus, Pro, Business o Enterprise). Haz clic en Plugins en la barra lateral y luego en +: elige Añadir servidor MCP en la aplicación de escritorio, o Crear aplicación y luego Crear aplicación MCP en el navegador. Nómbralo PumpGTM, pega https://mcp.pumpgtm.com/mcp, mantén OAuth y haz clic en Crear. Inicia sesión en PumpGTM, permite la conexión y luego pide a ChatGPT que encuentre compradores o escribe @PumpGTM.
Claude Code: claude mcp add --transport http pumpgtm https://mcp.pumpgtm.com/mcp, luego ejecuta /mcp (o claude mcp login pumpgtm) e inicia sesión. Codex: codex mcp add pumpgtm --url https://mcp.pumpgtm.com/mcp y luego codex mcp login pumpgtm. Cursor: añade un servidor solo con la URL e inicia sesión cuando lo pida. Cline: añade "pumpgtm": { "type": "streamableHttp", "url": "https://mcp.pumpgtm.com/mcp" } bajo mcpServers en cline_mcp_settings.json e inicia sesión cuando lo pida.
Instalar como plugin
El plugin de PumpGTM agrupa este servidor con tres habilidades: escribir un mensaje en frío, encontrar compradores y gestionar respuestas. En Claude Code:
/plugin marketplace add pumpgtm/pumpgtm-mcp
/plugin install pumpgtm@pumpgtm
Luego ejecuta /mcp e inicia sesión en PumpGTM. El manifiesto del plugin, las habilidades y la configuración del servidor viven en github.com/pumpgtm/pumpgtm-mcp.
En Codex:
codex plugin marketplace add pumpgtm/pumpgtm-mcp
codex plugin add pumpgtm@pumpgtm
codex mcp login pumpgtm
En Gemini CLI:
gemini extensions install https://github.com/pumpgtm/pumpgtm-mcp
Luego ejecuta /mcp auth pumpgtm e inicia sesión.
Cómo vuelven los resultados
- Cada resultado de herramienta es un bloque
contentde MCP de tipotextcuyotextes una cadena JSON, y el mismo objeto enstructuredContent. Analiza el JSON. - La mayoría de los resultados incluyen
next:{ tool, arguments, reason, requiresConfirmation, requiresNewRequestId? }. Es la llamada siguiente sugerida, no una instrucción para saltarse al cliente. - Los errores devuelven
isError: truey{ status, retryable, changed, message, details }.changed: falsesignifica que no se escribió nada. Un objeto faltante devuelve el códigoresource_not_found. - Las herramientas que escriben toman un
requestId: de 8 a 120 caracteres de letras, dígitos,. _ : -, que comienza con una letra o dígito. Es una clave de idempotencia. Usa una nueva por llamada; reutiliza una solo para reintentar la misma llamada. - Los espacios de trabajo medidos llevan Energy: una Energy es una persona encontrada.
get_workspacedevuelveenergycon la asignación mensual, usada y restante, yfind_peoplese niega conenergy_exhaustedcuando una ejecución la excedería. Los espacios de trabajo sin Energy no ven ese campo. Consulta Energy. - Nada llega a LinkedIn, email o X hasta que una persona lo aprueba.
find_people,review_people,save_sequence_draftyadd_leadsnunca envían. El envío comienza conset_sequence_statusactiveen una secuencia aprobada, y cada respuesta se contesta solo a través dedecide_reply.
Un flujo completo
get_workspacepara leer el estado de configuración, secuencias, revisiones sin terminar y respuestas pendientes.find_peoplecontargetingyconfirmed: falsepara guardar un Play y mostrar el resumen de segmentación. Luegofind_peopleconplayIdyconfirmed: truepara ejecutarlo.review_peoplecondecisionsyfinish: truepara poner en cola los buenos candidatos en una secuencia.save_sequence_draftcon pasos, luegoset_sequence_statusapprovedconexpectedRevision, y luegoactive.list_pending_replies, muestra el borrador al cliente,decide_reply.
Informes: get_workspace (view: "summary" para el embudo y el ritmo de la cuenta, view: "activity" para el libro mayor) y list_leads con stage o sinceDays. Los mismos números están disponibles vía REST en /docs/api.
Recursos y prompts
resources/list devuelve seis guías de búsqueda de leads: gigacatalyst://lead-search/catalog, quickstart, fields, query-builder, patterns y results. Lee fields antes de escribir targeting a mano. Un prompt, gigacatalyst_find_people, toma requestedCount ("10" a "100").
Versionado
Las herramientas programadas para eliminación lo indican en su descripción al menos 90 días antes de salir de tools/list. No hay un límite de tasa fijo en el servidor MCP hoy; el descubrimiento se regula por el presupuesto diario del proveedor de cada espacio de trabajo.
Referencia de herramientas: las 24 herramientas, argumentos y modos (generada desde el tools/list en vivo)
Referencia de herramientas
Generada desde el tools/list en vivo el 2026-09-23. Las herramientas de "solo lectura" nunca escriben. Los grupos con restricción de funciones devuelven un error estructurado en espacios de trabajo sin esa función.
Empieza aquí
get_workspace (solo lectura)
Empieza aquí. Resumen: estado de configuración (LinkedIn, facturación, enlace para finalizar configuración), progreso de LinkedIn, Plays, secuencias elegibles, revisión sin terminar, recuento de respuestas pendientes y (cuando el espacio de trabajo tiene el canal de email) sus buzones y campañas de email. view=activity lee el libro mayor de actividad de LinkedIn de solo añadido con filtros. view=x_posts lista las publicaciones recientes de la cuenta X conectada con recuentos de "me gusta" y qué secuencia, si alguna, ya envía DM a quienes dieron "me gusta" a cada publicación (espacios de trabajo con el canal X).
| Argumento | Tipo | Notas |
|---|---|---|
view | summary, activity, x_posts | predeterminado "summary". |
sinceDays | entero | predeterminado 7, rango 0 a 365. |
account | cadena | |
actions | matriz de resolve, invite, accepted, like, message, followup, reply_detected, view_profile, endorse, comment, tool_prepare, enrich, meeting_invited, reply_drafted, reply_sent, reply_dismissed, reply_snoozed, sequence_started, meeting_booked, meeting_no_show, meeting_synced, manual_override, x_dm, x_follow, x_like, x_follow_back, x_follow_back_scan, x_credit_balance, x_reply_subscription, instagram_dm, instagram_comment, track_unavailable, track_done, ad_campaign_architected, ad_campaign_saved, ad_creative_generated, ad_budget_revised, ad_approval_requested, ad_campaign_approved, ad_campaign_published_paused, linkedin_search, web_pages_read, email_found, email_campaign_created, email_campaign_added, email_sent, email_replied, email_skipped, email_bounced, email_unsubscribed, email_click, sequence_people_added, lead_replenishment_enabled, lead_replenishment_disabled, recovery_eligible, recovery_matched, recovery_enrolled, recovery_review, recovery_invite_sent, recovery_invite_accepted, recovery_message_sent, recovery_reply_detected, recovery_suppressed, engine_run, linkedin_connect, error | |
outcome | ok, failed, skipped | |
limit | entero | predeterminado 100, rango 1 a 500. |
Encuentra y revisa personas
find_people
Crea o revisa un Play a partir de la segmentación y ejecútalo. La segmentación puede incluir una señal de contratación (currentCompanyHiringRolesAny): la empresa actual de la persona debe tener una oferta de empleo abierta para uno de esos roles, publicada dentro de currentCompanyHiringPostedWithinDays. Sin confirmed=true solo guarda el Play y devuelve el resumen de segmentación para que el cliente lo confirme. Una empresa requerida sin resolver se conserva en el borrador guardado y se devuelve bajo companyResolution; el Play no puede ejecutarse hasta que el cliente la corrija o la elimine explícitamente en una revisión. Con confirmed=true, un Play listo ejecuta el descubrimiento y devuelve candidatos en orden de recuperación. Pasa playId solo para volver a ejecutar un Play listo existente. sequenceId opcional establece la secuencia predeterminada del Play. No crea leads ni contacta a nadie.
| Argumento | Tipo | Notas |
|---|---|---|
requestId | cadena | requerido. Clave de idempotencia estable; reutilízala solo para reintentar esta solicitud exacta. |
targeting | objeto | |
playId | uuid | |
expectedRevision | entero | rango a 9007199254740991. Requerido con segmentación al revisar un playId existente. |
confirmed | booleano | predeterminado false. |
sequenceId | uuid |
review_people
Sin decisiones: lee un lote de revisión con sus candidatos y elecciones guardadas. Con decisiones: registra las elecciones explícitas del cliente de good_fit y not_a_fit; un sequenceId de nivel superior se aplica a cada buen candidato, finish=true completa la revisión y pone en cola los buenos candidatos en la secuencia. Para añadir todos, marca cada candidato como good_fit con finish=true. No envía nada en esta llamada.
| Argumento | Tipo | Notas |
|---|---|---|
batchId | uuid | requerido. |
requestId | cadena | Requerido con decisiones. |
sequenceId | uuid | |
decisions | matriz de objetos | |
finish | booleano | predeterminado false. |
search_known_people (solo lectura)
Busca una empresa, un rol profesional o una cohorte de aceleradora explícitamente indicada en evidencia profesional compartida permitida. Devuelve como máximo 20 identidades coincidentes; la cobertura es incompleta e incluye roles históricos etiquetados e interpretaciones. Esto no es una búsqueda en vivo de proveedores, no expone listas ni mensajes de otros clientes, y no autoriza el envío de mensajes. Verifica las fechas de las fuentes antes de recomendar a alguien.
| Argumento | Tipo | Notas |
|---|---|---|
query | string | obligatorio. |
get_lead_profile (solo lectura)
Lee identidades públicas con fecha de fuente, historial laboral disponible, actividad pública y observaciones de relaciones para un lead propiedad de este espacio de trabajo. Los enlaces de perfiles públicos y las interpretaciones de IA requieren revisión. Esto no obtiene proveedores, no cambia identidades, no inscribe ni contacta a nadie.
| Argumento | Tipo | Notas |
|---|---|---|
leadId | uuid | obligatorio. |
Secuencias
list_sequences (solo lectura)
Secuencias con pasos, estado de aprobación, estado y recuentos exactos de leads inscritos. Pasa sequenceId para leer una secuencia con su revisión exacta antes de editarla.
| Argumento | Tipo | Notas |
|---|---|---|
sequenceId | uuid |
save_sequence_draft
Sin sequenceId: crea una secuencia nueva completa (nombre más pasos ordenados). Con sequenceId y expectedRevision: reemplaza la lista completa de pasos de un borrador; mueve primero las secuencias activas o en pausa a borrador. Los pasos son connect, message, engage (LinkedIn), email (asunto más cuerpo; solo cuando el espacio de trabajo tiene el correo habilitado) o x_dm (un mensaje directo de X a alguien que dio "me gusta" a una publicación; una secuencia de X es solo de pasos x_dm, para espacios de trabajo con el canal X). Cuando hay algún paso de LinkedIn, el paso 0 debe ser connect; una secuencia solo de correo no necesita connect. delayDays se cuenta desde el paso anterior (el paso después de connect espera a que se acepte la invitación) y los pasos posteriores se omiten una vez que la persona responde en cualquier canal. {{firstName}} {{fullName}} {{company}} {{title}} se renderizan en ambos canales. Ejemplo de flujo mixto: connect, message +1d, email +2d, email +2d, email +3d. El resultado permanece como un borrador detenido que necesita aprobación y luego activación mediante set_sequence_status.
| Argumento | Tipo | Notas |
|---|---|---|
requestId | string | obligatorio. Clave de idempotencia estable; reutilízala solo para reintentar esta solicitud exacta. |
sequenceId | uuid | |
expectedRevision | integer | rango a 9007199254740991. |
name | string | |
steps | array de objetos | obligatorio. |
executionModel | linear, tracks | canales: los pasos de LinkedIn, correo y X se ejecutan como carriles paralelos por persona (los delayDays de cada carril se cuentan desde su propio paso anterior; una persona sin el identificador de un canal aún recibe los demás). Requiere la función multichannel_tracks del espacio de trabajo. D |
set_sequence_status
Para una secuencia de LinkedIn (sequenceId): status=approved registra la aprobación del cliente de una revisión exacta del borrador (se requiere expectedRevision) y la mantiene detenida; active inicia el envío de mensajes para una secuencia aprobada, paused la detiene para cada lead inscrito, draft la reabre para edición. Para una campaña de correo (emailCampaignId): active lanza el envío dentro de su horario y límites, paused la detiene, draft la reabre; approved no aplica. Cada una es una decisión explícita separada del cliente.
| Argumento | Tipo | Notas |
|---|---|---|
sequenceId | uuid | |
emailCampaignId | uuid | |
status | approved, active, paused, draft | obligatorio. |
expectedRevision | integer | rango a 9007199254740991. |
Leads
list_leads (solo lectura)
Los leads de este espacio de trabajo con progreso en LinkedIn y secuencias. stage es acumulativo (alcanzó este hito o más allá); stageExact es solo la posición actual. El recuento es exacto incluso cuando la página está limitada. Pasa leadId para leer un lead completo.
| Argumento | Tipo | Notas |
|---|---|---|
leadId | uuid | |
stage | queued, resolving, invited, accepted, messaged, followed_up, replied, failed, skipped | |
stageExact | queued, resolving, invited, accepted, messaged, followed_up, replied, failed, skipped | |
sequenceId | uuid | |
strategyId | uuid | |
query | string | |
engagedOnly | boolean | |
bookedOnly | boolean | |
sinceDays | integer | rango 0 a 365. |
limit | integer | rango 1 a 500. |
add_leads
Pone en cola leads en una secuencia activa aprobada: de 1 a 500 perfiles manuales de LinkedIn, contenido CSV o una URL guardada de lista de Sales Navigator. Los manuales y CSV terminan de inmediato y devuelven recuentos de agregados, duplicados e inválidos, además de addedLeadIds estables. Sales Navigator se ejecuta en segundo plano y autoinscribe; usa method=import_status con su batchId para verificar. No se envía nada en esta llamada.
La entrada es una de estas formas:
method: "manual"conrequestId(obligatorio),sequenceId(obligatorio),leads(obligatorio)method: "csv"conrequestId(obligatorio),sequenceId(obligatorio),csvContent(obligatorio)method: "sales_navigator"conrequestId(obligatorio),sequenceId(obligatorio),accountId,listUrl(obligatorio)method: "import_status"conbatchId(obligatorio)
remove_leads
Solo cuando el cliente pide explícitamente deshacer una adición o detener leads. Apunta a IDs de leads o a un batchId de add_leads. Los leads no contactados salen de la cola; los leads contactados conservan el historial y no reciben más pasos automatizados. Las invitaciones y mensajes enviados no se pueden revertir.
La entrada es una de estas formas:
target: "leads"conleadIds(obligatorio)target: "import"conbatchId(obligatorio)
Respuestas
list_pending_replies (solo lectura)
Respuestas entrantes de LinkedIn congeladas para revisión humana, cada una con el borrador de respuesta de PumpGTM. Solo lectura.
| Argumento | Tipo | Notas |
|---|---|---|
limit | integer | predeterminado 50, rango 1 a 200. |
decide_reply
Aplica una decisión humana explícita a una respuesta pendiente. send, invite y booking_link contactan al prospecto; opt_out es permanente. Muestra el borrador y pregunta primero al cliente.
| Argumento | Tipo | Notas |
|---|---|---|
draftId | uuid | obligatorio. |
decision | send, invite, booking_link, snooze, start_sequence, meeting_booked, dismiss, opt_out | obligatorio. |
text | string | |
days | integer | rango 1 a 365. |
decidedBy | string | predeterminado "mcp". |
Mensajes en frío
get_cold_message_examples (solo lectura)
Una muestra aleatoria de la biblioteca de PumpGTM de las publicaciones públicas más gustadas en X sobre cómo escribir correos y mensajes directos en frío, cada una con su enlace y el motivo por el que se conservó. Úsalas como referencia al redactar o criticar un mensaje en frío; da crédito al autor y no las copies palabra por palabra.
| Argumento | Tipo | Notas |
|---|---|---|
count | integer | predeterminado 5, rango 1 a 10. |
Interactuadores de publicaciones y X (las herramientas de X necesitan el canal X)
reach_post_engagers
URL de publicación de LinkedIn más mensaje: PumpGTM crea un Play con su propia secuencia aprobada (solicitud de conexión sin nota, luego tu mensaje), obtiene en segundo plano a cada reaccionador y comentarista (hasta 500) e inscribe a todos; llama de nuevo solo con playId para ver el progreso. URL de publicación de X (x.com/…/status/…) más mensaje, o más un sequenceId de X existente: sus seguidores de "me gusta" y respondedores se recopilan en Lead Universe para revisión a medida que interactúan, de ahora en adelante; el cliente agrega allí los que quiera a esa secuencia de X (o con add_to_sequence). followers=true en lugar de una URL de publicación hace lo mismo para los nuevos seguidores de la cuenta (espacios de trabajo con el canal X; llama de nuevo solo con watchId para ver personas en espera de revisión, DMs enviados, respuestas). No se inscribe ni envía nada en esta llamada.
| Argumento | Tipo | Notas |
|---|---|---|
postUrl | uri | |
followers | boolean | Solo X: recopilar los nuevos seguidores de la cuenta para revisión en lugar de los interactuadores de una publicación. |
message | string | |
sequenceId | uuid | Solo publicaciones de X: una secuencia de DM de X existente en lugar de una nueva a partir de message. |
name | string | |
playId | uuid | |
watchId | uuid |
x_account
Una acción de una cuenta de X conectada: seguir a una persona (target es una URL de perfil de X o @handle), o dar "me gusta" o republicar una publicación (target es una URL de publicación de X). as elige qué cuenta conectada actúa cuando el espacio de trabajo tiene varias (get_workspace view=x_posts las lista); el predeterminado es la primera conectada. Necesita el canal X. Nunca envía un DM ni escribe una publicación nueva.
| Argumento | Tipo | Notas |
|---|---|---|
action | follow, like, repost | obligatorio. |
target | string | obligatorio. |
as | string |
Universo de cuentas (necesita la función de universo de cuentas)
research_competitor
Con websiteUrl y competitorName: lee los casos de estudio públicos de ese sitio en segundo plano y agrega cada cuenta de cliente nombrada y persona citada al universo de cuentas, cada una citada a su página de origen; roles opcionales recuperan un grupo amplio de empleados actuales, y luego la IA consciente del producto mantiene a las personas con mejor respaldo de evidencia para revisión. Proporciona productBrief cuando el Play promueve un producto diferente o el espacio de trabajo no tiene un perfil confirmado. Sin websiteUrl y competitorName: lista el universo de cuentas con fuentes (playId opcional reduce a un competidor e informa el estado de la investigación). Solo material de revisión; no inscribe ni contacta a nadie.
| Argumento | Tipo | Notas |
|---|---|---|
websiteUrl | uri | |
competitorName | string | |
roles | array de string | |
productBrief | string | |
maxCaseStudies | integer | rango 1 a 80. |
maxPeopleTotal | integer | predeterminado 100, rango 1 a 500. |
playId | uuid | |
limit | integer | predeterminado 200, rango 1 a 500. |
reach_universe
Elige personas del universo de cuentas (por nombre de competidor, playId o candidateIds exactos; notYetEnrolled omite a cualquiera que ya esté en el alcance de LinkedIn) y contáctalas en un canal. channel=email pone a todos los que tengan un correo conocido en una de las campañas de correo propias del espacio de trabajo, ya sea campaignId o un nuevo borrador llamado campaignName, y puede establecer los pasos de la campaña (texto plano, marcadores {{firstName}} {{company}} {{title}}, delayDays entre pasos), el horario, los mailboxIds de envío (o allMailboxes) y dailyLimit en la misma llamada; las personas sin correo se omiten, y findEmails=true primero busca direcciones faltantes, hasta maxEmailLookups y un límite diario. channel=linkedin las inscribe en una secuencia activa aprobada por sequenceId mediante el motor normal con ritmo. No se lanza ni envía nada en esta llamada.
| Argumento | Tipo | Notas |
|---|---|---|
channel | email, linkedin | obligatorio. |
competitor | string | |
playId | uuid | |
candidateIds | array de uuid | |
notYetEnrolled | boolean | predeterminado true. |
campaignId | string | |
campaignName | string | |
findEmails | boolean | predeterminado false. |
maxEmailLookups | integer | predeterminado 50, rango 1 a 200. |
steps | array de objetos | |
schedule | object | |
mailboxIds | array de uuid | |
allMailboxes | boolean | predeterminado false. |
dailyLimit | integer | rango 1 a 5000. |
sequenceId | uuid |
add_to_sequence
Selecciona personas del universo de la cuenta (por nombre de competidor, playId o candidateIds exactos; notYetEnrolled omite a quienes ya están en una secuencia) y agrégalas a una secuencia: un sequenceId existente no archivado de list_sequences, o un borrador nuevo llamado name creado a partir de la plantilla linkedin / email / linkedin_email (luego edita sus pasos con save_sequence_draft). Las secuencias solo de email omiten a personas sin correo conocido; las secuencias mixtas los conservan y sus pasos de email esperan hasta que se conozca una dirección; findEmails=true primero busca direcciones faltantes, con límite de uso. Agregar nunca aprueba, lanza ni envía: el cliente aprueba e inicia la secuencia con set_sequence_status.
| Argumento | Tipo | Notas |
|---|---|---|
competitor | string | |
playId | uuid | |
candidateIds | array de uuid | |
notYetEnrolled | boolean | predeterminado true. |
sequenceId | uuid | |
name | string | |
template | linkedin, email, linkedin_email, linkedin_email_parallel | |
findEmails | boolean | predeterminado false. |
maxEmailLookups | integer | predeterminado 50, rango 1 a 200. |
CRM (requiere la función CRM)
get_pipeline (solo lectura)
Lee las oportunidades de CRM y el ciclo de vida de las empresas de tu espacio de trabajo. El dinero está en unidades menores y los totales se separan por moneda. Las probabilidades son estimaciones explícitas de etapa/equipo, no predicciones calibradas ni ingresos verificados. Requiere la función CRM.
| Argumento | Tipo | Notas |
|---|---|---|
q | string | |
currency | string | |
attention | boolean | |
scope | active, archived, all | predeterminado "active". Activo excluye empresas archivadas; archivado y todas preservan el acceso histórico. |
offset | integer | predeterminado 0, rango 0 a 10000. |
limit | integer | predeterminado 50, rango 1 a 100. |
get_company (solo lectura)
Empresa, contactos principales vinculados, oportunidades, plan de éxito del cliente y los últimos 100 eventos atribuidos a fuentes. Las señales registradas/importadas no implican una conexión activa con el proveedor.
| Argumento | Tipo | Notas |
|---|---|---|
company_id | uuid | requerido. |
save_company
Crea o revisa una empresa de CRM y su plan de éxito del cliente. Usa un UUID nuevo y expected_revision=0 para crear; usa la revisión actual para editar. El ciclo de vida es la evaluación de tu equipo; activo nunca significa verificado por Stripe. No inventes el estado del cliente. No envía, inscribe ni factura a nadie.
| Argumento | Tipo | Notas |
|---|---|---|
id | uuid | requerido. |
expected_revision | integer | requerido, rango 0 a 9007199254740991. |
name | string | requerido. |
domain | string | requerido. |
lifecycle | prospect, onboarding, active, at_risk, churned | requerido. |
owner | string | requerido. |
success_plan | string | requerido. |
next_review_on | date | requerido. |
save_opportunity
Crea o revisa un trato para una empresa de CRM existente. Pide el valor/moneda faltante; valor nulo significa desconocido. Usa un UUID nuevo/revisión=0 para crear; de lo contrario, la revisión actual. La etapa no cambia el alcance ni el ciclo de vida de la empresa. Ganado significa registrado como ganado, no pagado. Solo establece probability_override cuando el usuario proporcione una estimación.
| Argumento | Tipo | Notas |
|---|---|---|
id | uuid | requerido. |
expected_revision | integer | requerido, rango 0 a 9007199254740991. |
company_id | uuid | requerido. |
title | string | requerido. |
stage | new, qualified, meeting, proposal, negotiation, won, lost | requerido. |
amount_minor | integer | requerido. |
currency | USD, EUR, GBP, CAD, AUD, INR | requerido. |
probability_override | integer | requerido. |
expected_close_on | date | requerido. |
next_step | string | requerido. |
next_step_due_on | date | requerido. |
add_company_contact
Agrega un contacto de empresa, opcionalmente vinculado a un lead existente de PumpGTM en este espacio de trabajo. Nunca adivines una coincidencia de lead a partir de un nombre de empresa. No crea ni inscribe leads de alcance.
| Argumento | Tipo | Notas |
|---|---|---|
id | uuid | requerido. |
company_id | uuid | requerido. |
name | string | requerido. |
email | requerido. | |
role | string | requerido. |
lead_id | uuid | requerido. |
record_customer_signal
Agrega una nota fechada, reunión, respuesta, interacción con el producto, riesgo o hito, con su enlace de origen. Usa evidencia, no suposiciones. Los nombres de fuente son atribución, no verificación del proveedor. No lee un proveedor ni envía a Slack. Una nota nunca actualiza la recencia del contacto.
| Argumento | Tipo | Notas |
|---|---|---|
id | uuid | requerido. |
company_id | uuid | requerido. |
kind | note, meeting, reply, product_engagement, risk, milestone | requerido. |
source | manual, eve, notion, fathom, granola, calendar, slack, stripe | requerido. |
title | string | requerido. |
body | string | requerido. |
occurred_at | date-time | requerido. |
source_url | uri | requerido. |
Aún no disponible en este servidor
- Gestionar varios espacios de trabajo de clientes desde una sola conexión. Hoy una clave es un espacio de trabajo. La capa de agencia está en progreso; escribe a hello@pumpgtm.com.
- Los webhooks se gestionan por REST, no por MCP:
POST /api/v1/webhookscon la misma clave, consulta /docs/api.
Preguntas: hello@pumpgtm.com.
Guías y lecturas
pumpgtm.com · Docs · Iniciar un espacio de trabajo · X · YouTube · Política de privacidad · Soporte: hello@pumpgtm.com
Construido por Giga Next Inc., San Francisco. La documentación y los esquemas de este repositorio tienen licencia MIT; el servicio alojado es un producto comercial.


