Token导航 LogoToken导航TokenDH.com
MCP Rethinkdb Server logo
数据服务stdio官方级别未说明来源级核验

MCP Rethinkdb Server

MCP Server

一个基于Model Context Protocol (MCP)的服务,提供对RethinkDB数据库的查询、探索和写入功能,支持多种查询工具和安全连接。

工具数

9

提示词数

0

GitHub Stars

1

资源数

0
数据分析数据操作GoClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

finnng

提供方

finnng

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -e RETHINKDB_HOST=host.docker.internal finn13/mcp-rethinkdb-server

详细介绍

MCP RethinkDB服务器

![License: MIT](https://opensource.org/licenses/MIT) ](https://golang.org/dl/) ![MCP](https://modelcontextprotocol.io/) ](https://hub.docker.com/r/finn13/mcp-rethinkdb-server)

一种模型上下文协议(MCP)服务器,提供对RethinkDB数据库的访问。该服务器使Claude等AI助手能够查询、探索和写入RethinkDB数据。

特性

  • 九种可用工具:

- list_databases -列出所有数据库 - list_tables -列出数据库中的表 - query_table -使用过滤、排序、限制和执行时间查询数据 - table_info -获取表元数据(主键、索引、文档计数) - write_data -插入、更新、追加销售或删除文档 - aggregate -计数、总和、平均值、最小值、最大值和组聚合 - advanced_query -eq_join、between、contains和map操作 - schema_inspector -从采样文档推断字段类型和关系 - index_info -查看二级索引详细信息和状态

  • 易于集成 使用Claude Desktop和其他MCP客户端
  • 安全连接 支持用户名/密码身份验证
  • Docker支持 -Docker Hub上提供预构建映像

先决条件

  • 达到1.23或更高 - 下载Go (从源头建设)
  • RethinkDB -正在运行的实例(本地或远程)

- RethinkDB安装指南 - 默认连接: localhost:28015

  • MCP客户端 (测试可选):

- 克劳德桌面应用程序,或 - MCP检查员: npx @modelcontextprotocol/inspector

安装

选项1:使用Docker(推荐)

docker pull finn13/mcp-rethinkdb-server

# Run with default settings (connects to localhost:28015)
docker run -e RETHINKDB_HOST=host.docker.internal finn13/mcp-rethinkdb-server

# Run with custom settings
docker run \
  -e RETHINKDB_HOST=your-host \
  -e RETHINKDB_PORT=28015 \
  -e RETHINKDB_USER=admin \
  -e RETHINKDB_PASSWORD=secret \
  finn13/mcp-rethinkdb-server

选项2:从源代码构建

# Clone the repository
git clone https://github.com/finn13/mcp-rethinkdb-server.git
cd mcp-rethinkdb-server

# Install dependencies
go mod tidy

# Build the binary
go build -o mcp-rethinkdb-server .

配置

环境变量:

变量默认值描述
RETHINKDB_HOSTlocalhostRethinkDB主机
RETHINKDB_PORT28015RethinkDB端口
RETHINKDB_USER(无)可选用户名
RETHINKDB_PASSWORD(无)可选密码

用法

Claude桌面配置

添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

使用Docker镜像(推荐):

{
  "mcpServers": {
    "rethinkdb": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "RETHINKDB_HOST=host.docker.internal",
        "finn13/mcp-rethinkdb-server"
      ]
    }
  }
}

使用本地二进制:

{
  "mcpServers": {
    "rethinkdb": {
      "command": "/absolute/path/to/mcp-rethinkdb-server",
      "env": {
        "RETHINKDB_HOST": "localhost",
        "RETHINKDB_PORT": "28015"
      }
    }
  }
}

重要:更新配置后,完全重新启动Claude Desktop。

VS代码配置

安装 扩展(v1.99+),其中包括MCP支持。

添加到您的VS代码 settings.json (Cmd+Shift+P → “打开用户设置JSON”):

使用Docker镜像(推荐):

{
  "mcp": {
    "servers": {
      "rethinkdb": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "RETHINKDB_HOST=host.docker.internal",
          "finn13/mcp-rethinkdb-server"
        ]
      }
    }
  }
}

使用本地二进制:

