mcpField
P
Plesk

Plesk

ローカル
github.com/FlayedOneクラウド・インフラ625 週間前に更新

Plesk について

Plesk MCP Serverは、管理者がAIエージェントやアプリからPleskホスティングサーバーを管理するためのサーバーです。PleskとWP ToolkitのREST APIを利用し、ローカルで動作して、基本管理、シェルコマンド、ファイルアップロードに対応します。

主な機能

  1. 01Pleskサーバーの管理
  2. 02WP Toolkit REST APIの利用
  3. 03シェルコマンドの実行
  4. 04サーバーへのファイルアップロード
  5. 05MCPサーバーのローカル実行

活用シーン

  1. 01AIエージェント経由でPleskホスティングを管理
  2. 02シェルコマンドでサーバー作業を処理
  3. 03サーバーへのファイルアップロード

MCP 対応

基本管理、シェルコマンド、ファイルアップロードなどのPlesk管理機能をMCPクライアントに公開します。サーバーはローカルで動作し、Plesk REST APIとWP Toolkit REST APIを介して操作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"plesk": {
"command": "uvx",
"args": [
"plesk-mcp"
],
"env": {
"PLESK_HOST": "<PLESK_HOST>",
"PLESK_API_KEY": "<PLESK_API_KEY>",
"PLESK_USERNAME": "<PLESK_USERNAME>",
"PLESK_PASSWORD": "<PLESK_PASSWORD>"
}
}
}
}
起動コマンドuvx plesk-mcp
設定が必要な環境変数
PLESK_HOSTBase URL of your Plesk server. May include port. Example: https://plesk.example.com:8443
PLESK_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiplesk-mcp0.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。