MCP Weather & DigitalOcean について
MCP Weather & DigitalOceanは、DigitalOcean App Platformで静的ウェブサイトをデプロイ、管理するMCPサーバーです。デプロイ設定、アプリやデプロイの情報確認、ログ取得、再デプロイ、削除に対応します。
主な機能
- 01静的サイトのデプロイ
- 02アプリ情報の取得
- 03デプロイ状態の確認
- 04デプロイの一覧と作成
- 05デプロイログの取得
- 06アプリの削除
活用シーン
- 01GitHubリポジトリから静的サイトをデプロイ
- 02アプリのデプロイ状態を確認
- 03デプロイログの確認や再デプロイ
- 04DigitalOcean App Platformからアプリを削除
MCP 対応
MCPクライアント向けに、DigitalOcean App Platformのデプロイおよびアプリ管理ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP DigitalOcean
DigitalOcean App Platform で静的ウェブサイトをデプロイおよび管理するための Model Context Protocol(MCP)サーバーです。
プロジェクト構成
src/
├── index.ts # Main entry point
├── shared/ # Shared utilities
│ └── api.ts # Shared API utilities
├── digitalocean/ # DigitalOcean MCP server
│ ├── api.ts # DigitalOcean API functions
│ ├── server.ts # DigitalOcean MCP server configuration
│ └── types.ts # DigitalOcean API types
└── template/ # Template for new MCP servers
├── api.ts # Template API functions
├── server.ts # Template MCP server configuration
└── types.ts # Template API types
tests/ # Test scripts and files
利用可能な MCP サーバー
DigitalOcean サーバー
DigitalOcean MCP サーバーは、DigitalOcean の API を使用して、DigitalOcean App Platform 上の静的ウェブサイトをデプロイおよび管理するツールを提供します。
API トークンの取り扱い
DigitalOcean MCP サーバーは、以下の場所を順番に確認して API トークンを自動的に探します。
- ツール呼び出し時のパラメーター
- 環境変数:
DO_API_TOKENまたはDIGITALOCEAN_API_TOKEN - トークンのみを含む
~/.dotokenファイル - プロジェクトルートにある
DO_API_TOKEN=your_tokenを記述した.envファイル - トークンのみを含む
~/.config/digitalocean/tokenファイル
つまり、トークンを一度設定すれば、コマンドを実行するたびに指定する必要はありません。
ツール:
-
deploy-static-site:DigitalOcean App Platform に静的ウェブサイトをデプロイします
- 必須パラメーター:
app_name:アプリ名repo:GitHub リポジトリ(username/repo)
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)region:リージョンコード(例:nyc、sfo) - デフォルト:"nyc"branch:デプロイするブランチ - デフォルト:"main"source_dir:ソースコードを含むリポジトリ内のディレクトリ - デフォルト:"/"build_command:ビルドコマンド(必要な場合)output_dir:ビルド出力ファイルが保存されるディレクトリdeploy_on_push:git push 時に自動デプロイするかどうか - デフォルト:trueenvironment_slug:ランタイム環境 - デフォルト:"html"custom_domain:カスタムドメイン(任意)
- 必須パラメーター:
-
get-app-info:DigitalOcean App Platform のアプリに関する情報を取得します
- 必須パラメーター:
app_id:アプリ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)
- 必須パラメーター:
-
get-deployment-status:特定のデプロイのステータスを取得します
- 必須パラメーター:
app_id:アプリ IDdeployment_id:デプロイ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)
- 必須パラメーター:
-
list-deployments:アプリのすべてのデプロイを一覧表示します
- 必須パラメーター:
app_id:アプリ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)
- 必須パラメーター:
-
create-deployment:新しいデプロイを作成します(アプリを再デプロイします)
- 必須パラメーター:
app_id:アプリ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)force_build:キャッシュを使用せずに強制的に再ビルドするかどうか - デフォルト:false
- 必須パラメーター:
-
get-deployment-logs:デプロイのログを取得します
- 必須パラメーター:
app_id:アプリ IDdeployment_id:デプロイ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)
- 必須パラメーター:
-
delete-app:DigitalOcean App Platform からアプリを削除します
- 必須パラメーター:
app_id:アプリ ID
- オプションのパラメーター:
token:DigitalOcean API トークン(環境変数または設定ファイルに保存されている場合は省略可能)
- 必須パラメーター:
新しい MCP サーバーの追加
新しい MCP サーバーを追加するには:
templateディレクトリをコピーし、サーバー名に変更します- 型、API 関数、サーバー設定を更新します
- メインの
index.tsファイルにサーバーを追加します
ビルドと実行
# Install dependencies
npm install
# Build the project
npm run build
# Run the DigitalOcean MCP server
node build/index.js
テスト
プロジェクトには、tests/ ディレクトリにいくつかのテストスクリプトが含まれています。
test-simple.mjs:MCP サーバーに JSON-RPC リクエストを送信するシンプルなテストスクリプトtest-api.mjs:DigitalOcean API を直接テストするスクリプトtest-mcp.mjs:MCP サーバーのより包括的なテストtest-deploy.mjs:deploy-static-site ツール専用のテストスクリプトtoken-test.mjs:DigitalOcean API トークンが正しく読み取れることを確認するユーティリティスクリプト
テストを実行するには:
# Run a test script
node tests/test-simple.mjs
Cursor との統合
Cursor で使用するには、以下を .cursor/mcp.json ファイルに追加します。
{
"mcpServers": {
"digitalocean": {
"command": "node",
"args": [
"/path/to/your/project/build/index.js"
]
}
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。