Pinlyx CRM MCP Server
Servidor MCP remoto para el CRM Pinlyx: 76 herramientas, 21 recursos y 15 indicaciones para que Claude, Cursor, VS Code o ChatGPT puedan buscar contactos, leer la bandeja de entrada omnicanal (Telegram, WhatsApp, Instagram, X, correo electrónico), redactar respuestas, mover acuerdos y ejecutar secuencias de divulgación a través de un endpoint HTTP Streamable autenticado.
Servidor MCP alojado
npx add-mcp 'https://api.pinlyx.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
El servidor MCP de CRM que permite a un asistente de IA gestionar tu pipeline
Conecta Claude, Cursor, VS Code, Windsurf o cualquier cliente del Model Context Protocol a Pinlyx y tu asistente dejará de describir tu CRM para empezar a usarlo. 76 herramientas, 21 recursos y 15 prompts a través de un único endpoint autenticado, con cada llamada limitada por los alcances de la clave que tú mismo emites.
Plan gratuito para siempre · Sin necesidad de tarjeta de crédito · Cancela cuando quieras
76
Herramientas
Cada una declara su alcance requerido
21
Recursos
Lecturas de contexto precargadas por URI
15
Prompts
Flujos de trabajo con nombre que una persona elige
2025-06-18
Revisión del protocolo
JSON-RPC 2.0, Streamable HTTP
Definición
El Model Context Protocol (MCP) es un estándar abierto que permite a un asistente de IA llamar a otro software mediante un conjunto descrito de herramientas, recursos y prompts, en lugar de adivinarlo a partir de texto pegado.
Un servidor MCP de CRM es ese estándar colocado frente a un CRM: publica contactos, conversaciones, negocios, tareas, facturas y campañas como operaciones que un asistente puede llamar, para que el asistente pueda leer tu pipeline y modificarlo dentro de los permisos que otorgaste.
Pinlyx ejecuta uno en https://api.pinlyx.com/mcp. Habla la revisión del protocolo 2025-06-18 sobre JSON-RPC 2.0, se autentica con una clave de API bearer que tú mismo emites, y cubre trece áreas de capacidad a través de doce canales de mensajería.
Trece áreas de capacidad, un único endpoint
Las 76 herramientas no son un montón aleatorio de endpoints. Se agrupan en trece áreas que reflejan cómo trabaja realmente un equipo de ingresos, y cada área se asigna a sus propios alcances de lectura y escritura.
Contactos
Busca, abre y enriquece un registro de persona: crm_search_contacts, crm_get_contact, crm_get_contact_activity, además de escrituras como crm_tag_contact y crm_set_lead_score.
Conversaciones
Lee el hilo antes de responderlo. crm_list_recent_conversations muestra quién está esperando, crm_get_conversation recorre el historial, crm_send_telegram_message pone en cola la respuesta.
Bandeja de entrada y correo electrónico
crm_search_email_threads y crm_get_email_thread leen el buzón compartido. crm_set_email_thread_status y crm_assign_email_thread enrutan el trabajo sin enviar correos.
Negocios
crm_list_deals y crm_get_deal responden qué hay en el pipeline. crm_create_deal y crm_update_deal_stage mueven oportunidades, con la transición a Ganado deliberadamente reservada para el panel.
Tareas
crm_list_tasks responde qué está pendiente y qué está vencido. crm_create_task agenda el seguimiento, crm_complete_task lo cierra y registra la hora de finalización.
Pipelines
crm_list_pipelines y crm_get_pipeline exponen cada tablero con sus etapas ordenadas y recuentos en vivo por etapa, para que un asistente aprenda la forma de tu embudo antes de tocarlo.
Finanzas
crm_finance_summary, crm_list_transactions, crm_list_invoices y crm_revenue_sources_summary informan sobre el libro mayor. Las cuatro son solo de consulta: nada aquí mueve dinero.
Secuencias
crm_list_sequences y crm_get_sequence_status informan el progreso de las campañas. crm_pause_sequence y crm_resume_sequence son los dos controles que se confían a un asistente.
Webhooks
crm_list_webhooks y crm_list_webhook_deliveries responden por qué un endpoint no se está disparando. crm_create_webhook registra uno y devuelve su secreto de firma exactamente una vez.
Agentes y trabajos
crm_list_agents informa qué está automatizando respuestas, crm_run_agent prueba uno sin entregar nada, crm_list_jobs y crm_get_job muestran si un envío realmente salió.
Google Ads
crm_google_ads_summary, crm_google_ads_campaigns y crm_google_ads_breakdown informan hasta el término de búsqueda. crm_update_google_ads_budget, crm_update_google_ads_bidding y crm_set_google_ads_status cambian una cuenta activa, y crm_publish_ad_draft envía un borrador aprobado de Ads Studio en pausa.
¿Qué es el Model Context Protocol?
El Model Context Protocol es un estándar abierto para conectar un asistente de IA a software externo mediante una interfaz autodescriptiva. Un servidor publica lo que puede hacer, un cliente solicita esa lista y el modelo elige entre ella. Nada del emparejamiento está codificado de forma fija en ninguno de los dos lados, que es precisamente el punto: el asistente aprende tu CRM en tiempo de ejecución en lugar de venir con una idea incorporada de lo que es un CRM.
Antes de que existiera un estándar, cada combinación de asistente y herramienta de negocio necesitaba su propia integración a medida. Diez asistentes y diez herramientas significaban cien adaptadores, cada uno mantenido por alguien a quien solo le importaba un lado. MCP invierte la aritmética. El CRM se describe a sí mismo una vez, y cualquier cliente compatible puede manejarlo. El mismo argumento ganó para el Language Server Protocol en los editores de código: un servidor, muchos editores, nadie escribiendo el mismo motor de autocompletado diez veces.
El protocolo tiene tres primitivas, y la diferencia entre ellas tiene que ver con quién tiene el control:
- Herramientas son acciones que el modelo decide llamar. Cada una lleva un nombre, una descripción y un JSON Schema para su entrada, para que el modelo sepa qué argumentos son válidos antes de intentarlo. En Pinlyx,
crm_search_contactsycrm_create_taskson herramientas. - Recursos son contexto legible direccionado por URI, que el cliente adjunta a la conversación. Existen para que un asistente pueda comenzar una conversación ya sabiendo algo, en lugar de gastar una llamada de herramienta en una pregunta que hará cada vez. Pinlyx expone 21 de ellos, incluyendo
crm://social/inboxycrm://deals/pipeline. - Prompts son flujos de trabajo con nombre y parametrizados que una persona elige deliberadamente. No son algo que el modelo invoque por capricho. Pinlyx incluye 15, incluyendo
daily-briefing,pipeline-reviewysocial-inbox-triage.
Esa división en tres importa más en un CRM que en casi cualquier otro lugar, porque un CRM es un sistema de registro. Las herramientas son el modelo actuando. Los recursos son el cliente decidiendo qué contexto cargar. Los prompts son un humano diciendo: ejecuta esta jugada específica, ahora, sobre este registro específico. Cualquier producto que colapse los tres en un montón indiferenciado de funciones ha hecho más difícil que razones sobre lo que tu asistente puede hacer por su cuenta.
MCP es agnóstico al transporte. Un servidor que se ejecuta como proceso local se comunica a través de la entrada y salida estándar. Un servidor que vive en internet, como un CRM alojado, usa HTTP. Pinlyx es del segundo tipo, así que todo lo siguiente describe la ruta remota.
Por qué MCP importa específicamente para un CRM
Un CRM es el sistema donde un asistente que no puede actuar es menos útil, porque casi toda pregunta valiosa sobre un CRM termina en un cambio. A quién debería responder primero termina en una respuesta. Qué negocios están estancados termina en una tarea. Qué acordamos con este cliente termina en una nota que alguien tiene que escribir. Un asistente que solo puede hablar de tu pipeline te deja el último y más tedioso paso a ti, cada vez.
La brecha es más fácil de ver en el bucle de copiar y pegar en el que viven la mayoría de los equipos hoy. Exportas una vista a CSV o capturas un tablero, lo pegas en una ventana de chat, obtienes un análisis genuinamente bueno, y luego reescribes el resultado en el CRM a mano. Tres problemas se combinan. Los datos estaban obsoletos en el momento en que salieron del sistema. El análisis está desconectado de los registros que describe, así que nada enlaza de vuelta. Y la escritura es manual, lo que significa que en un día ajetreado no ocurre en absoluto y tu CRM se deteriora silenciosamente.
Una conexión MCP elimina los tres. La lectura es en vivo, porque la llamada a la herramienta golpea la base de datos en el momento de la pregunta. El resultado lleva identificadores de registro, así que la acción de seguimiento apunta a la fila correcta. Y la escritura es una llamada de herramienta más, que es la diferencia entre una idea y un cambio.
Qué reemplaza MCP
Copiar y pegar y capturas de pantalla. El flujo de trabajo de CRM e IA más común en 2026 sigue siendo un humano actuando como bus de datos entre dos pestañas del navegador. MCP elimina ese rol. Dejas de ser la integración.
Cambio de pestañas. Un representante que responde un DM revisa el registro del contacto, el último hilo de correo, el negocio abierto y la tarea vencida, en cuatro lugares. Con MCP el asistente arma esa imagen en un solo turno, porque crm_get_contact ya devuelve los últimos diez mensajes y crm_get_contact_activity devuelve la línea de tiempo detrás de ellos.
Automatizaciones no-code frágiles. Un zap codifica una decisión en el momento de la construcción: cuando este disparador se active, haz siempre aquello. Funciona maravillosamente para plomería determinista y mal para el juicio. Un asistente con acceso MCP decide en el momento de la llamada, con el hilo real frente a él. Los dos son complementarios más que rivales, y trabajamos exactamente dónde gana cada uno en la comparación MCP versus API REST versus herramientas de automatización.
Hay una razón más por la que un CRM es el lugar correcto para conectar un asistente. Es donde el contexto multicanal ya vive. Pinlyx unifica Telegram, WhatsApp, Instagram, Facebook, X, LinkedIn, TikTok, YouTube, Threads, Pinterest, Reddit y DMs de Bluesky junto con correo electrónico y chat en vivo en una bandeja de entrada unificada. Un asistente conectado a esa bandeja puede responder una pregunta como qué cliente ha esperado más tiempo en todos los canales, algo que ninguna herramienta de un solo canal puede responder en absoluto.
Cómo está construido el servidor MCP de Pinlyx
El servidor es un endpoint remoto del Model Context Protocol en https://api.pinlyx.com/mcp, que habla JSON-RPC 2.0 sobre el transporte Streamable HTTP en la revisión del protocolo 2025-06-18, y se autentica con una clave de API bearer. Cada elemento de esa frase tiene una consecuencia práctica, así que aquí está cada uno en lenguaje sencillo seguido del detalle exacto del cable.
JSON-RPC 2.0 es el formato de mensaje
En lenguaje sencillo: cada mensaje es un pequeño sobre JSON con un nombre de método, algunos parámetros y un id, y cada respuesta vuelve emparejada con ese id. Es una idea aburrida de cuarenta años y eso es una ventaja. No hay marco personalizado que aprender ni ambigüedad sobre qué respuesta pertenece a qué solicitud.
En el cable: un cuerpo de solicitud se ve como {"jsonrpc":"2.0","id":1,"method":"tools/list"}. Los errores se devuelven como un objeto de error JSON-RPC en lugar de un estado HTTP donde el protocolo lo requiere, por lo que un alcance faltante aparece como código de error -32002 en el cuerpo en lugar de un HTTP 403.
Streamable HTTP es el transporte
En lenguaje sencillo: una URL maneja todo, y la conexión se actualiza a un flujo solo cuando hay algo que transmitir. No ejecutas un socket de larga duración solo para hacer una pregunta.
En el cable, los tres verbos tienen cada uno un trabajo:
- POST envía una solicitud o notificación JSON-RPC. Así viajan
initialize,tools/list,tools/call,resources/readyprompts/get. El cliente debe enviarAccept: application/json, text/event-streampara que el servidor pueda responder con un solo cuerpo JSON o un flujo de eventos. - GET abre el flujo de eventos enviados por el servidor, que es como el servidor empuja mensajes que el cliente no pidió. Un cliente que solo hace llamadas de solicitud y respuesta nunca necesita abrirlo.
- DELETE termina una sesión explícitamente. Es la forma educada de colgar, y libera la sesión inmediatamente en lugar de esperar un tiempo de espera.
Sesiones, y por qué sin estado sigue funcionando
En lenguaje sencillo: el servidor puede recordarte entre llamadas, pero no tiene que hacerlo. Eso importa para cualquiera que ejecute el asistente dentro de una función serverless o un trabajo de CI, donde el mismo proceso puede que nunca maneje dos solicitudes seguidas.
En el cable: la respuesta a initialize lleva un encabezado Mcp-Session-Id. Un cliente que mantiene una sesión repite ese valor en solicitudes posteriores y lo derriba con un DELETE. Un cliente que no envía encabezado de sesión igualmente recibe respuestas, porque las llamadas sin estado están soportadas: la autenticación proviene de la clave en cada solicitud, no de la sesión. La sesión es una optimización, nunca el límite de seguridad.
Autenticación bearer y el documento de descubrimiento
En lenguaje sencillo: creas una clave en el panel, el cliente la envía en cada solicitud y no hay ningún baile de inicio de sesión. Un documento de descubrimiento indica a los clientes que conocen los estándares cómo espera el endpoint ser autenticado.
En el cable: pasa Authorization: Bearer csk_live_... con cada solicitud. Las claves se crean en el panel en Configuración, luego Desarrolladores y luego Claves API, y el token completo se muestra una sola vez. El endpoint publica un documento de recurso protegido RFC 9728 en GET /.well-known/oauth-protected-resource, que anuncia autenticación de clave API de tipo bearer. Su matriz authorization_servers está actualmente vacía, y ese único detalle explica toda una clase de fallos de conexión: los clientes que solo se conectarán a través de un flujo de servidor de autorización, en lugar de un encabezado estático, no pueden usar una clave directamente. Por eso los conectores de Claude Desktop y los conectores personalizados de ChatGPT necesitan una ruta de configuración diferente a la de Claude Code o Cursor, que recorremos en la página conecta Claude a tu CRM.
Salida en camelCase
En lenguaje sencillo: si analizas los resultados de las herramientas MCP en tu propio código, espera contactId y no ContactId.
En el cable: las respuestas MCP están en camelCase en todo momento, mientras que la API REST v1 devuelve propiedades en PascalCase. Las dos superficies se asientan sobre los mismos datos y el mismo modelo de permisos, pero fueron moldeadas para consumidores diferentes, y mezclar las mayúsculas es la causa más común de un campo nulo cuando un desarrollador mueve un script de una a la otra. Dentro de MCP, la convención es consistente en las 76 herramientas, así que la aprendes una vez.
Resumen del cable. Endpoint
https://api.pinlyx.com/mcp. Transporte HTTP Streamable. Protocolo2025-06-18. Formato JSON-RPC 2.0. AutenticaciónAuthorization: Bearer csk_live_.... Encabezado de sesiónMcp-Session-Id, opcional. Fallo de alcance-32002. Límite de velocidad 60 solicitudes por minuto por defecto, techo de 300 en Business. Descubrimiento/.well-known/oauth-protected-resource.
Qué cubren las 76 herramientas, 21 recursos y 15 prompts
La superficie cubre trece áreas de capacidad: contactos, conversaciones, bandeja de entrada y correo electrónico, tratos, tareas, pipelines, finanzas, secuencias, DMs sociales, publicaciones sociales, webhooks, agentes y trabajos, y Google Ads. Atravesando todas ellas hay tres herramientas de análisis, crm_dashboard_summary, crm_messaging_stats y crm_top_contacts, que responden las preguntas de cómo-me-está-yendo sin pertenecer a ninguna área en particular. Lo que sigue es un párrafo por área con nombres de herramientas representativos. La referencia completa, con cada herramienta, su alcance requerido y si lee o escribe, está en la referencia de herramientas MCP.
Contactos
Ocho herramientas de lectura y siete de escritura, el área más grande por bastante margen. crm_search_contacts encuentra a una persona por nombre, nombre de usuario o teléfono y devuelve hasta 25 resultados ordenados por contacto más reciente. crm_get_contact abre un registro e incluye los últimos diez mensajes intercambiados, lo que suele ser suficiente contexto para una respuesta sin una segunda llamada. En el lado de escritura, crm_tag_contact, crm_set_lead_score y crm_assign_contact registran cada una una entrada en la línea de tiempo de actividad, de modo que el cambio sea atribuible después. Una advertencia honesta que vale la pena conocer antes de dejar suelto a un asistente: crm_add_contact_note añade a un campo de 500 caracteres, y una vez que está lleno, el texto más antiguo se elimina del frente para hacer espacio.
Conversaciones
crm_list_recent_conversations es la herramienta a la que la mayoría de los asistentes recurren primero, porque responde quién necesita una respuesta con una vista previa del último mensaje por contacto. crm_get_conversation pagina hacia atrás a través de un hilo de cincuenta mensajes a la vez. El envío está deliberadamente dividido por canal y por alcance: crm_send_telegram_message requiere telegram:send y se pone en cola de forma asíncrona, mientras que crm_send_twitter_dm requiere twitter:send y sale a través de la sesión X conectada. crm_list_accounts es la llamada que le dice al asistente desde qué id de cuenta se le permite enviar, y omitirla es la razón habitual por la que un envío falla en el primer intento.
Bandeja de entrada y correo electrónico
Dos herramientas de lectura y dos de escritura, y el detalle importante es lo que las herramientas de escritura deliberadamente no hacen. crm_search_email_threads y crm_get_email_thread leen el buzón compartido, la segunda devuelve mensajes de texto plano del más antiguo al más reciente junto con cualquier resumen de IA y puntuación de lead. crm_set_email_thread_status y crm_assign_email_thread mueven un hilo a través de abierto, pendiente y cerrado, o lo entregan a un colega. Ninguna envía correo. Un asistente con email:read y email:write puede ejecutar tu triaje sin poder enviar un correo electrónico a un cliente, que es exactamente la forma que la mayoría de los equipos de soporte quieren primero.
Tratos
crm_list_deals devuelve el pipeline ordenado por etapa y luego por valor, con recuentos de tareas abiertas adjuntos, de modo que una pregunta de pronóstico necesita una llamada. crm_get_deal abre uno con sus tareas vinculadas y el nombre de contacto resuelto. crm_create_deal y crm_update_deal_stage manejan las escrituras, y ambas se detienen en la misma línea: un trato puede moverse entre lead, calificado, propuesta, negociación y perdido, pero no puede moverse a ganado a través de MCP, porque ganado registra una entrada de ingresos en el libro mayor. Cerrar un trato sigue siendo una acción humana en el panel.
Tareas
crm_list_tasks ordena por fecha de vencimiento y luego por prioridad, lo que hace que lo que está vencido y lo que vence hoy sea una sola llamada. crm_create_task reserva un seguimiento y puede vincularlo a un contacto y un trato al mismo tiempo, de modo que el recordatorio lleve su propio contexto. crm_complete_task marca una como hecha y sella la hora de finalización, o la reabre pasando un estado explícito. Esta es el área más pequeña del servidor y, en la práctica, la que cambia el comportamiento diario más rápido, porque es donde un asistente convierte una conclusión en una obligación.
Pipelines
crm_list_pipelines y crm_get_pipeline son de solo lectura y existen para enseñar a un asistente la forma de tu CRM antes de que edite nada. Devuelven cada tablero con sus columnas de etapas ordenadas y un recuento de contactos en vivo por etapa. Un asistente bien educado llama a una de ellas antes de intentar mover un contacto, porque los nombres de las etapas son tuyos, no nuestros, y adivinarlos es cómo un asistente produce una respuesta segura pero incorrecta.
Finanzas
Cuatro herramientas, todas de solo lectura, todas de informes. crm_finance_summary devuelve ingresos realizados, gastos y neto por moneda en un período, más totales pendientes y las principales categorías de gastos. crm_list_transactions lista las entradas del libro mayor de la más reciente a la más antigua. crm_list_invoices resume lo que aún se debe por moneda. crm_revenue_sources_summary informa los feeds de ingresos conectados con su último estado de sincronización y nunca devuelve las credenciales detrás de ellos. Ninguna de estas cuatro puede crear, editar, reembolsar, liquidar o pagar nada. Un asistente de finanzas en este servidor puede decirte el número y no puede cambiarlo.
Secuencias
crm_list_sequences responde qué campañas están en ejecución, con estado y progreso de objetivos. crm_get_sequence_status profundiza en una, devolviendo recuentos de procesados, exitosos y fallidos junto con los pasos de mensaje y la actividad reciente de trabajos. El lado de escritura es intencionalmente dos controles en lugar de un editor completo: crm_pause_sequence y crm_resume_sequence, ambos idempotentes. Un asistente puede detener una campaña que está fallando a las tres de la mañana. No puede reescribir tu copia de divulgación mientras duermes. Construir la campaña en sí permanece en el constructor de secuencias.
DMs sociales
Cinco herramientas de lectura y dos de escritura que abarcan cada red conectada. crm_social_inbox_summary es el movimiento inicial para el triaje: una llamada devuelve totales de conversaciones y no leídos en general y por red, más los hilos que aún esperan una respuesta, del más antiguo al más reciente. crm_list_social_messages pagina a través de un hilo y lleva transcripciones para notas de voz y ambos textos para mensajes traducidos. crm_send_social_message es el que llega a una persona real: entrega a través de la cuenta que posee el hilo, pausa la auto-respuesta de IA para ese contacto para que dos robots no respondan a la vez, y registra el envío en la línea de tiempo del CRM. Las ventanas de plataforma aún se aplican, y WhatsApp solo permite respuestas de forma libre dentro de las 24 horas posteriores al último mensaje del cliente. El flujo social completo tiene su propia página: gestión de redes sociales a través de MCP.
Publicaciones sociales
Tres herramientas de lectura y tres de escritura. crm_list_social_posts muestra lo que está programado y lo que se publicó, incluida cualquier razón de fallo. crm_schedule_social_post reserva contenido en una o más cuentas conectadas, creando una publicación por cuenta objetivo, y aplica reglas por plataforma en el momento de la llamada: TikTok y YouTube necesitan un video, Instagram necesita medios, X limita a 280 caracteres. crm_update_social_post y crm_cancel_social_post solo tocan publicaciones que aún están pendientes. Cualquier cosa ya publicada, en vuelo, fallida o cancelada es rechazada, lo que significa que un asistente no puede reescribir silenciosamente la historia.
Webhooks
crm_list_webhooks y crm_list_webhook_deliveries existen principalmente para responder una pregunta: por qué mi endpoint no se está disparando. La herramienta de entrega devuelve intentos recientes con estado, número de intento, último código de respuesta y último error, del más reciente al más antiguo, lo que suele ser suficiente para diagnosticarlo sin abrir el panel. Los secretos de firma nunca son devueltos por la herramienta de lista, solo una vista previa corta. crm_create_webhook registra un endpoint HTTPS y devuelve su secreto de firma exactamente una vez, así que guárdalo inmediatamente. crm_delete_webhook es el único borrado duro en todo el servidor y está anotado como destructivo.
Agentes y trabajos
crm_list_agents informa los agentes de IA que actualmente automatizan respuestas, con estado, canales, modo de respuesta, modelo y un recuento de ejecuciones en 24 horas. crm_run_agent es un patio de juegos: ejecuta un agente contra un mensaje entrante de muestra y devuelve la respuesta que habría enviado, sin entregar nada y sin crear, cambiar o eliminar un solo registro del CRM. Está marcado como una herramienta no de solo lectura puramente porque cada ejecución llama a un proveedor de modelos externo y gasta créditos de IA. crm_list_jobs y crm_get_job cierran el ciclo en el envío saliente, mostrando si un mensaje en cola realmente salió y, si no lo hizo, el error exacto.
Google Ads
Once herramientas, seis de lectura y cinco de escritura, bajo ads:read y ads:write. crm_google_ads_summary responde cómo le fue a la cuenta en un período, crm_google_ads_campaigns clasifica campañas por gasto, y crm_google_ads_breakdown baja a grupos de anuncios, anuncios, palabras clave o términos de búsqueda, que es donde el gasto desperdiciado se vuelve visible. crm_google_ads_campaign_settings es la lectura que haces antes de cualquier cambio. En el lado de escritura, crm_set_google_ads_status pausa o habilita una entidad, crm_update_google_ads_budget y crm_update_google_ads_bidding cambian cuánto gasta la cuenta y cómo puja, y crm_dry_run_ad_draft luego crm_publish_ad_draft validan y envían un borrador construido en Ads Studio, siempre pausado. Las llamadas se ejecutan del lado del servidor contra la API de Google Ads con tu propia concesión OAuth, de modo que el modelo nunca ve una credencial de Google. El recorrido completo está en la página servidor MCP de Google Ads.
Recursos y prompts
Junto a las herramientas, 21 recursos dan a un cliente algo que cargar antes de que se haga la primera pregunta. crm://me lleva identidad y plan. crm://social/inbox lleva totales de no leídos por red y los veinte hilos de DM más recientemente activos. crm://tasks/overdue lleva solo tareas cuya fecha de vencimiento ya ha pasado, que es una lista diferente de crm://tasks/today y vale la pena mantenerla separada. Los 15 prompts son los flujos de trabajo que una persona activa a propósito: daily-briefing, triage-inbox, pipeline-review, weekly-finance-report, lost-deal-postmortem, dm-reply-draft y nueve más.
Configuración en cinco minutos
Tres pasos: crea una clave con alcance, agrega el servidor a tu cliente, verifica con una pregunta que tenga una respuesta comprobable. El detalle por cliente difiere más de lo que esperarías, porque cada proveedor inventó su propia forma de archivo de configuración, así que la forma exacta para Claude Code, Claude Desktop, Cursor, VS Code y Windsurf está en la página conecta Claude a tu CRM. Lo que sigue es el resumen más dos fragmentos correctos.
Paso 1: crea una clave con alcance
En el panel, abre Ajustes, luego Desarrolladores, luego Claves de API, y crea una clave. Elige solo los alcances que este asistente necesita. Un asistente de informes está bien con contacts:read, deals:read, pipelines:read y analytics:read. El token completo comienza con csk_live_ y se muestra una sola vez, así que cópialo en una variable de entorno de inmediato y nunca en un repositorio.
Paso 2: añade el servidor
En Claude Code, un solo comando lo hace. La bandera -s elige dónde se almacena la entrada: local solo para ti en este proyecto, project para un .mcp.json verificado, user para cada proyecto en tu máquina.
claude mcp add --transport http pinlyx https://api.pinlyx.com/mcp \
--header "Authorization: Bearer csk_live_YOUR_KEY" \
-s user
Si prefieres un archivo que viva con el repositorio, esta es la forma correcta de .mcp.json. El campo type no es opcional: una entrada url sin "type": "http" se analiza como un comando stdio local y la conexión falla con una lista de herramientas vacía en lugar de un error útil.
{
"mcpServers": {
"pinlyx": {
"type": "http",
"url": "https://api.pinlyx.com/mcp",
"headers": {
"Authorization": "Bearer csk_live_YOUR_KEY"
}
}
}
}
Para ver el cableado bruto antes de confiar en un cliente, pregúntale al servidor qué puede hacer con un solo POST. El encabezado Accept lleva ambos tipos de contenido porque un servidor Streamable HTTP puede responder con cualquiera de los dos.
curl -X POST https://api.pinlyx.com/mcp \
-H "Authorization: Bearer csk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Un protocolo de enlace completo comienza con initialize, que es donde se negocia la revisión del protocolo y donde la respuesta lleva el encabezado Mcp-Session-Id si quieres mantener una sesión:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": { "name": "my-client", "version": "1.0.0" }
}
}
Paso 3: verifica con una pregunta real
No verifiques preguntando si la conexión funciona. Pregunta algo que solo tu CRM pueda responder y luego compruébalo. Buenas primeras preguntas: qué conversaciones sociales siguen esperando una respuesta, cuántos acuerdos están en cada etapa del pipeline, qué tareas están vencidas ahora mismo. El asistente debería llamar a crm_social_inbox_summary, crm_list_deals o crm_list_tasks, y los números deberían coincidir con el panel. Si la respuesta es vaga o evasiva, la lista de herramientas probablemente está vacía y el asistente está improvisando.
El modelo de seguridad, en profundidad
El modelo de seguridad se basa en cinco cosas: una lista de alcances por clave verificada en cada llamada de herramienta, una superficie de escritura que deliberadamente se detiene antes de acciones irreversibles, un límite de velocidad por clave, rotación de claves que controlas tú, y aislamiento de inquilinos aplicado a nivel de consulta en lugar de en el prompt del modelo. Nada de esto depende de que el asistente se comporte bien, que es la única forma sensata de diseñar permisos para un sistema donde el llamador es un modelo de lenguaje.
Alcances: las cadenas exactas
Cada herramienta declara el único alcance que requiere. Estas son las cadenas de alcance que una clave puede llevar, y el recuento es el número de herramientas que cada una desbloquea en la compilación actual:
- Contactos y conversaciones:
contacts:read(8 herramientas),contacts:write(7),telegram:read,telegram:send(1),twitter:send(1). - Social:
social:read(5),social:write(2),posts:read(3),posts:write(3). - Ventas:
deals:read(2),deals:write(2),tasks:read(1),tasks:write(2),pipelines:read(2). - Bandeja de entrada:
email:read(3),email:write(4). - Operaciones:
sequences:read(2),sequences:write(2),jobs:read(2),webhooks:read(2),webhooks:write(2),agents:read(1),agents:run(1). - Informes:
analytics:read(3),finance:read(4). - Publicidad:
ads:read(6),ads:write(5). - Avanzado, ofrecido pero no marcado por defecto:
finance:write,email:send,keys:manage. Si te encuentras recurriendo a uno de estos para un asistente de chat, detente y pregúntate qué estás tratando realmente de automatizar.
Observa la puntuación, porque es una fuente común de una primera llamada fallida: el recurso viene primero y el verbo segundo. Es contacts:read, nunca read:contacts. Cuando a una clave le falta un alcance, la llamada falla con el error JSON-RPC -32002 y un objeto data que lleva requiredScope y granted, para que el asistente pueda decirte exactamente qué permiso añadir en lugar de informar un fallo genérico.
Tres recetas de privilegio mínimo
La proliferación de alcances ocurre cuando se crea una clave para todo y luego se reutiliza. La alternativa es una clave por persona asistente. Estas tres cubren a la mayoría de los equipos:
- El analista de informes. Alcances:
contacts:read,deals:read,pipelines:read,tasks:read,analytics:read,finance:read. Responde preguntas de pronóstico, carga de trabajo e ingresos y no puede cambiar un solo registro. Esta es la clave que compartes más ampliamente, y la que menos te cuesta si se filtra. - El copiloto de bandeja de entrada. Alcances:
contacts:read,contacts:write,social:read,email:read,email:write,tasks:read,tasks:write,agents:read,agents:run. Clasifica, etiqueta, puntúa, asigna, redacta y reserva seguimientos. Como niemail:writenisocial:readpueden entregar un mensaje, esta persona puede ejecutar todo tu bucle de clasificación sin llegar nunca a un cliente. Cada cambio que hace es reversible y queda en la línea de tiempo de actividad. - El operador de divulgación. Todo lo que tiene el copiloto, más
social:write,telegram:send,twitter:send,posts:read,posts:write,sequences:read,sequences:write,jobs:read. Esta es la única persona que puede llegar a una persona real, por lo que debería ser la que tenga un propietario nombrado, el intervalo de rotación más corto y la revisión más estricta.
El límite de escritura segura
Las herramientas de escritura deliberadamente se detienen antes de acciones irreversibles de dinero e identidad. Esta es una decisión de diseño, no un descuido, y vale la pena explicar exactamente dónde está la línea:
- Sin escrituras de libro mayor. Las cuatro herramientas financieras son solo de informes. Nada en la superficie MCP crea una transacción, edita una, emite un reembolso o liquida algo.
- Sin pago de facturas.
crm_list_invoicesinforma lo que está pendiente y no devuelve ningún enlace de pago. No hay herramienta que envíe, anule o pague una factura. - Sin forzar un acuerdo a ganado.
crm_update_deal_stageacepta lead, calificado, propuesta, negociación y perdido, y rechaza ganado, porque ganado registra ingresos. Esa transición sigue siendo una decisión humana en el panel. - Las ejecuciones de agentes nunca entregan.
crm_run_agentdevuelve la respuesta que un agente habría enviado. La respuesta nunca se entrega a ningún contacto y no se crea, cambia ni elimina ningún registro de CRM por la ejecución. - Un borrado duro, claramente etiquetado.
crm_delete_webhookelimina permanentemente un endpoint que registraste. Es la única operación destructiva en el servidor y lleva la anotación destructiva para que un cliente pueda requerir confirmación. - Los secretos nunca vuelven a salir.
crm_list_webhooksdevuelve una vista previa corta de un secreto de firma, nunca el secreto.crm_create_webhookdevuelve el secreto una vez en la creación.crm_revenue_sources_summarynunca devuelve las credenciales de un feed de ingresos conectado.
Dos herramientas de escritura sí llegan al mundo exterior y merecen pensamiento deliberado antes de concederlas. crm_send_social_message entrega a una persona real de inmediato. crm_schedule_social_post publica a una audiencia real de inmediato cuando publishNow está configurado. Todo lo demás en la superficie de escritura cambia un registro que puedes cambiar de vuelta.
Límites de velocidad
El límite predeterminado es de 60 solicitudes por minuto por clave, y un espacio de trabajo Business puede elevar una clave a un máximo de 300 por minuto. Superarlo devuelve HTTP 429 con un encabezado Retry-After que indica el número de segundos a esperar. El límite se aplica por clave en lugar de por espacio de trabajo, que es la parte importante: un asistente atascado en un bucle de reintentos se limita solo a sí mismo y no puede privar a tu panel de informes ni a tu procesador de webhooks. Si estás ejecutando varios asistentes, dale a cada uno su propia clave solo por esta razón, independientemente del argumento de alcance.
Rotación y revocación
La clave se valida en cada solicitud individual en lugar de intercambiarse por un token de sesión, por lo que la revocación tiene efecto en la siguiente llamada. No hay período de gracia en el que un cliente ya conectado siga funcionando, ni sesión en caché que expire. Eso hace que el procedimiento de rotación sea simple y sin tiempo de inactividad si lo haces en este orden: crea la clave de reemplazo con los mismos alcances, actualiza la configuración del cliente y confirma que lista herramientas, luego revoca la clave antigua. Ambas claves son válidas durante la superposición, por lo que nada falla a mitad del cambio.
Rota según un horario para cualquier clave que lleve un alcance de envío, y rota de inmediato siempre que una clave se haya pegado en una ventana de chat, un ticket, una captura de pantalla o un repositorio. Como las claves son por asistente en la receta anterior, rotar una nunca perturba a las demás.
Cómo se ve el rastro de auditoría
El rastro de auditoría es la propia línea de tiempo de actividad del CRM, que es un mejor lugar para ello que un registro separado que nadie abre. Las herramientas de escritura registran lo que hicieron en el registro que tocaron: crm_tag_contact registra una entrada TagAdded, crm_untag_contact registra TagRemoved, crm_set_lead_score registra ScoreChanged y marca la puntuación como una anulación manual en lugar de una de IA, crm_assign_contact registra Assigned o Unassigned, crm_add_contact_note añade una nota con marca de tiempo, y crm_send_social_message registra el envío en la línea de tiempo. Léelo de vuelta con crm_get_contact_activity, más reciente primero, o abre el contacto en el panel y ve las mismas entradas. En el lado de entrega, crm_list_jobs y crm_get_job muestran cada envío saliente con su estado y su último error.
Aislamiento de inquilinos
Una clave de API identifica exactamente a un usuario del espacio de trabajo, y cada herramienta resuelve su consulta contra ese id de usuario autenticado antes de tocar la base de datos. No hay parámetro de herramienta que nombre una cuenta, espacio de trabajo o inquilino diferente, por lo que no hay nada que un modelo pueda completar incorrectamente ni nada a lo que una inyección de prompt pueda apuntar. Esto importa específicamente en un contexto MCP: el llamador es un modelo de lenguaje que puede ser influenciado por el contenido que lee, por lo que el aislamiento no puede vivir en una instrucción que le diga al modelo que se quede en su carril. Vive en la consulta.
El mismo razonamiento se aplica a la verificación de alcance. Se ejecuta en el servidor antes de que el cuerpo de la herramienta se ejecute, no en la descripción de la herramienta que el modelo lee. Un modelo al que se le ha hablado para querer enviar un mensaje aún no puede enviar uno con una clave que carece de social:write.
Cuatro casos de uso trabajados, antes y después
1. Clasificación matutina del representante de ventas
Antes. Abre el CRM, abre la bandeja de entrada social, abre el correo, escanea tres listas en busca de cualquier cosa sin responder, adivina la prioridad desde lo que sea visible en la primera pantalla, y comienza a escribir. Veinte minutos, la mayoría dedicados a decidir en lugar de hacer, y el hilo sin responder más antiguo es frecuentemente el que nadie desplazó.
Después. Pregunta: quién está esperando una respuesta en todos los canales, clasificado por cuánto tiempo han esperado y cuán valiosa es la relación, y dime qué quiere cada uno. El asistente llama a crm_social_inbox_summary para los hilos en espera más antiguos primero, crm_list_recent_conversations para los canales directos, crm_search_email_threads para el buzón, y crm_get_contact en los primeros pocos para contexto. Obtienes una lista clasificada con una razón de una línea para cada uno. Continúa con: redacta una respuesta a los primeros tres y reserva una tarea para llamar al segundo mañana. Eso es crm_get_social_conversation para el historial del hilo y crm_create_task para el recordatorio.
2. Traspaso de soporte
Antes. Un colega se va de vacaciones y sus hilos abiertos se reasignan arrastrando filas en una lista, sin un entendimiento compartido de qué trata realmente cada uno. El agente receptor lee cada hilo desde cero y el cliente se repite.
Después. Pregunta: resume cada hilo de correo abierto asignado a esta persona, dime cuáles están bloqueados por nosotros y reasígnamelos. El asistente llama a crm_search_email_threads para obtener los hilos abiertos, crm_get_email_thread en cada uno para leer los mensajes y cualquier resumen de IA, y luego crm_assign_email_thread para mover los bloqueados. Puede añadir crm_add_contact_note para que el contexto de la transferencia viva en el contacto en lugar de en un registro de chat que desaparece. Todo el bucle necesita email:read, email:write y contacts:write, y no puede enviar ni un solo correo.
3. Revisión financiera
Antes. Exporta el libro mayor, crea una tabla dinámica, concilia las divisas a mano y produce un número en el que confías a medias dos horas después.
Después. Pregunta: ¿cómo le ha ido al negocio en los últimos 30 días por divisa, qué sigue pendiente y qué categorías de gasto han variado más? El asistente llama a crm_finance_summary para los ingresos realizados, gastos y neto por divisa, crm_list_invoices para lo que se debe y crm_list_transactions para examinar las entradas detrás de una anomalía. El prompt weekly-finance-report empaqueta lo mismo como un flujo de trabajo semanal repetible. Esto se ejecuta solo con finance:read, lo que significa que el asistente que produce tu revisión financiera no puede tocar tu libro mayor aunque se le pida. Combínalo con el módulo financiero de CRM para la vista de panel.
4. Higiene semanal del pipeline
Antes. Un bloqueo recurrente en el calendario llamado revisión de pipeline que se salta, seguido de un caos a fin de trimestre para averiguar qué acuerdos eran reales.
Después. Pregunta: muéstrame acuerdos abiertos por etapa con valor y probabilidad, marca cualquier cosa sin actividad en dos semanas y reserva una tarea para cada uno. El asistente llama a crm_list_deals y crm_list_pipelines para obtener la forma del tablero, crm_get_contact_activity para comprobar movimientos recientes, luego crm_create_task por acuerdo estancado y crm_update_deal_stage cuando un acuerdo ha retrocedido genuinamente. El prompt pipeline-review hace el análisis a medias como un flujo de trabajo de un clic, y lost-deal-postmortem gestiona los que no lo lograron. Recuerda que mover un acuerdo a ganado no está disponible aquí por diseño: el asistente puede limpiar el tablero, y tú cierras el negocio.
Planes y coste
El acceso a MCP es parte del plan Business. Una clave emitida en un espacio de trabajo Free o Pro se autentica correctamente y aun así responde con HTTP 402 en cada solicitud MCP, porque el derecho de acceso se comprueba por separado de la autenticación. Esa separación es deliberada y tiene un efecto secundario útil: un 402 te dice que la clave en sí está bien, así que estás ante un problema de plan, no de credenciales.
MCP viene con el plan en lugar de como un complemento medido, y el límite de velocidad es el límite de uso justo: 60 solicitudes por minuto por clave por defecto, hasta un techo de 300 por minuto en Business. Como la comprobación de derecho se ejecuta en cada solicitud en lugar de en el momento de la conexión, la actualización se aplica a la clave que ya tienes: sin volver a emitirla, sin reconfigurar el cliente. Los detalles actuales del plan están en la página de precios.
Un coste que merece la pena mencionar porque es fácil pasarlo por alto: crm_run_agent llama a un proveedor de modelos externo en cada ejecución y gasta créditos de IA de tu espacio de trabajo. Es la única herramienta del servidor que lo hace, que es exactamente por lo que está anotada como herramienta de escritura a pesar de no cambiar nada.
Solución de problemas
Casi todas las primeras conexiones fallidas son una de seis cosas. La respuesta en sí suele indicarte cuál:
| Lo que ves | Lo que significa | Qué hacer |
|---|---|---|
| HTTP 401 | La clave no es válida, ha sido revocada o nunca llegó intacta. | Confirma que el token empieza con csk_live_ y que la cabecera es exactamente Authorization: Bearer <token>. Si la clave funciona en curl pero no en tu cliente, sospecha de una cabecera truncada, abajo. |
| HTTP 402 | La clave es válida pero el espacio de trabajo es Free o Pro. MCP es una capacidad del plan Business. | Actualiza el espacio de trabajo. La misma clave empieza a funcionar de inmediato, sin volver a emitirla y sin cambios en el cliente. |
Error JSON-RPC -32002 | La clave no lleva el ámbito que requiere esta herramienta. El objeto de error data lo nombra. | Lee data.requiredScope y compáralo con data.granted. Añade el ámbito, o emite una segunda clave para esa persona en lugar de ampliar la primera. |
HTTP 429 con Retry-After | Más de 60 solicitudes en un minuto con esta clave, o más del techo de 300 si se ha elevado. | Espera el número de segundos en Retry-After. Si ocurre repetidamente, el asistente probablemente está en bucle: dale su propia clave para que solo se limite a sí mismo. |
| Lista de herramientas vacía tras conectar | El cliente interpretó la entrada como un comando stdio local, o la configuración usó el nombre de clave incorrecto para ese cliente. | En un .mcp.json, añade "type": "http". Las formas de cliente difieren: las formas por cliente están en la página de configuración de Claude. |
| 401 silencioso solo desde un cliente | El cliente no escapó el espacio dentro de Authorization: Bearer ... cuando se pasó como un solo argumento, así que la cabecera llegó truncada. | Divídelo. Pasa --header "Authorization:${AUTH_HEADER}" con el valor completo de Bearer csk_live_... en una variable de entorno. |
Un diagnóstico más que vale la pena conocer: si una llamada a herramienta devuelve datos pero los campos que esperabas están todos en null, comprueba las mayúsculas. Los resultados de MCP están en camelCase y la API REST v1 está en PascalCase, y un script movido de una a otra se analizará limpiamente y no encontrará nada en silencio.
Límites honestos
Cosas que este servidor no hace, dichas claramente para que no las descubras en el momento equivocado:
- Es solo del plan Business. Free y Pro reciben HTTP 402 incluso con una clave perfectamente válida.
- Claves estáticas, no un flujo de servidor de autorización. El documento de recurso protegido anuncia autenticación por clave de API bearer y su lista
authorization_serversestá actualmente vacía. Los clientes cuya única vía de conexión requiere un servidor de autorización no pueden usar una clave estática directamente y necesitan un proceso puente. - Las finanzas son de solo lectura aquí. Los informes funcionan bien; el servidor no moverá dinero, liquidará una factura ni registrará ingresos por ti.
- Los acuerdos no pueden cerrarse como ganados a través de MCP. Eso es a propósito, y seguirá siendo a propósito.
- Los envíos de Telegram son asíncronos.
crm_send_telegram_messagepone un trabajo en cola. Confirma la entrega concrm_list_jobsocrm_get_joben lugar de asumir que una llamada a herramienta exitosa significa un mensaje entregado. - Las reglas de la plataforma siguen aplicándose. WhatsApp solo permite respuestas de forma libre dentro de las 24 horas posteriores al último mensaje del cliente, X limita una publicación a 280 caracteres, TikTok y YouTube requieren video. El servidor las aplica en el momento de la llamada, lo que significa que el asistente recibirá un no en lugar de producir silenciosamente una publicación rota.
- El campo de nota del contacto es de 500 caracteres. Una vez lleno,
crm_add_contact_noteelimina el texto más antiguo del principio para hacer espacio, por lo que puede quitar texto de nota anterior. Úsalo para hechos duraderos, no para una transcripción continua. - Las secuencias se pueden pausar, no crear. Construir una campaña sigue siendo una tarea de panel.
Si necesitas algo de esta lista, la API REST v1 cubre una superficie más amplia para código que escribas tú mismo, y la guía de integración de API y MCP explica los webhooks, la verificación de firmas y las partes de la plataforma que se manejan mejor con un servicio que con un asistente.
“Lo más útil que un asistente puede hacer con un CRM no es resumirlo. Es cambiar un registro correctamente, rechazar el cambio que no debería hacer y dejar un rastro que puedas leer después.”
Pinlyx engineering
Sobre el diseño de las herramientas de escritura de MCP
Tres personas de asistente, tres claves, tres radios de explosión
La decisión de seguridad más valiosa no es qué herramientas existen. Es qué ámbitos lleva la clave de cada asistente. Empieza con la receta más a la izquierda y amplía solo cuando un trabajo específico lo necesite.
| Capacidad | Analista de informesRecomendado | Copiloto de bandeja de entrada | Operador de divulgación |
|---|---|---|---|
| Lectura del CRM | |||
Buscar contactos y leer hilos contacts:read | |||
Leer la bandeja de entrada social social:read | |||
Leer negocios, pipelines y tareas deals:read, pipelines:read, tasks:read | |||
Leer el libro mayor y las facturas finance:read | |||
| Cambiar el CRM | |||
Escribir notas, etiquetas y puntuaciones de clientes potenciales contacts:write | |||
Crear y completar tareas tasks:write | |||
Enrutar hilos de correo sin enviar mensajes email:write | |||
Mover un negocio entre etapas abiertas deals:write | |||
| Contactar a una persona real | |||
Responder un mensaje directo social social:write | |||
Poner en cola un mensaje de Telegram telegram:send | |||
Publicar o programar una publicación posts:write | |||
Pausar o reanudar una campaña sequences:write | |||
| Radio de impacto si la clave se filtra | |||
Podría contactar a un cliente | Sí | ||
Podría cambiar un registro | Reversible | Reversible | |
Podría mover dinero | |||
Ninguna persona puede mover dinero: las cuatro herramientas financieras son solo de consulta y finance:write es un alcance avanzado que está desmarcado por defecto. Reversible significa que el cambio queda registrado en la línea de tiempo de actividad del contacto y se puede deshacer desde el panel.
Principios de diseño
Seis reglas que sigue el servidor
Un asistente de IA es un llamador con el que se puede discutir. Los permisos deben vivir en un lugar al que no pueda acceder.
La verificación de alcance se ejecuta antes del cuerpo de la herramienta
No en la descripción de la herramienta que lee el modelo. Un modelo al que se ha convencido de que debería enviar un mensaje igualmente no puede hacerlo si la clave carece de social:write.
El aislamiento vive en la consulta, no en el prompt
Cada herramienta filtra por el id de usuario autenticado de la clave. Ninguna herramienta acepta un parámetro de workspace o tenant, por lo que no hay nada a lo que una instrucción inyectada pueda apuntar.
Las acciones de dinero siguen siendo humanas
Sin creación de transacciones, sin pago de facturas, sin forzar un negocio a ganado. El servidor informa sobre el libro mayor y se niega a modificarlo.
Los límites son por clave, no por workspace
60 solicitudes por minuto por defecto y un tope de 300 en Business, de modo que un asistente en bucle se limita a sí mismo en lugar de agotar tus paneles.
Cada escritura deja una entrada en la línea de tiempo
Etiquetas, puntuaciones, asignaciones, notas y envíos registran actividad en el contacto, legible de vuelta mediante crm_get_contact_activity o en el panel.
Un solo endpoint, sin instalación local
Un servidor remoto Streamable HTTP significa que no hay nada que instalar, nada que mantener actualizado, y una sola URL más un encabezado para configurar.
Tu primera hora, en orden
Haz esto en secuencia y nunca depurarás dos problemas a la vez.
- Confirma que el workspace está en el plan Business, porque una clave Free o Pro responde 402 sin importar qué más esté bien.
- Acuña primero una clave de solo lectura: contacts:read, deals:read, pipelines:read, analytics:read.
- Prueba el endpoint con un solo curl a tools/list antes de tocar cualquier configuración de cliente.
- Añade el servidor a un solo cliente, con el tipo de transporte correcto para ese cliente.
- Haz una pregunta cuya respuesta puedas verificar en el panel, como el conteo de negocios por etapa.
- Acuña una segunda clave con alcances de escritura solo una vez que la ruta de lectura esté probada, y asígnale un propietario con nombre.
- Guarda ambos tokens en variables de entorno y confirma que ninguno esté en un repositorio.
- Anota qué alcance lleva cada clave en un lugar donde tu equipo pueda encontrarlo al momento de la rotación.
Preguntas frecuentes del servidor MCP CRM
Las preguntas que los equipos hacen en la primera hora, respondidas con los números reales.
Un servidor MCP CRM es una implementación del Protocolo de Contexto de Modelo que se sitúa frente a un CRM y publica sus registros como operaciones invocables. En lugar de pegar una lista de contactos en una ventana de chat, un asistente de IA llama a una herramienta con nombre como crm_search_contacts, recibe JSON estructurado de vuelta, y puede llamar a una herramienta de escritura para registrar el resultado. Pinlyx ejecuta uno en https://api.pinlyx.com/mcp con 76 herramientas, 21 recursos y 15 prompts.
Revisión del protocolo 2025-06-18, transportado sobre JSON-RPC 2.0 en el transporte Streamable HTTP. Los clientes envían solicitudes JSON-RPC POST al endpoint, abren un GET para el flujo de eventos enviados por el servidor cuando quieren mensajes iniciados por el servidor, y DELETE para finalizar una sesión. Cualquier cliente que hable esa revisión puede conectarse sin un adaptador específico del proveedor.
No. El servidor es remoto y habla Streamable HTTP, por lo que un cliente que soporte servidores MCP remotos se conecta con una URL y un encabezado Authorization. Nada se ejecuta en tu máquina y no hay nada que mantener actualizado. Los clientes cuyo archivo de configuración solo entiende procesos locales stdio necesitan el puente mcp-remote para traducir, que es el único caso donde está involucrado un proceso local.
El servidor MCP está disponible en el plan Business. Una clave acuñada en Free o Pro se autentica, pero cada solicitud MCP responde HTTP 402, porque la elegibilidad se verifica por separado de la autenticación. Actualizar el workspace habilita la misma clave de inmediato: no necesitas acuñar una nueva después de cambiar de plan.
Cada herramienta declara el único alcance que requiere, por ejemplo contacts:read para crm_search_contacts o social:write para crm_send_social_message. Si la clave llamante no lleva ese alcance, la llamada falla con el error JSON-RPC -32002 y un objeto de datos que contiene requiredScope y granted. El asistente ve exactamente qué permiso falta, lo que convierte un fallo silencioso en un mensaje accionable.
Las herramientas de escritura se detienen antes de operaciones destructivas. No hay ninguna herramienta que elimine un contacto, un negocio, una tarea, un mensaje o una entrada del libro mayor. La única eliminación dura en toda la superficie es crm_delete_webhook, que elimina un endpoint que registraste tú mismo y está anotada como destructiva para que un cliente pueda pedir confirmación antes de ejecutarla.
Solo si concedes un alcance de envío. crm_send_social_message necesita social:write, crm_send_telegram_message necesita telegram:send y crm_send_twitter_dm necesita twitter:send. Una clave sin esos alcances puede leer cada hilo y redactar respuestas en el chat, pero no puede entregar nada. La mayoría de los equipos comienzan con una clave de solo lectura y añaden alcances de envío a una segunda clave más tarde.
El valor por defecto es 60 solicitudes por minuto por clave, y un workspace Business puede elevar una clave hasta un tope de 300 por minuto. Superar el límite devuelve HTTP 429 con un encabezado Retry-After que indica los segundos a esperar. El límite es por clave en lugar de por workspace, por lo que un asistente descontrolado se limita a sí mismo sin agotar tus otras integraciones.
No. Los resultados de las herramientas MCP están en camelCase, mientras que la API REST v1 devuelve propiedades en PascalCase. Esa diferencia importa si estás analizando la salida de la herramienta en tu propio código en lugar de dejar que un modelo la lea. Dentro de MCP, el uso de mayúsculas es consistente en las 76 herramientas, por lo que un cliente solo tiene que aprenderlo una vez.
La clave API identifica exactamente a un usuario del workspace, y cada herramienta resuelve su consulta contra ese id de usuario autenticado antes de tocar la base de datos. No hay ningún parámetro de herramienta que permita a un llamador nombrar una cuenta diferente, por lo que una clave válida para un workspace no puede leer ni escribir otro workspace sin importar lo que pida el modelo.
La revocación tiene efecto en la siguiente solicitud. La clave se valida en cada llamada en lugar de intercambiarse por un token de sesión, por lo que no hay ventana en la que un cliente ya conectado siga funcionando. El cliente reportará un 401 y dejará de listar herramientas. Rota acuñando primero el reemplazo, actualizando la configuración del cliente y luego revocando la clave antigua.
Sí, en el propio CRM. Las herramientas de escritura registran en la línea de tiempo de actividad del contacto: crm_tag_contact registra una entrada TagAdded, crm_set_lead_score registra ScoreChanged, crm_assign_contact registra Assigned, y crm_send_social_message registra el envío. Puedes leer ese historial de vuelta con crm_get_contact_activity o abrir el contacto en el panel y ver las mismas entradas.
Sí. crm_schedule_social_post crea una publicación por cuenta objetivo y aplica las reglas por plataforma en el momento de la llamada: TikTok y YouTube requieren un video, Instagram requiere medios, X limita el texto a 280 caracteres. crm_update_social_post y crm_cancel_social_post pueden cambiar o detener cualquier cosa aún pendiente, aunque una publicación que ya se ha publicado no se puede retirar a través de MCP. Acuña una clave que solo tenga alcances de lectura, como contacts:read, deals:read y analytics:read, conéctala y hazle al asistente una pregunta con una respuesta verificable, por ejemplo cuántos negocios hay en cada etapa. Compara la respuesta con el panel. Una vez que el camino de lectura esté comprobado, acuña una segunda clave con los alcances de escritura que ese asistente específico necesite.
Profundiza
Cinco páginas complementarias sobre la superficie MCP, además de las funciones de la plataforma que un asistente podrá invocar.
Conecta Claude a tu CRM
Configuración por cliente para Claude Code, Claude Desktop, Cursor, VS Code y Windsurf, incluyendo las formas de configuración que realmente difieren.
Referencia de herramientas MCP
Las 76 herramientas, 21 recursos y 15 indicaciones con el alcance que requiere cada una y si lee o escribe.
[
Lee mensajes directos, redacta respuestas y programa publicaciones en doce redes desde una sola conversación con el asistente.
](https://pinlyx.com/mcp/social-media)
MCP vs API REST vs herramientas de automatización
Cuándo un asistente debe invocar una herramienta, cuándo escribir código contra la API y cuándo un disparador sin código es suficiente.
Google Ads a través de MCP
Once herramientas para informes en cada nivel sobre el que Google reporta, además de cambios protegidos de presupuesto, ofertas y estado.
API REST pública
La API v1 detrás de los mismos datos, para las integraciones que escribes tú mismo en lugar de entregárselas a un asistente.
Guía de integración de API y MCP
Tutorial para desarrolladores que cubre claves con alcance, webhooks, verificación de firmas y retroceso por límite de velocidad.
Nodo n8n
El mismo CRM en un flujo de trabajo en lugar de una conversación: contactos, negocios y conversaciones como operaciones de n8n.
Agentes de IA
Los agentes de respuesta automática sobre los que informa crm_list_agents y que crm_run_agent te permite probar de forma segura.
Bandeja de entrada unificada
La bandeja de entrada de doce canales desde la que las herramientas sociales y de conversación leen y en la que escriben.
Integraciones
Todo lo demás a lo que Pinlyx se conecta, para las partes de tu pila que quedan fuera del asistente.
Precios
Comparación de planes, incluido el plan Business que incluye acceso a MCP y el límite de 300 por minuto.
Listado en
Listo para enviar
Dale a tu asistente un CRM real en el que trabajar
76 herramientas, 21 recursos y 15 indicaciones detrás de un único endpoint autenticado. Acuña una clave de solo lectura, conecta un cliente y pregúntale algo que solo tu CRM pueda responder.
Plan gratuito para siempre · Preparado para GDPR · No se requiere tarjeta de crédito