Skip to main content
Glama
TLB-STATION

ApiVault Remote MCP Server

by TLB-STATION

Servidor MCP Remoto de ApiVault

Licencia: MIT Protocolo: MCP Transporte: HTTP Transmisible TypeScript Node.js Next.js OAuth 2.1

Gestión segura y cifrada de claves API para agentes de codificación con IA.
Servidor oficial remoto de Protocolo de Contexto de Modelo (MCP) para ApiVault.

Inicio Rápido • Referencia de Herramientas • Arquitectura • OAuth 2.1 y Ámbitos • Códigos de Error y Solución de Problemas • Autoalojamiento y Desarrollo


Descripción General

El Servidor MCP Remoto de ApiVault permite a los asistentes de IA (como Cursor, Claude Desktop, Windsurf y Claude Code) interactuar con tus secretos cifrados en ApiVault de forma segura y auditable.

En lugar de pegar claves API sin procesar en los mensajes de chat o enviar archivos .env a git, los agentes de IA pueden:

  1. Buscar e inspeccionar las credenciales disponibles mediante vistas previas enmascaradas (p. ej. sk_live_••••1234).

  2. Solicitar valores secretos sin procesar solo al ejecutar código mediante permisos con ámbito definido.

  3. Almacenar automáticamente las claves API recién generadas directamente en tu bóveda.

  4. Compatibilidad con claves de bóveda personalizadas de conocimiento cero descifradas en memoria sobre la marcha.


Related MCP server: Credential Vault MCP

🤖 Habilidad Oficial del Agente de IA

Si usas asistentes de codificación con IA (Cursor, Claude Code, Windsurf o Google Antigravity), instala la Habilidad del Agente ApiVault oficial en tu espacio de trabajo:

git clone https://github.com/TLB-STATION/apivault-skill.git .agents/skills/apivault

Esto equipa a tus agentes de IA con manuales nativos, plantillas de mensajes listas para copiar y pegar, y pautas de seguridad para interactuar con ApiVault MCP.


Inicio Rápido

1. Cursor

Abre la Configuración de Cursor (Cmd/Ctrl + Shift + J) → MCP → Agregar Nuevo Servidor MCP, o agrégalo a tu ~/.cursor/mcp.json:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

2. Claude Desktop y Claude.ai

  • Método 1 (Conector de Interfaz): En Claude Desktop / Claude.ai, navega a Configuración → Conectores → Agregar Conector Personalizado, ingresa Nombre: ApiVault y URL Remota: https://apivault-mcp.vercel.app/mcp.

  • Método 2 (Archivo de Configuración): Agrega a tu archivo de configuración de Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "apivault": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://apivault-mcp.vercel.app/mcp"]
    }
  }
}

3. Windsurf

Agrega a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

4. Claude Code (CLI)

Ejecuta en tu terminal:

claude mcp add apivault https://apivault-mcp.vercel.app/mcp

5. VS Code (Cline / Roo Code / Continue)

En el JSON de Configuración MCP de tu extensión:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp",
      "transport": "http"
    }
  }
}

