MCP Database Server

MIT License
  • Apple

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 桌面应用程序

安装

  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

视窗

%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 john@example.com
  1. 删除文档:
Remove the user with email john@example.com from the users collection
  1. 汇总数据:
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 查询执行
  • 表操作
  • 架构管理
  • 交易支持

蟑螂数据库

  • 分布式 SQL 操作
  • 多区域支持
  • 交易管理
  • 架构操作

Redis

  • 键值操作
  • 缓存机制
  • 发布/订阅操作
  • 数据结构操作

安全

  • 永远不要将数据库连接字符串提交到版本控制
  • 使用环境变量来获取敏感信息
  • 遵循数据库特定的安全最佳实践

贡献

欢迎贡献代码!欢迎提交 Pull 请求。对于重大变更,请先提交一个 issue 来讨论您想要修改的内容。

执照

MIT 许可证 - 详情请参阅许可证

-
security - not tested
A
license - permissive license
-
quality - not tested

模型上下文协议服务器,使 LLM 能够通过自然语言与数据库(当前为 MongoDB)交互,支持查询、插入、删除文档和运行聚合管道等操作。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. MacOS
          2. Windows
        2. Usage Examples
          1. MongoDB Examples
        3. Available Tools
          1. 1. getCollections
          2. 2. getCollection
          3. 3. insertOne
          4. 4. deleteOne
          5. 5. aggregate
        4. Future Database Support
          1. PostgreSQL
          2. CockroachDB
          3. Redis
        5. Security
          1. Contributing
            1. License
              ID: 97aex9088e