Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
FlayedOne avatar

Plesk Mcp

  • 4 repo stars
  • Updated May 17, 2026
  • FlayedOne/plesk-mcp

Plesk MCP is a MCP server that lets AI assistants manage your Plesk hosting server through its API.

About

Plesk MCP connects your coding agent to a Plesk control plane over stdio using a PyPI-published server. founders who ship on traditional VPS or shared hosting often bounce between SSH, the Plesk UI, and notes when adding sites, tweaking PHP settings, or checking subscription health—errors are easy and context switching is costly. After you configure PLESK_HOST and either an API key (created with plesk bin secret_key) or admin credentials, the agent can propose and execute API-backed operations you describe in plain language, keeping a paper trail in chat. This is Operate infra tooling: it assumes you already deployed and are maintaining live sites, not greenfield app architecture in Build. Intermediate complexity reflects real server credentials and the blast radius of mistaken changes. Use when Plesk is your source of truth for hosting; skip if you are all-in on Vercel, Fly, or Kubernetes without Plesk.

  • Stdio MCP server (pypi plesk-mcp v0.1.1) for Plesk hosting automation
  • Authenticates via PLESK_API_KEY or PLESK_USERNAME and PLESK_PASSWORD against PLESK_HOST
  • Designed so AI assistants can run server management workflows conversationally
  • Targets builders who self-host or resell on Plesk rather than purely serverless platforms
  • Repository: FlayedOne/plesk-mcp with MCP schema 2025-12-11

Plesk Mcp by the numbers

  • Data as of Jul 19, 2026 (Skillselion catalog sync)
terminal
claude mcp add --env PLESK_HOST=YOUR_PLESK_HOST --env PLESK_API_KEY=YOUR_PLESK_API_KEY --env PLESK_USERNAME=YOUR_PLESK_USERNAME --env PLESK_PASSWORD=YOUR_PLESK_PASSWORD plesk-mcp -- uvx plesk-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars4
Packageplesk-mcp
TransportSTDIO
AuthNone
Last updatedMay 17, 2026
RepositoryFlayedOne/plesk-mcp

What it does

Let an AI assistant manage domains, subscriptions, and routine Plesk server tasks through the Plesk API instead of clicking through the panel for every change.

Who is it for?

Best when you're hosting client or own products on Plesk and want conversational server admin with API keys locked in env vars.

Skip if: Skip if you're on serverless-only workflows with no Plesk instance, or anyone uncomfortable granting agents production hosting credentials.

What you get

You register one stdio MCP server so your agent can perform Plesk API operations from the same session where you debug and ship fixes.

  • Agent-driven Plesk API operations from chat
  • Reduced manual panel clicking for routine hosting changes
  • Documented env-based auth pattern for production Plesk

By the numbers

  • Server version 0.1.1
  • PyPI package identifier plesk-mcp
  • Four documented environment variables (host, API key or user/password pair)
README.md

Plesk MCP Server

This MCP server for Plesk allows administrators to manage their Plesk servers using various AI agents and apps. It builds on top of Plesk REST API and WP Toolkit REST API, and provides core administration capabilities, as well as ability to manage the server through shell commands and upload files to the server.

The MCP server runs locally on your machine, so important information doesn't leave your environment.

Plesk Requirements

The MCP server is expected to support any sufficiently recent Plesk version (there are no strict limitations) and any OS (Linux or Windows) that Plesk supports. However, it was tested only on Plesk Obsidian 18.0.76, so prefer using a supported Plesk version.

Obviously, API access must not be disabled on the server.

MCP Server Requirements

You will need uv Python package manager to run the server. Refer to the official documentation for installation instructions.

Usage

Configure the server in your VS Code mcp.json or equivalent (in other agents or apps) using a configuration like:

{
    "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"
            }
        }
    }
}

You may want to use env file (e.g. via "envFile" parameter) if your agent or app supports it. This will avoid putting credentials directly in the config file.

See uvx plesk-mcp@latest --help for details on available options and environment variables.

Recommended Usage

For better behavior, it's recommended to use this MCP server in combination with a documentation MCP server. Select either plesk-local-docs-mcp or plesk-remote-docs-mcp. This will allow the agent to get more accurate information about Plesk usage when needed.

You may also attach several Plesk servers at once if needed (e.g. for managing multiple servers).

Here's an example configuration:

{
    "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"
            }
        }
    }
}

Development

MCP server run command:

uv run plesk-mcp --log-level debug --insecure

Before commit:

uv run ruff format
uv run ruff check --fix
uv run mypy .
uv run pytest

Publish:

uv build --clear
uv publish
mcp-publisher login github
mcp-publisher publish

Testing

Using Plesk Docker Image

If you don't have a Plesk instance but want to test this MCP server, you may use Plesk Docker image instead:

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

The Docker image startup is not instant, so give it a minute or so before trying to connect.

And then configure the MCP server as:

{
    "servers": {
        "plesk": {
            "command": "uvx",
            "args": [
                "plesk-mcp@latest",
                "--insecure"
            ],
            "env": {
                "PLESK_HOST": "https://localhost:8443",
                "PLESK_PASSWORD": "changeme1Q**"
            }
        }
    }
}

Without Plesk Server (Demo Mode)

Alternatively, run in demo mode from sources (with mocked responses):

{
    "servers": {
        "plesk": {
            "command": "uv",
            "args": [
                "run",
                "plesk-mcp"
            ],
            "env": {
                "PLESK_HOST": "https://linux.demo.example.net",
                "PLESK_API_KEY": "-"
            }
        }
    }
}

Automated tests

Unit tests run with uv run pytest (in the project root and in each sub-project). Smoke tests that exercise real services are skipped by default and selected via -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

Recommended MCP Servers

How it compares

Plesk hosting control MCP integration, not a local code-review or deployment-pipeline skill.

FAQ

Who is plesk-mcp for?

Developers and small agencies operating live sites on Plesk who want Claude Code or similar agents to help with routine hosting API tasks.

When should I use plesk-mcp?

In Operate when you are maintaining subscriptions, domains, or server settings on an existing Plesk host and want agent-assisted changes.

How do I add plesk-mcp to my agent?

Install plesk-mcp from PyPI, set PLESK_HOST and PLESK_API_KEY (or username/password), add the server as stdio in your MCP client, then restart the agent.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.