Dokploy MCP Server

by andradehenrique

18 stars
270 downloads
Not rated
GitHub

About

Dokploy MCP Server exposes Dokploy functionalities as tools consumable via the Model Context Protocol (MCP)

Details

Author
andradehenrique
GitHub stars
18
Downloads
270
Categories
Other

- 43 tools for Dokploy project, application, and database management
- Supports multiple Git providers: GitHub, GitLab, Bitbucket, Gitea, Git, and Docker
- Build type configuration (Dockerfile, Heroku, Nixpacks, etc.)
- Environment variable and build argument management
- Two transport modes: stdio (default) and HTTP (Streamable HTTP + legacy SSE)
- Docker deployment support with both stdio and HTTP modes

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Dokploy MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install using npx -y @ahdev/dokploy-mcp (or with Bun, Deno, or Docker). Set the environment variables DOKPLOY_URL (your Dokploy server API URL) and DOKPLOY_API_KEY (your API token). Configure the server in your MCP client (Cursor, VS Code, Zed, Claude Desktop, etc.) by adding a JSON configuration block specifying the command and environment variables. The server runs in stdio mode by default; use --http or MCP_TRANSPORT=http to enable HTTP mode.

project-all

Lists all projects in Dokploy with optimized response size suitable for LLM consumption. Returns summary data including project info, environment counts, and service counts per environment. Excludes large fields like env vars and compose files.

project-create

Creates a new project in Dokploy.

project-duplicate

Duplicates an existing environment in Dokploy with optional service selection. Creates a new environment with the same configuration and optionally the same services.

project-one

Gets a specific project by its ID in Dokploy.

project-remove

Removes/deletes an existing project in Dokploy.

project-update

Updates an existing project in Dokploy. Only provide the fields you want to update. System fields like createdAt and organizationId are typically not modified.

application-cancelDeployment

Cancels an ongoing deployment for an application in Dokploy.

application-cleanQueues

Cleans the queues for an application in Dokploy.

application-create

Creates a new application in Dokploy.

application-delete

Deletes an application in Dokploy.

application-deploy

Deploys an application in Dokploy.

application-disconnectGitProvider

Disconnects Git provider configuration from an application in Dokploy.

application-markRunning

Marks an application as running in Dokploy.

application-move

Moves an application to a different environment in Dokploy.

application-one

Gets a specific application by its ID in Dokploy.

application-readAppMonitoring

Reads monitoring data for an application in Dokploy.

application-readTraefikConfig

Reads Traefik configuration for an application in Dokploy.

application-redeploy

Redeploys an application in Dokploy.

application-refreshToken

Refreshes the token for an application in Dokploy.

application-reload

Reloads an application in Dokploy.

application-saveBitbucketProvider

Saves Bitbucket provider configuration for an application in Dokploy.

application-saveBuildType

Saves build type configuration for an application in Dokploy.

application-saveDockerProvider

Saves Docker provider configuration for an application in Dokploy.

application-saveEnvironment

Saves environment variables for an application in Dokploy.

application-saveGitProvider

Saves Git provider configuration for an application in Dokploy.

application-saveGiteaProvider

Saves Gitea provider configuration for an application in Dokploy.

application-saveGithubProvider

Saves GitHub provider configuration for an application in Dokploy.

application-saveGitlabProvider

Saves GitLab provider configuration for an application in Dokploy.

application-start

Starts an application in Dokploy.

application-stop

Stops an application in Dokploy.

application-update

Updates an existing application in Dokploy.

application-updateTraefikConfig

Updates Traefik configuration for an application in Dokploy.

domain-byApplicationId

Retrieves all domains associated with a specific application in Dokploy. Returns a list of domain configurations including SSL settings, paths, and routing information.

domain-byComposeId

Retrieves all domains associated with a specific compose stack/service in Dokploy. Returns a list of domain configurations including SSL settings, paths, and routing information.

domain-canGenerateTraefikMeDomains

Checks whether Traefik.me domains can be generated for a specific server in Dokploy.

domain-create

Creates a new domain configuration in Dokploy. Domains can be configured for applications, compose services, or preview deployments with SSL/TLS certificate options.

domain-delete

Deletes an existing domain configuration in Dokploy by its ID.

domain-generateDomain

Generates a suggested domain for a given application name, optionally scoped to a server.

domain-one

Retrieves a specific domain configuration by its ID in Dokploy.

domain-update

Updates an existing domain configuration in Dokploy. Allows modifying domain settings including host, SSL configuration, routing options, and service associations.

domain-validateDomain

Validates if a domain is correctly configured, optionally against a specific server IP.

mysql-changeStatus

Changes the status of a MySQL database in Dokploy.

mysql-create

Creates a new MySQL database in Dokploy.

mysql-deploy

Deploys a MySQL database in Dokploy.

mysql-move

Moves a MySQL database to a different environment in Dokploy.

mysql-one

Gets a specific MySQL database by its ID in Dokploy.

mysql-rebuild

Rebuilds a MySQL database in Dokploy.

mysql-reload

Reloads a MySQL database configuration in Dokploy.

mysql-remove

Removes a MySQL database from Dokploy.

mysql-saveEnvironment

Saves environment variables for a MySQL database in Dokploy.

mysql-saveExternalPort

Saves external port configuration for a MySQL database in Dokploy.

mysql-start

Starts a MySQL database in Dokploy.

mysql-stop

Stops a MySQL database in Dokploy.

mysql-update

Updates a MySQL database configuration in Dokploy.

postgres-changeStatus

Changes the status of a PostgreSQL database in Dokploy.

postgres-create

