Ir al contenido

Desarrolladores

Conecta tu IA

Pregunta a tu asistente por tus facturas, tus impuestos o tus firmas pendientes, con los datos que BMC gestiona para tu empresa y solo con el acceso que elijas.

Qué consigues

Tu asistente de IA (ChatGPT, Claude u otro) se conecta a tu cuenta de BMC y consulta tus datos cuando se lo pides, sin exportar ficheros ni copiar cifras. Por ejemplo:

  • «¿Qué facturas de venta emitimos en septiembre y cuáles siguen sin cobrar?»
  • «¿Cómo va el IVA de este año, trimestre a trimestre?»
  • «¿Qué modelos nos tocan este trimestre y cuáles están ya presentados?»
  • «¿Qué documentos siguen pendientes de firma y quién falta por firmar?»

El asistente solo ve y hace lo que permites al conectarlo, y BMC comprueba ese permiso en cada consulta. Puedes cortar la conexión en cualquier momento.

Antes de empezar

  1. Acceso a la API activado para tu empresa. Lo activa BMC. Si en el área de cliente no ves la sección Desarrolladores, escribe a plataforma@bm.consulting indicando la empresa.
  2. Ser titular o administrador de esa empresa en el área de cliente de BMC.
  3. Un asistente compatible, según la tabla siguiente.

Qué asistente y cómo se conecta

AsistenteCómo se conectaQué necesitas
ChatGPTInicias sesión en BMC desde ChatGPT (OAuth)ChatGPT Business, Enterprise o Edu, en la web. En Pro, solo herramientas de lectura.
Claude (web y Desktop)Inicias sesión en BMC desde Claude (OAuth)Cualquier suscripción de Claude. En Free, un conector personalizado.
Claude CodeOAuth o tokenClaude Code instalado.
Gemini CLIToken u OAuthGemini CLI instalado.
CursorTokenCursor instalado.
Tus propios agentesTokenAPI de OpenAI o de Anthropic.
n8n, Make y ZapierToken y webhooksUna cuenta en la herramienta. Para los webhooks, una dirección https pública.

«Token» es una clave bmc_live_… que creas en el área de cliente (cómo crear un token). Con OAuth no copias ninguna clave: inicias sesión en BMC y eliges qué puede hacer el asistente.

ChatGPT

Funciona en ChatGPT Business, Enterprise y Edu, en la web (chatgpt.com), no en la app móvil. En ChatGPT Pro, OpenAI solo permite herramientas de lectura. En ChatGPT Plus, OpenAI no confirma hoy que esté disponible. En un espacio de trabajo, el modo desarrollador depende de lo que permita su administrador.

  1. En ChatGPT, abre Settings › Security and login y activa Developer mode.
  2. Ve a chatgpt.com/plugins y pulsa el botón +.
  3. Escribe un nombre (por ejemplo, BMC) y una descripción. En Connection, pega la dirección https://app.bm.consulting/mcp y, si te pregunta, elige OAuth.
  4. Crea la conexión. Se abre BMC para que inicies sesión y autorices (el paso de autorización).
  5. ChatGPT enseña las herramientas que ha encontrado. Abre una conversación nueva y añade BMC desde el menú de herramientas.

ChatGPT no admite claves bmc_live_…: solo el inicio de sesión con BMC. En ChatGPT Business y Enterprise, un administrador puede crear la conexión para todo el espacio de trabajo en Workspace settings › Apps y publicarla. ChatGPT guarda la lista de herramientas que vio el administrador al aprobarla, así que conviene que la conecte con el rol más amplio que vaya a usar el equipo.

Claude (web y Desktop)

Funciona en todas las suscripciones de Claude. En Claude Free puedes añadir un conector personalizado. En Claude Team y Enterprise lo añade un Owner y cada persona se conecta con su propia cuenta.

  1. Abre Customize › Connectors y pulsa Add custom connector.
  2. Pega la dirección https://app.bm.consulting/mcp. Si te pregunta por el cliente OAuth, elige Register automatically.
  3. Pulsa Add y después Connect. Se abre BMC para que inicies sesión y autorices (el paso de autorización).
  4. En una conversación, activa BMC desde el botón + › Connectors.

