mcpField
E
envault

envault

本地服务
github.com/DinanathDash安全419 周前更新

关于 envault

envault 是用于安全存储和管理机密信息的保险库应用,面向团队及编码 Agent 工作流。它提供项目权限协作、命令行管理,并可连接 Vercel 同步环境变量。

主要功能

  1. 01AES-256-GCM 加密与密钥轮换
  2. 02按项目组织机密信息
  3. 03基于角色的团队访问控制
  4. 04命令行管理与 Vercel 同步

适用场景

  1. 01集中管理多个项目的机密信息
  2. 02按角色与团队成员共享项目
  3. 03通过 Vercel 同步部署环境变量

MCP 相关

envault 支持 MCP,可供 AI 编码客户端读取和推送安全环境,并通过 `envault mcp install` 配置客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dinanathdash-envault": {
"command": "npx",
"args": [
"-y",
"@dinanathdash/envault-mcp-server"
],
"env": {
"ENVAULT_TOKEN": "<ENVAULT_TOKEN>",
"ENVAULT_BASE_URL": "<ENVAULT_BASE_URL>"
}
}
}
}
启动命令npx -y @dinanathdash/envault-mcp-server
需要配置的环境变量
ENVAULT_TOKEN密钥Required: Generate via Envault Account Settings -> Security -> MCP Token
ENVAULT_BASE_URLRequired: https://www.envault.tech

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@dinanathdash/envault-mcp-server1.12.0

工具

23

收录的工具列表 · 更新于 2 周前

参数类型必填说明
projectIdstring否状态调用的可选项目 ID 覆盖值。

详细介绍

Envault

Envault 是一款安全、现代的保险库应用,基于 Next.js、Supabase 和 Tailwind CSS 构建。它提供完善的身份验证系统和简洁的用户界面,用于存储和管理敏感信息。

功能

  • 银行级安全性:采用 AES-256-GCM 加密,搭配主密钥/数据密钥层级结构和自动密钥轮换。
  • 项目工作区:将机密信息整理到不同的项目中,便于管理。
  • 语义化路由:采用简洁的 GitHub 风格 URL(/[username]/[project-slug]),便于分享和导航。
  • 团队协作:通过严格的基于角色的访问控制安全地共享项目:
    • 所有者:拥有完整的管理权限(重命名、删除、管理团队)。
    • 编辑者:积极参与协作(读取/写入机密信息、请求共享)。
    • 查看者:仅可读取变量。
  • 安全身份验证:由 Supabase Auth 提供支持,具备完善的用户管理功能,包括支持 Passkey,实现无密码的生物识别登录。
  • 现代 UI/UX:使用 Tailwind CSS、Shadcn UI 和 Framer Motion 构建,带来优质体验。
  • 交互式 3D 元素:由 React Three Fiber 驱动的高性能 3D 视觉效果。
  • 键盘优先:通过完全可自定义、互不冲突的快捷键高效导航。
  • 响应式设计:全面适配桌面和移动设备,使用体验流畅一致。
  • 深色模式支持:内置浅色和深色主题支持。
  • CLI 支持:可直接在终端管理机密信息,并支持自动进行非阻塞式后台更新检查。
  • 原生 Vercel 集成:关联 Vercel 项目、映射环境,并将机密信息直接同步到 Vercel 环境存储,以兼容无服务器运行时。
  • 实时系统状态:通过专用状态页面监控系统健康状况、当前事件和历史运行时间。
  • 专属支持页面:在应用内集成支持功能,帮助用户高效管理故障排查选项。
  • 全面的文档:集成文档站点,包含指南、API 参考和 CLI 文档。

CLI

Envault 原生支持 Model Context Protocol(MCP),因此 Claude Desktop、Cursor 和 RooCode/Cline 等 AI 编码助手可以轻松拉取和推送安全环境。

# Automatically configure your AI clients (Global & Local Workspaces)
envault mcp install

# Or install strictly for the current workspace
envault mcp install --local
安装

macOS 和 Linux(通用版)

curl -fsSL https://raw.githubusercontent.com/DinanathDash/Envault/main/install.sh | sh

macOS(Homebrew)

brew tap DinanathDash/envault
brew install --formula envault

Homebrew cask 安装已弃用。如果你通过 cask 安装,请使用以下命令迁移:

brew uninstall --cask dinanathdash/envault/envault
brew install --formula envault

如需了解详情,请查看 CLI 文档。

本地测试

Envault 本地开发现已使用带 HTTPS 主机名的 portless。

npm install -g portless

若要将 Envault CLI 与本地开发服务器搭配使用,请设置 ENVAULT_CLI_URL 环境变量:

export ENVAULT_CLI_URL="https://envault.localhost:1355/api/cli"
envault login

如需通过一条命令启动本地应用 envault run,建议优先使用托管 API 获取行为,不要设置 ENVAULT_CLI_URL/ENVAULT_BASE_URL。

安全架构

Envault 使用混合加密模型,确保最高级别的安全性:

  1. 主密钥:存储在环境变量中的 32 字节密钥,仅用于加密/解密数据密钥。
  2. 数据密钥:用于加密实际数据的唯一密钥。它们以加密形式存储在数据库中。
  3. 密钥轮换:可以轮换数据密钥。活动密钥会缓存在 Redis 中,以提升性能且不影响安全性。
  4. AES-256-GCM:用于所有机密信息的业界标准认证加密算法。

技术栈

开始使用

按照以下步骤在本地运行项目。

前置条件
  • 已安装 Node.js 18+
  • 已设置 Supabase 项目
