数据库连接服务

一个基于模型上下文协议(MCP)规范的CockroachDB数据库连接服务,支持在Cursor中直接与CockroachDB数据库交互。

  • by Swayingleaves
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 swayingleaves/cockroachdb-mcp-server

使用说明

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
  1. 克隆存储库并进入项目目录
  2. 安装依赖项:
pip install -r requirements.txt
  1. 安装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秒后发送keepalive
  • keepalives_interval=10:每10秒发送一次keepalive
  • keepalives_count=5:尝试5次后放弃

故障排除

如果您遇到问题,请检查日志文件 logs/cockroachdb_mcp.log,这将帮助您了解服务器的运行状态和潜在问题。

常见问题

  1. 连接被拒绝:确保CockroachDB服务器正在运行,并且可以从您的计算机访问。
  2. 认证失败:检查用户名和密码是否正确。
  3. 连接超时:检查网络连接是否稳定,特别是在连接到远程数据库时。
  4. 数据库服务器问题:检查CockroachDB服务器是否正常运行。