En Claude Team y Enterprise, el Owner lo añade en Organization settings › Connectors (Add › Custom, tipo Web, con la misma dirección) y cada persona pulsa Connect en Customize › Connectors. Los conectores de tu cuenta aparecen también en Claude Desktop.

El paso de autorización en BMC

Es igual para ChatGPT, Claude y cualquier cliente que use OAuth:

  1. Inicia sesión en BMC con el enlace que te llega por correo. Ábrelo en el mismo navegador.
  2. Elige la empresa. Cada conexión alcanza una sola empresa; para trabajar con varias, usa un token.
  3. Elige el rol:
    • Analista: solo lectura. Es el recomendado para empezar.
    • Operativo: lee y hace cambios ordinarios, sin acciones críticas como emitir facturas, enviar sobres de firma o presentar declaraciones.
    • Personalizado: permiso a permiso. Es la única forma de dar acciones críticas.
  4. Si quieres, fija una caducidad (7, 30, 90 o 365 días) y decide si el asistente ve los datos personales o le llegan enmascarados.
  5. Confirma. Ya puedes preguntar.

La conexión aparece en Desarrolladores › API y MCP, pestaña Credenciales, como una credencial de tipo MCP. Detalle de roles y caducidades en Servidor MCP.

Privacidad y control

  • Qué ve el asistente: solo la empresa y lo que permite el rol que elegiste. Si no marcas que vea datos personales, el NIF, el IBAN, el teléfono, la fecha de nacimiento y el domicilio le llegan enmascarados.
  • Qué pasa con lo que lee: los datos que el asistente consulta pasan a tu conversación con su proveedor (OpenAI, Anthropic, Google…) y se rigen por las condiciones de ese proveedor. Elige el rol y la empresa con ese criterio.
  • Cómo cortarlo: en Credenciales, desactiva la conexión (se puede reactivar) o revócala (definitivo). También puedes quitar el conector en tu asistente.
  • Con prudencia: empieza con Analista y da acciones críticas solo a conexiones que las necesiten.

Para equipos técnicos

Los clientes de esta sección se conectan al servidor MCP de BMC (https://app.bm.consulting/mcp) con un token bmc_live_… en la cabecera Authorization: Bearer, o a la API REST (https://app.bm.consulting/api/v1). Con token:

  • El asistente solo ve las herramientas que cubren los permisos del token.
  • El token alcanza las empresas y grupos que elegiste al crearlo, no solo una.
  • Deja vacía la lista de IPs permitidas del token: el servidor MCP llama a la API desde la infraestructura de BMC y un token con lista de IPs se rechaza.
  • Guarda el token en una variable de entorno (BMC_TOKEN en los ejemplos), nunca en el código.

Claude Code

Con inicio de sesión en BMC: añade el servidor y, dentro de Claude Code, ejecuta /mcp, elige bmc y pulsa Authenticate.

claude mcp add --transport http bmc https://app.bm.consulting/mcp

Con token:

claude mcp add --transport http bmc https://app.bm.consulting/mcp \
  --header "Authorization: Bearer $BMC_TOKEN"

Gemini CLI

Con token:

gemini mcp add --transport http \
  --header "Authorization: Bearer $BMC_TOKEN" bmc https://app.bm.consulting/mcp

Con inicio de sesión en BMC (necesita un navegador en el mismo equipo):

gemini mcp add --transport http bmc https://app.bm.consulting/mcp
# después, dentro de Gemini CLI:
/mcp auth bmc

Cursor

Añade BMC en ~/.cursor/mcp.json (para todos tus proyectos) o en .cursor/mcp.json (para uno) y define la variable de entorno BMC_TOKEN:

{
  "mcpServers": {
    "bmc": {
      "url": "https://app.bm.consulting/mcp",
      "headers": { "Authorization": "Bearer ${env:BMC_TOKEN}" }
    }
  }
}

El inicio de sesión con BMC (OAuth) desde Cursor todavía no funciona: próximamente. Mientras tanto, usa el token.

Tus propios agentes

Para un agente que trabaja solo, crea un token propio con el mínimo de permisos, una caducidad y, si necesita escribir, sin acciones críticas salvo las imprescindibles. Ejemplos en Python:

OpenAI, Responses API
import os
from openai import OpenAI

client = OpenAI()
resp = client.responses.create(
    model=os.environ["OPENAI_MODEL"],
    input="¿Qué facturas de venta emitimos en septiembre?",
    tools=[{
        "type": "mcp",
        "server_label": "bmc",
        "server_url": "https://app.bm.consulting/mcp",
        "authorization": os.environ["BMC_TOKEN"],  # bmc_live_…, sin «Bearer»
        "require_approval": "never",  # solo con un token de lectura
    }],
)
print(resp.output_text)
OpenAI Agents SDK
import asyncio
import os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="BMC",
        params={
            "url": "https://app.bm.consulting/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
        },
    ) as bmc:
        agent = Agent(
            name="Asistente",
            instructions="Usa las herramientas de BMC para responder.",
            mcp_servers=[bmc],
        )
        result = await Runner.run(agent, "¿Qué facturas de venta emitimos en septiembre?")
        print(result.final_output)

