MongoDB LLM交互服务器

一个通过标准化接口实现LLM与MongoDB数据库交互的协议服务器,支持集合模式检查和数据库操作执行。

  • by smuniharish
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 smuniharish/smh-mongo-mcp-server

使用说明

SMH MongoDB服务器

一种模型上下文协议(MCP)服务器,使LLM能够与MongoDB数据库交互。该服务器提供通过标准化接口检查收集模式和执行MongoDB操作的功能。

视频演示

主要特点

智能对象ID处理

  • 字符串ID和MongoDB ObjectId之间的智能转换

  • 可配置 objectIdMode 参数:

    • "auto":根据字段名称转换(默认)
    • "none":无转换
    • "force":强制所有字符串ID字段为ObjectId

灵活的配置

  • 环境变量:

    • MCP_MONGODB_URI:MongoDB连接URI
    • MCP_MONGODB_READONLY:设置为时启用只读模式 "true"
  • 命令行选项:

    • --read-only 或 -r:以只读模式连接

只读模式

  • 防止写入操作(更新、插入、创建索引)
  • 使用MongoDB的二次读取首选项以获得最佳性能
  • 非常适合安全连接到生产数据库

MongoDB操作

  • 读取操作:

    • 查询具有可选执行计划分析的文档
    • 执行聚合管道
    • 统计符合条件的文档
    • 获取集合架构信息
  • 写入操作 (非只读模式时):

    • 更新文档
    • 插入新文档
    • 创建索引

LLM集成

  • 收集完成以增强LLM交互
  • 用于改进上下文理解的模式推理
  • 数据洞察的收集分析

安装

全球安装

npm install -g smh-mongo-mcp-server

为了发展

# Clone repository
git clone https://github.com/smuniharish/smh-mongo-mcp-server.git
cd smh-mongo-mcp-server

# Install dependencies
npm install

# Build
npm run build

# Development with auto-rebuild
npm run watch

用法

基本用法

# Start server with MongoDB URI
npx -y smh-mongo-mcp-server mongodb://username:password@localhost:27017/database

# Connect in read-only mode
npx -y smh-mongo-mcp-server mongodb://username:password@localhost:27017/database --read-only

环境变量

# Set MongoDB connection URI
export MCP_MONGODB_URI="mongodb://username:password@localhost:27017/database"

# Enable read-only mode
export MCP_MONGODB_READONLY="true"

# Run server
npx -y smh-mongo-mcp-server

Claude桌面配置示例

{
  "mcpServers": {
    "mongodb-env": {
      "command": "npx",
      "args": [
        "-y",
        "smh-mongo-mcp-server"
      ],
      "env": {
        "MCP_MONGODB_URI": "mongodb://username:password@localhost:27017/database",
        "MCP_MONGODB_READONLY": "true"
      }
    }
  }
}

码头工人

# Build
docker build -t smh-mongo-mcp-server .

# Run
docker run -it -d -e MCP_MONGODB_URI="mongodb://username:password@localhost:27017/database" -e MCP_MONGODB_READONLY="true" smh-mongo-mcp-server

与Claude Desktop集成

手动配置

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

命令行参数

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "smh-mongo-mcp-server",
        "mongodb://username:password@localhost:27017/database"
      ]
    },
    "mongodb-readonly": {
      "command": "npx",
      "args": [
        "-y",
        "smh-mongo-mcp-server",
        "mongodb://username:password@localhost:27017/database",
        "--read-only"
      ]
    }
  }
}

GitHub包使用情况

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "github:smuniharish/smh-mongo-mcp-server",
        "mongodb://username:password@localhost:27017/database"
      ]
    }
  }
}

与Windsurf和Cursor集成

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "smh-mongo-mcp-server",
        "mongodb://username:password@localhost:27017/database"
      ]
    }
  }
}

可用工具

查询操作

  • 怎么翻译
  • 合计
  • 计数

写入操作

  • 插入
  • 更新
  • createIndex

系统操作

  • list收藏
  • 服务器信息

调试

使用MCP检查器:

npm run inspector

运行评估

OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/schemas/tools.ts

许可证

根据 Apache 2.0许可证。请参阅 许可证 文件以获取完整详细信息。