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

Безопасное, зашифрованное управление API-ключами для AI-агентов кодирования.
Официальный удалённый сервер Model Context Protocol (MCP) для ApiVault.

Быстрый старт • Справочник инструментов • Архитектура • OAuth 2.1 и области доступа • Коды ошибок и устранение неполадок • Самостоятельное размещение и разработка


Обзор

Удалённый MCP-сервер ApiVault позволяет AI-ассистентам (таким как Cursor, Claude Desktop, Windsurf и Claude Code) безопасно и с аудитом взаимодействовать с вашими зашифрованными секретами в ApiVault.

Вместо того чтобы вставлять сырые API-ключи в подсказки чата или коммитить файлы .env в git, AI-агенты могут:

  1. Искать и просматривать доступные учётные данные с помощью маскированных предпросмотров (например, sk_live_••••1234).

  2. Запрашивать сырые значения секретов только при выполнении кода через ограниченные разрешения.

  3. Автоматически сохранять новые сгенерированные API-ключи прямо в ваше хранилище.

  4. Поддерживать Zero-Knowledge пользовательские ключи хранилища, расшифровываемые в памяти на лету.


Related MCP server: Credential Vault MCP

🤖 Официальный навык AI-агента

Если вы используете AI-ассистентов кодирования (Cursor, Claude Code, Windsurf или Google Antigravity), установите официальный ApiVault Agent Skill в ваше рабочее пространство:

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

Это оснастит ваших AI-агентов встроенными инструкциями, шаблонами для копирования и вставки, а также руководствами по безопасности для взаимодействия с ApiVault MCP.


Быстрый старт

1. Cursor

Откройте настройки Cursor (Cmd/Ctrl + Shift + J) → MCP → Add New MCP Server или добавьте в ~/.cursor/mcp.json:

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

2. Claude Desktop и Claude.ai

  • Метод 1 (UI Connector): В Claude Desktop / Claude.ai перейдите в Settings → Connectors → Add Custom Connector, введите Name: ApiVault и Remote URL: https://apivault-mcp.vercel.app/mcp.

  • Метод 2 (Config File): Добавьте в файл конфигурации 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

Добавьте в ~/.codeium/windsurf/mcp_config.json:

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

4. Claude Code (CLI)

Запустите в терминале:

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

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

В JSON-настройках MCP вашего расширения:

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