{
  "mcp": {
    "servers": {
      "rethinkdb": {
        "command": "/absolute/path/to/mcp-rethinkdb-server",
        "env": {
          "RETHINKDB_HOST": "localhost",
          "RETHINKDB_PORT": "28015"
        }
      }
    }
  }
}

重要:更新设置后,运行 MCP: Restart Server 从命令选项板。

Zed编辑器配置

添加到您的Zed settings.json (Cmd+,~/.config/zed/settings.json):

使用Docker镜像(推荐):

{
  "context_servers": {
    "rethinkdb": {
      "command": {
        "path": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "RETHINKDB_HOST=10.20.1.10",
          "finn13/mcp-rethinkdb-server"
        ]
      }
    }
  }
}

使用本地二进制:

{
  "context_servers": {
    "rethinkdb": {
      "command": {
        "path": "/absolute/path/to/mcp-rethinkdb-server",
        "env": {
          "RETHINKDB_HOST": "localhost",
          "RETHINKDB_PORT": "28015"
        }
      }
    }
  }
}

重要:更新设置后,重新启动Zed或运行 agent: restart context server 从命令选项板。

直接运行

# Default connection (localhost:28015)
./mcp-rethinkdb-server

# Custom host/port
RETHINKDB_HOST=myhost RETHINKDB_PORT=28015 ./mcp-rethinkdb-server

# With authentication
RETHINKDB_HOST=myhost RETHINKDB_USER=admin RETHINKDB_PASSWORD=secret ./mcp-rethinkdb-server

工具示例

列表_数据库

列出RethinkDB中的所有数据库。

{
  "name": "list_databases"
}

答复:

{
  "databases": ["test", "production", "analytics"]
}

list_tables

列出特定数据库中的所有表。

{
  "name": "list_tables",
  "arguments": {
    "database": "test"
  }
}

答复:

{
  "database": "test",
  "tables": ["users", "orders", "products"]
}

查询表

使用可选的筛选、排序和限制从表中查询数据。

{
  "name": "query_table",
  "arguments": {
    "database": "test",
    "table": "users",
    "filter": {"status": "active"},
    "limit": 50,
    "order_by": "created_at"
  }
}

答复:

{
  "database": "test",
  "table": "users",
  "count": 50,
  "results": [...]
}

参数:

  • database (必填):数据库名称
  • table (必填):表名
  • filter (可选):筛选匹配文档的对象
  • limit (可选):最大结果(默认值:100,最大值:1000)
  • order_by (可选):排序依据的字段

table_info

获取表元数据,包括主键、索引和文档计数。

{
  "name": "table_info",
  "arguments": {
    "database": "test",
    "table": "users"
  }
}

答复:

{
  "database": "test",
  "table": "users",
  "primary_key": "id",
  "indexes": ["email", "created_at"],
  "doc_count": 15420
}

write_data

将数据写入表。支持 insert, update, upsert,以及 delete 操作。数据可以是单个文档或一组文档。

{
  "name": "write_data",
  "arguments": {
    "database": "test",
    "table": "users",
    "operation": "insert",
    "data": {"id": "abc123", "name": "Alice", "status": "active"}
  }
}

答复:

{
  "database": "test",
  "table": "users",
  "operation": "insert",
  "inserted": 1,
  "replaced": 0,
  "unchanged": 0,
  "deleted": 0,
  "errors": 0
}

参数:

  • database (必填):数据库名称
  • table (必填):表名
  • data (必填):单个文档或一组文档。对于 delete,仅包含以下内容的文档 id 按主键删除;任何其他字段都用作匹配多个文档的过滤器。
  • operation (可选):其中之一 insert (默认), update, upsert, delete

操作:

操作行为
insert插入文件;重复密钥错误
update插入冲突策略 update --将字段合并到现有文档中
upsert插入冲突策略 replace --如果缺失则创建,如果存在则完全替换
delete按主键删除(当数据只有 id)或通过过滤器(任何其他字段)

发展

项目结构

mcp-rethinkdb-server/
├── main.go                 # Entry point: config, connection, MCP wiring
├── server/
│   ├── server.go           # RethinkDBServer struct with all tool handlers
│   └── server_test.go      # Integration tests (TDD)
├── docker-compose.yml      # Test RethinkDB instance (port 28016)
└── Dockerfile

