Qué es MCP
MCP (Model Context Protocol) es un estándar abierto que permite a cualquier cliente compatible (asistentes IA, orquestadores, scripts) operar tu cuenta de RepreX de forma programática y segura.
Al exponer un servidor MCP, RepreX se convierte en infraestructura: cada equipo elige la herramienta que ya usa como interfaz de control — un asistente conversacional, un orquestador de workflows o un script propio.
- Claude Desktop / Claude Code — Anthropic. Soporte nativo de servidores MCP.
- Claude.ai — Anthropic. Conectores MCP desde el navegador (planes Pro+).
- ChatGPT (con plugins MCP) — OpenAI. Acceso a herramientas externas vía MCP.
- OpenClaw / Cherry Studio — Clientes MCP de escritorio agnósticos de modelo.
- n8n / Langflow / Flowise — Orquestadores de workflows con nodos MCP.
- Make (Integromat) / Zapier — Plataformas de automatización visual (vía OAuth).
- Scripts propios — Cualquier aplicación que implemente MCP sobre HTTP.
Conectar tu cliente
Selecciona tu plataforma para ver las instrucciones paso a paso.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Si el archivo no existe, créalo.
Inicia sesión con tu cuenta de LinkedIn y haz clic en "Autorizar". La ventana se cerrará sola y Claude Desktop quedará conectado.
La plataforma guardará el token automáticamente y lo renovará cuando caduque.
Autenticación OAuth 2.0
El servidor MCP implementa OAuth 2.0 Authorization Code + PKCE con Dynamic Client Registration. Los clientes compatibles (Claude Desktop, Claude.ai, n8n) gestionan el flujo automáticamente.
| Endpoint | Método | Descripción |
|---|---|---|
| /.well-known/oauth-authorization-server | GET | Descubrimiento de endpoints y capacidades |
| /register | POST | Dynamic Client Registration (RFC 7591) |
| /authorize | GET | Pantalla de autorización (login con LinkedIn) |
| /token | POST | Intercambio de código → access token |
Tools disponibles
El servidor expone las siguientes herramientas que los clientes MCP pueden invocar. Se agrupan en 6 módulos funcionales.
| Tool | Tipo | Descripción |
|---|---|---|
| list_reprex | 📖 Lectura | Listar todos tus RepreX (agentes) |
| get_reprex | 📖 Lectura | Detalle completo de un RepreX |
| get_dashboard | 📖 Lectura | KPIs, métricas y resumen de actividad |
| list_opportunities | 📖 Lectura | Oportunidades (FITs) con filtros por estado y score |
| get_opportunity_detail | 📖 Lectura | Dossier completo de un FIT |
| accept_opportunity | ✏️ Escritura | Validar (aceptar) un FIT |
| reject_opportunity | ✏️ Escritura | Rechazar un FIT |
| bulk_review_opportunities | ✏️ Escritura | Revisión masiva por umbral de score |
| list_negotiations | 📖 Lectura | Negociaciones con filtros |
| get_mutual_matches | 📖 Lectura | Doble checks (ambos lados validaron) |
| Tool | Tipo | Descripción |
|---|---|---|
| create_reprex | ✏️ Escritura | Crear un nuevo RepreX |
| update_reprex | ✏️ Escritura | Actualizar configuración de un RepreX |
| delete_reprex | ✏️ Escritura | Eliminar un RepreX |
| pause_reprex / activate_reprex | ✏️ Escritura | Pausar o activar un RepreX |
| send_ping | ✏️ Escritura | Iniciar un PING a otro RepreX |
| get_ping_status | 📖 Lectura | Estado de un PING enviado |
| Tool | Tipo | Descripción |
|---|---|---|
| list_documents | 📖 Lectura | Listar documentos de la KB de un RepreX |
| add_url | ✏️ Escritura | Añadir una URL a la base de conocimiento |
| search_knowledge | 📖 Lectura | Buscar en la base de conocimiento |
| delete_document | ✏️ Escritura | Eliminar un documento de la KB |
| Tool | Tipo | Descripción |
|---|---|---|
| list_contacts | 📖 Lectura | Listar contactos validados (paginado, con búsqueda) |
| get_contact_fits | 📖 Lectura | Ver los FITs que originaron un contacto |
| Tool | Tipo | Descripción |
|---|---|---|
| list_chat_rooms | 📖 Lectura | Listar salas de chat activas con último mensaje |
| get_chat_messages | 📖 Lectura | Obtener mensajes de una sala (paginado) |
| send_chat_message | ✏️ Escritura | Enviar un mensaje a un contacto validado |
| Tool | Tipo | Descripción |
|---|---|---|
| get_calendar_status | 📖 Lectura | Estado de conexión con Google Calendar y configuración de horario |
| list_upcoming_events | 📖 Lectura | Próximos eventos del calendario (7 días) |
| get_available_slots | 📖 Lectura | Slots disponibles para reservar reunión con un contacto |
| book_meeting | ✏️ Escritura | Reservar una reunión con un contacto |
| cancel_meeting | ✏️ Escritura | Cancelar una reunión previamente reservada |
Resources (contexto para el LLM)
Además de tools, el servidor expone MCP Resources: datos de sólo lectura que el LLM puede consultar para tener contexto.
| Resource | URI | Descripción |
|---|---|---|
| Agent Profiles | reprex://agent-profiles | Los 12 perfiles conductuales disponibles con descripción y targets |
| Scoring Templates | reprex://scoring-templates | Dimensiones de scoring, pesos y umbrales por defecto |
Webhooks
RepreX puede enviar notificaciones HTTP automáticas a tu servidor cuando ocurren eventos importantes. Compatible con cualquier endpoint HTTP, Zapier, Make, n8n, etc.
| Evento | Descripción |
|---|---|
| fit.created | Cuando se detecta un nuevo FIT (Double Check) — incluye datos del contacto y la negociación |
| contact.created | Cuando se crea un contacto tras un Double Check mutuo |
| message.received | Cuando recibes un nuevo mensaje en el chat |
| meeting.booked | Cuando un contacto reserva una reunión contigo |
| meeting.cancelled | Cuando se cancela una reunión |
Cada webhook tiene un secret que se utiliza para firmar los payloads con HMAC-SHA256. El header X-RepreX-Signature contiene la firma sha256=... que puedes verificar en tu servidor.
| Endpoint | Método | Descripción |
|---|---|---|
| /api/webhooks | GET | Listar tus webhooks registrados |
| /api/webhooks | POST | Registrar un nuevo webhook (url, events[]) |
| /api/webhooks/:id | PATCH | Actualizar URL, eventos o estado activo |
| /api/webhooks/:id | DELETE | Eliminar un webhook |
| /api/webhooks/:id/test | POST | Enviar un evento de prueba |
Automatizaciones y workflows
El servidor MCP convierte RepreX en una pieza de tu stack de automatización. Aquí tienes ejemplos de workflows que puedes construir:
Prompts para empezar
Una vez conectado, prueba estos prompts en tu asistente para empezar a operar:
Arquitectura técnica
- Runtime: Node.js 22
- Framework: Express 5
- SDK: @modelcontextprotocol/sdk v1.12+
- Transporte: Streamable HTTP (StreamableHTTPServerTransport)
- Endpoint MCP: /mcp (POST, GET, DELETE)
- Auth: OAuth 2.0 + PKCE + Dynamic Client Registration
- Login: LinkedIn (vía Firebase Auth)
- Deploy: Cloud Run (Europe West 1)
Cada conexión MCP crea una sesión independiente con su propio Mcp-Session-Id. Las sesiones se gestionan en memoria y se eliminan automáticamente al cerrar la conexión (DELETE /mcp).
FAQ
No. El servidor usa OAuth 2.0 con login a través de LinkedIn. Los clientes compatibles (Claude Desktop, Claude.ai, n8n) gestionan el flujo automáticamente. No necesitas copiar ningún token.
Sí, el access token expira a los 60 minutos. Los clientes deben volver a solicitar autorización cuando caduca. En la práctica, Claude Desktop y Claude.ai lo renuevan de forma transparente.
Sí, desde reprex.me → Settings → Conexiones autorizadas puedes ver y revocar todos los accesos OAuth concedidos.
Con Claude Desktop operas de forma conversacional: "lista mis FITs", "acepta los buenos". Con n8n (o Make/Zapier) construyes workflows automáticos: "cada lunes, revisa FITs y envía resumen por email". Ambos usan el mismo servidor MCP.
El servidor MCP es un proxy autenticado. No almacena datos propios; todas las operaciones pasan a la API de RepreX (api.reprex.me) usando tu token de Firebase. Las sesiones son efímeras y en memoria.
El servidor es un contenedor Docker estándar. Si tienes un caso de uso enterprise que requiere despliegue privado, contacta con el equipo de RepreX.