mcpField
M
MCP Database Server

MCP Database Server

本地服务
github.com/manpreet2000数据库083 周前更新

关于 MCP Database Server

MCP Database Server 是供 LLM 通过自然语言操作数据库的 MCP 服务,目前支持 MongoDB,可执行查询、写入及聚合操作。

主要功能

  1. 01列出 MongoDB 集合
  2. 02筛选并投影文档
  3. 03插入和删除文档
  4. 04执行聚合管道

适用场景

  1. 01查看数据库中的集合
  2. 02按条件查找文档
  3. 03向集合添加或删除记录
  4. 04汇总并分析集合数据

MCP 相关

作为 MCP 服务向客户端提供 MongoDB 集合查看、文档查询与修改及聚合工具。目前支持 MongoDB;其他数据库仍属计划支持范围。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 数据库服务

一种模型上下文协议(MCP)服务实现,可让大语言模型(LLM)通过自然语言与各种数据库交互。目前支持 MongoDB,计划支持:

  • PostgreSQL
  • CockroachDB
  • Redis
  • 更多……

功能

  • 通过自然语言执行数据库操作
  • 目前支持 MongoDB,功能包括:
    • 列出所有集合
    • 使用筛选和投影查询文档
    • 插入文档
    • 删除文档
    • 聚合管道操作
  • 未来将支持其他数据库:
    • PostgreSQL:SQL 查询、表操作
    • CockroachDB:分布式 SQL 操作
    • Redis:键值操作、缓存

前提条件

  • Node.js v20.12.2 或更高版本
  • 数据库(目前支持 MongoDB,其他数据库即将支持)
  • Claude 桌面应用

安装

  1. 克隆代码库:
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
  1. 安装依赖:
npm install
  1. 构建 TypeScript 代码:
npm run build

配置

开始使用前,需要在 Claude Desktop 配置文件中配置数据库连接:

MacOS
~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows
%APPDATA%/Claude/claude_desktop_config.json

将以下配置添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "database": {
      "command": "/path/to/node",
      "args": ["/path/to/mcp-database/dist/index.js"],
      "env": {
        "MONGODB_URI": "your-mongodb-connection-string"
      }
    }
  }
}

替换:

  • 将 /path/to/node 替换为 Node.js 可执行文件的路径,或直接使用 node
  • 将 /path/to/mcp-database 替换为此代码库的绝对路径
  • 将 your-mongodb-connection-string 替换为 MongoDB 连接 URL

使用示例

MongoDB 示例
  1. 列出数据库中的所有集合:
Can you show me all the collections in my database?
  1. 从集合中获取指定记录:
Give me 2 records from the chargers collection
  1. 使用筛选条件查询:
Show me all documents in the users collection where status is active
  1. 插入文档:
Add a new user to the users collection with name John and email [email protected]
  1. 删除文档:
Remove the user with email [email protected] from the users collection
  1. 聚合数据:
Show me the total count of users by status in the users collection

可用工具

1. getCollections

列出已连接数据库中的所有集合。

2. getCollection

使用可选查询参数从集合中检索文档:

  • collectionName:集合名称
  • limit:要返回的文档数量上限(默认值:10,最大值:1000)
  • query:MongoDB 查询对象
  • projection:要包含或排除的字段
3. insertOne

向集合中插入单个文档:

  • collectionName:集合名称
  • document:要插入的文档对象
4. deleteOne

从集合中删除单个文档:

  • collectionName:集合名称
  • query:用于匹配要删除文档的查询条件
5. aggregate

执行聚合管道:

  • collectionName:集合名称
  • pipeline:聚合阶段数组
  • options:可选的聚合选项

未来支持的数据库

PostgreSQL
  • SQL 查询执行
  • 表操作
  • 架构管理
  • 事务支持
CockroachDB
  • 分布式 SQL 操作
  • 多区域支持
  • 事务管理
  • 架构操作
Redis
  • 键值操作
  • 缓存机制
  • 发布/订阅操作
  • 数据结构操作

安全

  • 切勿将数据库连接字符串提交到版本控制系统
  • 使用环境变量存储敏感信息
  • 遵循特定数据库的安全最佳实践

贡献

欢迎贡献!欢迎提交 Pull Request。对于重大更改,请先创建 issue,讨论您希望进行的更改。

许可证

MIT 许可证 - 详情请参阅 LICENSE

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。