@几种碱/ccx-mcp
用于管理的MCP(模型上下文协议)服务器 指挥通信演习 通过Claude Code、Claude Desktop、Cursor和Windsurf等人工智能助手对数据库进行集群。
快速开始
从npm安装
将此添加到MCP客户端配置中:
{
"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"
}
}
}
}替代方案:作为项目依赖项安装
如果 npx 导致问题(例如生成错误或版本缓存问题),您可以将包作为依赖项安装并直接引用它:
npm install @severalnines/ccx-mcp然后使用此配置:
{
"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"
}
}
}
}从源代码安装
git clone https://github.com/severalnines/ccx-mcp.git
cd ccx-mcp
npm install
npm run build然后将您的MCP客户端指向构建的服务器(将路径替换为您克隆仓库的位置):
{
"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"
}
}
}
}或者使用OAUTH2凭据(在CCX UI的“帐户”->“安全”下创建它们):
"CCX_CLIENT_ID": "your-client-id",
"CCX_CLIENT_SECRET": "your-client-secret"配置放在哪里
| MCP客户端 | 配置文件 |
|---|---|
| 克劳德代码 | .mcp.json 在项目根目录中,或 ~/.claude/.mcp.json 全球 |
| 克劳德桌面 | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) |
| 光标 | .cursor/mcp.json 在项目根目录中 |
| 风帆冲浪 | ~/.codeium/windsurf/mcp_config.json |
CCX_BASE_URL
这是您的CCX部署的URL。如果您正在使用托管的CCX服务,它通常 https://app.myccx.io。如果您正在运行自托管CCX实例,请使用其URL。
使用OAuth2而不是密码
替换 CCX_USERNAME 和 CCX_PASSWORD 随着 CCX_CLIENT_ID 和 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"
}
}
}
}您可以在CCX UI中创建OAuth2凭据 账户>安全.
然后问你的AI助手一些事情,比如:
- “列出我的数据存储”
- “在eu-west-1中在AWS上创建PostgreSQL集群”
- “获取我的生产数据库的连接字符串”
- “将10.0.0.0/24添加为我集群上的可信源”
- “创建一个名为appuser的新数据库用户”
- “将我的集群扩展到中等实例”
- “显示数据库中最慢的查询”
- “列出我的生产群集的备份”
- “我的数据库的CPU使用率是多少?”
- “列出PostgreSQL 16的默认参数”
- “为MySQL 8.4创建一个参数组,max_connections设置为500”
认证
密码验证
集 CCX_USERNAME 和 CCX_PASSWORD:
{
"env": {
"CCX_BASE_URL": "https://app.myccx.io",
"CCX_USERNAME": "your-email@example.com",
"CCX_PASSWORD": "your-password"
}
}OAuth2(客户端凭据)
对于编程或CI/CD使用,请设置 CCX_CLIENT_ID 和 CCX_CLIENT_SECRET 相反:
{
"env": {
"CCX_BASE_URL": "https://app.myccx.io",
"CCX_CLIENT_ID": "your-client-id",
"CCX_CLIENT_SECRET": "your-client-secret"
}
}可用工具
数据存储管理
| 工具 | 说明 |
|---|---|
ccx_list_datastores | 列出所有数据库集群及其状态、供应商和云提供商 |
ccx_get_datastore | 获取详细的群集信息,包括凭据和作业进度 |
ccx_create_datastore | 创建新集群(只需要供应商、云提供商和地区) |
ccx_delete_datastore | 删除集群(需要明确确认) |
ccx_get_nodes | 获取具有角色、状态和IP地址的群集节点 |
ccx_get_connection_string | URI、CLI、JDBC和env格式的连接字符串 |
ccx_scale_datastore | 缩放实例大小(CPU/RAM)或扩展存储容量 |
ccx_add_node | 向群集中添加新的副本节点 |
云和计划
| 工具 | 说明 |
|---|---|
ccx_list_clouds | 列出可用的云提供商和地区 |
ccx_list_plans | 列出实例大小、卷类型和每个云的大小 |
数据库管理
| 工具 | 说明 |
|---|---|
ccx_list_databases | 列出数据存储上的数据库 |
ccx_create_database | 创建新数据库 |
ccx_delete_database | 删除数据库 |
数据库用户
| 工具 | 说明 |
|---|---|
ccx_list_db_users | 列出具有授权和身份验证插件的数据库用户 |
ccx_create_db_user | 创建具有可配置权限、主机和管理员标志的用户 |
ccx_delete_db_user | 删除数据库用户 |
防火墙/可信来源
| 工具 | 说明 |
|---|---|
ccx_list_firewall_rules | 列出受信任的源CIDR和允许的端口 |
ccx_create_firewall_rule | 允许CIDR连接到数据库 |
ccx_delete_firewall_rule | 删除受信任的源CIDR |
备份和恢复
| 工具 | 说明 |
|---|---|
ccx_list_backups | 列出可用备份的状态、类型和时间戳 |
ccx_restore_backup | 使用可选的时间点恢复从备份还原 |
参数组
| 工具 | 说明 |
|---|---|
ccx_list_parameter_groups | 按供应商、版本或名称列出可选筛选的参数组 |
ccx_get_parameter_group | 获取一个包含完整参数列表的参数组 |
ccx_create_parameter_group | 使用自定义数据库配置创建新的参数组 |
ccx_update_parameter_group | 更新参数,可选择将更改同步到所有相关数据存储 |
ccx_delete_parameter_group | 删除参数组(需要明确确认) |
ccx_apply_parameter_group | 将参数组应用于数据存储 |
ccx_list_default_parameters | 获取供应商和版本的默认参数以查看可用选项 |
监控和性能
| 工具 | 说明 |
|---|---|
ccx_get_top_queries | 获取按执行时间排列的最慢查询 |
ccx_get_stats | 获取性能指标(CPU、内存、磁盘、网络、SQL、数据库统计数据) |
保护模式
破坏性行动是 默认情况下被阻止 以防止意外数据丢失。以下工具受到影响:
ccx_delete_datastore--删除整个数据库群集ccx_delete_db_user--删除数据库用户帐户ccx_delete_database--删除数据库ccx_delete_firewall_rule--删除防火墙访问规则ccx_restore_backup--用备份覆盖当前数据ccx_delete_parameter_group--删除参数组ccx_apply_parameter_group--将配置更改应用于数据存储
要允许破坏性操作,请设置 CCX_PROTECT=false 在MCP配置中,重新启动服务器:
{
"env": {
"CCX_PROTECT": "false"
}
}支持的数据库
- PostgreSQL
- MySQL/Percona
- MariaDB
- 瑞迪斯
- 瓦尔基
- Microsoft SQL Server
发展
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Watch mode
npm run test:watch需求
- Node.js 18+
- CCX帐户位于 ccx.severalnines.com
许可证
阿帕奇-2.0
