Severalnines CCX MCP Server

Manage CCX database clusters through AI assistants

README.md

@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"
      }
    }
  }
}

Alternative: install as a project dependency

If npx causes issues (e.g. spawning errors or version caching problems), you can install the package as a dependency and reference it directly:

npm install @severalnines/ccx-mcp

Then use this configuration:

{
  "mcpServers": {
    "ccx": {
      "command": "node",
      "args": ["node_modules/@severalnines/ccx-mcp/build/index.js"],
      "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 Client Config 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?"
  • "List the default parameters for PostgreSQL 16"
  • "Create a parameter group for MySQL 8.4 with max_connections set to 500"

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

Tool Description
ccx_list_datastores List all database clusters with status, vendor, and cloud provider
ccx_get_datastore Get detailed cluster info including credentials and job progress
ccx_create_datastore Create a new cluster (only vendor, cloud provider, and region required)
ccx_delete_datastore Delete a cluster (requires explicit confirmation)
ccx_get_nodes Get cluster nodes with roles, status, and IP addresses
ccx_get_connection_string Connection strings in URI, CLI, JDBC, and env formats
ccx_scale_datastore Scale instance size (CPU/RAM) or expand storage volume
ccx_add_node Add a new replica node to a cluster

Cloud & Plans

Tool Description
ccx_list_clouds List available cloud providers and regions
ccx_list_plans List instance sizes, volume types, a

Tools 10

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
ccx_delete_datastoreDelete a cluster
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 or expand storage volume
ccx_add_nodeAdd a new replica node to a cluster
ccx_list_cloudsList available cloud providers and regions
ccx_list_plansList instance sizes and volume types

Environment Variables

CCX_BASE_URLrequiredThe URL of your CCX deployment
CCX_USERNAMEYour CCX account email
CCX_PASSWORDYour CCX account password
CCX_CLIENT_IDOAuth2 client ID
CCX_CLIENT_SECRETOAuth2 client secret

Try it

List my datastores
Create a PostgreSQL cluster on AWS in eu-west-1
Get the connection string for my production database
Scale my cluster to a medium instance
What's the CPU usage on my database?

Frequently Asked Questions

What are the key features of Severalnines CCX?

Manage database clusters including creation, scaling, and deletion. Retrieve connection strings in multiple formats. Monitor database performance and node status. Manage database users and firewall rules. List available cloud providers, regions, and instance plans.

What can I use Severalnines CCX for?

Automating database cluster provisioning via natural language. Quickly retrieving connection strings for development environments. Scaling database resources during peak traffic periods. Monitoring cluster health and node status without leaving the IDE.

How do I install Severalnines CCX?

Install Severalnines CCX by running: npx -y @severalnines/ccx-mcp

What MCP clients work with Severalnines CCX?

Severalnines CCX works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep Severalnines CCX docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest