MCP server
Let an AI assistant (Claude, ChatGPT, Cursor, n8n…) manage your KVM VPS, without writing any code and while staying in control of what it can do.
The Panel KVM MCP server connects an AI assistant to your VPS. MCP (Model Context Protocol) is the open standard that lets assistants use external services: you ask in plain language for the list of your servers, their load over the week, a snapshot before an update or the opening of a port, and the assistant makes the calls to the Panel KVM for you.
The server is hosted by LWS at https://panelkvm.lwspanel.com/mcp/v1: nothing to install. Everything is set in the Panel KVM, on the API / MCP page, MCP server tab: you choose the assistant’s permission level and the VPS it can manage, and you can cut off its access at any time. Each of its actions is recorded.
Before you start
- The main account. The API / MCP page is reserved for the account holder: sub-accounts cannot connect an assistant.
- An assistant that supports “remote” MCP: Claude, ChatGPT, Claude Code, Cursor, VS Code, Gemini CLI, Codex CLI, Mistral, n8n, or any tool supporting Streamable HTTP.
- Nothing else. The MCP works independently of the REST API: there is no need to enable the API, create an API key or declare an IP address.
Enable the MCP
- In the Panel KVM, open the API / MCP page (left-hand menu), then the MCP server tab.
- Turn on the switch. An email confirms every activation and deactivation.
- Choose the servers manageable by the assistant: all your VPS, including those added later, or a selection. By default, it manages none.
- Check the permission level: by default, the assistant is read only (see below).
Connect your assistant
There are two ways, depending on the assistant:
- Claude and ChatGPT connect through authorisation (OAuth): the server address is enough, there is no token to copy. You give your consent on a Panel KVM page.
- The others (Claude Code, Cursor, VS Code, n8n…) use the MCP token, which you generate in the MCP server tab and which they send in the
Authorization: Bearerheader. Its value is shown only once: copy it when you generate it. The panel also shows, for each tool, the configuration ready to copy.
The rights are the same in both cases: the permission level and the manageable servers of your MCP access.
Claude (claude.ai, desktop or mobile app)
- In Claude, open Settings › Connectors, then add a custom connector.
- Name:
LWS Panel KVM. Address:https://panelkvm.lwspanel.com/mcp/v1. Keep the default authentication, with no header to enter. - Claude opens the Panel KVM authorisation page: check the information, then click Authorise. The connector is also available in the desktop app and on mobile.
ChatGPT
- On chatgpt.com, add a custom MCP server (plugins or connectors menu, depending on your version). The option depends on your subscription and on your workspace settings.
- Server address:
https://panelkvm.lwspanel.com/mcp/v1. Authentication: OAuth. - Click Connect: ChatGPT opens the Panel KVM authorisation page, where you click Authorise.
If you are not logged in to the Panel KVM, the authorisation page asks you to go through your LWS customer area and open the Panel KVM from a VPS (Manage): you are brought back automatically to the authorisation, which remains valid for 10 minutes. The page shows the application’s domain (claude.ai, chatgpt.com…): check it before authorising. Every new authorisation is reported to you by email.
Claude Code
In a terminal, replacing YOUR_TOKEN with the value of the token:
claude mcp add --transport http lwskvm https://panelkvm.lwspanel.com/mcp/v1 --header "Authorization: Bearer YOUR_TOKEN"
Cursor and other editors
Add this server to the editor’s MCP configuration file (for Cursor: ~/.cursor/mcp.json), then restart it:
{
"mcpServers": {
"lwskvm": {
"url": "https://panelkvm.lwspanel.com/mcp/v1",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
VS Code, Gemini CLI and Codex CLI each have their own file format: the panel shows the right one for each.
n8n
- Add the MCP Client Tool to your AI agent.
- Endpoint:
https://panelkvm.lwspanel.com/mcp/v1. Transport: HTTP Streamable. - Authentication: Bearer Auth, with the value of the token.
Choose what the assistant can do
Your MCP access has its own settings, independent of those of the API:
- the permission level, out of three (see below);
- the manageable servers: a VPS outside the list is invisible to the assistant;
- the authorised IP addresses, optional: leave the list empty for Claude and ChatGPT, which connect from their own infrastructure.
Start with read only, and widen only if needed. Any raising of the level is reported to you by email, and switching to the Full level must be confirmed with a code sent by email to the account holder. Returning to a lower level does not require one.
| Level | Tools |
|---|---|
| Read only | kvm_me, kvm_servers_list, kvm_server_get, kvm_server_metrics, kvm_server_disk_usage, kvm_snapshots_list, kvm_backups_list, kvm_firewall_get, kvm_firewall_sets_list, kvm_network_get, kvm_iso_get, kvm_ssh_keys_list, kvm_catalog_templates, kvm_tasks_list, kvm_task_get, kvm_activity_list |
| Operations | kvm_server_power, kvm_snapshot_create, kvm_backup_create, kvm_firewall_enable, kvm_firewall_set_create, kvm_firewall_set_update, kvm_firewall_set_apply, kvm_reverse_dns_set, kvm_iso_mount, kvm_iso_eject, kvm_ssh_key_add, kvm_ssh_key_remove, kvm_ssh_key_toggle, kvm_unblock_port25_request |
| Full | kvm_snapshot_rollback, kvm_snapshot_delete, kvm_backup_restore, kvm_firewall_disable, kvm_firewall_set_unapply, kvm_firewall_set_delete, kvm_server_rescue, kvm_root_password_set, kvm_server_rebuild |
Read-only tools change nothing. Operations tools act without destroying anything: starting or stopping a VPS, creating a snapshot or a backup, managing firewall rules, reverse DNS, ISO images and SSH keys. Full-level tools are irreversible or expose the server: snapshot rollback, backup restore, firewall shutdown, rescue mode, root password, reinstallation. A tool above the chosen level is not even offered to the assistant.
Stay in control
- Confirmation before any action: the assistant announces what it is going to do and waits for your consent. For a destructive action (reinstallation, root password, snapshot deletion…), it must copy an exact phrase, for example
rebuild 107596. - Simulation before changing the firewall: rules added or removed, and a warning if SSH access might be cut, without applying anything.
- Call history: the last 50 calls of the last 30 days (time, tool, origin, VPS, result, IP address), with filters on actions and errors. Actions also appear in your account’s activity log.
- Connected applications: each assistant authorised through OAuth is listed with its domain and its last use. Revoke removes its access immediately.
- At any time, you can regenerate the token (the tools using it are disconnected) or cut off MCP access with a switch.
Good to know
- An assistant can make mistakes: review what it proposes before a reinstallation, a restore or a firewall change.
- The number of calls is limited per hour: 600 reads and 60 actions per account, and 3 heavy actions (reinstallation, restore, snapshot rollback, rescue mode) per VPS, up to 20 for the account. Beyond that, the assistant is told how long to wait. The state and metrics of a VPS are refreshed at most every 15 seconds.
- The texts you entered in the panel (comments, descriptions…) are flagged to the assistant as data, never as instructions.
- An OAuth authorisation renews itself; after 30 days without use, the assistant asks you to authorise it again.
- What the MCP returns to the assistant (list of VPS, metrics…) is passed on to its provider, which processes it under its own terms. The call history, for its part, never keeps the content of your requests.
- LWS will never ask you for your MCP token.