Skip to main content
Glama
TLB-STATION

ApiVault Remote MCP Server

by TLB-STATION

ApiVault Remote MCP Server

License: MIT Protocol: MCP Transport: Streamable HTTP TypeScript Node.js Next.js OAuth 2.1

Sichere, verschlüsselte API-Schlüsselverwaltung für KI-Codierungsagenten.
Offizieller Remote-Model-Context-Protocol-(MCP)-Server für ApiVault.

Schnellstart • Tool-Referenz • Architektur • OAuth 2.1 und Bereiche • Fehlercodes und Fehlerbehebung • Self-Hosting und Entwicklung


Übersicht

Der ApiVault Remote MCP Server ermöglicht es KI-Assistenten (wie Cursor, Claude Desktop, Windsurf und Claude Code), sicher und nachvollziehbar mit Ihren verschlüsselten Geheimnissen in ApiVault zu interagieren.

Anstatt rohe API-Schlüssel in Chat-Prompts einzufügen oder .env-Dateien in Git zu committen, können KI-Agenten:

  1. Verfügbare Anmeldeinformationen mit maskierten Vorschauen durchsuchen und prüfen (z. B. sk_live_••••1234).

  2. Rohe Geheimniswerte nur bei der Ausführung von Code über bereichsbezogene Berechtigungen anfordern.

  3. Neu generierte API-Schlüssel automatisch direkt in Ihren Tresor speichern.

  4. Unterstützung für Zero-Knowledge benutzerdefinierte Tresorschlüssel, die im laufenden Betrieb im Arbeitsspeicher entschlüsselt werden.


Related MCP server: Credential Vault MCP

🤖 Offizielle KI-Agenten-Fertigkeit

Wenn Sie KI-Codierungsassistenten (Cursor, Claude Code, Windsurf oder Google Antigravity) verwenden, installieren Sie die offizielle ApiVault Agent Skill in Ihrem Arbeitsbereich:

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

Dies stattet Ihre KI-Agenten mit nativen Runbooks, Copy-Paste-Prompt-Vorlagen und Sicherheitsrichtlinien für die Interaktion mit ApiVault MCP aus.


Schnellstart

1. Cursor

Öffnen Sie die Cursor-Einstellungen (Cmd/Ctrl + Shift + J) → MCP → Neuen MCP-Server hinzufügen, oder fügen Sie zu Ihrer ~/.cursor/mcp.json hinzu:

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

2. Claude Desktop und Claude.ai

  • Methode 1 (UI-Connector): Navigieren Sie in Claude Desktop / Claude.ai zu Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen, geben Sie Name: ApiVault und Remote-URL: https://apivault-mcp.vercel.app/mcp ein.

  • Methode 2 (Konfigurationsdatei): Fügen Sie zu Ihrer Claude Desktop-Konfigurationsdatei hinzu:

    • 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

Fügen Sie zu ~/.codeium/windsurf/mcp_config.json hinzu:

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

4. Claude Code (CLI)

Führen Sie in Ihrem Terminal aus:

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

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

In der MCP-Einstellungs-JSON Ihrer Erweiterung:

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