asyncio.run(main())
Anthropic API (conector MCP)
import os
import anthropic

client = anthropic.Anthropic()
response = client.beta.messages.create(
    model=os.environ["ANTHROPIC_MODEL"],
    max_tokens=1024,
    messages=[{"role": "user", "content": "¿Qué facturas de venta emitimos en septiembre?"}],
    mcp_servers=[{
        "type": "url",
        "url": "https://app.bm.consulting/mcp",
        "name": "bmc",
        "authorization_token": os.environ["BMC_TOKEN"],
    }],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "bmc"}],
    betas=["mcp-client-2025-11-20"],
)
print(response.content)

Si tu agente no habla MCP, usa la API REST con el mismo token: el contrato OpenAPI está en https://app.bm.consulting/api/v1/openapi/client y las operaciones, en la referencia de la API.

n8n, Make y Zapier

Una automatización con BMC tiene dos piezas:

  1. Leer y escribir en BMC. Usa el nodo o módulo HTTP de la herramienta (HTTP Request en n8n, HTTP en Make, Webhooks by Zapier en Zapier) contra la API REST, con la cabecera Authorization: Bearer y tu token:
    GET https://app.bm.consulting/api/v1/billing?limit=50
    Authorization: Bearer bmc_live_…
    Para los agentes de IA dentro de la herramienta, n8n tiene el nodo MCP Client Tool y Zapier el conector MCP Client: los dos admiten la dirección https://app.bm.consulting/mcp con el token como Bearer.
  2. Enterarte al momento. Crea un webhook de BMC (en Desarrolladores › Webhooks) que apunte a la dirección de tu flujo: el nodo Webhook en n8n, el módulo Custom webhook en Make o Catch Hook en Zapier. Esa dirección tiene que ser https y pública: un n8n en tu red local sin https no recibe webhooks. Comprueba la firma de cada entrega (en n8n, con el nodo Crypto; en Zapier, con un paso de código). Detalle en Webhooks.

Próximamente

Microsoft Copilot Studio, Microsoft 365 Copilot y Gemini Enterprise todavía no se pueden conectar a BMC, ni Cursor con inicio de sesión en BMC. Si los necesitas, escríbenos a plataforma@bm.consulting.

Si algo falla

SíntomaQué hacer
No ves la sección Desarrolladores en el área de cliente, o tu empresa no aparece al autorizar.El acceso a la API no está activado en esa empresa o no eres titular ni administrador. Escribe a plataforma@bm.consulting.
El asistente se conecta pero no muestra herramientas.El rol o los permisos no abren ninguna. Comprueba la conexión o el token en Credenciales.
Con token, el cliente responde que no es válido (invalid_token).El token tiene lista de IPs permitidas, está desactivado o revocado, o ha caducado. Deja la lista vacía o crea otro.
ChatGPT o Claude dejan de ver BMC al cabo de un tiempo.Vuelve a conectar desde el asistente. Si fijaste una caducidad corta, elige una más larga.

Si el problema sigue, escribe a plataforma@bm.consulting con el nombre del asistente y la hora del intento.

Email
Contacto