Skip to content

MCP / IA

🌐 English version: MCP / AI Integration

Bella Baxter expone un servidor MCP (Model Context Protocol) que permite a los asistentes de IA — Claude, GitHub Copilot, Cursor — gestionar secretos en tu nombre. Todos los accesos están gobernados por el mismo RBAC que la API REST.

Autenticación

bella mcp admite tres métodos de autenticación, evaluados en este orden:

MétodoCómoIdeal para
API key en la config (recomendado)Variable de entorno BELLA_BAXTER_API_KEYClaude Desktop, VS Code, Cursor — sin bella login previo
API key guardadabella login --api-key bax-... una vezMáquinas de desarrollo compartidas
Sesión OAuthbella login (navegador)Cuentas personales interactivas

La opción de API key es la recomendada para configuraciones de hosts de IA: se configura una vez en el archivo y no es necesario ejecutar bella login de nuevo.

Obtén una API key desde WebApp → Proyecto → Ajustes → API Keys → Crear clave.

Configuración

1. Imprimir el snippet de configuración

sh
bella mcp --print-config

Muestra la configuración lista para pegar en Claude Desktop, VS Code o cualquier host compatible con MCP, con la variable de entorno de API key ya incluida.

2. Configurar tu host de IA

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

json
{
  "mcpServers": {
    "bella-baxter": {
      "command": "bella",
      "args": ["mcp"],
      "env": {
        "BELLA_BAXTER_API_KEY": "bax-<tu-api-key>"
      }
    }
  }
}

VS Code / GitHub Copilot (.vscode/mcp.json en tu proyecto, o en la configuración de usuario):

json
{
  "servers": {
    "bella-baxter": {
      "type": "stdio",
      "command": "bella",
      "args": ["mcp"],
      "env": {
        "BELLA_BAXTER_API_KEY": "bax-<tu-api-key>"
      }
    }
  }
}

Cursor (.cursor/mcp.json):

json
{
  "mcpServers": {
    "bella-baxter": {
      "command": "bella",
      "args": ["mcp"],
      "env": {
        "BELLA_BAXTER_API_KEY": "bax-<tu-api-key>"
      }
    }
  }
}

Sin login previo

Cuando BELLA_BAXTER_API_KEY está configurada, bella mcp arranca directamente — no es necesario ejecutar bella login.

3. Instancia auto-hospedada

json
{
  "mcpServers": {
    "bella-baxter": {
      "command": "bella",
      "args": ["mcp"],
      "env": {
        "BELLA_API_URL": "https://tu-bella.ejemplo.com",
        "BELLA_BAXTER_API_KEY": "bax-<tu-api-key>"
      }
    }
  }
}

Herramientas MCP disponibles

HerramientaDescripción
list_projectsLista los proyectos a los que tienes acceso
list_environmentsLista los entornos de un proyecto
list_providersLista los proveedores de secretos de un entorno
list_secret_keysLista los nombres de las claves (valores nunca expuestos)
get_secretObtiene el valor de un secreto específico
set_secretCrea o actualiza un secreto
delete_secretElimina permanentemente un secreto
get_totp_codeGenera el código TOTP/2FA actual
list_totp_keysLista los nombres de claves TOTP almacenadas
sign_ssh_keyFirma una clave pública SSH mediante el CA de Vault
list_ssh_rolesLista los roles de firma SSH disponibles
bella_issue_tokenEmite un token efímero con alcance limitado para la tarea actual

Qué pueden hacer los agentes de IA

Una vez configurada Bella como servidor MCP, puedes pedirle a tu IA:

"Rota la API key de Stripe en el entorno de producción y actualiza el webhook signing secret."

"Comprueba qué secretos hay en el entorno staging de my-api y compáralos con producción."

"Firma mi clave SSH con el rol ops para que pueda acceder al servidor de despliegue."

"Genera un token de 30 minutos limitado a los secretos de pagos y dáselo al agente de despliegue."

Diseño de seguridad

  • Firma HMAC por petición — la autenticación con API key usa HMAC-SHA256 con marca de tiempo y firma de la petición. La clave nunca viaja como Authorization: Bearer plano
  • RBAC aplicado — si no puedes acceder a un secreto desde la CLI, la IA tampoco puede
  • Valores nunca en el contexto del promptlist_secret_keys lista solo los nombres, sin valores. get_secret obtiene un único valor cuando se solicita explícitamente
  • Tokens con alcance para agentesbella_issue_token permite al agente emitir una credencial efímera para una subtarea, sin necesidad de tu API key completa
  • Scope de la API key — crea una API key dedicada para cada host de IA, con acceso solo a los entornos necesarios

Agentes de IA en CI/CD (sin credenciales)

Para agentes automatizados (GitHub Actions, Kubernetes) que necesiten llamar a Bella vía MCP sin una clave almacenada, usa Trust Domains. El agente intercambia su token OIDC de plataforma por una clave bax-... efímera:

El agente arranca (ej. trabajo de GitHub Actions)
  → Solicita token OIDC a la plataforma (sin secreto necesario)
  → Lo envía a POST /api/v1/environments/{id}/token
  → Bella verifica contra las reglas del Trust Domain
  → Devuelve clave bax-... efímera (expira según el TTL)
  → El agente usa la clave para llamadas MCP / REST API

Consulta Keyless / Identidad de Carga de Trabajo para la configuración.

Opciones de bella mcp

sh
bella mcp                          # inicia el servidor MCP
bella mcp --api-url <url>          # cambia la URL de la API (o usa la variable BELLA_API_URL)
bella mcp --print-config           # imprime snippets de configuración para todos los hosts

Released under the ELv2 License.