MCP 数据库服务器是一个基于 Model Context Protocol (MCP) 的服务器实现,它让大型语言模型(LLMs)能通过自然语言与多种数据库进行交互。目前已支持 MongoDB,未来还将支持更多数据库类型。
MCP 数据库服务器允许大型语言模型通过自然语言与数据库交互,当前支持 MongoDB,后续会拓展更多数据库类型。
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
npm install
npm run build
在开始之前,需要在 Claude Desktop 配置文件中设置数据库连接:
~/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 连接字符串。你能给我看看我数据库里的所有集合吗?
请给我看一下chargers集合的2条记录
在users集合中显示状态为active的所有文档
在users集合中添加一个新的用户,名字是John,邮箱是john@example.com
从users集合中删除邮箱为john@example.com的用户
给我看一下users集合中按状态分类的用户总数
列出数据库中的所有集合。
获取指定名称的集合。 参数:
collectionName
:需要获取的集合名称。执行查询操作,返回指定数量的结果。 参数:
collectionName
:要查询的集合名称。query
(可选):查询条件。limit
(可选):限制返回结果的数量,默认为 5。执行单个文档查询。 参数:
collectionName
:要查询的集合名称。query
:查询条件。插入一个新文档。 参数:
collectionName
:文档要插入到哪个集合。document
:要插入的文档内容。删除指定查询匹配的第一个文档。 参数:
collectionName
:要删除文档所在的集合。query
:删除条件。更新指定查询匹配的第一个文档,设置新的值。 参数:
collectionName
:文档要更新的集合。query
:更新条件。update
:新的值。未来将支持以下数据库:
⚠️ 重要提示
- 确保 MongoDB 连接字符串不被泄露,建议使用环境变量来管理敏感信息。
- 在生产环境中启用身份验证机制,保护数据库免受未授权访问。
如果您发现任何问题或有改进建议,请考虑提交一个 GitHub 问题或拉取请求(Pull Request)。您的贡献将帮助我们不断改进 MCP 数据库服务器的功能和性能。