安装
  1. 克隆仓库

    git clone https://github.com/dinanathdash/envault.git
    cd envault
    
  2. 安装依赖

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
    
  3. 环境设置

    复制环境变量示例文件:

    cp .env.example .env.local
    

    打开 .env.local 并添加你的 Supabase 凭据:

    NEXT_PUBLIC_SUPABASE_URL=your-project-url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
    
    # Generate a secure key: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
    ENCRYPTION_KEY=your-64-char-hex-key
    
    SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
    
    UPSTASH_REDIS_REST_URL=your-upstash-url
    UPSTASH_REDIS_REST_TOKEN=your-upstash-token
    
    # Used for securely signing and verifying frontend API mutations (POST, PUT, DELETE, PATCH)
    NEXT_PUBLIC_API_SIGNATURE_SALT=your-secure-random-hmac-secret
    
    
  4. 运行开发服务器

    npm run dev
    

    在浏览器中打开 https://envault.localhost:1355 查看结果。

可选:原生 Vercel 集成设置

如果你计划使用原生 Vercel 同步(推荐用于 Vercel 无服务器运行时),请添加以下变量:

VERCEL_CLIENT_ID=your_vercel_oauth_client_id
VERCEL_CLIENT_SECRET=your_vercel_oauth_client_secret
VERCEL_REDIRECT_URI=https://your-domain.com/api/integrations/vercel/callback
VERCEL_WEBHOOK_SECRET=your_vercel_webhook_signing_secret
NEXT_PUBLIC_VERCEL_INTEGRATION_INSTALL_URL=https://vercel.com/<team-or-user>/~/integrations/envault

在生产环境中使用生产 URL。除本地开发外,请勿使用 ngrok 或 localhost 回调 URL。

  1. 测试电子邮件配置(可选)

    若要验证 Resend API 配置是否正常工作,可以给自己发送一封测试邮件:

    npm run test:email -- [email protected]
    

Monorepo 设置指南

此仓库包含多个可发布/运行时组件。克隆并参与贡献时,请参考此指南。

文件夹用途安装常用命令
./主 Next.js 应用npm installnpm run dev、npm run build、npm run lint、npm run test:all
cli-go/Go CLI(envault)go mod downloadgo test ./...、go build ./...
src/lib/sdk/npm SDK 包(@dinanathdash/envault-sdk)npm installnpm run typecheck、npm run build
mcp-server/npm MCP 包(@dinanathdash/envault-mcp-server)npm installnpm run check、npm start
cli-wrapper/用于 CLI 安装/引导的 npm 封装包npm installnode install.js
首次贡献流程
  1. 克隆并安装根目录依赖:
git clone https://github.com/dinanathdash/envault.git
cd envault
npm install
  1. 复制环境变量文件并配置必需的密钥:
cp .env.example .env.local
  1. 为可发布的子包安装各自的本地依赖:
cd src/lib/sdk && npm install
cd ../../.. && cd mcp-server && npm install
cd ..
  1. 一次性验证所有内容:
npm run lint
npm run test:all
npm run build

软件包发布与工作流

npm 软件包
  • SDK:@dinanathdash/envault-sdk(源代码:src/lib/sdk/)
  • MCP:@dinanathdash/envault-mcp-server(源代码:mcp-server/)
GitHub Actions 工作流
  • CLI 发布工作流:.github/workflows/publish.yml
  • SDK 发布工作流:.github/workflows/publish-sdk.yml
  • MCP 发布工作流:.github/workflows/publish-mcp.yml

每个软件包在其自身文件夹发生更改时,都会通过 semantic-release 独立进行版本管理:

  • CLI 标签:v<version>
  • SDK 标签:sdk-v<version>
  • MCP 标签:mcp-v<version>

这样可以使 SDK 和 MCP 的发布周期与 CLI 版本更新相互独立。

本地发布前检查
npm run sdk:check
npm run mcp:check
手动发布命令
npm run sdk:publish
npm run mcp:publish

版本和更新命令

使用这些命令,用户可以快速确认当前版本并安全地进行更新。

CLI(envault)

检查已安装的 CLI 版本:

envault --version

通过 Homebrew formula 更新:

brew update
brew untap dinanathdash/envault || true
brew tap dinanathdash/envault
brew upgrade --formula envault
SDK(@dinanathdash/envault-sdk)

检查已安装和最新的 SDK 版本:

npm ls @dinanathdash/envault-sdk
npm view @dinanathdash/envault-sdk version

更新 SDK(推荐通过 Envault CLI):

envault sdk update

更新 SDK(npm 备用方式):

npm install @dinanathdash/envault-sdk@latest

运行时行为:

  • 有更新版本的 SDK 时,SDK 会打印警告。
  • 低于服务端配置的最低受支持版本时,SDK 会阻止执行。
MCP(@dinanathdash/envault-mcp-server)

检查已安装的 MCP 版本(适用于独立 MCP 软件包安装):

envault-mcp-server --version

检查是否有可用的 MCP 更新(适用于独立 MCP 软件包安装):

envault-mcp-server --check-update

更新 MCP 集成(推荐通过 Envault CLI):

envault mcp update

全局更新 MCP(适用于独立安装的 npm 备用方式):

npm install -g @dinanathdash/envault-mcp-server@latest

许可证

版权所有(c)2026 Dinanath Dash。保留所有权利。

仓库根目录中的源代码仅用于透明度、安全审计和教育目的。本软件并非开源软件。

你可以出于安全目的检查和分析代码。未经事先明确的书面许可,不得执行、编译、运行、部署、复制、修改、派生、再分发、再许可专有仓库代码,也不得使用该代码提供任何服务。

许可证范围例外:mcp-server/ 和 src/lib/sdk/ 分别在各自目录中依据 MIT 许可证发布。

完整法律条款请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。