Первое подключение: При первой инициализации агента откроется вкладка браузера на главном сайте ApiVault (https://api-vault-opal.vercel.app) для аутентификации вашей учётной записи и подтверждения запрошенных областей доступа.


Справочник инструментов

Сервер предоставляет 6 инструментов, соответствующих Model Context Protocol:

1. list_keys

Вывести список сохранённых API-ключей с маскированными значениями (например, sk_live_••••1234). Предотвращает загрязнение подсказок, позволяя агенту обнаруживать доступные сервисы.

  • Требуемая область доступа: keys:read

  • Параметры:

    • environment (строка, опционально): Фильтр по окружению (например, Production, Staging, Development).

    • service (строка, опционально): Фильтр по имени сервиса (например, Stripe, OpenAI, Resend).

  • Пример подсказки агенту:

    "Какие учётные данные Stripe у нас сохранены в Production?"


2. get_key

Получить метаданные и маскированный предпросмотр для конкретного ключа по ID.

  • Требуемая область доступа: keys:read

  • Параметры:

    • id (строка, обязательно): Уникальный ID ключа.

  • Пример подсказки агенту:

    "Проверь метаданные и дату последнего обновления для ключа 'cm123abc'."


3. reveal_key

Расшифровать и вернуть сырое, немаскированное значение API-ключа.

  • Требуемая область доступа: keys:reveal

  • Параметры:

    • id (строка, обязательно): ID ключа для расшифровки.

    • vault_key (строка, опционально): Пользовательский ключ хранилища (требуется, только если в учётной записи включён Custom Encryption Mode).

  • Пример подсказки агенту:

    "Мне нужен сырой OpenAI API-ключ, чтобы запустить интеграционные тесты бэкенда."


4. add_key

Безопасно зашифровать и сохранить новый API-ключ в хранилище.

  • Требуемая область доступа: keys:write

  • Параметры:

    • name (строка, обязательно): Идентификатор ключа (например, STRIPE_SECRET_KEY, RESEND_API_KEY).

    • key (строка, обязательно): Сырое секретное значение для шифрования.

    • service (строка, опционально): Имя сервиса (например, Stripe, OpenAI, AWS).

    • environment (строка, опционально): Целевое окружение (по умолчанию Production).

    • notes (строка, опционально): Документация разработчика или заметки по использованию.

    • vault_key (строка, опционально): Пользовательский ключ хранилища, если требуется.

  • Пример подсказки агенту:

    "Сохрани этот только что сгенерированный сервисный ключ Supabase в наше Production-хранилище."


5. update_key

Обновить метаданные существующего ключа или перешифровать его секретное значение.

  • Требуемая область доступа: keys:write

  • Параметры:

    • id (строка, обязательно): ID ключа для обновления.

    • name, service, environment, notes (строка, опционально): Обновления метаданных.

    • key (строка, опционально): Новое сырое секретное значение (вызывает перешифрование).

    • vault_key (строка, опционально): Пользовательский ключ хранилища при обновлении секретного значения.

  • Пример подсказки агенту:

    "Обнови заметки для API-ключа Resend на 'Ротирован 18 августа'."


6. delete_key

Навсегда удалить API-ключ из хранилища.

  • Требуемая область доступа: keys:write

  • Параметры:

    • id (строка, обязательно): ID ключа для удаления.

  • Пример подсказки агенту:

    "Удали устаревшие учётные данные staging-базы данных."


Архитектура

MCP-сервер использует архитектуру Stateless Protocol Gateway, разделяющую публичный транспортный уровень от базы данных и криптографического хранилища:

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

Свойства безопасности:

  1. Zero Database Passwords: Публичный сервис apivault-mcp не содержит учётных данных MySQL и мастер-ключей шифрования.

  2. Stateless Forwarding: Запросы клиентов проверяются и перенаправляются в ограниченный шлюз ApiVault (/api/mcp/v1/keys) с использованием стандартных OAuth Bearer-токенов.

  3. In-Memory Vault Keys: Ключи хранилища в режиме пользовательского шифрования (vault_key) используются только в памяти во время вывода для одного запроса и никогда не записываются на диск или в логи.


OAuth 2.1 и области доступа

MCP-сервер реализует стандартный OAuth 2.1 с динамической регистрацией клиентов (RFC 7591) и PKCE S256 (RFC 7636):

Область доступа

Название

Предоставляет доступ к

keys:read

Чтение метаданных

list_keys, get_key (только маскированные предпросмотры)

keys:write

Управление ключами

add_key, update_key, delete_key

keys:reveal

Расшифровка секретов

reveal_key (доступ к сырым немаскированным секретным значениям)

Управление и отзыв подключений

Пользователи могут просматривать подключённых AI-агентов, проверять предоставленные области доступа и отзывать доступ в любое время в веб-панели: ApiVault Dashboard → Settings → MCP Connections


Коды ошибок и устранение неполадок

Код ошибки

Причина

Решение

UNAUTHORIZED

Истёк или отсутствует OAuth Bearer-токен.

Повторно аутентифицируйтесь в Cursor или Claude Desktop через действие Reconnect.

INSUFFICIENT_SCOPE

Токен не имеет требуемой области доступа (например, попытка reveal_key только с keys:read).

Повторно аутентифицируйтесь и предоставьте область keys:reveal или keys:write во время согласия в браузере.

VAULT_KEY_REQUIRED

Учётная запись использует Custom Encryption Mode, и vault_key не был передан.

Укажите ваш пользовательский ключ хранилища в аргументах инструмента.

INVALID_VAULT_KEY

Предоставленный пользовательский ключ хранилища не прошёл проверку расшифровки.

Проверьте правильность мастер-ключа хранилища и повторите попытку.

DUPLICATE_KEY

Ключ с таким же именем и окружением уже существует.

Используйте update_key или выберите уникальное имя ключа.

NOT_FOUND

Указанный ID ключа не существует в вашем хранилище.

Используйте list_keys для проверки активных ID ключей.

NETWORK_ERROR

Невозможно связаться с бэкенд-шлюзом ApiVault.

Проверьте подключение к интернету и правильность API_VAULT_URL.


Самостоятельное размещение и разработка

Вы можете запустить собственный автономный MCP-сервер или развернуть его в вашей частной облачной инфраструктуре:

Предварительные требования

  • Node.js >= 20.12.0

  • npm или pnpm

1. Клонирование и установка

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

2. Настройка окружения

Создайте .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. Запуск сервера разработки

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

4. Запуск тестового набора

npm test

5. Сборка для продакшена

npm run build
npm start

Сообщество и экосистема


Лицензия

Распространяется под лицензией MIT. См. LICENSE для получения дополнительной информации.

Авторские права (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