Creates a new PostgreSQL database in Dokploy.

postgres-deploy

Deploys a PostgreSQL database in Dokploy.

postgres-move

Moves a PostgreSQL database to a different environment in Dokploy.

postgres-one

Gets a specific PostgreSQL database by its ID in Dokploy.

postgres-rebuild

Rebuilds a PostgreSQL database in Dokploy.

postgres-reload

Reloads a PostgreSQL database in Dokploy.

postgres-remove

Removes/deletes a PostgreSQL database from Dokploy.

postgres-saveEnvironment

Saves environment variables for a PostgreSQL database in Dokploy.

postgres-saveExternalPort

Saves external port configuration for a PostgreSQL database in Dokploy.

postgres-start

Starts a PostgreSQL database in Dokploy.

postgres-stop

Stops a PostgreSQL database in Dokploy.

postgres-update

Updates an existing PostgreSQL database in Dokploy.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dokploy mcp server": {
            "dokploy-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@ahdev/dokploy-mcp"
                ],
                "env": {
                    "DOKPLOY_URL": "https://your-dokploy-server.com/api",
                    "DOKPLOY_API_KEY": "your-dokploy-api-token"
                }
            }
        }
    }
}

McpServers

{
    "dokploy-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@ahdev/dokploy-mcp"
        ],
        "env": {
            "DOKPLOY_URL": "https://your-dokploy-server.com/api",
            "DOKPLOY_API_KEY": "your-dokploy-api-token"
        }
    }
}

Dokploy MCP Server

> ⚠️ PROJECT DISCONTINUED
>
> This project has been moved to the official Dokploy organization and will no longer be maintained in this repository.
>
> 📍 New official repository: https://github.com/Dokploy/mcp
>
> Please migrate to the official repository to receive the latest updates and ongoing support.

---

Discontinued New Repository

npm version Install in VS Code (npx)

Dokploy MCP Server exposes Dokploy functionalities as tools consumable via the Model Context Protocol (MCP). It allows MCP-compatible clients (e.g., AI models, other applications) to interact with your Dokploy server programmatically.

🚨 This project is no longer maintained. Please migrate to the official repository immediately.

📖 Migration Guide → | 🔗 Official Repository →

This server focuses exclusively on tools for direct Dokploy API operations, providing a clean and efficient interface for project and application management.

🛠️ Getting Started

Requirements

- Node.js >= v18.0.0 (or Docker)
- Cursor, VS Code, Claude Desktop, or another MCP Client
- A running Dokploy server instance

Install in Cursor

Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server

Add this to your Cursor ~/.cursor/mcp.json file. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

<details>
<summary>Alternative: Use Bun</summary>

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "bunx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

</details>

<details>
<summary>Alternative: Use Deno</summary>

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "deno",
      "args": ["run", "--allow-env", "--allow-net", "npm:@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

</details>

Install in Windsurf

Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Install in VS Code

Install in VS Code (npx)
Install in VS Code Insiders (npx)

Add this to your VS Code MCP config file. See VS Code MCP docs for more info.

{
  "servers": {
    "dokploy-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Install in Zed

Add this to your Zed settings.json. See Zed Context Server docs for more info.

{
  "context_servers": {
    "dokploy-mcp": {
      "command": {
        "path": "npx",
        "args": ["-y", "@ahdev/dokploy-mcp"]
      },
      "settings": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Install in Claude Desktop

Add this to your Claude Desktop claude_desktop_config.json file. See Claude Desktop MCP docs for more info.

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Install in BoltAI

Open the "Settings" page of the app, navigate to "Plugins," and enter the following JSON:

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Using Docker

The Docker container supports both stdio and HTTP transport modes, making it flexible for different deployment scenarios.

1. Build the Docker Image:

    git clone https://github.com/andradehenrique/dokploy-mcp.git
    cd dokploy-mcp
    docker build -t dokploy-mcp .
    

2. Manual Docker Commands:

Stdio Mode (for MCP clients):

    docker run -it --rm \
      -e DOKPLOY_URL=https://your-dokploy-server.com/api \
      -e DOKPLOY_API_KEY=your_token_here \
      dokploy-mcp
    

HTTP Mode (for web applications):

    docker run -it --rm \
      -p 3000:3000 \
      -e MCP_TRANSPORT=http \
      -e DOKPLOY_URL=https://your-dokploy-server.com/api \
      -e DOKPLOY_API_KEY=your_token_here \
      dokploy-mcp
    

3. Docker Compose:

Use the provided docker-compose.yml for production deployments:

    # Start HTTP service
    docker-compose up -d dokploy-mcp-http

# View logs
docker-compose logs -f dokploy-mcp-http

4. MCP Client Configuration:

For stdio mode (Claude Desktop, VS Code, etc.):

    {
      "mcpServers": {
        "dokploy-mcp": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "DOKPLOY_URL=https://your-dokploy-server.com/api",
            "-e",
            "DOKPLOY_API_KEY=your_token_here",
            "dokploy-mcp"
          ]
        }
      }
    }
    

For HTTP mode (web applications):

Start the HTTP server first, then configure your client to connect to http://localhost:3000/mcp.

Install in Windows

The configuration on Windows is slightly different compared to Linux or macOS. Use cmd as the command wrapper:

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

Environment Variables

- DOKPLOY_URL: Your Dokploy server API URL (required)
- DOKPLOY_API_KEY: Your Dokploy API authentication token (required)

🚀 Transport Modes

This MCP server supports multiple transport modes to suit different use cases:

Stdio Mode (Default)

The default mode uses stdio for direct process communication, ideal for desktop applications and command-line usage.

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.