home / mcp / dokploy mcp server
Dokploy MCP Server exposes Dokploy functionalities as tools consumable via the Model Context Protocol (MCP)
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.
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.
{
"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.
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.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.
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.
The server focuses on tools for Dokploy operations, enabling you to manage projects, applications, and PostgreSQL databases through a consistent MCP interface.
List all projects within Dokploy and provide an overview of their metadata.
Fetch details for a single project by its identifier.
Create a new project with the required configuration.
Update project settings and configurations.
Duplicate a project, with options to copy services.
Delete a project and its associated resources.
Create a new application under a project.
Retrieve details for a specific application.
Update application settings and deployment configurations.
Deploy an application to a target environment.
Start an application process or service.
Stop a running application.
Reload or refresh application configuration.
Move an application between projects.
Clear pending tasks in the application's queue.
Refresh authentication or access tokens for the application.
Create a new PostgreSQL database instance.
Retrieve details for a PostgreSQL database.
Update PostgreSQL database configuration.
Delete a PostgreSQL database.
Deploy a PostgreSQL database instance.
Start a PostgreSQL database.
Stop a PostgreSQL database.
Reload PostgreSQL configuration.
Rebuild a PostgreSQL database instance.
Move a database between projects.
Change the operational status of a PostgreSQL database.
Configure an external port for the database.
Manage environment variables for the database.