Dokploy MCP Server について
Dokploy MCP Server は、Dokploy のプロジェクト、アプリケーション、PostgreSQL の管理操作を MCP ツールとして公開します。このリポジトリは提供終了となり、プロジェクトは Dokploy 公式組織に移行しています。
主な機能
- 01プロジェクトのライフサイクル管理
- 02アプリケーションの設定とデプロイ
- 03PostgreSQL データベースの管理
- 04stdio と HTTP のトランスポート対応
- 05入力検証とツール注釈
活用シーン
- 01MCP クライアントから Dokploy プロジェクトを管理
- 02Dokploy アプリケーションのデプロイや更新
- 03PostgreSQL データベースインスタンスの操作
MCP 対応
Dokploy API 操作用のツールを MCP クライアントに公開し、stdio と HTTP に対応します。Streamable HTTP と旧版 SSE をサポートします。このリポジトリは提供終了で、README は Dokploy 公式組織の新リポジトリを案内しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
67掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
Dokploy MCP サーバー
⚠️ プロジェクトは終了しました
このプロジェクトは Dokploy 公式組織に移管され、このリポジトリでは今後メンテナンスされません。
📍 新しい公式リポジトリ: https://github.com/Dokploy/mcp
最新の更新と継続的なサポートを受けるには、公式リポジトリに移行してください。
Dokploy MCP サーバーは、Dokploy の機能を Model Context Protocol(MCP)経由で利用できるツールとして公開します。MCP 対応クライアント(AI モデルやその他のアプリケーションなど)から、プログラムを通じて Dokploy サーバーを操作できます。
🚨 このプロジェクトはメンテナンスを終了しています。直ちに公式リポジトリへ移行してください。
このサーバーは Dokploy API を直接操作するためのツールに特化し、プロジェクトやアプリケーションを管理するための、シンプルで効率的なインターフェースを提供します。
🛠️ はじめに
要件
- Node.js >= v18.0.0(または Docker)
- Cursor、VS Code、Claude Desktop、またはその他の MCP クライアント
- 稼働中の Dokploy サーバーインスタンス
Cursor にインストール
Settings -> Cursor Settings -> MCP -> Add new global MCP server の順に移動します。
以下を Cursor の ~/.cursor/mcp.json ファイルに追加してください。プロジェクトフォルダーに .cursor/mcp.json を作成すれば、特定のプロジェクトにインストールすることもできます。詳細は Cursor MCP のドキュメントをご覧ください。
{
"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"
}
}
}
}
別の方法:Bun を使用する
{
"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"
}
}
}
}
別の方法:Deno を使用する
{
"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"
}
}
}
}
Windsurf にインストール
以下を Windsurf の MCP 設定ファイルに追加してください。詳細は Windsurf MCP のドキュメントをご覧ください。
{
"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"
}
}
}
}
VS Code にインストール
以下を VS Code の MCP 設定ファイルに追加してください。詳細は VS Code MCP のドキュメントをご覧ください。
{
"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"
}
}
}
}
Zed にインストール
以下を Zed の settings.json に追加してください。詳細は Zed Context Server のドキュメントをご覧ください。
{
"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"
}
}
}
}
Claude Desktop にインストール
以下を Claude Desktop の claude_desktop_config.json ファイルに追加してください。詳細は Claude Desktop MCP のドキュメントをご覧ください。
{
"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"
}
}
}
}
BoltAI にインストール
アプリの「Settings」ページを開き、「Plugins」に移動して、次の 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"
}
}
}
}
Docker の使用
Docker コンテナは stdio と HTTP の両方のトランスポートモードをサポートしているため、さまざまなデプロイシナリオに柔軟に対応できます。
-
Docker イメージのビルド:
git clone https://github.com/andradehenrique/dokploy-mcp.git cd dokploy-mcp docker build -t dokploy-mcp . -
Docker コマンドの手動実行:
stdio モード(MCP クライアント向け):
docker run -it --rm \ -e DOKPLOY_URL=https://your-dokploy-server.com/api \ -e DOKPLOY_API_KEY=your_token_here \ dokploy-mcpHTTP モード(ウェブアプリケーション向け):
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 -
Docker Compose:
本番環境へのデプロイには、付属の
docker-compose.ymlを使用します。# HTTP サービスを起動 docker-compose up -d dokploy-mcp-http # ログを表示 docker-compose logs -f dokploy-mcp-http -
MCP クライアントの設定:
stdio モードの場合(Claude Desktop、VS Code など):
{ "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" ] } } }HTTP モードの場合(ウェブアプリケーション向け):
まず HTTP サーバーを起動し、
http://localhost:3000/mcpに接続するようクライアントを設定します。
Windows へのインストール
Windows での設定は、Linux や macOS と比べて少し異なります。コマンドのラッパーとして cmd を使用します。
{
"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"
}
}
}
}
環境変数
DOKPLOY_URL:Dokploy サーバーの API URL(必須)DOKPLOY_API_KEY:Dokploy API の認証トークン(必須)
🚀 トランスポートモード
この MCP サーバーは、さまざまな用途に対応するため、複数のトランスポートモードをサポートしています。
Stdio モード(デフォルト)
デフォルトモードでは、プロセス間の直接通信に stdio を使用します。デスクトップアプリケーションやコマンドラインでの使用に最適です。
# Run with stdio (default)
npx -y @ahdev/dokploy-mcp
# or
npm run start:stdio
HTTP モード(Streamable HTTP + Legacy SSE)
最新の HTTP モードでは、最新とレガシーの両プロトコルをサポートする HTTP/HTTPS 経由でサーバーを公開し、最大限の互換性を実現します。
- Streamable HTTP(MCP 2025-03-26) - セッション管理に対応した最新のプロトコル
- Legacy SSE(MCP 2024-11-05) - 古いクライアントとの後方互換性
# Run with HTTP mode
npm run start:http
# or
npx -y @ahdev/dokploy-mcp --http
# or via environment variable
MCP_TRANSPORT=http npx -y @ahdev/dokploy-mcp
最新の Streamable HTTP エンドポイント:
- POST /mcp - クライアントからサーバーへのリクエスト
- GET /mcp - サーバーからクライアントへの通知
- DELETE /mcp - セッションの終了
- GET /health - ヘルスチェック用エンドポイント
Legacy SSE エンドポイント(後方互換性):
- GET /sse - SSE ストリームの初期化
- POST /messages - クライアントメッセージの送信
設定:
- デフォルトポート:
3000(PORT=8080で変更できます) - 最新の Streamable HTTP(MCP 2025-03-26)と Legacy SSE(MCP 2024-11-05)の両方をサポート
- 両トランスポートタイプで、自動クリーンアップ機能を備えたセッション管理
クライアントの互換性:
最新のクライアントは Streamable HTTP エンドポイントを自動的に使用し、レガシークライアントは SSE エンドポイントで接続できます。サーバーは両方のプロトコルを同時に処理するため、以下との互換性が確保されます。
- 最新の MCP クライアント(Claude Desktop、Cline など)→
/mcpエンドポイントを使用 - レガシー MCP クライアント →
/sseと/messagesエンドポイントを使用 - カスタム統合 → ニーズに合ったプロトコルを選択
トランスポートモードの詳細なドキュメントとクライアントの例については、上記の設定例を参照してください。
📚 利用可能なツール
この MCP サーバーは、43 個のツールを 3 つの主要カテゴリに分類し、Dokploy のプロジェクト、アプリケーション、データベースを包括的に管理できます。
🗂️ プロジェクト管理(6 ツール)
作成、更新、複製、削除など、プロジェクトのライフサイクル全体を管理します。
project-all- すべてのプロジェクトを一覧表示project-one- プロジェクトの詳細を取得project-create- 新しいプロジェクトを作成project-update- プロジェクトの設定を更新project-duplicate- サービスを選択してコピーし、プロジェクトを複製project-remove- プロジェクトを削除
🚀 アプリケーション管理(24 ツール)
アプリケーションのライフサイクルと設定を包括的に管理します。
コア操作
- CRUD 操作:アプリケーションの作成、読み取り、更新、削除
- ライフサイクル管理:アプリケーションのデプロイ、再デプロイ、起動、停止、再読み込み
- ユーティリティ操作:プロジェクト間の移動、キューのクリーンアップ、トークンの更新
Git プロバイダーとの統合
各プロバイダーに固有の設定を使用して、複数の Git プロバイダーに対応します。
- GitHub Provider - Webhook を含む、GitHub との完全な統合
- GitLab Provider - GitLab プロジェクトとの完全な統合
- Bitbucket Provider - Bitbucket リポジトリの管理
- Gitea Provider - セルフホストの Gitea との統合
- Git Provider - カスタム Git リポジトリへの対応
- Docker Provider - Docker イメージの直接デプロイ
設定管理
- ビルド設定 - ビルドタイプ(Dockerfile、Heroku、Nixpacks など)を設定
- 環境管理 - 環境変数とビルド引数を管理
- モニタリング統合 - アプリケーションのモニタリングとメトリクス
- Traefik 設定 - ロードバランサーとリバースプロキシの設定
🐘 PostgreSQL データベース管理(13 ツール)
PostgreSQL データベースのライフサイクル全体を管理します。
データベースのコア操作
- CRUD 操作:PostgreSQL データベースの作成、読み取り、更新、削除
- ライフサイクル管理:データベースのデプロイ、起動、停止、再読み込み、再構築
- 設定管理:外部ポート、環境変数、ステータス変更
- プロジェクト管理:データベースをプロジェクト間で移動
利用可能な PostgreSQL ツール
postgres-create- 新しい PostgreSQL データベースを作成postgres-one- データベースの詳細を取得postgres-update- データベースの設定を更新postgres-remove- データベースを削除postgres-deploy- データベースをデプロイpostgres-start- データベースインスタンスを起動postgres-stop- データベースインスタンスを停止postgres-reload- データベースの設定を再読み込みpostgres-rebuild- データベースインスタンスを再構築postgres-move- データベースをプロジェクト間で移動postgres-changeStatus- データベースのステータスを変更postgres-saveExternalPort- データベースの外部ポートを設定postgres-saveEnvironment- データベースの環境変数を管理
各ツールの入力スキーマ、必須フィールド、使用例などの詳細については、TOOLS.md を参照してください。
ツールのアノテーション
すべてのツールには、MCP クライアントが動作を理解しやすくするためのセマンティックアノテーションが含まれています。
- 読み取り専用ツール(
readOnlyHint: true):データを取得するだけの安全な操作 - 破壊的なツール(
destructiveHint: true):リソースを変更または削除する操作 - 作成ツール(
destructiveHint: false):新しいリソースを作成する操作 - 冪等なツール(
idempotentHint: true):繰り返し実行しても安全な操作 - 外部 API ツール(
openWorldHint: true):すべてのツールが Dokploy API と連携
🏗️ アーキテクチャ
Dokploy MCP サーバーは、以下を使用して構築されています。
@modelcontextprotocol/sdk:MCP サーバーの作成とツールの定義に使用します- Node.js と TypeScript:基盤となるランタイムと言語として使用します
- Stdio Transport:標準入力/出力(stdio)を介してMCPクライアントと通信します
- Dokploy API Integration:Dokploy サーバーの REST API と直接連携します
- 包括的なツール対応:Dokploy のすべてのアプリケーションおよびプロジェクトのエンドポイントを完全に実装しています
- 堅牢なエラー処理:リトライロジックと構造化されたエラーレスポンスを備えた、一元管理されたHTTPクライアントを使用します
- スキーマ検証:OpenAPI仕様に準拠した、Zodベースの完全な入力検証を行います
- ツールのアノテーション:MCPクライアントによる理解を深めるための、意味的なアノテーション(readOnlyHint、destructiveHint など)を使用します
サーバーアーキテクチャは、以下に対応しています。
- 43個のツール:プロジェクト、アプリケーション、データベースのすべての管理操作を網羅します
- 複数のGitプロバイダー(GitHub、GitLab、Bitbucket、Gitea、カスタムGit)
- 柔軟な構成:ビルド、デプロイ、モニタリングに対応します
- 型安全な操作:包括的なTypeScriptサポートを備えています
各ツールには、入力検証、API連携、構造化されたレスポンス形式が含まれており、一貫性のあるMCPクライアントとの連携を実現します。
🔧 開発
プロジェクトをクローンし、依存関係をインストールします。
git clone https://github.com/andradehenrique/dokploy-mcp.git
cd dokploy-mcp
npm install
ビルドします。
npm run build
ローカル構成の例
{
"mcpServers": {
"dokploy-mcp": {
"command": "npx",
"args": ["tsx", "/path/to/dokploy-mcp/src/index.ts"],
"env": {
"DOKPLOY_URL": "https://your-dokploy-server.com/api",
"DOKPLOY_API_KEY": "your-dokploy-api-token"
}
}
}
}
MCP Inspector によるテスト
npx -y @modelcontextprotocol/inspector npx @ahdev/dokploy-mcp
ドキュメント
- TOOLS.md - スキーマと使用例を含むツールの完全なリファレンス
- CONTRIBUTING.md - コントリビューションガイドライン
🔧 トラブルシューティング
MCPクライアントのエラー
-
パッケージ名に
@latestを追加してみてください。 -
npxでネイティブのfetchサポートを利用するため、Node v18以上を使用していることを確認してください。 -
DOKPLOY_URLとDOKPLOY_API_KEYの環境変数が正しく設定されていることを確認してください。
🤝 コントリビューション
コントリビューションを歓迎します。Dokploy MCP サーバーへの貢献をご希望の場合は、コントリビューションガイドをご確認ください。
🆘 サポート
問題が発生した場合、質問がある場合、または機能を提案したい場合は、GitHubリポジトリでイシューを作成してください。
📄 ライセンス
このプロジェクトはMITライセンスのもとで提供されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。