Plesk について
Plesk MCP Serverは、管理者がAIエージェントやアプリからPleskホスティングサーバーを管理するためのサーバーです。PleskとWP ToolkitのREST APIを利用し、ローカルで動作して、基本管理、シェルコマンド、ファイルアップロードに対応します。
主な機能
- 01Pleskサーバーの管理
- 02WP Toolkit REST APIの利用
- 03シェルコマンドの実行
- 04サーバーへのファイルアップロード
- 05MCPサーバーのローカル実行
活用シーン
- 01AIエージェント経由でPleskホスティングを管理
- 02シェルコマンドでサーバー作業を処理
- 03サーバーへのファイルアップロード
MCP 対応
基本管理、シェルコマンド、ファイルアップロードなどのPlesk管理機能をMCPクライアントに公開します。サーバーはローカルで動作し、Plesk REST APIとWP Toolkit REST APIを介して操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx plesk-mcpPLESK_HOSTBase URL of your Plesk server. May include port. Example: https://plesk.example.com:8443PLESK_API_KEYシークレットPlesk API key. Create via `plesk bin secret_key --create -description 'Plesk MCP'` on the server. Required, unless PLESK_USERNAME and PLESK_PASSWORD are provided.PLESK_USERNAMEUsername for authenticating with your Plesk server. Typically "admin".PLESK_PASSWORDシークレットPassword for authenticating with your Plesk server.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Plesk MCP サーバー
Plesk 用のこの MCP サーバーを使うと、管理者はさまざまな AI エージェントやアプリを使用して Plesk サーバーを管理できます。Plesk REST API と WP Toolkit REST API を基盤としており、主要な管理機能に加え、シェルコマンドによるサーバーの管理やサーバーへのファイルのアップロードも可能です。
MCP サーバーはお使いのマシン上でローカルに実行されるため、重要な情報が環境の外部に出ることはありません。
Plesk の要件
この MCP サーバーは、十分に新しい Plesk の各バージョン(厳密な制限はありません)と、Plesk がサポートする各 OS(Linux または Windows)で動作することを想定しています。ただし、テスト済みなのは Plesk Obsidian 18.0.76 のみです。そのため、サポート対象の Plesk バージョンの使用をおすすめします。
当然ながら、サーバーで API アクセスが無効になっていないことが必要です。
MCP サーバーの要件
サーバーを実行するには、Python パッケージマネージャーの uv が必要です。インストール方法については、公式ドキュメントを参照してください。
使用方法
VS Code の mcp.json、または他のエージェントやアプリの同等の設定ファイルで、次のような設定を使ってサーバーを構成します。
{
"servers": {
"plesk": {
"command": "uvx",
"args": [
"plesk-mcp@latest"
],
"env": {
// Base URL of your Plesk server. May include port.
// If you don't have a valid TLS certificate or want to use HTTP,
// add the --insecure flag to the args above.
// However, this is not recommended as you credentials may be leaked as a result.
"PLESK_HOST": "https://plesk.example.net:8443",
// API key (recommended).
// Create via `plesk bin secret_key --create -description 'Plesk MCP'` on the server.
"PLESK_API_KEY": "00000000-0000-0000-0000-000000000000",
// Alternatively, you can use username and password.
"PLESK_USERNAME": "admin",
"PLESK_PASSWORD": "passwd"
}
}
}
}
エージェントやアプリがサポートしている場合は、env ファイル(例:"envFile" パラメーター経由)の使用をおすすめします。これにより、認証情報を設定ファイルに直接記述せずに済みます。
利用可能なオプションと環境変数の詳細については、uvx plesk-mcp@latest --help を参照してください。
推奨される使用方法
より良好に動作させるには、この MCP サーバーをドキュメント用 MCP サーバーと併用することをおすすめします。plesk-local-docs-mcp または plesk-remote-docs-mcp のいずれかを選択してください。これにより、必要に応じてエージェントが Plesk の使用方法について、より正確な情報を取得できます。
必要に応じて、複数の Plesk サーバーを同時に接続することもできます(例:複数のサーバーを管理する場合)。
設定例:
{
"servers": {
"plesk-docs": {
"command": "uvx",
"args": [
"plesk-local-docs-mcp@latest"
],
"env": {
"OPENAI_API_KEY": "sk-..."
}
},
"plesk1": {
"command": "uvx",
"args": [
"plesk-mcp@latest"
],
"env": {
"PLESK_HOST": "https://plesk1.example.net:8443",
"PLESK_API_KEY": "00000000-0000-0000-0000-000000000000"
}
},
"plesk2": {
"command": "uvx",
"args": [
"plesk-mcp@latest"
],
"env": {
"PLESK_HOST": "https://plesk2.example.net",
"PLESK_USERNAME": "admin",
"PLESK_PASSWORD": "passwd"
}
}
}
}
開発
MCP サーバーの実行コマンド:
uv run plesk-mcp --log-level debug --insecure
コミット前:
uv run ruff format
uv run ruff check --fix
uv run mypy .
uv run pytest
公開:
uv build --clear
uv publish
mcp-publisher login github
mcp-publisher publish
テスト
Plesk Docker イメージを使用する場合
Plesk インスタンスがないものの、この MCP サーバーをテストしたい場合は、代わりに Plesk Docker イメージを使用できます。
docker run -d --rm --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns host -p 80:80 -p 443:443 -p 8880:8880 -p 8443:8443 --name plesk plesk/plesk
Docker イメージの起動には時間がかかるため、接続を試す前に1分ほどお待ちください。
次に、MCP サーバーを次のように構成します。
{
"servers": {
"plesk": {
"command": "uvx",
"args": [
"plesk-mcp@latest",
"--insecure"
],
"env": {
"PLESK_HOST": "https://localhost:8443",
"PLESK_PASSWORD": "changeme1Q**"
}
}
}
}
Plesk サーバーを使用しない場合(デモモード)
または、ソースからモック応答を使ってデモモードで実行します。
{
"servers": {
"plesk": {
"command": "uv",
"args": [
"run",
"plesk-mcp"
],
"env": {
"PLESK_HOST": "https://linux.demo.example.net",
"PLESK_API_KEY": "-"
}
}
}
}
自動テスト
ユニットテストは uv run pytest で実行します(プロジェクトルートと各サブプロジェクトで実行します)。実際のサービスを使用するスモークテストはデフォルトではスキップされ、-m smoke を指定すると実行されます。
# Plesk MCP smoke tests (against a reachable Plesk instance, e.g. from the Docker image described above)
PLESK_HOST=https://localhost:8443 PLESK_PASSWORD='changeme1Q**' PLESK_INSECURE=1 \
uv run pytest -m smoke
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。