使用说明
CockroachDB MCP服务器
这是一个用于Cursor的CockroachDB MCP服务器,基于模型上下文协议(MCP)规范实现,允许您直接与Cursor中的Cockroach DB数据库交互。
特性
- 连接到CockroachDB数据库
- 从数据库中获取所有表
- 获取表结构信息
- 执行SQL查询
- 提供数据库状态资源
- 提供SQL查询模板
- 自动重新连接机制,确保连接稳定性
- 连接保持活动机制,防止连接超时
- 优雅的流程出口处理
- 用于故障排除的详细日志记录
- 支持手动断开连接
安装
通过Smithery安装
通过以下方式自动为Claude Desktop安装CockroachDB MCP服务器 史密瑟里:
npx -y @smithery/cli install @Swayingleaves/cockroachdb-mcp-server --client claude
- 克隆存储库并进入项目目录
- 安装依赖项:
pip install -r requirements.txt
- 安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
在游标中使用
{
"mcpServers": {
"cockroachdb-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/local/cockroachdb-mcp",
"run",
"server.py"
],
"jdbc_url": "jdbc:postgresql://localhost:26257/defaultdb",
"username": "root",
"password": "root"
}
}
}
MCP功能说明
工具
connect_database
连接到CockroachDB数据库。
参数:
jdbc_url:JDBC连接URL(例如JDBC:postgresql://localhost:26257/defaultdb)username:数据库用户名password:数据库密码
初始化连接
初始化数据库连接,可以在连接到MCP服务器后立即调用以建立数据库连接。
参数:
jdbc_url:JDBC连接URL(例如JDBC:postgresql://localhost:26257/defaultdb)username:数据库用户名password:数据库密码
断开连接_数据库
手动断开与数据库的连接。
没有参数。
get_tables
从数据库中获取所有表。
没有参数。
get_table_schema
获取指定表的结构信息。
参数:
table_name:表名称
execute_query
执行SQL查询。
参数:
query:SQL查询语句
资源
db://状态
获取数据库连接状态。
退货:
- 未连接时:
"Not connected" - 连接时:
"Connected - [Database version]" - 连接错误时:
"Connection error - [Error message]"
鼓励
sql_query_template
SQL查询模板,帮助用户编写SQL查询。
日志
服务器日志保存在 logs/cockroachdb_mcp.log 文件。您可以检查此文件以了解服务器的运行状态和详细日志。
日志文件使用旋转日志机制,每个日志文件的最大大小为10MB,最多保留5个备份文件,以防止磁盘空间过度使用。
特殊字符处理
此服务器使用psycopg2直接连接到CockroachDB数据库,该数据库自动处理用户名和密码中的特殊字符,而无需额外的URL编码。这确保了即使密码包含特殊字符(如 @, %, &等等)。
TCP保持活动设置
默认情况下,服务器配置了TCP保持活动机制,以防止连接因长时间不活动而关闭:
keepalives=1:启用TCP保活keepalives_idle=30:空闲30秒后发送keepalivekeepalives_interval=10:每10秒发送一次keepalivekeepalives_count=5:尝试5次后放弃
故障排除
如果您遇到问题,请检查日志文件 logs/cockroachdb_mcp.log,这将帮助您了解服务器的运行状态和潜在问题。
常见问题
- 连接被拒绝:确保CockroachDB服务器正在运行,并且可以从您的计算机访问。
- 认证失败:检查用户名和密码是否正确。
- 连接超时:检查网络连接是否稳定,特别是在连接到远程数据库时。
- 数据库服务器问题:检查CockroachDB服务器是否正常运行。