CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Plesk Mcp

flayedone/plesk-mcp
2STDIOregistry active
Summary

Connects to Plesk hosting servers via the Plesk REST API and WP Toolkit REST API to handle server administration tasks through AI agents. You get tools for core Plesk operations plus shell command execution and file uploads, all running locally so credentials stay on your machine. Supports both API key and username/password auth. Works with any recent Plesk version on Linux or Windows, though it's been tested on Obsidian 18.0.76. You can wire up multiple Plesk instances at once if you're managing several servers, and the author recommends pairing it with their documentation MCP server for better agent behavior. Reach for this if you're administering Plesk boxes and want to handle routine tasks conversationally.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

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
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

PLESK_HOST

Base 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_USERNAME

Username for authenticating with your Plesk server. Typically "admin".

PLESK_PASSWORD

Password for authenticating with your Plesk server.

Registryactive
Packageplesk-mcp
TransportSTDIO
UpdatedMay 4, 2026
View on GitHub