Integrations
Provides database operations through natural language for MongoDB, including listing collections, querying documents with filtering and projection, inserting documents, deleting documents, and executing aggregate pipeline operations.
Planned integration for PostgreSQL database operations, including SQL queries, table operations, and schema management.
Planned integration for Redis operations, including key-value operations, caching mechanisms, pub/sub functionality, and data structure operations.
MCP 数据库服务器
模型上下文协议 (MCP) 服务器实现,允许大型语言模型 (LLM) 通过自然语言与各种数据库交互。目前支持 MongoDB,并计划支持:
- PostgreSQL
- 蟑螂数据库
- Redis
- 还有更多...
特征
- 通过自然语言进行数据库操作
- 目前支持 MongoDB 的功能有:
- 列出所有收藏
- 使用过滤和投影查询文档
- 插入文档
- 删除文档
- 聚合管道操作
- 未来对其他数据库的支持:
- PostgreSQL:SQL 查询、表操作
- CockroachDB:分布式SQL操作
- Redis:键值操作、缓存
先决条件
- Node.js v20.12.2 或更高版本
- 数据库(目前为 MongoDB,其他数据库即将推出)
- Claude 桌面应用程序
安装
- 克隆存储库:
- 安装依赖项:
- 构建 TypeScript 代码:
配置
首先,您需要在 Claude Desktop 配置文件中配置数据库连接:
MacOS
视窗
将以下配置添加到您的claude_desktop_config.json
:
代替:
/path/to/node
替换为您的 Node.js 可执行文件路径,或者直接使用node
/path/to/mcp-database
为该存储库的绝对路径your-mongodb-connection-string
为你的 MongoDB 连接 URL
使用示例
MongoDB 示例
- 列出数据库中的所有集合:
- 从集合中获取特定记录:
- 使用过滤器查询:
- 插入文档:
- 删除文档:
- 汇总数据:
可用工具
1. 获取集合
列出连接的数据库中的所有集合。
2. 获取集合
使用可选查询参数从集合中检索文档:
collectionName
:集合的名称limit
:返回的最大文档数(默认值:10,最大值:1000)query
:MongoDB 查询对象projection
:要包含/排除的字段
3. 插入一个
将单个文档插入集合:
collectionName
:集合的名称document
:要插入的文档对象
4. 删除一个
从集合中删除单个文档:
collectionName
:集合的名称query
:查询匹配要删除的文档
5. 聚合
执行聚合管道:
collectionName
:集合的名称pipeline
:聚合阶段数组options
:可选的聚合选项
未来的数据库支持
PostgreSQL
- SQL 查询执行
- 表操作
- 架构管理
- 交易支持
蟑螂数据库
- 分布式 SQL 操作
- 多区域支持
- 交易管理
- 架构操作
Redis
- 键值操作
- 缓存机制
- 发布/订阅操作
- 数据结构操作
安全
- 永远不要将数据库连接字符串提交到版本控制
- 使用环境变量来获取敏感信息
- 遵循数据库特定的安全最佳实践
贡献
欢迎贡献代码!欢迎提交 Pull 请求。对于重大变更,请先提交一个 issue 来讨论您想要修改的内容。
执照
MIT 许可证 - 详情请参阅许可证
This server cannot be installed
模型上下文协议服务器,使 LLM 能够通过自然语言与数据库(当前为 MongoDB)交互,支持查询、插入、删除文档和运行聚合管道等操作。