运行测试

测试需要RethinkDB实例。从Docker Compose开始:

docker compose up -d
go test ./server/ -v

测试套件使用端口 28016 默认情况下,为了避免与其他正在运行的RethinkDB实例发生冲突。用环境变量覆盖:

RETHINKDB_TEST_HOST=localhost RETHINKDB_TEST_PORT=28016 go test ./server/ -v

测试自动创建和删除 mcp_test_db 数据库。

发布新的Docker镜像

仅限维护人员 --需要推送访问 finn13/mcp-rethinkdb-server 在Docker Hub上。

1.提交并标记发布:

git add -A
git commit -m "feat: describe your changes"
git push origin master
git tag v1.x.0
git push origin v1.x.0

2.登录Docker Hub:

docker login -u finn13

3.打造多拱门形象并推送:

docker buildx build \
  --builder multiarch-builder \
  --platform linux/amd64,linux/arm64 \
  -t finn13/mcp-rethinkdb-server:1.x.0 \
  -t finn13/mcp-rethinkdb-server:latest \
  --push .

--push 标志构建两者 amd64arm64 分层并将其作为单个多拱形清单进行推送。如果 multiarch-builder 尚未设置:

docker buildx create --name multiarch-builder --use
docker buildx inspect --bootstrap

使用MCP检查员进行测试

go build -o mcp-rethinkdb-server .
npx @modelcontextprotocol/inspector ./mcp-rethinkdb-server

打开浏览器到显示的URL(通常http://localhost:5173)与服务器交互。

路线图

高级查询支持

  • \[x\] 连接:支持 eqJoin 通过操作 advanced_query 工具
  • \[x\] 聚合: group, ungroup, count, sum, avg, min, max 通过 aggregate 工具
  • \[x\] 映射:支持 map (田间采摘)通过 advanced_query 工具
  • \[x\] 高级过滤:支持 between, contains 通过 advanced_query 工具
  • \[ \] 地理空间查询:支持 getIntersecting 地理空间索引

其他工具

  • \[x\] 写入数据:通过插入、更新、追加销售和删除文档 write_data 工具
  • \[x\] 架构检查器:通过以下方式探索表模式 schema_inspector 工具(示例文档、推断字段类型、报告主键和索引)
  • \[x\] 索引管理:通过查看索引详细信息 index_info 工具(就绪状态、多、地理、过时标志)
  • \[ \] 查询生成器:交互式查询构造和验证
  • \[ \] 更改订阅源:实时数据监控(只读订阅)

性能和特点

  • \[ \] 查询缓存:缓存频繁访问的查询
  • \[ \] 并行查询:支持多个同时查询
  • \[ \] 结果流:高效地流式传输大型结果集
  • \[x\] 查询统计信息:返回的执行时间 query_table 答复(execution_time_ms)

开发者体验

  • \[ \] 互动示例:更全面的示例查询
  • \[ \] 查询验证:更好的错误消息和查询语法验证
  • \[ \] 连接池:改进了连接管理
  • \[ \] TLS/SSL支持:与RethinkDB的安全连接

故障排除

连接问题

问题:服务器无法连接到RethinkDB 解决方案:

  • 验证RethinkDB是否正在运行: rethinkdb --version
  • 检查主机和端口设置
  • 手动测试连接

Claude桌面集成

问题:服务器未显示在Claude中 解决方案:

  • 验证配置中的path/docker命令是否正确
  • 完全重新启动克劳德桌面
  • 检查克劳德日志: ~/Library/Logs/Claude/ (macOS)

问题:执行二进制文件时权限被拒绝 解决方案:

chmod +x /path/to/mcp-rethinkdb-server

查询限制

问题:查询返回的结果比预期的少 解决方案:

  • 默认限制为100个文档
  • 最大限制为1000份文件
  • 使用 limit 要调整的参数

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 通过测试进行更改: go test ./...
  4. 承诺: git commit -am 'Add feature'
  5. 推: git push origin feature-name
  6. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

链接

目录标签

目录标签

数据分析数据操作GoClaude数据库查询本地部署RethinkDBMCP协议AI助手集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP