MCP Hub
Back to servers

Severalnines CCX MCP Server

Enables management of CCX database clusters through AI assistants, supporting operations such as datastore creation, scaling, and performance monitoring. It provides a comprehensive toolset for handling backups, database users, and firewall rules across various database engines including PostgreSQL, MySQL, and Redis.

Updated
Mar 1, 2026

@severalnines/ccx-mcp

MCP (Model Context Protocol) server for managing CCX database clusters through AI assistants like Claude Code, Claude Desktop, Cursor, and Windsurf.

Quick Start

Install from npm

Add this to your MCP client configuration:

{
  "mcpServers": {
    "ccx": {
      "command": "npx",
      "args": ["-y", "@severalnines/ccx-mcp"],
      "env": {
        "CCX_BASE_URL": "https://app.myccx.io",
        "CCX_USERNAME": "your-email@example.com",
        "CCX_PASSWORD": "your-password"
      }
    }
  }
}

Install from source

git clone https://github.com/severalnines/ccx-mcp.git
cd ccx-mcp
npm install
npm run build

Then point your MCP client to the built server (replace the path with where you cloned the repo):

{
  "mcpServers": {
    "ccx": {
      "command": "node",
      "args": ["/home/user/ccx-mcp/build/index.js"],
      "env": {
        "CCX_BASE_URL": "https://app.myccx.io",
        "CCX_USERNAME": "your-email@example.com",
        "CCX_PASSWORD": "your-password"
      }
    }
  }
}

Or use OAUTH2 credentials (create them under Accounts -> Security in the CCX UI):

    "CCX_CLIENT_ID": "your-client-id",
    "CCX_CLIENT_SECRET": "your-client-secret"

Where to put the configuration

MCP ClientConfig file
Claude Code.mcp.json in your project root, or ~/.claude/.mcp.json for global
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
Cursor.cursor/mcp.json in your project root
Windsurf~/.codeium/windsurf/mcp_config.json

CCX_BASE_URL

This is the URL of your CCX deployment. If you're using the hosted CCX service, it's typically https://app.myccx.io. If you're running a self-hosted CCX instance, use its URL instead.

Using OAuth2 instead of password

Replace CCX_USERNAME and CCX_PASSWORD with CCX_CLIENT_ID and CCX_CLIENT_SECRET:

{
  "mcpServers": {
    "ccx": {
      "command": "npx",
      "args": ["-y", "@severalnines/ccx-mcp"],
      "env": {
        "CCX_BASE_URL": "https://app.myccx.io",
        "CCX_CLIENT_ID": "your-client-id",
        "CCX_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

You can create OAuth2 credentials in the CCX UI under Account > Security.

Then ask your AI assistant things like:

  • "List my datastores"
  • "Create a PostgreSQL cluster on AWS in eu-west-1"
  • "Get the connection string for my production database"
  • "Add 10.0.0.0/24 as a trusted source on my cluster"
  • "Create a new database user called appuser"
  • "Scale my cluster to a medium instance"
  • "Show me the slowest queries on my database"
  • "List backups for my production cluster"
  • "What's the CPU usage on my database?"

Authentication

Password Auth

Set CCX_USERNAME and CCX_PASSWORD:

{
  "env": {
    "CCX_BASE_URL": "https://app.myccx.io",
    "CCX_USERNAME": "your-email@example.com",
    "CCX_PASSWORD": "your-password"
  }
}

OAuth2 (Client Credentials)

For programmatic or CI/CD use, set CCX_CLIENT_ID and CCX_CLIENT_SECRET instead:

{
  "env": {
    "CCX_BASE_URL": "https://app.myccx.io",
    "CCX_CLIENT_ID": "your-client-id",
    "CCX_CLIENT_SECRET": "your-client-secret"
  }
}

Available Tools

Datastore Management

ToolDescription
ccx_list_datastoresList all database clusters with status, vendor, and cloud provider
ccx_get_datastoreGet detailed cluster info including credentials and job progress
ccx_create_datastoreCreate a new cluster (only vendor, cloud provider, and region required)
ccx_delete_datastoreDelete a cluster (requires explicit confirmation)
ccx_get_nodesGet cluster nodes with roles, status, and IP addresses
ccx_get_connection_stringConnection strings in URI, CLI, JDBC, and env formats
ccx_scale_datastoreScale instance size (CPU/RAM) or expand storage volume
ccx_add_nodeAdd a new replica node to a cluster

Cloud & Plans

ToolDescription
ccx_list_cloudsList available cloud providers and regions
ccx_list_plansList instance sizes, volume types, and sizes per cloud

Database Management

ToolDescription
ccx_list_databasesList databases on a datastore
ccx_create_databaseCreate a new database
ccx_delete_databaseDelete a database

Database Users

ToolDescription
ccx_list_db_usersList database users with grants and auth plugins
ccx_create_db_userCreate a user with configurable privileges, host, and admin flag
ccx_delete_db_userDelete a database user

Firewall / Trusted Sources

ToolDescription
ccx_list_firewall_rulesList trusted source CIDRs and allowed ports
ccx_create_firewall_ruleAllow a CIDR to connect to the database
ccx_delete_firewall_ruleRemove a trusted source CIDR

Backups & Recovery

ToolDescription
ccx_list_backupsList available backups with status, type, and timestamps
ccx_restore_backupRestore from a backup with optional point-in-time recovery

Monitoring & Performance

ToolDescription
ccx_get_top_queriesGet slowest queries ranked by execution time
ccx_get_statsGet performance metrics (CPU, memory, disk, network, SQL, DB stats)

Protection Mode

Destructive operations are blocked by default to prevent accidental data loss. The following tools are affected:

  • ccx_delete_datastore — deletes an entire database cluster
  • ccx_delete_db_user — deletes a database user account
  • ccx_delete_database — deletes a database
  • ccx_delete_firewall_rule — removes a firewall access rule
  • ccx_restore_backup — overwrites current data with a backup

To allow destructive operations, set CCX_PROTECT=false in your MCP configuration and restart the server:

{
  "env": {
    "CCX_PROTECT": "false"
  }
}

Supported Databases

  • PostgreSQL
  • MySQL / Percona
  • MariaDB
  • Redis
  • Valkey
  • Microsoft SQL Server

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Watch mode
npm run test:watch

Requirements

License

Apache-2.0

Reviews

No reviews yet

Sign in to write a review