使用说明
MCP数据库服务器
一种模型上下文协议(MCP)服务器实现,允许大型语言模型(LLM)通过自然语言与各种数据库交互。目前支持MongoDB,计划支持:
- PostgreSQL
- 蟑螂DB
- 雷迪斯
- 还有更多。..
特性
- 通过自然语言进行数据库操作
- 目前支持MongoDB的功能:
- 列出所有收藏
- 通过过滤和投影查询文档
- 插入文档
- 删除文档
- 聚合管道操作
- 未来对其他数据库的支持:
- PostgreSQL:SQL查询、表操作
- CockroachDB:分布式SQL操作
- Redis:键值操作、缓存
先决条件
- Node.js v201.2.2或更高版本
- 数据库(目前为MongoDB,其他数据库即将推出)
- Claude桌面应用程序
安装
- 克隆存储库:
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
- 安装依赖项:
npm install
- 构建TypeScript代码:
npm run build
配置
要开始,您需要在Claude Desktop配置文件中配置数据库连接:
MacOS
~/Library/Application\ Support/Claude/claude_desktop_config.json
视窗
%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示例
- 列出数据库中的所有集合:
Can you show me all the collections in my database?
- 从集合中获取特定记录:
Give me 2 records from the chargers collection
- 使用筛选器进行查询:
Show me all documents in the users collection where status is active
- 插入文档:
Add a new user to the users collection with name John and email john@example.com
- 删除文档:
Remove the user with email john@example.com from the users collection
- 综合数据:
Show me the total count of users by status in the users collection
可用工具
1.集合
列出连接数据库中的所有集合。
2.获取收藏
使用可选查询参数从集合中检索文档:
collectionName:收藏名称limit:要返回的最大文档数(默认值:10,最大值:1000)query:MongoDB查询对象projection:要包含/排除的字段
3. 插入一个
将单个文档插入到集合中:
collectionName:收藏名称document:要插入的文档对象
4. 删除一个
从集合中删除单个文档:
collectionName:收藏名称query:查询以匹配要删除的文档
5.骨料
执行聚合管道:
collectionName:收藏名称pipeline:聚合阶段数组options:可选聚合选项
未来数据库支持
PostgreSQL
- SQL查询执行
- 表操作
- 模式管理
- 交易支持
蟑螂DB
- 分布式SQL操作
- 多区域支持
- 交易管理
- 架构操作
雷迪斯
- 关键价值操作
- 缓存机制
- 发布/子操作
- 数据结构操作
安全
- 切勿将数据库连接字符串提交到版本控制
- 对敏感信息使用环境变量
- 遵循特定于数据库的安全最佳实践
贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
许可证
MIT许可证-请参阅 许可证 详见