Token导航 LogoToken导航

MCP Server · AI代理

Ro Mongodb MCP Rs

一个高性能的只读MongoDB查询服务器,通过MCP协议为LLM提供安全的数据库查询功能,支持直接连接和Kubernetes集群连接。

未说明官方级别未说明来源级核验工具 10
RustClaudeAI代理Claude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
chrstnwhlrt
提供方
chrstnwhlrt

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Ro Mongodb MCP Rs 属于AI代理类 MCP Server,公开资料标注 10 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

ro mongodb mcp rs

高性能 模型上下文协议(MCP) 执行服务器 只读MongoDB查询内置Rust,速度快,可靠性高。

概述

该服务器使LLM能够通过MCP协议安全地查询MongoDB数据库。它支持两种连接类型:

连接类型用例速度
直接URL本地、Atlas、任何网络可访问的MongoDB~13ms
KubernetesMongoDB在K8s Pod中运行~700ms

特性

  • 只读查询 -只有 find, aggregate, countDocuments,以及 distinct 运营
  • 查询控件 -查找操作的限制、排序和投影参数
  • 双连接支持 -Kubernetes Pod和直接MongoDB URL
  • 保存的带有变量的查询 -使用保存可重用查询 {{placeholder}} 变量
  • 模式集成 -数据模型文件帮助LLM了解您的集合
  • 自动发现 -从pod环境中自动发现K8s凭据
  • 超时保护 -30秒查询超时可防止查询失控
  • 快速启动 -~4ms冷启动,缓存操作为亚毫秒级

快速开始

1.建造

cargo build --release

2.配置

创建 ~/.config/ro-mongodb-mcp-rs/config.yaml:

# Direct connection (simplest)
connections:
  - name: local
    mongodb_url: mongodb://localhost:27017
    database_name: mydb
    # data_model_file_path: /path/to/schema.md  # optional

或者复制并自定义示例:

cp config.example.yaml ~/.config/ro-mongodb-mcp-rs/config.yaml

3.跑步

./target/release/ro-mongodb-mcp-rs

服务器通过JSON-RPC 2.0在stdin/stdout上进行通信。

配置

配置文件: ~/.config/ro-mongodb-mcp-rs/config.yaml

直接MongoDB连接

对于本地开发、MongoDB Atlas或任何可通过网络访问的MongoDB:

connections:
  - name: local-dev
    mongodb_url: mongodb://localhost:27017
    database_name: myapp
    data_model_file_path: /path/to/schema.md

  - name: atlas-prod
    mongodb_url: mongodb+srv://user:pass@cluster.mongodb.net
    database_name: production
    data_model_file_path: /path/to/schema.md

Kubernetes命名空间连接

对于在Kubernetes集群中运行的MongoDB:

# Optional: custom kubeconfig
# kubeconfig_path: /path/to/kubeconfig

namespaces:
  - namespace_name: production      # K8s namespace (also the connection name)
    deployment_name: mongodb        # Pod label: app=mongodb
    database_name: myapp
    data_model_file_path: /path/to/schema.md

K8s凭据发现: 服务器从pod环境变量中读取凭据:

  • MONGO_INITDB_ROOT_USERNAME_FILE → 包含用户名的文件路径
  • MONGO_INITDB_ROOT_PASSWORD_FILE → 包含密码的文件路径

配置字段

字段描述
kubeconfig_path(可选)自定义kubeconfig文件路径(仅限K8s)
name / namespace_name唯一连接标识符
mongodb_urlMongoDB连接字符串(仅限直接连接)
deployment_namePod标签选择器 app= (仅限K8s)
database_name查询的默认数据库
data_model_file_path(可选)模式文档文件(任何格式)

路径扩展: 所有路径字段都支持环境变量($HOME, ${VAR})和瓷砖(~)扩张。

重要提示: 连接名称在所有连接中必须是唯一的。

MCP工具

服务器提供10个工具:

发现工具

工具说明
list_connections列出所有已配置的连接
list_collections列出MongoDB集合(区分大小写的名称)
get_data_model获取连接的架构文档
get_current_time获取基于时间的查询的当前时间戳

查询工具

工具说明
query_mongodb执行只读MongoDB查询

支持的操作:

// find - retrieve documents
{"status": "active"}

// aggregate - pipeline queries
[{"$match": {}}, {"$group": {"_id": "$status", "count": {"$sum": 1}}}]

// countDocuments - count matching documents
{"status": "active"}

// distinct - unique values (use distinct_field param)
{}  // with distinct_field: "country"

可选参数(仅限查找):

参数说明示例
limit最多可退回的文件数10
sort排序顺序(JSON){"createdAt": -1}
projection要包含/排除的字段{"name": 1, "email": 1}
distinct_field不同值字段"country"

已保存的查询工具

工具说明
save_query保存查询以供以后重用
list_saved_queries列出连接的所有已保存查询
get_saved_query获取已保存查询的详细信息
run_saved_query执行已保存的查询
delete_saved_query删除已保存的查询

