Skip to main content
Glama
TLB-STATION

ApiVault Remote MCP Server

by TLB-STATION

ApiVault 远程 MCP 服务器

许可证: MIT 协议: MCP 传输: 可流式 HTTP TypeScript Node.js Next.js OAuth 2.1

安全、加密的 AI 编码代理 API 密钥管理。
适用于 ApiVault 的官方远程模型上下文协议 (MCP) 服务器。

快速开始 • 工具参考 • 架构 • OAuth 2.1 与作用域 • 错误代码与故障排除 • 自托管与开发


概述

ApiVault 远程 MCP 服务器 允许 AI 助手(如 Cursor、Claude Desktop、Windsurf 和 Claude Code)安全且可审计地与您在 ApiVault 中的加密机密交互。

AI 代理无需将原始 API 密钥粘贴到聊天提示中或将 .env 文件提交到 git,而是可以:

  1. 使用 掩码预览(例如 sk_live_••••1234)搜索和检查可用凭据。

  2. 仅通过作用域权限在执行代码时请求原始密钥值。

  3. 自动将新生成的 API 密钥直接存储到您的保管库中。

  4. 支持 零知识自定义保管库密钥,在内存中即时解密。


Related MCP server: Credential Vault MCP

🤖 官方 AI 代理技能

如果您使用 AI 编码助手(Cursor、Claude Code、Windsurf 或 Google Antigravity),请将官方 ApiVault 代理技能 安装到您的工作区中:

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

这将为您的 AI 代理配备原生运行手册、复制粘贴提示模板以及与 ApiVault MCP 交互的安全指南。


快速开始

1. Cursor

打开 Cursor 设置 (Cmd/Ctrl + Shift + J) → MCP → 添加新 MCP 服务器,或添加到您的 ~/.cursor/mcp.json:

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

2. Claude Desktop 和 Claude.ai

  • 方法 1(UI 连接器): 在 Claude Desktop / Claude.ai 中,导航到 设置 → 连接器 → 添加自定义连接器,输入名称:ApiVault 和远程 URL:https://apivault-mcp.vercel.app/mcp。

  • 方法 2(配置文件): 添加到您的 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)

在扩展的 MCP 设置 JSON 中:

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

首次连接: 当您的代理首次初始化时,浏览器选项卡会打开主 ApiVault 网站 (https://api-vault-opal.vercel.app) 以验证您的帐户并批准请求的作用域。


工具参考

服务器公开了 6 个遵循模型上下文协议的工具:

1. list_keys

列出存储的 API 密钥及其掩码值(例如 sk_live_••••1234)。防止提示污染,同时允许代理发现可用服务。

  • 所需作用域: keys:read

  • 参数:

    • environment (字符串,可选):按环境过滤(例如 Production、Staging、Development)。

    • service (字符串,可选):按服务名称过滤(例如 Stripe、OpenAI、Resend)。

  • 代理提示示例:

    "我们在生产环境中存储了哪些 Stripe 凭据?"


2. get_key

按 ID 检索特定凭据的元数据和掩码预览。

  • 所需作用域: keys:read

  • 参数:

    • id (字符串,必需):密钥的唯一 ID。

  • 代理提示示例:

    "检查密钥 'cm123abc' 的元数据和最后更新日期。"


3. reveal_key

解密并返回原始、未掩码的 API 密钥值。

  • 所需作用域: keys:reveal

  • 参数:

    • id (字符串,必需):要解密的密钥 ID。

    • vault_key (字符串,可选):用户的自定义保管库密钥(仅当帐户启用了自定义加密模式时需要)。

  • 代理提示示例:

    "我需要原始的 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 服务角色密钥存储到我们的生产保管库中。"


5. update_key

更新现有密钥的元数据或重新加密其密钥值。

  • 所需作用域: keys:write

  • 参数:

    • id (字符串,必需):要更新的密钥 ID。

    • name、service、environment、notes (字符串,可选):元数据更新。

    • key (字符串,可选):新的原始密钥值(触发重新加密)。

    • vault_key (字符串,可选):更新密钥值时使用的自定义保管库密钥。

  • 代理提示示例:

    "更新 Resend API 密钥的备注为 'Rotated on August 18'。"


6. delete_key

从保管库中永久删除 API 密钥。

  • 所需作用域: keys:write

  • 参数:

    • id (字符串,必需):要删除的密钥 ID。

  • 代理提示示例:

    "删除已弃用的暂存数据库凭据。"


架构

MCP 服务器使用 无状态协议网关 架构,将公共传输层与数据库和加密存储分离:

+----------------------------------------------------------+
|  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. 零数据库密码:公共 apivault-mcp 服务不持有 MySQL 凭据,也不持有主加密密钥。

  2. 无状态转发:客户端请求被验证并通过标准 OAuth Bearer 令牌转发到 ApiVault 的作用域网关 (/api/mcp/v1/keys)。

  3. 内存中保管库密钥:自定义加密模式的保管库密钥 (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(访问原始未掩码密钥值)

管理与撤销连接

用户可以随时在 Web 仪表板中查看已连接的 AI 代理、检查已授予的作用域以及撤销访问权限: ApiVault 仪表板 → 设置 → MCP 连接


错误代码与故障排除

错误代码

原因

解决方法

UNAUTHORIZED

OAuth Bearer 令牌过期或缺失。

通过重新连接操作在 Cursor 或 Claude Desktop 中重新进行身份验证。

INSUFFICIENT_SCOPE

令牌缺少所需作用域(例如尝试使用仅具有 keys:read 的令牌执行 reveal_key)。

重新进行身份验证,并在浏览器同意期间授予 keys:reveal 或 keys:write 作用域。

VAULT_KEY_REQUIRED

帐户使用自定义加密模式,但未传递 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.
    1 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