关于 dokploy-mcp-server
dokploy-mcp-server 是用于通过 MCP 操作 Dokploy(可自托管 PaaS)的服务,采用按类别划分、以操作为参数的工具。它覆盖常见部署和基础设施工作流,工具数量少于每个 API 端点单设工具的设计。
主要功能
- 01管理项目和应用
- 02操作 Docker Compose 服务
- 03管理六种数据库类型
- 04管理域名、备份和服务器
- 05使用按类别划分的操作工具
适用场景
- 01部署或停止应用
- 02更新 Compose 服务
- 03管理多种受支持的数据库
- 04管理域名和服务器基础设施
MCP 相关
该服务通过带操作参数的分类工具,向 MCP 客户端开放 Dokploy 管理操作。它支持 stdio 和 httpStream 传输,并使用 URL 和 API 密钥连接 Dokploy 实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y dokploy-mcp-serverDOKPLOY_URLDokploy instance URL (e.g., https://dokploy.example.com)DOKPLOY_API_KEY密钥Dokploy API key (generate in Settings > API Keys)TRANSPORT_TYPETransport: 'stdio' (default) or 'httpStream' for remote/Docker deploymentsPORTHTTP port for httpStream transport (default 3000)HOSTHTTP host for httpStream transport (default 0.0.0.0)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
16收录的工具列表 · 更新于 今天
此工具无需参数。
详细介绍
dokploy-mcp-server
适用于 Dokploy 的综合性 Model Context Protocol (MCP) 服务。Dokploy 是一款开源、可自托管的 PaaS。通过 Claude 等 AI 助手部署应用、管理容器、数据库、域名和服务。
为什么选择此服务?
跟踪 Dokploy v0.30.8。 工具基于 v0.30.8 OpenAPI 规范(604 个路径)构建。以下对比数据测量于 2026-10-03。
Dokploy 官方 MCP 为每个 API 端点生成一个工具。其最新版本 @dokploy/[email protected] 提供 604 个工具,分别对应 Dokploy v0.30.8 OpenAPI 规范中的 604 个路径。覆盖完整,而且在你提出第一个问题之前,所有这些工具的架构都会加载到模型的上下文中。
此服务为同一 API 精选了 27 个工具(每个类别一个工具,均接受一个 action 枚举),涵盖大多数自托管用户日常使用的部署和运维功能。
上下文开销
官方 @dokploy/mcp | 此服务 | |
|---|---|---|
| 提供的工具数 | 604 | 28(27 + info) |
tools/list 架构负载 | 319,143 字节 | 51,974 字节 |
| 预先加载的近似令牌数 | ~80k | ~13k |
| 工具架构中位数大小 | 387 字节 | 1,257 字节 |
数据于 2026-10-03 测量,比较对象为 @dokploy/[email protected](最新发布版本)和跟踪 Dokploy v0.30.8 构建的此服务。分别通过 stdio 启动每个服务,发送 tools/list,并统计序列化工具数组的字节数(除以 4 得出粗略的令牌估算值)。
在 200k 令牌的上下文窗口中,官方服务在你提出任何问题之前就会占用约 40%;此服务则占用约 6.5%。此处较大的工具架构中位数是有意为之:描述中包含工作流知识,能够避免调用失败,例如说明哪个服务 ID 应与哪个 databaseType 搭配。
功能对比
官方服务的工具数量按类别统计,取自其实时的 tools/list,版本为 @dokploy/[email protected]。
| 类别 | 官方 MCP | 本服务 |
|---|---|---|
| 项目 | 11 个工具 | 1 个工具(6 个操作) |
| 应用程序 | 32 个工具 | 1 个工具(24 个操作) |
| Compose | 31 个工具 | 1 个工具(21 个操作) |
| 部署 | 9 个工具 | 1 个工具(5 个操作) |
| Docker | 21 个工具(含磁盘使用情况) | 1 个工具(17 个操作) |
| Docker 卷 | 8 个工具 | 1 个工具(8 个操作) |
| Docker 镜像 | 3 个工具 | 1 个工具(3 个操作) |
| 网络 | 9 个工具 | 1 个工具(9 个操作) |
| 概览 | 3 个工具 | 1 个工具(3 个操作) |
| DNS 提供商 | 11 个工具 | 1 个工具(11 个操作) |
| Vault 提供商 | 7 个工具 | 1 个工具(7 个操作) |
| 域名 | 10 个工具 | 1 个工具(9 个操作) |
| 重定向 | 4 个工具 | 1 个工具(4 个操作) |
| 服务 | 19 个工具 | 1 个工具(9 个操作) |
| 设置 | 52 个工具 | 1 个工具(5 个操作) |
| 数据库 | 94 个工具(6 种引擎) | 1 个工具(17 个操作,涵盖全部 6 种数据库) |
| 备份 | 12 个工具 | 1 个工具(6 个操作) |
| 卷备份 | 6 个工具 | 1 个工具(6 个操作) |
| 预览部署 | 4 个工具 | 1 个工具(4 个操作) |
| 计划任务 | 6 个工具 | 1 个工具(6 个操作) |
| 审计日志 | 1 个工具 | 1 个工具(1 个操作) |
| 环境 | 7 个工具 | 1 个工具(6 个操作) |
| 基础设施 | 13 个工具(端口、证书、身份验证) | 1 个工具(8 个操作) |
| 挂载 | 6 个工具 | 1 个工具(6 个操作) |
| SSH 密钥 | 7 个工具 | 1 个工具(6 个操作) |
| 镜像仓库 | 7 个工具 | 1 个工具(7 个操作) |
| 目标 | 6 个工具 | 1 个工具(6 个操作) |
| 总计 | 399 个工具 | 27 个工具 |
主要优势:
- 最大限度减少令牌用量——用 27 个工具涵盖相当于 399 个端点的功能,所需上下文约为六分之一
- 统一的数据库工具——通过
dbType+action参数,一个工具即可处理全部 6 种数据库类型(postgres、mysql、mariadb、mongo、redis、libsql) - 精心编写的说明——每个工具都会说明哪些参数与哪些操作搭配使用,确保调用一次成功
- 基于操作的设计——每个工具都有一个
action枚举参数;其他参数是否需要取决于所选操作
改用官方服务的情况
官方服务的 604 个工具中,有 399 个属于上述类别;其余 205 个在这里没有对应项:
- 通知(41 个工具)- 电子邮件、Slack、Discord、Telegram、Gotify webhook
- 用户、组织、角色、SSO(67 个工具)- 用户管理、组织、自定义角色、SSO、SCIM、forwardAuth
- Git 提供商(32 个工具)- GitHub、GitLab、Gitea、Bitbucket 应用配置
- AI 提供商(14 个工具)- Dokploy 自带的 LLM 集成,用于日志分析和 compose 生成
- 集群和 Swarm(8 个工具)、补丁(12 个)、标签(8 个)、回滚(2 个)、管理(1 个)
- Dokploy Cloud 商业功能(20 个工具)- Stripe 账单、许可证密钥、白标定制
如果你的工作流需要其中任何功能,请使用官方服务,或同时运行两者。
安装
Claude Desktop / Claude Code
添加到 MCP 配置中:
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["-y", "dokploy-mcp-server"],
"env": {
"DOKPLOY_URL": "https://dokploy.example.com",
"DOKPLOY_API_KEY": "your-api-key"
}
}
}
}
Cursor
添加到 .cursor/mcp.json:
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["-y", "dokploy-mcp-server"],
"env": {
"DOKPLOY_URL": "https://dokploy.example.com",
"DOKPLOY_API_KEY": "your-api-key"
}
}
}
}
Docker
docker run -e DOKPLOY_URL=https://dokploy.example.com \
-e DOKPLOY_API_KEY=your-api-key \
-e TRANSPORT_TYPE=httpStream \
-p 3000:3000 \
dokploy-mcp-server
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
DOKPLOY_URL | 是 | - | 你的 Dokploy 实例 URL |
DOKPLOY_API_KEY | 是 | - | Dokploy Settings > API Keys 中的 API 密钥 |
TRANSPORT_TYPE | 否 | stdio | 传输模式:stdio 或 httpStream |
PORT | 否 | 3000 | HTTP 端口(仅限 httpStream 模式) |
HOST | 否 | 0.0.0.0 | HTTP 主机(仅限 httpStream 模式) |
工具(27 个)
每个工具都使用 action 枚举来选择操作。参数均为可选项,并根据所选操作使用。
dokploy_project(6 个操作)
操作:list | get | create | update | remove | duplicate
管理项目。list 和 get 会返回嵌套的环境及其应用、composes 和数据库(包括名称、ID 和状态),因此无需额外调用即可查找服务 ID。create 需要 name。update 需要 projectId 和字段。remove 需要 projectId。duplicate 需要 sourceEnvironmentId 和 name。
读取状态标签。 Dokploy 的状态枚举为 idle | running | done | error,显示为 [IDLE]、[RUNNING]、[DONE]、[ERROR]。它描述的是部署,而非容器的实时状态——[DONE] 表示上次部署已完成,[IDLE] 表示尚未运行,两者都不代表容器此刻正在运行。要查看实际正在运行的内容,请检查 dokploy_docker 的 getContainers。
dokploy_application(24 个操作)
操作:create | get | update | move | deploy | start | stop | delete | markRunning | refreshToken | cleanQueues | killBuild | cancelDeployment | reload | saveEnvironment | setEnvVars | getEnvKeys | getEnvValuesUnsafe | saveBuildType | traefikConfig | readMonitoring | readLogs | search | deployNginxQuickstart
完整的应用生命周期。大多数操作需要 applicationId。create 需要 name + environmentId。deploy 支持 redeploy 标志。readMonitoring 需要 appName。search 根据 q/name/appName/repository/owner/dockerImage/projectId/environmentId 查找应用,支持 limit(1–100,默认值为 20)和 offset;响应会标明页面是否被截断。deployNginxQuickstart 接受 environmentId(以及可选的 serverId),并在生成的 traefik.me 域名上创建并部署一个“Hello World” nginx 演示应用——这是 Dokploy 的入门冒烟测试。
环境变量处理。 get 返回经过遮蔽的环境变量摘要(仅包含数量),绝不会返回具体值。其余操作由以下三个操作处理:
setEnvVars— 在服务器内进行细粒度合并。传入set(每行一个 KEY=VALUE,进行新增或更新)和/或unset(KEY 名称数组)。读取、修改和写入均在服务器端完成;工具结果是经过遮蔽的确认信息,仅列出已更改的键名。未更改键的值绝不会进入对话记录。getEnvKeys— 仅返回 KEY 名称,按排序排列。可安全读取。getEnvValuesUnsafe— 不安全的应急选项,会返回完整的KEY=VALUE内容。只有确实需要这些值时才使用;输出会出现在工具对话记录以及所有保留的 Agent 日志中。saveEnvironment— 完整替换,适用于明确需要设置整个内容块的工作流。
sourceType:
github→repository+owner+branch(私有仓库还需要githubId)git→customGitUrl+customGitBranchdocker→dockerImage
底层 API 还支持 gitlab/bitbucket/gitea/drop 源,但这些源需要此工具尚未开放的提供商专属字段。
dokploy_compose(21 个操作)
操作:create | get | update | delete | deploy | start | stop | move | loadServices | loadMounts | getDefaultCommand | cancelDeployment | cleanQueues | killBuild | refreshToken | saveEnvironment | setEnvVars | getEnvKeys | getEnvValuesUnsafe | readLogs | search
Docker Compose 管理。大多数操作需要 composeId。create 需要 name + environmentId。deploy 接受可选的 redeploy 和 freshVolumes——freshVolumes 会先运行 docker compose down --volumes,删除服务的卷数据(仅适用于 docker-compose 类型)。loadMounts 需要 serviceName。cancelDeployment/cleanQueues/killBuild/refreshToken 需要 composeId。search 接受与 dokploy_application 相同的查询字段。
环境变量处理。 与 dokploy_application 相同:get 返回经过遮蔽的摘要,setEnvVars 执行合并,getEnvKeys 列出键名,getEnvValuesUnsafe 是应急选项,saveEnvironment 会完整替换。
sourceType:
github→repository+owner+branch(以及可选的composePath)git→customGitUrl+customGitBranch(私有仓库还需要customGitSSHKeyId)raw→composeFile(内联 YAML)
底层 API 还支持 gitlab/bitbucket/gitea 源,但这些源需要此工具尚未开放的提供商专属字段。
dokploy_database(17 个操作)
操作:create | get | update | move | start | stop | deploy | rebuild | remove | reload | changeStatus | saveEnvironment | setEnvVars | getEnvKeys | getEnvValuesUnsafe | saveExternalPort | search
统一的数据库管理。所有操作都需要 dbType(postgres | mysql | mariadb | mongo | redis | libsql);大多数操作还需要 databaseId。create 的基本参数:dbType + name + environmentId + databasePassword。
环境变量处理。 与 dokploy_application 的格式相同:get 返回已屏蔽的摘要,setEnvVars 会合并变量(适用于所有引擎),getEnvKeys 列出键名,getEnvValuesUnsafe 是获取未屏蔽值的备用方式。
各引擎的额外参数:
postgres/mysql/mariadb— 还需要databaseName+databaseUser。mysql/mariadb接受databaseRootPassword。mongo— 需要databaseUser(不需要databaseName)。redis— 仅需要databasePassword。libsql— 需要appName+dockerImage+sqldNode(primary | replica);接受sqldPrimaryUrl+enableNamespaces。
changeStatus 使用 applicationStatus(idle | running | done | error)。search 支持除 libsql 之外的所有引擎;libsql 没有搜索端点,可通过 dokploy_project 或 dokploy_environment 查找 libsql 数据库。
dokploy_domain(9 个操作)
操作:create | list | get | update | delete | toggleEnable | generate | canGenerateTraefikMe | validate
域名/DNS 管理。create 需要 host + applicationId|composeId(compose 域名还需要 serviceName)。枚举值:certificateType(letsencrypt | none | custom)、domainType(compose | application | preview)。validate 需要 domain,并可选接受 serverId,用于根据该服务器的 IP 检查 DNS(Dokploy v0.30.8 用 serverId 替代了旧字段 serverIp)。
update 接受 enabled,可将域名的启用标记设为指定值。toggleEnable 会切换该标记,但不报告结果——API 返回的内容没有说明,因此需要确定最终状态时,优先使用 update。
dokploy_redirects(4 个操作)
操作:create | update | remove | get
应用的 URL 重定向规则,以 Traefik 正则表达式/替换字符串对的形式表示。create 需要 regex + replacement + permanent + applicationId。update 需要 redirectId + 规则字段。remove/get 需要 redirectId。只有在应用重新部署后,更改才会生效。
dokploy_environment(6 个操作)
操作:create | get | list | update | remove | duplicate
项目环境管理。create 需要 projectId + name。list 需要 projectId。
dokploy_server(9 个操作)
操作:list | get | create | update | remove | count | publicIp | getMetrics | getServices
服务器管理。create 需要 name + ipAddress + port + username + sshKeyId + serverType(deploy | build)。getMetrics 需要 url + token。getServices 需要 serverId,并会列出部署在该服务器上的应用、compose 服务和数据库——删除服务器前请先检查。
dokploy_backup(6 个操作)
操作:create | get | update | remove | listFiles | manualBackup
备份计划与触发操作。create 需要 schedule + prefix + destinationId + database + databaseType。请提供与引擎匹配的一个服务 ID:
databaseType: postgres→postgresIddatabaseType: mysql→mysqlIddatabaseType: mariadb→mariadbIddatabaseType: mongo→mongoIddatabaseType: libsql→libsqlIddatabaseType: web-server→ 无服务 ID(备份 Dokploy 服务本身)- 备份 compose 堆栈中的数据库 →
composeId+serviceName,并将引擎作为databaseType
create 和 update 还接受 includeEncryptionKey,用于将数据库加密密钥与备份一同存储。
manualBackup 需要 backupId + backupType:
postgres | mysql | mariadb | mongo | libsql— 单个数据库备份compose— 整个堆栈备份webServer— Dokploy 服务备份
dokploy_volume_backup(6 个操作)
操作:create | update | remove | get | list | runManually
使用 rclone 执行计划的卷级备份。与执行数据库原生转储的 dokploy_backup 不同。
create 需要 name + volumeName + prefix + cronExpression + destinationId,并接受 serviceType 及匹配的 *Id,以及 appName、keepLatestCount、enabled 和 turnOff(在备份时段停止服务)。volumeName 必须匹配 ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ — 发送请求前会进行验证。update 接受 volumeBackupId 和相同字段。remove/get 接受 volumeBackupId。list 需要 id(父服务 ID)+ volumeBackupType。runManually 根据 volumeBackupId 立即触发备份。
dokploy_deployment(5 个操作)
操作:list | queueList | killProcess | readLogs | remove
部署跟踪。list 需要 applicationId|composeId|serverId|type+id。type 枚举:application | compose | server | schedule | previewDeployment | backup | volumeBackup(数据库部署通过数据库资源本身列出,而非此端点)。queueList 需要 applicationId。killProcess 需要 deploymentId。readLogs 读取单个部署的日志文件。remove 删除部署记录。
dokploy_preview_deployment(4 个操作)
操作:list | get | remove | redeploy
挂载在父应用下、针对每个 PR 和分支的预览部署。list 需要 applicationId。get/remove/redeploy 需要 previewDeploymentId;redeploy 可选接受 title 和 description,用于部署记录。
dokploy_schedule(6 个操作)
操作:create | update | remove | get | list | runManually
Cron 计划,用于对应用、compose 服务、服务器或 Dokploy 服务本身运行命令。create 需要 name + cronExpression + command,以及 scheduleType 和匹配的 ID;还接受 shellType(bash | sh)、用于多行命令的 script,以及 timezone。list 需要 id(父级 ID 或 dokploy-server)+ scheduleType。runManually 根据 scheduleId 立即触发计划。
scheduleType:application | compose | server | dokploy-server。
dokploy_docker(17 个操作)
操作:getContainers | restartContainer | startContainer | stopContainer | killContainer | removeContainer | getConfig | findContainers | listContainerFiles | readContainerFile | writeContainerFile | deleteContainerFile | getEvents | getServerHealth | getDiskUsage | getBuildCache | pruneBuildCache
Docker 守护进程管理。每个操作都接受可选的 serverId,用于指定远程服务。
**容器。**生命周期操作(restart/start/stop/kill/removeContainer)和 getConfig 接受 containerId。findContainers 要求提供 appName + method(match | label | stack | service)。当 method=match 时,appType 接受 stack | docker-compose。当 method=label 时,必须提供 type,且接受 standalone | swarm(API 在未提供时会拒绝请求)。
容器文件。listContainerFiles、readContainerFile、writeContainerFile 和 deleteContainerFile 接受 containerId + path(容器内的绝对路径);writeContainerFile 还接受 content。readContainerFile 的输出会截断至 100,000 个字符。writeContainerFile 会写入正在运行的容器——除非路径位于挂载点上,否则重新部署后更改会丢失。
可观测性。getEvents 接受 minutes(1–1440,默认值为 15)。getServerHealth 接受 sinceHours(1–168)。
磁盘。getDiskUsage 对应 docker system df——涵盖容器、卷、镜像和构建缓存,因此排查磁盘空间问题时可从这里开始。getBuildCache 显示缓存详情;pruneBuildCache 会清除缓存(效果与 dokploy_settings 中 clean 且 cleanType=dockerBuilder 相同)。
dokploy_docker_volume(8 个操作)
操作:getVolumes | getVolumesSize | getVolumeConfig | removeVolume | listVolumeFiles | readVolumeFile | writeVolumeFile | deleteVolumeFile
Docker 卷管理和卷文件访问。每个操作都接受可选的 serverId。getVolumeConfig 和 removeVolume 接受 volumeName;文件操作接受 volumeName + path,而 writeVolumeFile 还接受 content。readVolumeFile 的输出会截断至 100,000 个字符。removeVolume 会销毁卷中的数据——请先执行 dokploy_volume_backup。与写入正在运行的容器不同,写入卷的内容在重新部署后仍会保留。
dokploy_docker_image(3 个操作)
操作:getImages | getImageConfig | removeImage
Docker 镜像清单。getImageConfig 接受 imageRef(nginx:latest 或镜像 ID)。removeImage 要求提供全部三项:repository、tag 和 id——请从 getImages 的结果中读取;还可选提供 force。磁盘用量和构建缓存由 dokploy_docker 管理(getDiskUsage、getBuildCache、pruneBuildCache)。
dokploy_network(9 个操作)
操作:list | get | create | remove | recreate | resync | inspect | import | networksToSync
Docker 网络管理。create 要求提供 name,并接受 driver(bridge | overlay)、internal、attachable、enableIPv4、enableIPv6、mtu(68–65535)、ipam 和 serverId。get、inspect、remove、recreate 和 resync 接受 networkId——recreate 会删除并重新添加网络,因此连接的服务会短暂断开;resync 会从 Docker 重新读取网络并刷新 Dokploy 中存储的记录,但不会触碰网络本身。networksToSync 会列出 Docker 主机上存在但 Dokploy 尚未跟踪的网络;import 可通过 names 将这些网络导入。通过 dokploy_application 的 update 操作中的 networkIds,或 dokploy_compose 的 update 操作中的 serviceNetworks,将网络连接到工作负载。
dokploy_overview(3 个操作)
操作:services | backups | domains
跨所有项目的只读汇总——无需参数。先用这些操作了解全局情况,再深入查看:services 列出每个应用、Compose 服务和数据库及其状态;backups 列出每项已配置的备份及其计划;domains 列出每个域名及其指向的对象。Dokploy 的 OpenAPI 规范未描述这些响应正文,因此此工具会将它们呈现为 JSON。
盘点资源时优先使用此工具,而非 search。 Dokploy 的搜索索引范围小于项目树——在一个包含 1 个应用和 14 个 Compose 服务的测试实例中,application.search 报告 0 个匹配项,compose.search 报告 5 个。dokploy_application、dokploy_compose 和 dokploy_database 中的 search 操作用于查找已知存在的服务;dokploy_overview 和 dokploy_project 则用于枚举现有内容。
dokploy_infrastructure(8 个操作)
操作:createPort | deletePort | createAuth | deleteAuth | listCerts | getCert | createCert | removeCert
端口、基本身份验证和 SSL 证书。
dokploy_mounts(6 个操作)
操作:create | update | remove | get | listByServiceId | allNamedByApplicationId
附加到服务的卷、绑定挂载和文件挂载。create 需要 type + mountPath + serviceId + serviceType,然后根据类型提供一个字段:卷需要 volumeName,绑定挂载需要 hostPath,文件需要 filePath + content。update 接受 mountId 及任意字段。remove/get 接受 mountId。listByServiceId 需要 serviceType + serviceId。allNamedByApplicationId 列出指定 applicationId 的命名卷。
serviceType:application | postgres | mysql | mariadb | mongo | redis | compose | libsql。
挂载变更需重新部署所属服务才能生效。
dokploy_ssh_key(6 个操作)
操作:create | list | get | update | remove | generate
用于基于 Git 的部署的 SSH 密钥管理。create 需要 name + privateKey + publicKey + organizationId。get 需要 sshKeyId。update 需要 sshKeyId,可选字段为 name、description、lastUsedAt。remove 需要 sshKeyId。generate 使用 type(rsa|ed25519)。
dokploy_registry(7 个操作)
操作:list | get | create | update | remove | test | testById
用于拉取私有镜像的容器镜像仓库。create 需要 registryName + username + password + registryUrl;registryType 默认为 cloud。get/remove 需要 registryId,update 接受 registryId + 字段。test 会检查凭据但不保存;testById 会根据 registryId 测试已保存的镜像仓库,也可选择针对 serverId 进行测试。
dokploy_destination(6 个操作)
操作:list | get | create | update | remove | test
用于写入备份的兼容 S3 的目标。create 需要 name + accessKey + bucket + region + endpoint + secretAccessKey,并接受 provider 和 additionalFlags(传递给 rclone)。get/remove 需要 destinationId,update 接受 destinationId + 字段。test 会验证与 create 相同的字段,但不会保存。
dokploy_audit_log(1 个操作)
操作:list
查询 Dokploy 审计记录。所有筛选条件均为可选:userId、userEmail、resourceName、auditAction、resourceType、from/to(ISO 时间戳)、limit(默认值为 50,最大值为 500)和 offset。
auditAction:create | update | delete | deploy | cancel | redeploy | login | logout。
resourceType:project | service | environment | deployment | user | customRole | domain | certificate | registry | server | sshKey | gitProvider | notification | settings | session。
底层查询参数名为 action;此工具将其公开为 auditAction,以避免与每个工具都使用的 action 判别字段冲突。
dokploy_dns_provider(11 个操作)
操作:list | get | create | update | remove | testConnection | listZones | listRecords | createRecord | updateRecord | deleteRecord
DNS 提供商凭据,以及区域和记录管理。config 根据 providerType 区分:cloudflare(apiToken)、route53(accessKeyId、secretAccessKey)、porkbun(apiKey、secretApiKey)、infomaniak(apiToken)或 ovh(applicationKey、applicationSecret、consumerKey、可选的 endpoint,默认值为 ovh-eu)。update 需要 dnsProviderId + name + config — API 会替换提供商,而不是进行局部更新,因此重命名时必须重新提交凭据。testConnection 可接收已保存的 dnsProviderId 或原始 config,以便在保存前检查凭据。
记录:listZones(dnsProviderId)、listRecords(+ zoneId)、createRecord/updateRecord(+ type、recordName、content、可选的 ttl 和 proxied,更新时还需提供 recordId)、deleteRecord(+ recordId)。type 接受 A、AAAA、CNAME、MX、TXT、NS、SRV、CAA 或 PTR。proxied 仅对 Cloudflare 生效。请注意,recordName 是 DNS 记录名称 — 它映射到 API 的 name 字段;这里将其与提供商的 name 区分开来。
读取提供商时只会返回 id、name 和 providerType;凭据不会出现在工具输出中。
dokploy_vault_provider(7 个操作)
操作:list | get | create | update | remove | testConnection | listSecretNames
外部密钥管理器配置。config 根据 providerType 区分,支持八种后端:hashicorp、infisical、aws(Secrets Manager)、aws-parameter-store(可选的 parameterPath,必须以 / 开头)、doppler、azure、scaleway、phase(token、appId、env、可选的 path 和 apiUrl)。assignments 的格式为 [{ projectId, environmentIds? }],用于指定该密钥库服务的 Dokploy 项目。
请注意重载的字段名称:infisical.projectId 和 scaleway.projectId 是各自提供商自己的项目 ID,不是 assignments 中使用的 Dokploy projectId。
update 必须提供 vaultProviderId、name、config 和 assignments 全部四个字段 — 与 DNS 提供商一样,API 会替换配置,而不是进行局部更新,因此请先运行 get 以获取当前名称和分配。
listSecretNames(vaultProviderId + projectId,可选的 environmentId)只返回密钥名称。Dokploy 没有读取密钥值的 API,也不会回显提供商凭据 — 这与 env 工具遵循的规则相同。
dokploy_settings(5 个操作)
操作:health | version | ip | clean | reload
系统设置。clean 使用 cleanType — 服务器范围:all | images | volumes | stoppedContainers | dockerBuilder | dockerPrune(遵循 serverId);全局:monitoring | deploymentQueue | sshPrivateKey。reload 使用 reloadTarget(server | traefik);对于 traefik,serverId 会生效。
使用示例
部署应用程序
"Deploy my web app" → dokploy_application { action: "deploy", applicationId: "app-123" }
启动 PostgreSQL 数据库
"Start the postgres database" → dokploy_database { action: "start", dbType: "postgres", databaseId: "db-456" }
检查系统运行状况
"Is Dokploy healthy?" → dokploy_settings { action: "health" }
列出所有容器
"What containers are running?" → dokploy_docker { action: "getContainers" }
开发
pnpm install
pnpm dev # Development mode with watch
pnpm validate # Format + lint + test + build
pnpm inspect # Open MCP Inspector
许可证
MIT
由 SapientsAI 赞助 — 为企业打造智能 Agent
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。