占位符变量: 保存查询支持 {{placeholder}} 运行时替换语法:

// Save with placeholders - quotes in template control output type
{
  "query": "{\"name\": \"{{name}}\", \"age\": {{age}}}"
}
//         "{{name}}" → string     {{age}} → number

// Run with variables (all values are strings)
{
  "variables": {"name": "John", "age": "25"}
}
// Result: {"name": "John", "age": 25}

运行时间覆盖: 仅对于查找操作,您可以覆盖 limit, sort,以及 projection。对于其他操作,这些将被忽略(并带有警告)。

储存: 查询在每个连接中持久化 ~/.local/share/ro-mongodb-mcp-rs/.queries.yaml

使用示例

基本查询

{
  "name": "query_mongodb",
  "arguments": {
    "connection_name": "local",
    "collection_name": "users",
    "operation": "find",
    "query": "{\"status\": \"active\"}",
    "limit": 10,
    "sort": "{\"createdAt\": -1}",
    "projection": "{\"name\": 1, \"email\": 1}"
  }
}

聚合管道

{
  "name": "query_mongodb",
  "arguments": {
    "connection_name": "local",
    "collection_name": "orders",
    "operation": "aggregate",
    "query": "[{\"$match\": {\"status\": \"completed\"}}, {\"$group\": {\"_id\": \"$userId\", \"total\": {\"$sum\": \"$amount\"}}}]"
  }
}

清点文件

{
  "name": "query_mongodb",
  "arguments": {
    "connection_name": "local",
    "collection_name": "users",
    "operation": "countDocuments",
    "query": "{}"
  }
}

不同的值

{
  "name": "query_mongodb",
  "arguments": {
    "connection_name": "local",
    "collection_name": "users",
    "operation": "distinct",
    "query": "{}",
    "distinct_field": "country"
  }
}

保存查询(带变量)

{
  "name": "save_query",
  "arguments": {
    "connection_name": "local",
    "query_name": "user_activity",
    "description": "Get user activity after a date",
    "collection_name": "events",
    "operation": "find",
    "query": "{\"userId\": \"{{userId}}\", \"createdAt\": {\"$gte\": \"{{startDate}}\"}}"
  }
}

运行已保存的查询(带变量)

{
  "name": "run_saved_query",
  "arguments": {
    "connection_name": "local",
    "query_name": "user_activity",
    "variables": {"userId": "12345", "startDate": "2024-01-01T00:00:00Z"},
    "limit": 100
  }
}

演出

典型硬件的基准测试:

度量时间
二进制启动4ms
get_current_time\ -l app=

Verify pod is healthy

kubectl describe pod -n


### “找不到MongoDB凭据环境变量”(Kubernetes)

Check pod environment variables

kubectl exec -n -- env | grep MONGO


所需变量:

- `MONGO_INITDB_ROOT_USERNAME_FILE`
- `MONGO_INITDB_ROOT_PASSWORD_FILE`

### “读取数据模型文件失败”

- 验证文件是否存在: `ls -la /path/to/schema.md`
- 路径支持 `$HOME`, `${VAR}`,以及 `~` 扩张

### 连接超时(直接)

- 验证MongoDB是否正在运行: `mongosh mongodb://localhost:27017`
- 检查网络连接
- 验证URL中的凭据是否正确

### 查询超时

查询在30秒后超时。对于大型数据集:

- 添加过滤器以减小结果大小
- 使用 `$limit` 聚合管道中
- 使用 `countDocuments` 首先检查数据大小

## 项目结构

src/ ├── main.rs # Entry point, CLI, initialization ├── config.rs # Configuration loading and validation ├── connection.rs # MongoConnection trait and registry ├── direct_connection.rs # Direct MongoDB URL connections ├── k8s_connection.rs # Kubernetes namespace connections ├── k8s_client.rs # Kubernetes API interactions ├── mcp.rs # MCP server and tool implementations ├── mongodb.rs # Query operations and mongosh execution ├── saved_queries.rs # Query persistence └── tools.rs # MCP tool parameter types


## 安全

- **按设计只读** -仅支持读取操作
- **无查询注入** -操作在执行前经过验证
- **凭证隔离** -K8s凭据保留在群集中
- **超时保护** -30秒限制可防止资源耗尽

**注:** 直接连接URL可能包含凭据。确保您的配置文件安全:

chmod 600 ~/.config/ro-mongodb-mcp-rs/config.yaml


## 许可证

MIT许可证。看 [许可证](LICENSE) 了解详情。

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

MongoDB查询Rust本地部署只读数据库LLM集成高性能服务器Kubernetes支持

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Ro Mongodb MCP Rs

MCP World · 本页

10未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Ro Mongodb MCP Rs 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Ro Mongodb MCP Rs 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Ro Mongodb MCP Rs 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Ro Mongodb MCP Rs 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Ro Mongodb MCP Rs 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP