Skip to main content
Glama

Dokploy MCP Server

Dokploy Logo

A powerful MCP server for managing Dokploy deployments

License: MIT MCP Smithery GitHub

FeaturesInstallationUsageAPI ReferenceContributing


🚀 Overview

Dokploy MCP Server is a comprehensive Model Context Protocol (MCP) server that provides seamless integration with Dokploy - the open-source alternative to Netlify, Vercel, and Heroku. This server enables AI assistants and applications to interact with Dokploy's powerful deployment platform through a standardized interface.

What is Dokploy?

Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies application deployment and management. It provides:

  • Docker-based deployments

  • Support for multiple frameworks and languages

  • Automatic SSL certificates

  • Database management

  • Domain configuration

  • And much more!

✨ Features

🗂️ Project Management

  • Create, list, and delete projects

  • Organize applications by project

  • Manage project-level configurations

📦 Application Deployment

  • Deploy applications from Git repositories (GitHub, GitLab, etc.)

  • Support for Docker and Docker Compose

  • Start, stop, and restart applications

  • Real-time deployment status

  • Update environment variables

  • Application monitoring and health checks

🗄️ Database Management

  • Support for multiple database types:

    • PostgreSQL

    • MySQL

    • MongoDB

    • Redis

    • MariaDB

  • Create and manage databases

  • Connection string management

🌐 Domain & SSL Management

  • Add custom domains to applications

  • Automatic SSL certificate provisioning via Let's Encrypt

  • Domain verification and configuration

💾 Backup & Restore

  • Create manual and scheduled backups

  • List available backups

  • Restore databases from backups

  • Disaster recovery support

📊 Monitoring & Logs

  • Real-time application logs

  • Application status monitoring

  • Performance metrics

  • Error tracking

📚 Documentation Resources

  • Built-in documentation access

  • Quick start guides

  • API reference

  • Best practices

🤖 Interactive Prompts

  • Guided deployment workflows

  • Database setup assistance

  • Troubleshooting helpers

📋 Prerequisites

  • Dokploy Instance: A running Dokploy instance (self-hosted or cloud)

  • API Token: Authentication token from your Dokploy dashboard

  • Node.js: Version 18 or higher

  • Bun (optional): For faster package management

🔧 Installation

Quick Start with Smithery

# Install via Smithery
npx create-smithery dokploy-mcp
cd dokploy-mcp

Manual Installation

# Clone the repository
git clone https://github.com/huuthangntk/dokploy-mcp.git
cd dokploy-mcp

# Install dependencies (with bun)
bun install

# Or with npm
npm install

⚙️ Configuration

Create a configuration file or set environment variables:

# smithery.yaml
dokployUrl: "https://dok.bish.one"  # Your Dokploy instance URL
apiToken: "your-api-token-here"     # Your Dokploy API token
debug: false                         # Enable debug logging

Getting Your API Token

  1. Log in to your Dokploy dashboard

  2. Navigate to Settings → API Tokens

  3. Generate a new token

  4. Copy and save it securely

🚦 Usage

Starting the Server

# Development mode
bun run dev

# Or with npm
npm run dev

The server will start on http://localhost:3000 by default.

Example Operations

Deploy an Application

// 1. Create a project
await createProject({
  name: "my-awesome-project",
  description: "My first Dokploy project"
})

// 2. Create an application
await createApplication({
  projectId: "project-id",
  name: "my-app",
  appType: "github",
  repository: "https://github.com/username/repo",
  branch: "main"
})

// 3. Deploy the application
await deployApplication({
  applicationId: "app-id"
})

Manage Databases

// Create a PostgreSQL database
await createDatabase({
  projectId: "project-id",
  name: "my-database",
  type: "postgres",
  username: "admin",
  password: "secure-password"
})

// Create a backup
await createBackup({
  databaseId: "database-id"
})

Monitor Applications

// Get application status
await getApplicationStatus({
  applicationId: "app-id"
})

// View recent logs
await getLogs({
  applicationId: "app-id",
  lines: 100
})

📖 API Reference

Tools

Project Management

Tool

Description

Parameters

list-projects

List all projects

None

create-project

Create a new project

name, description

delete-project

Delete a project

projectId

Application Management

Tool

Description

Parameters

list-applications

List all applications

projectId

create-application

Create a new application

projectId, name, appType, repository, etc.

deploy-application

Deploy an application

applicationId

start-application

Start an application

applicationId

stop-application

Stop an application

applicationId

restart-application

Restart an application

applicationId

delete-application

Delete an application

applicationId

get-logs

Get application logs

applicationId, lines

get-application-status

Get application status

applicationId

update-env-vars

Update environment variables

applicationId, env

Database Management

Tool

Description

Parameters

create-database

Create a new database

projectId, name, type, etc.

list-databases

List all databases

projectId

Domain Management

Tool

Description

Parameters

add-domain

Add a custom domain

applicationId, domain, enableSSL

list-domains

List all domains

applicationId

Backup & Restore

Tool

Description

Parameters

create-backup

Create a database backup

databaseId

list-backups

List all backups

databaseId

restore-backup

Restore from backup

backupId

Resources

  • dokploy://docs - Complete Dokploy documentation

  • dokploy://quickstart - Quick start guide

  • dokploy://api-reference - API reference

Prompts

  • deploy-app - Guided application deployment

  • setup-database - Guided database setup

  • troubleshoot - Application troubleshooting assistant

🔐 Security

  • API Token: Store your API token securely. Never commit it to version control.

  • HTTPS: Always use HTTPS for production deployments

  • Environment Variables: Use environment variables for sensitive data

  • Access Control: Configure proper access controls in your Dokploy instance

🛠️ Development

Project Structure

dokploy-mcp/
├── src/
│   └── index.ts          # Main server implementation
├── package.json          # Project dependencies
├── smithery.yaml         # Runtime configuration
├── README.md            # This file
└── .gitignore           # Git ignore rules

Building for Production

# Build the server
bun run build

# Or with npm
npm run build

Testing

# Run the development server
bun run dev

# Test with curl
curl -X POST "http://127.0.0.1:3000/mcp?dokployUrl=https://dok.bish.one&apiToken=your-token" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},"clientInfo":{"name":"test-client","version":"1.0.0"}}}'

🚢 Deployment

Deploy to Smithery

  1. Push your code to GitHub

  2. Visit smithery.ai/new

  3. Connect your repository

  4. Configure your Dokploy credentials

  5. Deploy!

Deploy to Your Own Infrastructure

# Build the project
bun run build

# Run the server
PORT=3000 node dist/index.js

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

🗺️ Roadmap

  • Add support for Docker Compose deployments

  • Implement real-time deployment progress tracking

  • Add metrics and analytics integration

  • Support for custom build scripts

  • Multi-region deployment support

  • Advanced monitoring and alerting

  • Integration with CI/CD pipelines

  • Webhook support for automated deployments

📊 Stats

GitHub stars GitHub forks GitHub watchers


Made with ❤️ by the Dokploy community

⬆ back to top

-
security - not tested
A
license - permissive license
-
quality - not tested

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/huuthangntk/dokploy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server