返回市场
<中文翻译>
cockroachdb-mcp-服务器

<中文翻译> cockroachdb-mcp-服务器

作者:dhartunian4 星标更新:2025-02-26

项目介绍

CockroachDB MCP 服务器

此 MCP 服务器连接到一个 CockroachDB 实例,将数据库和表模式作为资源公开,并运行 SQL 查询作为工具,提供查询分析提示。

功能

资源

  • postgres://{host}/databases/{database} - 获取特定数据库的信息
  • postgres://{host}/databases/{database}/tables/{table}/schema - 获取特定表的模式
  • postgres://{host}/cluster-metadata/{resource} - 获取集群元数据(需要认证令牌)
    • 当前支持:nodes - 集群节点信息

工具

  • query - 执行带有执行计划分析选项的 SQL 查询

安装

  1. 克隆此仓库
  2. 安装依赖项:
    pnpm install
    
  3. 构建项目:
    npx tsc
    

注意: 在本地使用 MCP 服务器之前,必须使用 tsc 构建项目。

配置

服务器需要一个数据库 URL 作为命令行参数,并可选地接受一个认证令牌以访问管理界面端点:

node dist/server.js postgres://user:password@host:port/database [auth_token]

认证令牌是访问集群元数据资源所必需的。

使用与 Claude for Desktop

  1. 打开您的 Claude for Desktop 应用程序配置:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加您的服务器配置:

{
  "mcpServers": {
    "cockroachdb": {
      "command": "node",
      "args": [
        "/path/to/cockroachdb-mcp-server/dist/server.js", 
        "postgres://user:password@host:port/database",
        "your_auth_token"
      ]
    }
  }
}
  1. 重启 Claude for Desktop

使用与 Cline

  1. 从扩展设置中的“MCP 服务器”打开您的 Cline 配置文件。选择“配置 MCP 服务器”。

  2. 添加您的服务器配置:

{
  "mcpServers": {
    "crdb": {
      "command": "node",
      "args": [
        "/path/to/cockroachdb-mcp-server/dist/server.js",
        "postgres://root@127.0.0.1:26257/testdb",
        "your_auth_token"
      ]
    }
  }
}
  1. 重启 Cline 或启动新会话

示例查询

这里是一些您可以询问 Claude 的示例查询:

  1. “我的 CockroachDB 实例中有哪些可用的数据库?”
  2. “能否显示 'testdb' 数据库中 'users' 表的模式?”
  3. “在我的数据库上运行此查询:SELECT * FROM users LIMIT 10”
  4. “调试此查询并提出改进建议:SELECT * FROM orders WHERE customer_id = 123”
  5. “显示我 CockroachDB 集群中所有节点的信息”

安全注意事项

  • 配置数据库访问时要小心。如果您只需要查询数据,请考虑使用只读用户进行连接。
  • 认证令牌用于访问 CockroachDB 管理界面 API。确保此令牌的安全性。

故障排除

  • 如果遇到连接问题,请验证您的数据库凭据,并确保 CockroachDB 实例可以从您的机器访问。
  • 对于 SQL 错误,请检查服务器日志以获取详细的错误消息。
  • 如果 Claude 无法看到服务器,请验证配置文件是否正确格式化且 server.js 文件路径正确。
  • 对于集群元数据资源,请确保您已提供了有效的认证令牌并且管理界面可以在 8080 端口访问。