home / mcp / dokploy mcp server

Dokploy MCP Server

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

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "andradehenrique-dokploy-mcp": {
      "url": "http://localhost:3000/mcp",
      "headers": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "MCP_TRANSPORT": "http",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

You can control Dokploy through the MCP server interface, exposing Dokploy functionalities as tools that MCP clients can call to manage projects, applications, and databases. This lets you automate workflows, integrate with AI agents, or connect custom clients to perform Dokploy operations programmatically.

How to use

Connect an MCP client to the Dokploy MCP Server to perform operations across projects, applications, and PostgreSQL databases. You can run in stdio mode for local tooling and desktop integrations, or in HTTP mode to serve requests from web applications. The server provides a structured set of tools with clear input schemas, validation, and consistent responses, making it suitable for automation, chat-based assistants, or integration into CI/CD pipelines.

How to install

{
  "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"
      }
    }
  }
}

This config enables a stdio-based MCP connector that talks to Dokploy via the server API using the provided URL and API key. If you prefer Bun or Deno environments, you can adapt the command accordingly as shown in the alternative blocks, keeping the same environment variables.

Configuration and transport modes

The Dokploy MCP Server supports two transport modes to suit different deployment scenarios: stdio and HTTP. In stdio mode, you run a local process that communicates over standard input/output. In HTTP mode, you run a server that exposes HTTP endpoints for MCP clients to connect.

# Stdio mode (default)
npx -y @ahdev/dokploy-mcp
```
```bash
# HTTP mode (via Docker)
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
```

authentication is performed using DOKPLOY_URL and DOKPLOY_API_KEY. In HTTP mode, the default port is 3000 unless you override PORT, and you can access the MCP endpoints at http://localhost:3000/mcp. For legacy clients, you can also enable SSE-based endpoints if needed.

Security and environment variables

Protect your Dokploy MCP access by using strong API tokens and keeping them out of version control. Configure environment variables in your MCP client as shown in the examples, replacing the placeholder values with your actual server URL and token.

Troubleshooting

If you encounter client errors, verify you are using Node v18+ for native fetch support, ensure the DOKPLOY_URL and DOKPLOY_API_KEY are set correctly, and confirm the MCP server is reachable at the specified URL.

Notes

The server focuses on tools for Dokploy operations, enabling you to manage projects, applications, and PostgreSQL databases through a consistent MCP interface.

Available tools

project-all

List all projects within Dokploy and provide an overview of their metadata.

project-one

Fetch details for a single project by its identifier.

project-create

Create a new project with the required configuration.

project-update

Update project settings and configurations.

project-duplicate

Duplicate a project, with options to copy services.

project-remove

Delete a project and its associated resources.

application-create

Create a new application under a project.

application-one

Retrieve details for a specific application.

application-update

Update application settings and deployment configurations.

application-deploy

Deploy an application to a target environment.

application-start

Start an application process or service.

application-stop

Stop a running application.

application-reload

Reload or refresh application configuration.

application-move

Move an application between projects.

application-cleanQueue

Clear pending tasks in the application's queue.

application-refreshToken

Refresh authentication or access tokens for the application.

postgres-create

Create a new PostgreSQL database instance.

postgres-one

Retrieve details for a PostgreSQL database.

postgres-update

Update PostgreSQL database configuration.

postgres-remove

Delete a PostgreSQL database.

postgres-deploy

Deploy a PostgreSQL database instance.

postgres-start

Start a PostgreSQL database.

postgres-stop

Stop a PostgreSQL database.

postgres-reload

Reload PostgreSQL configuration.

postgres-rebuild

Rebuild a PostgreSQL database instance.

postgres-move

Move a database between projects.

postgres-changeStatus

Change the operational status of a PostgreSQL database.

postgres-saveExternalPort

Configure an external port for the database.

postgres-saveEnvironment

Manage environment variables for the database.