项目简介

CockroachDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够安全有效地访问和操作 CockroachDB 数据库。它通过 MCP 协议向 LLM 客户端提供标准化的接口,允许 LLM 查询数据库信息、执行 SQL 语句以及获取集群元数据。

主要功能点

  • 资源 (Resources):
    • 获取数据库列表和详细信息。
    • 获取数据表的 Schema 信息。
    • 获取 CockroachDB 集群节点元数据(需要认证 Token)。
  • 工具 (Tools):
    • 执行 SQL 查询,并支持 'EXPLAIN ANALYZE' 分析查询计划。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/dhartunian/cockroachdb-mcp-server
    cd cockroachdb-mcp-server
  2. 安装依赖:
    pnpm install
  3. 构建项目:
    npx tsc

服务器配置

要将 CockroachDB MCP Server 与 MCP 客户端(如 Claude for Desktop 或 Cline)配合使用,您需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。请根据您的实际情况修改 'command' 和 'args' 中的参数。

{
  "mcpServers": {
    "cockroachdb": {  // MCP 服务器的名称,可以自定义
      "command": "node",  // 启动服务器的命令,这里使用 Node.js 运行 server.js
      "args": [
        "/path/to/cockroachdb-mcp-server/dist/server.js",  // server.js 文件的绝对路径,请替换为您的实际路径
        "postgres://user:password@host:port/database",  // CockroachDB 数据库连接 URL,请替换为您的数据库连接信息
        "your_auth_token"  // (可选) CockroachDB 管理 UI 的认证 Token,如果需要访问集群元数据资源则需要提供
      ]
    }
  }
}

参数说明:

  • 'command': 启动 MCP 服务器的命令,通常为 'node'。
  • 'args': 传递给 'command' 的参数列表,包括:
    • 'server.js' 文件的路径:指向编译后的 'server.js' 文件。
    • 数据库连接 URL:用于连接 CockroachDB 数据库的 URL,例如 'postgres://[email protected]:26257/defaultdb'。
    • 认证 Token (可选):用于访问 CockroachDB 集群元数据资源的认证 Token。如果不需要访问集群元数据,可以省略此参数。

基本使用方法

配置完成后,您可以在 MCP 客户端中通过自然语言指令与 CockroachDB 数据库进行交互。例如,您可以向 Claude 或 Cline 提出以下问题:

  • "我的 CockroachDB 实例中有哪些数据库?"
  • "请显示 'testdb' 数据库中 'users' 表的 schema。"
  • "在我的数据库上运行这个查询:SELECT * FROM users LIMIT 10"
  • "分析并改进这个查询:SELECT * FROM orders WHERE customer_id = 123"
  • "显示 CockroachDB 集群中所有节点的信息"

信息

分类

数据库与文件