Plesk MCP instellen
Voor een Plesk MCP-setup heb je de Plesk-entitlement op je mcp-core-licentie nodig, je panel-URL, en een Plesk API-key of je Plesk-gebruikersnaam en wachtwoord. Daarmee leest Claude domeinen, klanten, DNS, databases, logs en bestanden. Iets wijzigen op de server kan pas op een verbinding die in read-write-modus draait.
Wat heb je nodig om Plesk MCP in te stellen?
Je hebt een draaiende mcp-core-installatie nodig en de Plesk-add-on op dezelfde licentie. Nieuw met mcp-core? Volg eerst de installatiehandleiding van mcp-core en kom daarna terug voor de Plesk MCP-setup.
- Een actieve licentie met de entitlement
tool:plesk. De add-on is de Plesk MCP-server. - Admin-toegang tot de Plesk-server die je wilt koppelen.
- Een Plesk API-key voor die server (als root op de server aangemaakt), of de gebruikersnaam en het wachtwoord waarmee je op het panel inlogt.
- Netwerktoegang van de mcp-core-container naar het adres van het panel.
- Een verbinding in Mijn account → Licenties met de Plesk-tool aangevinkt.
Heb je de add-on gekocht nadat je mcp-core installeerde? Dan hoef je voor de Plesk MCP-setup niets opnieuw te installeren of te downloaden. De add-on wordt aan je licentie toegevoegd en je krijgt een e-mail met de env-variabelen die de tool nodig heeft.
Hoe kom je aan een Plesk API-key?
Plesk heeft geen scherm voor API-keys. Je maakt de key op de server zelf aan, als root, in een terminal:
- Log via SSH in op de Plesk-server.
- Word root, bijvoorbeeld met
sudo -i. - Draai
plesk bin secret_key -c. Plesk toont de nieuwe key. - Plak die key in
PLESK_API_KEYin.env, of in het veld API-sleutel van je verbinding in Mijn account.
plesk bin secret_key -c -ip-address 203.0.113.10 -description "AddoCore MCP"
Met -ip-address werkt de key alleen vanaf dat adres, het publieke IP van de server waarop mcp-core draait. Met -description vind je de key later makkelijk terug. mcp-core stuurt de key bij elk verzoek mee in de header X-API-Key.
De tool kan zelf geen API-keys aanmaken of intrekken. plesk bin secret_key -l toont de keys op de server en plesk bin secret_key -d <key> verwijdert er een. Lekt een key uit, verwijder hem dan, maak een nieuwe aan en vervang hem. Behandel de key als je admin-wachtwoord: wie hem heeft, kan bij dezelfde API.
Kun je ook inloggen met je Plesk-gebruikersnaam en wachtwoord?
Ja. Geen root-toegang tot de server, of geen terminal? Vul dan de gebruikersnaam en het wachtwoord in waarmee je op het panel inlogt (PLESK_USERNAME en PLESK_PASSWORD, of de velden Plesk-gebruikersnaam en Plesk-wachtwoord in Mijn account) en laat de API-key leeg. mcp-core logt dan bij elk verzoek in met HTTP Basic.
- Gebruik een beheerderslogin. Een klant- of resellerlogin ziet alleen zijn eigen deel van de server, en de verbindingscheck (het lezen van de serverinfo) mislukt daarmee.
- Staan zowel een API-key als een gebruikersnaam en wachtwoord ingevuld, dan gebruikt mcp-core de API-key.
- Verander je het Plesk-wachtwoord, dan werkt de verbinding pas weer als je het nieuwe wachtwoord ook hier invult. Een API-key heeft dat probleem niet, kun je beperken tot één IP-adres en los verwijderen, dus die is de betere keuze als je wel root hebt.
Welke env-variabelen leest de Plesk MCP-setup?
Een Plesk MCP-setup leest het adres van het panel, een van twee logins en één optionele fallback.
| Variabele | Verplicht | Standaard | Doel |
|---|---|---|---|
PLESK_BASE_URL | Ja | geen | De kale origin van het panel, inclusief poort als je die gebruikt |
PLESK_API_KEY | Deze, of de twee hieronder | geen | De key uit plesk bin secret_key -c, verstuurd als X-API-Key |
PLESK_USERNAME | Zonder API-key | geen | De naam waarmee je op het panel inlogt |
PLESK_PASSWORD | Zonder API-key | geen | Het wachtwoord van die login |
PLESK_MODE | Nee | read-only | Oude fallback; de modus op de verbinding gaat voor |
Een typisch blok met een API-key, en hetzelfde met gebruikersnaam en wachtwoord:
PLESK_BASE_URL=https://panel.example.com:8443
PLESK_API_KEY=your-plesk-api-key
# of, zonder API-key:
PLESK_BASE_URL=https://panel.example.com:8443
PLESK_USERNAME=admin
PLESK_PASSWORD=your-plesk-password
Vul het adres in zoals je het in een browser typt om je panel te openen. mcp-core haalt afsluitende slashes weg en plakt er zelf /api/v2 achter, dus voeg dat pad niet toe. Dezelfde waarden kun je ook kwijt in Mijn account → Licenties → Inloggegevens. Daar worden ze versleuteld opgeslagen, een draaiende mcp-core pikt ze op zonder nieuwe download, en ze gaan voor op .env.
Welke tools krijgt Claude met een read-only Plesk MCP-setup?
Een read-only Plesk MCP-setup geeft Claude 25 tools die het panel lezen en niets wijzigen. Dit is de standaard voor elke verbinding.
- Server:
plesk_get_server_info,plesk_list_server_ips - Extensies:
plesk_list_extensions,plesk_get_extension - Klanten:
plesk_list_clients,plesk_get_client,plesk_list_client_domains,plesk_get_client_statistics - Domeinen:
plesk_list_domains,plesk_get_domain,plesk_get_domain_owner,plesk_get_domain_status,plesk_check_domain_dns,plesk_search_domain_logs - FTP en databases:
plesk_list_ftp_users,plesk_list_databases,plesk_list_db_users,plesk_list_db_servers - DNS:
plesk_list_dns_records,plesk_get_dns_record - Domeinbestanden:
plesk_get_domain_file_info,plesk_list_domain_files,plesk_get_domain_file_content - CLI-referentie:
plesk_list_cli_commands,plesk_get_cli_command_ref
plesk_check_domain_dns draait de eigen DNS-check van Plesk (nameservers, A/MX-records, e-mailauthenticatie, propagatie). plesk_search_domain_logs doorzoekt web-, mail- en PHP-logs op patroon, ISO 8601-start- en eindtijd en een steekproefgrootte. Bestandspaden zijn relatief aan de document root; gebruik encoding=base64 voor binaire bestanden.
Wat voegt read-write-modus toe aan de Plesk MCP-setup?
Read-write-modus registreert 26 extra tools die je server wijzigen. Je kiest de modus per verbinding als je die toevoegt in Mijn account → Licenties → Connecties. Zie entitlements vs. toolmodi voor hoe licentie en modus samenwerken.
- Klanten: aanmaken, bijwerken, verwijderen, activeren, opschorten
- Domeinen: aanmaken, bijwerken, verwijderen, status instellen (actief, opgeschort, uitgeschakeld)
- FTP-gebruikers, databases, databasegebruikers en DNS-records: aanmaken, bijwerken of verwijderen
- Extensies: installeren (via catalogus-ID, URL of bestand op de server), verwijderen, inschakelen, uitschakelen
plesk_exec_domain_command: elk shellcommando als hostinggebruiker van het domein, standaard in de document rootplesk_call_cli_command: een Plesk CLI-utility met serverbrede beheerrechten
Hoe gevaarlijk is read-write-modus op een Plesk-server?
Eén aanroep kan sites offline halen of data definitief vernietigen. plesk_delete_client verwijdert de klant en alles wat die bezit: domeinen, mailboxen, databases. plesk_delete_domain verwijdert hosting, mail, databases en bestanden van het domein. plesk_delete_database verwijdert de data. Geen van deze acties is terug te draaien. Een klant opschorten haalt zijn domeinen offline.
mcp-core vraagt niet om een tweede bevestiging. Een schrijfaanroep gaat direct naar de Plesk API. De beveiliging bestaat uit de modus-check en de waarschuwingen in de toolbeschrijvingen (“PERMANENTLY delete”, “DANGEROUS”) die Claude leest voordat het een tool aanroept. De twee commandotools staan standaard op fail_on_error: true, dus een exitcode anders dan nul geeft een fout terug. Dat meldt een mislukking; het voorkomt er geen.
Praktische regels voor een Plesk MCP-setup met schrijftoegang: houd elke gedeelde verbinding read-only, geef read-write aan één verbinding die je zelf gebruikt, vraag om één expliciete actie tegelijk en zorg dat er een recente back-up is.
Wat staat de Plesk MCP-setup nooit toe?
Sommige endpoints zitten in geen enkele Plesk MCP-setup, in geen enkele modus. Schrijfacties op domeinbestanden (upload, delete, copy, move, mkdir, append, chmod) ontbreken, dus de bestandstools lezen alleen. Beheer van API-keys, serverinitialisatie en de Plesk-licentie-endpoints ontbreken ook. De shellcommandotool kan in read-write-modus wel bestanden wijzigen.
Hoe herstart je mcp-core en test je de Plesk MCP-setup?
Draai het updatescript vanuit de map die je hebt uitgepakt. Het haalt de image op en herstart mcp-core met je huidige .env.
./mcp-update.sh
Heb je de add-on net gekocht, start dan een licentiecheck zodat de entitlement nu binnenkomt:
docker exec mcp-core npm run refresh-license
Vraag Claude om mcp_status te draaien. Dat toont de licentiestatus, de actieve verbinding, de tools en de modus per tool. Probeer daarna “haal de Plesk-serverinfo op” en “toon alle domeinen”. Welke client welk connectietoken gebruikt, lees je in MCP-connecties.
Welke fouten kom je tegen bij het instellen van Plesk MCP?
Deze meldingen komen uit de tool zelf, dus je kunt ze woord voor woord vergelijken.
- Geen Plesk-tools in Claude: in de containerlog staat “PLESK_BASE_URL, and PLESK_API_KEY or PLESK_USERNAME + PLESK_PASSWORD, are not set”. Voeg het paneladres en een van de twee logins toe, draai
./mcp-update.shen controleer de entitlement en de toollijst van de verbinding. - Alleen leestools zichtbaar: een logregel met
mode=read-onlyen “write tools” betekent dat de verbinding read-only is. Voeg een read-write-verbinding toe als je echt moet schrijven. - “Plesk API error 401” (of een andere statuscode): Plesk heeft het verzoek geweigerd. Controleer de key (of de gebruikersnaam en het wachtwoord) en of de URL naar de origin van het panel wijst, zonder
/api/v2. De melding bevat de eerste 300 tekens van het antwoord van Plesk. - “Provide either database_id, or both parent_domain and server_id.”: een databasegebruiker heeft een doel nodig. Noem de database, of het abonnement en de databaseserver.
- “Provide exactly one of id, url, or file.”: er is een extensie-installatie aangeroepen zonder bron.
- “Rate limit exceeded for this tool”: de eigen limiet per verbinding van mcp-core. Wacht het aantal seconden dat genoemd wordt.
Zodra mcp_status de Plesk-tools toont en een testvraag je domeinen teruggeeft, is de Plesk MCP-setup klaar. De andere add-ons komen aan bod in de MCP-installatiehandleidingen.
Klaar om het te proberen?