dokploy-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP host (httpStream mode only) | 0.0.0.0 |
| PORT | No | HTTP port (httpStream mode only) | 3000 |
| DOKPLOY_URL | Yes | Your Dokploy instance URL | |
| TRANSPORT_TYPE | No | Transport mode: stdio or httpStream | stdio |
| DOKPLOY_API_KEY | Yes | API key from Dokploy Settings > API Keys |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| soma_healthA | Returns health and status information for this server including uptime, sessions, and gateway status |
| soma_capabilitiesA | Lists all tools, resources, and prompts registered on this server |
| soma_connectionsA | Lists all gateway connections to remote servers with their status and available tools |
| dokploy_projectC | Manage projects. list: all (includes nested environments with applications, composes, databases). get: projectId (same nested detail). create: name. update: projectId+fields. remove: projectId. duplicate: sourceEnvironmentId+name. |
| dokploy_applicationA | Manage applications. create: name+environmentId. get: applicationId (returns env vars, git source, build config). update: applicationId+fields (supports sourceType, repository, owner, branch, customGitUrl, customGitBranch, githubId, dockerImage, etc.). move: applicationId+targetEnvironmentId. deploy: applicationId, redeploy? (note: first deploy on new services may fail — retry immediately). start/stop/delete/markRunning/refreshToken/cleanQueues/killBuild/cancelDeployment: applicationId. reload: applicationId+appName. saveEnvironment: applicationId+env (KEY=VALUE pairs, one per line). saveBuildType: applicationId+buildType. traefikConfig: applicationId, traefikConfig? (omit to read). readMonitoring: appName. readLogs: applicationId, tail? (default 100), since? ('all' or duration like '1h'), search? (substring filter). |
| dokploy_composeA | Manage Docker Compose services. create: name+environmentId. get: composeId (returns env vars). update: composeId+fields (supports sourceType, composeFile for raw/inline, git source fields, autoDeploy). delete/start/stop/getDefaultCommand: composeId. deploy: composeId, redeploy? (note: first deploy on new services may fail — retry immediately). move: composeId+targetEnvironmentId. loadServices: composeId (must deploy first). loadMounts: composeId+serviceName. saveEnvironment: composeId+env (KEY=VALUE pairs, one per line). cancelDeployment/cleanQueues/killBuild/refreshToken: composeId. readLogs: composeId+containerId, tail?, since?, search?. |
| dokploy_deploymentA | Manage deployments. list: applicationId|composeId|serverId|type+id. killProcess: deploymentId. Note: Dokploy does not expose per-deployment log retrieval via API — use dokploy_application (readMonitoring) or the service-scoped *.readLogs endpoints for service logs. |
| dokploy_dockerA | Docker container management. Actions: getContainers (list all containers, serverId?), restartContainer/startContainer/stopContainer/killContainer/removeContainer (containerId, serverId?), getConfig (containerId, serverId?), findContainers (appName+method, serverId?). Method semantics: match → fuzzy name match (optional appType: stack|docker-compose). label → REQUIRES type: standalone|swarm. stack → docker stack lookup. service → swarm service lookup. |
| dokploy_domainC | Manage domains. create: host+applicationId|composeId(+serviceName for compose). list: applicationId|composeId. get: domainId. update: domainId+host (include composeId+serviceName for compose domains). delete: domainId. generate: appName. canGenerateTraefikMe: serverId?. validate: domain. |
| dokploy_serverB | Manage servers. list/count/publicIp: no params. get: serverId. create: name+ipAddress+port+username+sshKeyId+serverType. update: serverId+fields. remove: serverId. getMetrics: url+token. |
| dokploy_settingsA | System settings. health: check status. version: get version. ip: get IP. clean: cleanType (all|images|volumes|stoppedContainers|dockerBuilder|dockerPrune|monitoring|redis|deploymentQueue|sshPrivateKey), serverId? (only honored for docker-related clean types). reload: reloadTarget (server|traefik|redis), serverId? (traefik only). |
| dokploy_databaseB | Manage databases (postgres/mysql/mariadb/mongo/redis/libsql). create: dbType+name+environmentId+databasePassword. Per-engine extras — postgres/mysql/mariadb: REQUIRE databaseName+databaseUser; mysql/mariadb also accept databaseRootPassword. mongo: REQUIRES databaseUser (databaseName not used). redis: only databasePassword (no databaseName/User). libsql: REQUIRES appName+dockerImage+sqldNode (primary|replica); accepts sqldPrimaryUrl+enableNamespaces. get: dbType+databaseId. update: dbType+databaseId+fields. move: dbType+databaseId+targetEnvironmentId. start/stop/deploy/rebuild/remove: dbType+databaseId. reload: dbType+databaseId+appName. changeStatus: dbType+databaseId+applicationStatus (idle|running|done|error). saveEnvironment: dbType+databaseId+env. saveExternalPort: dbType+databaseId+externalPort (libsql also accepts externalGRPCPort/externalAdminPort). |
| dokploy_backupA | Manage backups. create: schedule+prefix+destinationId+database+databaseType. Provide ONE service id matching databaseType: postgres→postgresId, mysql→mysqlId, mariadb→mariadbId, mongo→mongoId, libsql→libsqlId, web-server→(no id). For backups of a db running inside a compose stack: pass composeId+serviceName (and set databaseType to the engine, e.g. postgres). get: backupId. update: backupId+fields. remove: backupId. listFiles: destinationId. manualBackup: backupId+backupType (postgres|mysql|mariadb|mongo|libsql for db backups; compose for whole-stack; webServer for the dokploy server itself). |
| dokploy_environmentA | Manage project environments. create: projectId+name. get: environmentId. list: projectId. update: environmentId+fields. remove: environmentId. duplicate: environmentId+name. |
| dokploy_infrastructureB | Manage ports, auth, certs. createPort: applicationId+publishedPort+targetPort. deletePort: portId. createAuth: applicationId+username+password. deleteAuth: securityId. listCerts: all. getCert: certificateId. createCert: name+certificateData+privateKey. removeCert: certificateId. |
| dokploy_mountsA | Manage mounts (volumes, bind mounts, files) attached to services. Mount changes require a redeploy of the parent service to take effect. create: type+mountPath+serviceId+serviceType (+volumeName for volume, +hostPath for bind, +filePath+content for file). update: mountId (+any field). remove: mountId. get: mountId. listByServiceId: serviceType+serviceId. allNamedByApplicationId: applicationId (named volumes only). serviceType: application|postgres|mysql|mariadb|mongo|redis|compose|libsql. |
| dokploy_ssh_keyA | Manage SSH keys. create: name+privateKey+publicKey, description?. list: no params. get: sshKeyId. update: sshKeyId, name?, description?, lastUsedAt?. remove: sshKeyId. generate: type (rsa or ed25519). Note: organizationId is resolved automatically from the API key. |
| dokploy_registryC | Manage container registries for pulling private images. list. get: registryId. create: registryName+username+password+registryUrl (registryType defaults to 'cloud'). update: registryId+fields. remove: registryId. test: registryName+username+password+registryUrl (without persisting). testById: registryId, serverId?. |
| dokploy_destinationA | Manage S3-compatible backup destinations. list. get: destinationId. create: name+accessKey+bucket+region+endpoint+secretAccessKey, provider?, additionalFlags? (rclone flags). update: destinationId+fields. remove: destinationId. test: same fields as create (without persisting). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapientsai/dokploy-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server