关于 Zeqqat
Zeqqat 是面向 Dokploy 的开源 MCP 层,适合希望 Agent 操作部署但不暴露 API 密钥的团队。它代理并记录请求,按连接应用权限和策略,并从响应中移除机密信息。
主要功能
- 01加密保存 API 密钥且不返回给 Agent
- 02清除返回数据中的机密信息
- 03按连接设置权限
- 04定义并共享工具策略
- 05记录请求和结果
- 06开放 Dokploy 及导入的 OpenAPI 端点
适用场景
- 01允许 Agent 操作 Dokploy 部署
- 02将 Agent 连接限制为获准操作
- 03审查 Agent 请求及返回数据
- 04将应用的 OpenAPI 端点转换为工具
MCP 相关
Agent 将 Zeqqat URL 作为远程 MCP 服务连接,并使用 zeqqat_search、zeqqat_describe、zeqqat_run 等工具。Zeqqat 代理对 Dokploy 或导入 API 的调用,应用权限与策略,并清理响应。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://zeqqat.com/{org}/mcp/{connection}/{id}claude mcp add --transport http zeqqat-zeqqat https://zeqqat.com/{org}/mcp/{connection}/{id}{"mcpServers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}在 Cursor 中打开{"servers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}在 VS Code 中打开{"mcpServers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}{"mcpServers":{"zeqqat-zeqqat":{"serverUrl":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
让 AI 安全地访问你的 Dokploy。
网站 · 自托管指南 · Agent 文档 · 博客 · Discord
适用于 Claude、Claude Code、ChatGPT、Cursor、Gemini 以及任何 MCP 客户端。
Zeqqat 是一款安全、开源的 Dokploy MCP,支持自托管或云端使用。你的 Agent 只需连接一个 Zeqqat URL,无须持有你的 API 密钥。Zeqqat 会决定它可以执行哪些操作、代为发起调用,并记录所有活动。你可以免费在自己的 Dokploy 上自托管,也可以使用 zeqqat.com 上的托管版本。
✨ 功能
- 密钥不会暴露给模型:API 密钥经过静态加密,绝不会返回给 Agent。
- 清理响应内容:在模型查看响应前,会从每个响应中移除环境变量、令牌和私钥。
- 为每个连接单独设置权限:逐个连接允许读取、创建、编辑或删除。
- 策略:只允许你列出的工具,并可与他人共享策略。
- 活动日志:每个请求都会显示请求者、对应的 Agent、提供的理由、调用的内容以及返回结果。
- 团队:提供组织、工作区和角色,让团队成员拥有各自的访问权限,无须共享密钥。
- 完整的 Dokploy API:包含全部 554 个端点,可通过搜索找到,避免 Agent 的上下文被工具定义淹没。
- 支持 OpenAPI 规范中的任意 API:粘贴应用的规范链接(如 Stripe、GitHub 或你自己的应用),所有端点都会成为你账户下的工具,并自动推断每个端点的读取、创建、编辑和删除操作。你可以通过控制面板、Agent 调用
zeqqat_import,或使用POST /api/integrations/import来导入。 - 标准 OAuth 登录:Agent 使用 OAuth 2.1 连接,每个令牌只能用于颁发该令牌的连接。
- 可自托管:只需一个容器和 Postgres,启动时会自动应用迁移。
🚀 开始使用
在 Dokploy 上
- 从此仓库创建一个 Docker Compose 服务,或粘贴
docker-compose.yml。 - 设置下方配置部分列出的环境变量。
- 在 Domains 中,点击 Generate 生成一个已指向你的服务器的免费地址(也可以使用自己的域名),然后将其添加到端口为 3000 且启用了 HTTPS 的
zeqqat服务。部署。 - 打开该地址,创建第一个账户(该账户将拥有此 Zeqqat),并连接你的 Dokploy。
完整操作指南请见 zeqqat.com/docs/self-host。
在任何环境中使用 Docker
git clone https://github.com/zeqqat/zeqqat.git
cd zeqqat
cp .env.example .env # fill in the values
docker compose up -d
若要通过 http://localhost:3000 在本地访问,请取消注释 docker-compose.yml 中的 ports 行。
连接 Agent
连接 Dokploy 后,Zeqqat 会提供一个连接 URL,例如 https://your-zeqqat-address/you/mcp/deployment/a39f。将其添加到 Agent,作为远程 MCP 服务,并在提示时登录。Agent 通过几个稳定的工具访问 Dokploy:zeqqat_search、zeqqat_describe、zeqqat_run、zeqqat_whoami、zeqqat_policy、zeqqat_secret、zeqqat_import 和 zeqqat_docs。
⚙️ 配置
| 变量 | 必填 | 说明 |
|---|---|---|
ZEQQAT_PUBLIC_URL | 是 | 安装实例的 URL、Dokploy 为其生成的地址,或你拥有的域名 |
POSTGRES_PASSWORD | 是 | 内置 Postgres 的密码 |
BETTER_AUTH_SECRET | 是 | 会话密钥:openssl rand -base64 32 |
ZEQQAT_ENCRYPTION_KEY | 是 | 用于加密已存储的 API 密钥:openssl rand -base64 32。请妥善保管;更换密钥后,已存储的密钥将无法读取 |
ENABLED_AUTH_PROVIDERS | 否 | 可选值为 password、github、google 和 email,以逗号分隔。默认值为 password:你创建的第一个账户拥有此安装实例,其他人通过邀请链接加入 |
GITHUB_CLIENT_ID、GITHUB_CLIENT_SECRET | 用于 GitHub 登录 | 一个回调地址为 <your URL>/api/auth/callback/github 的 GitHub OAuth 应用 |
GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET | 用于 Google 登录 | 一个重定向 URI 为 <your URL>/api/auth/callback/google 的 Google OAuth 客户端 |
MAIL_FROM 加上 SMTP_URL 或 RESEND_API_KEY | 用于电子邮件登录;与密码登录搭配时可选 | 发件人地址,以及发送方式:任意 SMTP 服务(smtps://user:[email protected]:465)或 Resend API 密钥。使用 email 时,用户通过 6 位验证码登录;使用 password 时,忘记密码的链接会通过电子邮件发送(未配置邮件发送服务时,所有者可在 Team 页面创建这些链接) |
每个选项都记录在 .env.example 中。
匿名安装实例 Ping
为了统计有多少个可自托管的安装实例及其运行的版本,可自托管的安装实例启动时会向 https://zeqqat.com/api/telemetry 发送一次简短的 Ping,此后每天发送一次。Ping 的内容仅限以下内容,不会包含其他信息:
{ "installId": "a random UUID made on first start", "version": "0.2.1" }
绝不会发送 IP 地址、主机名、用户、电子邮件、实例、API 密钥、连接或工具调用,zeqqat.com 也不会存储你的 IP。代码位于 lib/telemetry.ts。
如需关闭此功能,请设置 ZEQQAT_TELEMETRY=0(设置 DO_NOT_TRACK=1 也可以),然后重启。
☁️ 云端与可自托管版本
| Zeqqat Cloud | 可自托管 | |
|---|---|---|
| 费用 | Beta 期间免费 | 免费且开源 |
| 设置 | 在 zeqqat.com 注册 | 在你的 Dokploy 上运行一个 Docker Compose 服务 |
| 密钥存储位置 | 在 zeqqat.com 上加密存储 | 在你自己的服务上加密存储 |
| 功能 | 全部功能 | 全部功能 |
| 更新 | 自动更新 | 拉取新的镜像标签 |
🛠️ 开发
你需要 Node 22、pnpm 9 和 Postgres。
pnpm install
cp .env.example .env
pnpm dev
pnpm check 会运行类型检查、Lint 和测试。AGENTS.md 介绍了架构。使用 Next.js、Postgres、Drizzle 和 Better Auth 构建。
贡献者 🤝
🤝 参与贡献
提交拉取请求前,请阅读贡献指南。
🔒 安全
请私下报告漏洞。详见 SECURITY.md。
📄 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。