MCP: Claude, ChatGPT, Cursor y otras apps
El servidor MCP de MB Suite: la URL, cómo conectar cada cliente y qué herramientas ve un agente.
MB Suite tiene un servidor MCP remoto (Streamable HTTP) que expone las mismas operaciones que la API, con los mismos permisos, cupos y auditoría. Esta es la URL que se pega en el cliente:
https://mcp.mb-suite.comClaude
- 1En Claude, abre Configuración → Conectores → Agregar conector personalizado.
- 2Pega la URL del servidor y guarda.
- 3Claude te lleva a MB Suite para que elijas la organización y revises los permisos; al volver, ya está conectado.
- 4Prueba con «¿Qué puedo hacer en MB Suite?»: la primera herramienta es
mb_context.
Claude se conecta con OAuth: no hace falta crear una API key.
ChatGPT
- 1En ChatGPT, abre Configuración → Apps y conectores → Ajustes avanzados y activa el modo desarrollador (en planes de empresa lo habilita el administrador).
- 2Vuelve a Apps y conectores, elige Crear y pega la URL del servidor como servidor MCP.
- 3ChatGPT te lleva a MB Suite para autorizar: revisa la organización y los permisos y confirma.
- 4Activa la app en la conversación y pide algo del CRM.
Cursor
Cursor se conecta con una API key como bearer. En Cursor Settings → Tools & MCP → New MCP Server, con esta configuración y tu API key:
{
"mcpServers": {
"mb-suite": {
"url": "https://mcp.mb-suite.com",
"headers": {
"Authorization": "Bearer mbs_live_YOUR_API_KEY"
}
}
}
}VS Code
- 1En VS Code, abre la paleta de comandos y elige «MCP: Add Server». Necesitas GitHub Copilot.
- 2Elige HTTP, pega la URL del servidor y guárdalo para tu usuario o para el proyecto (abajo, la configuración de
.vscode/mcp.json). - 3La primera vez, VS Code te pide permiso para iniciar sesión y te lleva a MB Suite para que elijas la organización y revises los permisos.
- 4En el chat de Copilot, en modo Agente, prueba con «¿Qué puedo hacer en MB Suite?».
{
"servers": {
"mb-suite": {
"type": "http",
"url": "https://mcp.mb-suite.com"
}
}
}VS Code se conecta con OAuth: no hace falta crear una API key.
Claude Code
- 1En la terminal, agrega el servidor (con
--scope userqueda para todos tus proyectos). - 2Abre Claude Code, escribe
/mcpy eligemb-suitepara autenticarte. - 3Claude Code abre MB Suite en el navegador para que elijas la organización y revises los permisos; al volver, ya está conectado.
claude mcp add --transport http mb-suite https://mcp.mb-suite.comClaude Code se conecta con OAuth: no hace falta crear una API key.
Otras apps
Cualquier app compatible con MCP se conecta. Si acepta servidores remotos con OAuth, pega la URL y te trae a MB Suite para autorizar. Si pide una API key, usa una como bearer; en la mayoría de las apps la configuración es esta:
{
"mcpServers": {
"mb-suite": {
"url": "https://mcp.mb-suite.com",
"headers": {
"Authorization": "Bearer mbs_live_YOUR_API_KEY"
}
}
}
}Si la app solo acepta servidores locales, conéctala con el puente mcp-remote (necesita Node.js). La API key va en env y el encabezado sin espacios, como pide el puente:
{
"mcpServers": {
"mb-suite": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.mb-suite.com",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer mbs_live_YOUR_API_KEY"
}
}
}
}Un cliente propio usa el mismo Authorization: Bearer mbs_live_…, o hace el flujo OAuth con resource=https://mcp.mb-suite.com (ver Autenticación). Cada llamada tiene hasta 60 segundos.
Las herramientas
Cada credencial elige una superficie: en la API key, «Modo de herramientas del MCP» en Avanzado; en OAuth, en Avanzado del consentimiento.
| Superficie | Herramientas |
|---|---|
| Compacta (recomendada) | mb_context (quién soy y qué puedo hacer: el rol, los límites, una lista corta de las Cuentas con su total en child_orgs_total y una línea por módulo), mb_catalog (las operaciones de un módulo; uno grande, como el CRM, por grupos), mb_search_operations (busca por palabras en inglés, español o portugués), mb_describe_operation, mb_execute_operation y mb_search (búsqueda global del CRM). El agente abre un módulo a la vez. |
| Una herramienta por operación | Las de la compacta más una por operación visible (crm_deals_create, crm_deals_move…), con su schema tipado. Más precisa y más pesada para el modelo. |
- La lista depende solo de la credencial: sus alcances, el rol de la persona y los módulos de la organización. Lo que no puede correr no aparece; si igual pide una operación que existe y le falta el alcance, el borrado o el rol, recibe un 403 que dice qué falta (
scope_insufficient,delete_not_allowed,role_required), no un 404.mb_search_operationsavisa ennot_runnablelas escrituras que coinciden y no puede correr, y enscreen_onlylo que solo se hace en la pantalla de MB Suite (como las API keys). - Lo masivo, lo irreversible, lo que manda o cambia algo fuera de MB Suite, lo que tiene un costo aparte y lo que la pide siempre llevan
dry_runyconfirm_token: el agente pide primero la vista previa y después confirma con el token (10 minutos); sin token, 409confirmation_required. Unas pocas la piden solo con ciertos datos (needs_confirmation_whenenmb_describe_operation). Por el MCP,dry_runvale en cualquier escritura: suneeds_confirmationdice si ejecutarla pide el token. Ver Vista previa y confirmación. - En
mb_execute_operation,dry_run,confirm_token,audit_note,idempotency_keyyorg_idvan junto aid(dentro deinputtambién valen; si vienen en los dos lugares con valores distintos, 400). En una herramienta tipada van con el resto de los argumentos. - Si la credencial alcanza Cuentas, las herramientas suman
org_id(opcional) para apuntar a una. - Para reintentar una escritura sin riesgo (después de un corte o un timeout), manda la misma
idempotency_key(hasta 255 caracteres): durante 24 horas, la misma llamada devuelve el resultado guardado (idempotent_replayed: true) en vez de volver a correr; con otra llamada es 422idempotency_key_reused, y mientras la primera corre, 409idempotency_in_progress. Es laIdempotency-Keyde la API (Idempotencia). - Una baja que deja copia devuelve
trash_item_id(en un lote,trash_item_ids) ytrash_expires_at;platform.trash.restorela restaura por eseitem_ido porentity_type+entity_id(owner o admin). Si algo se puede deshacer lo dice la descripción de cada operación. - Cada resultado trae
structuredContent(JSON en snake_case) y, como texto, el mismo JSON (o un resumen, si es muy grande). Un error llega conisError, el mismo cuerpo que la API y un texto que dice el código, el campo (Field: …), los primeros problemas (Problems: …), cuánto esperar si hace falta y elrequest_id. - Una respuesta demasiado grande para un mensaje llega recortada, con
mcp_notice: una página de una lista vuelve con unlimitmenor y sunext_cursorsigue justo después de lo que vino; si no, el aviso dice qué quedó afuera y cómo pedir el resto.
Lo que el MCP no hace
- No crea, edita, prueba ni borra webhooks, ni rota su secreto, ni reenvía entregas: eso es de la pantalla. Por el MCP se leen las suscripciones, los eventos y las entregas.
- No crea ni rota API keys (la API tampoco).
- Correo y calendario conectados, solo con los tres candados (ver Permisos).
Desconectar
Cada persona ve y desconecta sus apps en Configuración → API y MCP → MCP; owners y admins ven las de toda la organización. Desconectar corta al instante.