Plesk
MCP-сервер для Plesk
Этот MCP-сервер для Plesk позволяет администраторам управлять своими серверами Plesk с помощью различных ИИ-агентов и приложений. Он построен на базе REST API Plesk и REST API WP Toolkit, предоставляя основные возможности администрирования, а также возможность управления сервером через команды оболочки и загрузку файлов на сервер.
MCP-сервер запускается локально на вашей машине, поэтому важная информация не покидает вашу среду.
Требования к Plesk
MCP-сервер должен поддерживать любую достаточно новую версию Plesk (строгих ограничений нет) и любую ОС (Linux или Windows), поддерживаемую Plesk. Однако он был протестирован только на Plesk Obsidian 18.0.76, поэтому предпочтительно использовать поддерживаемую версию Plesk.
Разумеется, доступ к API не должен быть отключен на сервере.
Требования к MCP-серверу
Для запуска сервера вам потребуется менеджер пакетов Python uv. Инструкции по установке см. в официальной документации.
Использование
Настройте сервер в файле mcp.json вашего VS Code или аналогичном файле (в других агентах или приложениях), используя конфигурацию вида:
{
"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"
}
}
}
}Возможно, вы захотите использовать файл переменных окружения (например, через параметр "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 build --clear
uv publish
mcp-publisher publishТестирование
Использование Docker-образа Plesk
Если у вас нет экземпляра Plesk, но вы хотите протестировать этот MCP-сервер, вы можете использовать Docker-образ Plesk:
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-образа не происходит мгновенно, поэтому подождите около минуты, прежде чем пытаться подключиться.
Затем настройте 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": "-"
}
}
}
}Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FlayedOne/plesk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server