项目简介
CockroachDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够安全有效地访问和操作 CockroachDB 数据库。它通过 MCP 协议向 LLM 客户端提供标准化的接口,允许 LLM 查询数据库信息、执行 SQL 语句以及获取集群元数据。
主要功能点
- 资源 (Resources):
- 获取数据库列表和详细信息。
- 获取数据表的 Schema 信息。
- 获取 CockroachDB 集群节点元数据(需要认证 Token)。
- 工具 (Tools):
- 执行 SQL 查询,并支持 'EXPLAIN ANALYZE' 分析查询计划。
安装步骤
- 克隆仓库:
git clone https://github.com/dhartunian/cockroachdb-mcp-server cd cockroachdb-mcp-server - 安装依赖:
pnpm install - 构建项目:
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 集群中所有节点的信息"
信息
分类
数据库与文件