ispconfig-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ispconfig-mcplist all DNS zones"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ispconfig-mcp
MCP (Model Context Protocol) server for ISPConfig 3 — manage DNS zones, mail domains, websites, databases, FTP users, cron jobs, and more through AI assistants like Claude.
Features
DNS Management — zones, A/AAAA/CNAME/MX/NS/TXT/SRV/PTR records
Mail Management — domains, mailboxes, aliases, forwards, catchall, spamfilter
Site Management — web domains, subdomains, alias domains
Database Management — create/delete MySQL databases
FTP & Shell Users — create and manage access accounts
Cron Jobs — schedule and manage cron tasks
Client Management — create/update/delete ISPConfig clients
Server Info — query server details by ID or IP
Generic API Call — escape hatch for any of the ~246 ISPConfig API methods
Server Migration — export/import DNS zones, mail domains, websites, databases between ISPConfig instances
Related MCP server: ItchWHMMCP
Prerequisites
Node.js 18+
An ISPConfig 3 installation with the Remote API enabled
API user credentials (ISPConfig → System → Remote Users)
Installation
# Via npx (no install needed)
npx ispconfig-mcp
# Or install globally
npm install -g ispconfig-mcpConfiguration
Claude Code
claude mcp add ispconfig -- npx ispconfig-mcpThen set environment variables in your shell or .env:
export ISPCONFIG_URL="https://your-server:8080"
export ISPCONFIG_USER="api_user"
export ISPCONFIG_PASSWORD="your_password"
# Optional: skip TLS verification for self-signed certs
export ISPCONFIG_INSECURE="true"Claude Desktop / Cursor / Windsurf
Add to your MCP config file:
{
"mcpServers": {
"ispconfig": {
"command": "npx",
"args": ["-y", "ispconfig-mcp"],
"env": {
"ISPCONFIG_URL": "https://your-server:8080",
"ISPCONFIG_USER": "api_user",
"ISPCONFIG_PASSWORD": "your_password",
"ISPCONFIG_INSECURE": "true"
}
}
}
}ISPConfig Setup
Log into ISPConfig panel → System → Remote Users
Create a new remote user with API access
Select the functions you want to allow (or grant all)
Use these credentials as
ISPCONFIG_USER/ISPCONFIG_PASSWORD
Available Tools
DNS
Tool | Description |
| List all DNS zones |
| Get zone details by ID |
| Create a new zone |
| Update zone settings |
| Delete a zone |
| Get a record by type and ID |
| Add a DNS record (A, AAAA, CNAME, MX, TXT, etc.) |
| Update a DNS record |
| Delete a DNS record |
Tool | Description |
| List all mail domains |
| Get mail domain details |
| Create a mail domain |
| Delete a mail domain |
| Get mailbox details |
| Create a mailbox |
| Update mailbox settings |
| Delete a mailbox |
| Create a mail alias |
| Delete a mail alias |
| Create a mail forward |
| Delete a mail forward |
| Create a catchall |
| Add to spamfilter whitelist |
| Add to spamfilter blacklist |
Sites & Hosting
Tool | Description |
| List all websites |
| Get website details |
| Create a website |
| Update website settings |
| Delete a website |
| Create a subdomain |
| Delete a subdomain |
| Create an alias domain |
| List FTP users |
| Create an FTP user |
| Update FTP user |
| Delete an FTP user |
| Create a shell user |
| Delete a shell user |
| List databases |
| Create a database |
| Delete a database |
| List cron jobs |
| Create a cron job |
| Update a cron job |
| Delete a cron job |
Admin
Tool | Description |
| Get client details |
| Create a client |
| Update a client |
| Delete a client |
| Get server info |
| Find server by IP |
| Call any ISPConfig API method directly |
Migration
Tool | Description |
| Inventory all DNS/mail/sites on source — dry run, no changes |
| Export a DNS zone + all records as JSON bundle |
| Export a mail domain + mailboxes/aliases/forwards as JSON |
| Export a website + FTP/shell users/databases/cron as JSON |
| Export a client account + associated domains as JSON |
| Import a DNS zone bundle into destination instance |
| Import a mail domain bundle (config only — rsync maildir separately) |
| Import a website bundle (config only — rsync files separately) |
| Generate rsync/mysqldump commands for actual data transfer |
Migration Between Servers
The MCP supports migrating accounts between ISPConfig instances. The workflow:
Plan —
migrate_planinventories everything on the sourceExport —
migrate_export_*dumps config as portable JSON bundlesImport —
migrate_import_*recreates config on the destinationData —
migrate_data_commandsgenerates rsync/mysqldump commands for actual files/mail/databases
Migration Config
For direct source→destination migration, configure both instances:
{
"mcpServers": {
"ispconfig": {
"command": "npx",
"args": ["-y", "ispconfig-mcp"],
"env": {
"ISPCONFIG_URL": "https://old-server:8080",
"ISPCONFIG_USER": "api_user",
"ISPCONFIG_PASSWORD": "password",
"ISPCONFIG_DEST_URL": "https://new-server:8080",
"ISPCONFIG_DEST_USER": "api_user",
"ISPCONFIG_DEST_PASSWORD": "password",
"ISPCONFIG_INSECURE": "true"
}
}
}
}Without ISPCONFIG_DEST_URL, export tools still work — you can save the JSON and import later.
What gets migrated (config)
DNS zones + all record types
Mail domains + mailboxes + aliases + forwards + catchall
Web domains + subdomains + alias domains
FTP and shell users
Database definitions
Cron jobs
Client accounts
What needs manual transfer (data)
The ISPConfig API manages configuration, not file data. These must be transferred separately:
Mail spools —
rsync /var/vmail/domain/Website files —
rsync /var/www/domain/Database content —
mysqldump/pg_dump
The migrate_data_commands tool generates the exact commands needed.
Example Prompts
Once connected, you can ask your AI assistant things like:
"List all DNS zones on my server"
"Add an A record for app.example.com pointing to 1.2.3.4"
"Create a mailbox info@example.com with 1GB quota"
"Add a mail forward from sales@example.com to team@example.com"
"Show me all websites and their domains"
"Create a cron job that runs /usr/local/bin/backup.sh every night at 2am"
"Find all zones missing SPF records"
"Export everything from the old server and show me a migration plan"
"Migrate the DNS zone for example.com to the new server"
"What rsync commands do I need to transfer mail data for example.com?"
Development
git clone https://github.com/DayZAnder/ispconfig-mcp.git
cd ispconfig-mcp
npm install
npm run buildLicense
BSD 3-Clause — same license as ISPConfig 3.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/DayZAnder/ispconfig-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server