Menú

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.com

Claude

  1. 1En Claude, abre Configuración → Conectores → Agregar conector personalizado.
  2. 2Pega la URL del servidor y guarda.
  3. 3Claude te lleva a MB Suite para que elijas la organización y revises los permisos; al volver, ya está conectado.
  4. 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

  1. 1En ChatGPT, abre Configuración → Apps y conectores → Ajustes avanzados y activa el modo desarrollador (en planes de empresa lo habilita el administrador).
  2. 2Vuelve a Apps y conectores, elige Crear y pega la URL del servidor como servidor MCP.
  3. 3ChatGPT te lleva a MB Suite para autorizar: revisa la organización y los permisos y confirma.
  4. 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

  1. 1En VS Code, abre la paleta de comandos y elige «MCP: Add Server». Necesitas GitHub Copilot.
  2. 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).
  3. 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.
  4. 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

  1. 1En la terminal, agrega el servidor (con --scope user queda para todos tus proyectos).
  2. 2Abre Claude Code, escribe /mcp y elige mb-suite para autenticarte.
  3. 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.com

Claude 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.

SuperficieHerramientas
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ónLas 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_operations avisa en not_runnable las escrituras que coinciden y no puede correr, y en screen_only lo 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_run y confirm_token: el agente pide primero la vista previa y después confirma con el token (10 minutos); sin token, 409 confirmation_required. Unas pocas la piden solo con ciertos datos (needs_confirmation_when en mb_describe_operation). Por el MCP, dry_run vale en cualquier escritura: su needs_confirmation dice si ejecutarla pide el token. Ver Vista previa y confirmación.
  • En mb_execute_operation, dry_run, confirm_token, audit_note, idempotency_key y org_id van junto a id (dentro de input tambié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 422 idempotency_key_reused, y mientras la primera corre, 409 idempotency_in_progress. Es la Idempotency-Key de la API (Idempotencia).
  • Una baja que deja copia devuelve trash_item_id (en un lote, trash_item_ids) y trash_expires_at; platform.trash.restore la restaura por ese item_id o por entity_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 con isError, 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 el request_id.
  • Una respuesta demasiado grande para un mensaje llega recortada, con mcp_notice: una página de una lista vuelve con un limit menor y su next_cursor sigue 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.