Erstverbindung: Wenn Ihr Agent zum ersten Mal initialisiert wird, öffnet sich ein Browser-Tab zur Haupt-Website von ApiVault (https://api-vault-opal.vercel.app), um Ihr Konto zu authentifizieren und die angeforderten Bereiche zu genehmigen.


Tool-Referenz

Der Server stellt 6 Tools bereit, die dem Model Context Protocol entsprechen:

1. list_keys

Listet gespeicherte API-Schlüssel mit maskierten Werten auf (z. B. sk_live_••••1234). Verhindert Prompt-Verschmutzung, während der Agent verfügbare Dienste entdecken kann.

  • Erforderlicher Bereich: keys:read

  • Parameter:

    • environment (string, optional): Nach Umgebung filtern (z. B. Production, Staging, Development).

    • service (string, optional): Nach Dienstname filtern (z. B. Stripe, OpenAI, Resend).

  • Beispiel-Agenten-Prompt:

    „Welche Stripe-Anmeldeinformationen haben wir in Production gespeichert?“


2. get_key

Metadaten und maskierte Vorschau für eine bestimmte Anmeldeinformation anhand der ID abrufen.

  • Erforderlicher Bereich: keys:read

  • Parameter:

    • id (string, erforderlich): Die eindeutige ID des Schlüssels.

  • Beispiel-Agenten-Prompt:

    „Überprüfe die Metadaten und das letzte Aktualisierungsdatum für Schlüssel 'cm123abc'.“


3. reveal_key

Entschlüsselt und gibt den rohen, unmaskierten API-Schlüsselwert zurück.

  • Erforderlicher Bereich: keys:reveal

  • Parameter:

    • id (string, erforderlich): Die ID des zu entschlüsselnden Schlüssels.

    • vault_key (string, optional): Benutzerdefinierter Tresorschlüssel des Benutzers (nur erforderlich, wenn das Konto den benutzerdefinierten Verschlüsselungsmodus aktiviert hat).

  • Beispiel-Agenten-Prompt:

    „Ich benötige den rohen OpenAI-API-Schlüssel, um die Backend-Integrationstests ausführen zu können.“


4. add_key

Verschlüsselt und speichert einen neuen API-Schlüssel sicher im Tresor.

  • Erforderlicher Bereich: keys:write

  • Parameter:

    • name (string, erforderlich): Schlüsselbezeichner (z. B. STRIPE_SECRET_KEY, RESEND_API_KEY).

    • key (string, erforderlich): Roher Geheimniswert zum Verschlüsseln.

    • service (string, optional): Dienstname (z. B. Stripe, OpenAI, AWS).

    • environment (string, optional): Zielumgebung (Standard: Production).

    • notes (string, optional): Entwicklerdokumentation oder Verwendungshinweise.

    • vault_key (string, optional): Benutzerdefinierter Tresorschlüssel, falls erforderlich.

  • Beispiel-Agenten-Prompt:

    „Speichere diesen neu generierten Supabase-Dienstrollenschlüssel in unserem Production-Tresor.“


5. update_key

Aktualisiert die Metadaten eines vorhandenen Schlüssels oder verschlüsselt seinen Geheimniswert neu.

  • Erforderlicher Bereich: keys:write

  • Parameter:

    • id (string, erforderlich): Schlüssel-ID zum Aktualisieren.

    • name, service, environment, notes (string, optional): Metadatenaktualisierungen.

    • key (string, optional): Neuer roher Geheimniswert (löst Neuverschlüsselung aus).

    • vault_key (string, optional): Benutzerdefinierter Tresorschlüssel beim Aktualisieren des Geheimniswerts.

  • Beispiel-Agenten-Prompt:

    „Aktualisiere die Notizen zum Resend-API-Schlüssel auf 'Am 18. August rotiert'.“


6. delete_key

Entfernt einen API-Schlüssel dauerhaft aus dem Tresor.

  • Erforderlicher Bereich: keys:write

  • Parameter:

    • id (string, erforderlich): Schlüssel-ID zum Löschen.

  • Beispiel-Agenten-Prompt:

    „Lösche die veraltete Staging-Datenbank-Anmeldeinformation.“


Architektur

Der MCP-Server verwendet eine zustandslose Protokoll-Gateway-Architektur, die die öffentliche Transportschicht von der Datenbank und der kryptografischen Speicherung trennt:

+----------------------------------------------------------+
|  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            |
+----------------------------------------------------------+

Sicherheitseigenschaften:

  1. Keine Datenbank-Passwörter: Der öffentliche apivault-mcp-Dienst besitzt keine MySQL-Anmeldeinformationen und keine Master-Verschlüsselungsschlüssel.

  2. Zustandslose Weiterleitung: Client-Anfragen werden verifiziert und mit standardmäßigen OAuth-Bearer-Tokens an das bereichsbezogene Gateway von ApiVault (/api/mcp/v1/keys) weitergeleitet.

  3. Im Arbeitsspeicher befindliche Tresorschlüssel: Benutzerdefinierte Verschlüsselungsmodus-Tresorschlüssel (vault_key) werden nur während der Ableitung einer einzelnen Anfrage im Arbeitsspeicher verwendet und niemals auf die Festplatte oder in Protokolle geschrieben.


OAuth 2.1 und Bereiche

Der MCP-Server implementiert standardmäßiges OAuth 2.1 mit Dynamic Client Registration (RFC 7591) und PKCE S256 (RFC 7636):

Bereich

Name

Gewährt Zugriff auf

keys:read

Metadaten lesen

list_keys, get_key (nur maskierte Vorschauen)

keys:write

Schlüssel verwalten

add_key, update_key, delete_key

keys:reveal

Geheimnisse entschlüsseln

reveal_key (Zugriff auf rohe, unmaskierte Geheimniswerte)

Verwalten und Widerrufen von Verbindungen

Benutzer können verbundene KI-Agenten überprüfen, gewährte Bereiche einsehen und den Zugriff jederzeit im Web-Dashboard widerrufen: ApiVault-Dashboard → Einstellungen → MCP-Verbindungen


Fehlercodes und Fehlerbehebung

Fehlercode

Grund

Lösung

UNAUTHORIZED

Abgelaufenes oder fehlendes OAuth-Bearer-Token.

Authentifizieren Sie sich in Cursor oder Claude Desktop über die Aktion „Erneut verbinden“ erneut.

INSUFFICIENT_SCOPE

Dem Token fehlt der erforderliche Bereich (z. B. reveal_key mit nur keys:read versucht).

Authentifizieren Sie sich erneut und gewähren Sie während der Browser-Zustimmung den Bereich keys:reveal oder keys:write.

VAULT_KEY_REQUIRED

Das Konto verwendet den benutzerdefinierten Verschlüsselungsmodus und es wurde kein vault_key übergeben.

Geben Sie Ihren benutzerdefinierten Tresorschlüssel in den Tool-Argumenten an.

INVALID_VAULT_KEY

Der angegebene benutzerdefinierte Tresorschlüssel hat die Entschlüsselungsprüfung nicht bestanden.

Überprüfen Sie, ob Ihr Master-Tresorschlüssel korrekt ist, und wiederholen Sie den Vorgang.

DUPLICATE_KEY

Ein Schlüssel mit demselben Namen und derselben Umgebung existiert bereits.

Verwenden Sie update_key oder wählen Sie einen eindeutigen Schlüsselnamen.

NOT_FOUND

Die angegebene Schlüssel-ID existiert nicht in Ihrem Tresor.

Verwenden Sie list_keys, um die aktiven Schlüssel-IDs zu überprüfen.

NETWORK_ERROR

Das ApiVault-Backend-Gateway ist nicht erreichbar.

Überprüfen Sie die Internetverbindung und die API_VAULT_URL.


Self-Hosting und Entwicklung

Sie können Ihren eigenen eigenständigen MCP-Server betreiben oder in Ihrer privaten Cloud-Infrastruktur bereitstellen:

Voraussetzungen

  • Node.js >= 20.12.0

  • npm oder pnpm

1. Klonen und installieren

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

2. Umgebung konfigurieren

Erstellen Sie .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. Entwicklungsserver ausführen

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

4. Testsuite ausführen

npm test

5. Für Produktion erstellen

npm run build
npm start

Community und Ökosystem


Lizenz

Verteilt unter der MIT-Lizenz. Weitere Informationen finden Sie in LICENSE.

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