Primera Conexión: Cuando tu agente se inicialice por primera vez, se abrirá una pestaña del navegador en el sitio web principal de ApiVault (https://api-vault-opal.vercel.app) para autenticar tu cuenta y aprobar los ámbitos solicitados.


Referencia de Herramientas

El servidor expone 6 herramientas que cumplen con el Protocolo de Contexto de Modelo:

1. list_keys

Lista las claves API almacenadas con valores enmascarados (p. ej. sk_live_••••1234). Evita la contaminación de mensajes mientras permite al agente descubrir los servicios disponibles.

  • Ámbito Requerido: keys:read

  • Parámetros:

    • environment (cadena, opcional): Filtrar por entorno (p. ej. Production, Staging, Development).

    • service (cadena, opcional): Filtrar por nombre de servicio (p. ej. Stripe, OpenAI, Resend).

  • Ejemplo de Mensaje de Agente:

    "¿Qué credenciales de Stripe tenemos almacenadas en Producción?"


2. get_key

Recupera metadatos y vista previa enmascarada de una credencial específica por ID.

  • Ámbito Requerido: keys:read

  • Parámetros:

    • id (cadena, obligatorio): El ID único de la clave.

  • Ejemplo de Mensaje de Agente:

    "Verifica los metadatos y la fecha de última actualización de la clave 'cm123abc'."


3. reveal_key

Descifra y devuelve el valor de la clave API sin procesar y sin enmascarar.

  • Ámbito Requerido: keys:reveal

  • Parámetros:

    • id (cadena, obligatorio): El ID de la clave a descifrar.

    • vault_key (cadena, opcional): Clave de bóveda personalizada del usuario (requerida solo si la cuenta tiene habilitado el Modo de Cifrado Personalizado).

  • Ejemplo de Mensaje de Agente:

    "Necesito la clave API de OpenAI sin procesar para poder ejecutar las pruebas de integración del backend."


4. add_key

Cifra y almacena de forma segura una nueva clave API en la bóveda.

  • Ámbito Requerido: keys:write

  • Parámetros:

    • name (cadena, obligatorio): Identificador de la clave (p. ej. STRIPE_SECRET_KEY, RESEND_API_KEY).

    • key (cadena, obligatorio): Valor secreto sin procesar a cifrar.

    • service (cadena, opcional): Nombre del servicio (p. ej. Stripe, OpenAI, AWS).

    • environment (cadena, opcional): Entorno de destino (por defecto Production).

    • notes (cadena, opcional): Documentación para desarrolladores o notas de uso.

    • vault_key (cadena, opcional): Clave de bóveda personalizada cuando sea requerida.

  • Ejemplo de Mensaje de Agente:

    "Almacena esta clave de rol de servicio de Supabase recién generada en nuestra bóveda de Producción."


5. update_key

Actualiza los metadatos de una clave existente o vuelve a cifrar su valor secreto.

  • Ámbito Requerido: keys:write

  • Parámetros:

    • id (cadena, obligatorio): ID de la clave a actualizar.

    • name, service, environment, notes (cadena, opcional): Actualizaciones de metadatos.

    • key (cadena, opcional): Nuevo valor secreto sin procesar (activa el re-cifrado).

    • vault_key (cadena, opcional): Clave de bóveda personalizada al actualizar el valor secreto.

  • Ejemplo de Mensaje de Agente:

    "Actualiza las notas de la clave API de Resend a 'Rotada el 18 de agosto'."


6. delete_key

Elimina permanentemente una clave API de la bóveda.

  • Ámbito Requerido: keys:write

  • Parámetros:

    • id (cadena, obligatorio): ID de la clave a eliminar.

  • Ejemplo de Mensaje de Agente:

    "Elimina la credencial de base de datos de staging obsoleta."


Arquitectura

El servidor MCP utiliza una Arquitectura de Puerta de Enlace de Protocolo Sin Estado, separando la capa de transporte pública de la base de datos y el almacenamiento criptográfico:

+----------------------------------------------------------+
|  AI Agent (Cursor / Claude Desktop / Windsurf)           |
+----------------------------+-----------------------------+
                             | Streamable HTTP (JSON-RPC)
                             v
+----------------------------------------------------------+
|  ApiVault MCP Server (apivault-mcp.vercel.app)           |
|  - RFC 9728 Protected Resource Metadata (PRM)           |
|  - Streamable HTTP Transport (/mcp)                      |
|  - Zero Database Credentials / Zero Stored Keys          |
+----------------------------+-----------------------------+
                             | Scoped HTTPS REST Gateway (Bearer Token)
                             v
+----------------------------------------------------------+
|  ApiVault Backend (api-vault-opal.vercel.app)            |
|  - OAuth 2.1 Authorization Server (DCR + PKCE S256)      |
|  - Browser Consent UI (/mcp/authorize)                   |
|  - Cryptographic Key Decryption & MySQL Vault            |
+----------------------------------------------------------+

Propiedades de Seguridad:

  1. Cero Contraseñas de Base de Datos: El servicio público apivault-mcp no posee credenciales de MySQL ni claves de cifrado maestras.

  2. Reenvío Sin Estado: Las solicitudes del cliente se verifican y reenvían a la puerta de enlace con ámbito de ApiVault (/api/mcp/v1/keys) mediante tokens estándar de portador OAuth.

  3. Claves de Bóveda en Memoria: Las claves de bóveda del modo de cifrado personalizado (vault_key) se utilizan solo en memoria durante la derivación de una sola solicitud y nunca se escriben en disco ni en registros.


OAuth 2.1 y Ámbitos

El servidor MCP implementa OAuth 2.1 estándar con Registro Dinámico de Clientes (RFC 7591) y PKCE S256 (RFC 7636):

Ámbito

Nombre

Otorga Acceso A

keys:read

Leer Metadatos

list_keys, get_key (solo vistas previas enmascaradas)

keys:write

Gestionar Claves

add_key, update_key, delete_key

keys:reveal

Descifrar Secretos

reveal_key (acceso a valores secretos sin procesar y sin enmascarar)

Gestión y Revocación de Conexiones

Los usuarios pueden revisar los agentes de IA conectados, inspeccionar los ámbitos otorgados y revocar el acceso en cualquier momento desde el panel web: Panel de ApiVault → Configuración → Conexiones MCP


Códigos de Error y Solución de Problemas

Código de Error

Motivo

Resolución

UNAUTHORIZED

Token de portador OAuth caducado o faltante.

Vuelve a autenticarte en Cursor o Claude Desktop mediante la acción de Reconexión.

INSUFFICIENT_SCOPE

El token carece del ámbito requerido (p. ej. se intentó reveal_key solo con keys:read).

Vuelve a autenticarte y otorga el ámbito keys:reveal o keys:write durante el consentimiento del navegador.

VAULT_KEY_REQUIRED

La cuenta utiliza el Modo de Cifrado Personalizado y no se proporcionó vault_key.

Proporciona tu clave de bóveda personalizada en los argumentos de la herramienta.

INVALID_VAULT_KEY

La clave de bóveda personalizada proporcionada falló la verificación de descifrado.

Verifica que tu clave maestra de bóveda sea correcta y vuelve a intentarlo.

DUPLICATE_KEY

Ya existe una clave con el mismo nombre y entorno.

Usa update_key o elige un nombre de clave único.

NOT_FOUND

El ID de clave especificado no existe en tu bóveda.

Usa list_keys para verificar los ID de clave activos.

NETWORK_ERROR

No se pudo alcanzar la puerta de enlace del backend de ApiVault.

Verifica la conectividad a Internet y confirma API_VAULT_URL.


Autoalojamiento y Desarrollo

Puedes ejecutar tu propio servidor MCP independiente o implementarlo en tu infraestructura de nube privada:

Requisitos Previos

  • Node.js >= 20.12.0

  • npm o pnpm

1. Clonar e Instalar

git clone https://github.com/TLB-STATION/apivault-mcp.git
cd apivault-mcp
npm install

2. Configurar el Entorno

Crea .env.local:

# ApiVault Backend URL
API_VAULT_URL=https://api-vault-opal.vercel.app

# Public URL of this MCP server
MCP_SERVER_URL=http://localhost:3001

3. Ejecutar el Servidor de Desarrollo

npm run dev
# Server running at http://localhost:3001

4. Ejecutar el Conjunto de Pruebas

npm test

5. Compilar para Producción

npm run build
npm start

Comunidad y Ecosistema


Licencia

Distribuido bajo la Licencia MIT. Consulta LICENSE para obtener más información.

Copyright (c) 2026 TLB-STATION • ApiVault

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM agents to securely use credentials like passwords and API keys without exposing them in the context window, through encrypted storage and proxy-based injection.
    3 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables secure credential storage for AI agents by encrypting secrets and providing agent-invisible references, ensuring sensitive data never leaks to the model.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to securely manage API keys and secrets via the MCP protocol, with encrypted storage at rest and a simple CLI and Python SDK.
    1
    MIT