blog
AI-Assisted Production Database Ops with ClusterControl MCP and CCX MCP
In December, we introduced how Model Context Protocol could make ClusterControl easier to work with from AI assistants. Since then, Severalnines has expanded that MCP direction across its database operations platforms with ClusterControl MCP and CCX MCP.
The latest ClusterControl MCP is the major update, providing a more robust implementation with 69 tools and 20 MCP resources / templates for production database operations across ClusterControl-managed environments. CCX MCP is the companion MCP server for CCX, bringing AI-assisted workflows to managed cloud database operations.
Together, they give Severalnines users a practical way to inspect, troubleshoot, and act on database infrastructure from MCP-compatible clients such as Claude Desktop, Claude Code, OpenAI Codex, and other tools that support MCP.
What is new in ClusterControl MCP?
ClusterControl MCP 1.0 moves beyond the earlier MCP concept and provides broader coverage across daily database operations. You can ask questions such as:
- “List all my database clusters and their status.”
- “Show me the topology of cluster 2.”
- “Are there any active alarms across all clusters?”
- “What backup jobs have run on cluster 3?”
- “Show me the top queries by wait time on cluster 1.”
- “Are there any tables without primary keys?”
- “Show me recent transaction deadlocks.”
- “List the log files collected from cluster 1.”
- “Who made changes to cluster 3 in the last hour?”
You can also prepare actions such as:
- “Run a backup on cluster 1 right now.”
- “Create a nightly backup schedule at 02:00.”
- “Put db1.example.com into maintenance from 22:00 to 23:00 UTC.”
- “Create a read-only database user for reporting.”
- “Set max_connections to 500 on db1.example.com.”
- “Restore backup #42 to cluster 1.”
Write operations use a dry-run-first model. The assistant describes what would happen before anything is executed, and high-risk operations include extra warnings.
Example: move from alarm to evidence faster
A common operational flow starts with a broad question:
“Are there any active alarms across all clusters?”
From there, you can drill down:
- “Show me alarms for cluster 3.”
- “Show me the CMON log for cluster 3 from the last hour.”
- “Summarize the warnings by component and hostname.”
That is where the 1.0 implementation becomes useful. It is not just returning a static dashboard view. It can help you move across related operational data: alarms, jobs, CMON controller logs, database server logs, topology, backup history, maintenance windows, and audit events.
Example: inspect and manage backups conversationally
Backups are another area where ClusterControl MCP 1.0 adds practical coverage. You can ask:
- “When was the last successful backup on my MongoDB cluster?”
- “Show me only failed backups on cluster 1.”
- “Does cluster 1 have a backup schedule configured?”
And then prepare a change:
“Create a nightly backup schedule at 02:00 on cluster 1 using xtrabackup.”
The assistant first returns a dry-run preview. Only after confirmation does it execute the change.
Installing ClusterControl MCP
ClusterControl MCP packages are published through the Severalnines repository alongside other ClusterControl components.
Debian / Ubuntu:
apt-get install clustercontrol-mcp
RHEL / Rocky / AlmaLinux:
yum install clustercontrol-mcp
The binary installs to:
/usr/bin/cmon-mcp
The package also installs:
/etc/systemd/system/cmon-mcp.service
/etc/default/cmon-mcp
Setting up ClusterControl MCP in stdio mode
First, we’ll start with stdio mode for when the AI client runs the MCP server locally, such as Claude Desktop or Claude Code.
Claude Desktop configuration:
{
"mcpServers": {
"clustercontrol": {
"command": "cmon-mcp",
"env": {
"CMON_ENDPOINT": "https://your-cc-host:9501",
"CMON_USERNAME": "admin",
"CMON_PASSWORD": "your-password"
}
}
}
}
Restart Claude Desktop. The hammer icon confirms that the MCP server loaded.
For Claude Code:
claude mcp add clustercontrol -- cmon-mcp \
-endpoint https://your-cc-host:9501 \
-username admin \
-password your-password
Setting up ClusterControl MCP in HTTP mode
Use HTTP mode for OpenAI Codex, team access, or multi-client access. Edit:
/etc/default/cmon-mcp
Example:
CMON_ENDPOINT=https://127.0.0.1:9501
CMON_USERNAME=admin
CMON_KEY_FILE=/etc/clustercontrol/id_rsa
MCP_BIND_ADDRESS=0.0.0.0:3000
MCP_BASE_URL=http://your-cc-host:3000
MCP_AUTH_TOKEN=<your-strong-random-token>
Generate a strong token:
openssl rand -hex 32
Restart the service:
systemctl restart cmon-mcp
journalctl -u cmon-mcp -n 20
Connect OpenAI Codex:
codex --mcp-server-uri http://your-cc-host:3000/mcp \
--mcp-header "Authorization: Bearer <your-token>"
Connect Claude Code over SSE:
claude mcp add clustercontrol --transport sse http://your-cc-host:3000/sse \
--header "Authorization: Bearer <your-token>"
Connect Claude Desktop over SSE:
{
"mcpServers": {
"clustercontrol": {
"type": "sse",
"url": "http://your-cc-host:3000/sse",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
CCX MCP: AI-Assisted Workflows for CCX
As noted upfront, CCX MCP brings the MCP-based workflow to Severalnines users running managed cloud databases in CCX. It lets MCP-compatible AI clients interact with CCX datastores, cloud providers, plans, databases, users, firewall rules, backups, parameter groups, and performance data.
Typical prompts include:
- “List my datastores.”
- “Create a PostgreSQL cluster.”
- “Get the connection string for my production database.”
- “Add 10.0.0.0/24 as a trusted source.”
- “Show me the slowest queries.”
- “List available backups for this datastore.”
CCX MCP supports PostgreSQL, MySQL / Percona, MariaDB, Redis, Valkey, and Microsoft SQL Server. It also includes protection behavior for destructive operations, which are blocked by default unless protection is explicitly disabled.
Installing and setting up CCX MCP
CCX MCP can be installed from npm:
npm install @severalnines/ccx-mcp
Or used directly through npx in your MCP client configuration:
{
"mcpServers": {
"ccx": {
"command": "npx",
"args": ["-y", "@severalnines/ccx-mcp"],
"env": {
"CCX_BASE_URL": "https://app.myccx.io",
"CCX_USERNAME": "[email protected]",
"CCX_PASSWORD": "your-password"
}
}
}
}
OAuth2 is also supported:
{
"CCX_CLIENT_ID": "your-client-id",
"CCX_CLIENT_SECRET": "your-client-secret"
}
Claude Code
For Claude Code, register the CCX MCP server in one command. No manual config file editing is required:
claude mcp add ccx -- npx -y @severalnines/ccx-mcp@latest \
--endpoint https://app.myccx.io \
--client-id <your-client-id> \
--client-secret <your-client-secret>
Create OAuth2 credentials in the CCX UI under Account > Security.
Then restart Claude Code, or run /mcp and reconnect. After that, you are ready to start using CCX MCP from your Claude Code session.
Wrapping up
The original ClusterControl MCP work showed how AI assistants could become useful in database operations when connected to the right operational context. The latest version makes that idea much more complete, providing a broader and safer operational interface across clusters, jobs, alarms, backups, logs, performance, users, maintenance, audit, and configuration. Go here for more information on how it works and detailed documentation.
For CCX and service provider users, CCX MCP provides the companion interface for managed cloud database operations. Together, they give database teams a practical way to use AI where it matters: inside real operational workflows, with context, control, and safety.