MongoDB查询生成器

MongoDB MCP Server是一个用于分析和生成MongoDB数据库查询的工具,支持ERD生成和自然语言查询生成。

  • by seeun0210
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 seeun0210/mongo_mcp_server

使用说明

MongoDB MCP服务器

MongoDB数据库的Model Context Protocol(MCP)服务器。该服务器可以分析MongoDB数据库的结构,并利用AI生成查询。

功能

1.生成ERD(generateErd)

通过分析数据库的集合结构,创建实体关系图(ERD)。

  • 输入参数:

    {
      "database": "string",
      "collections": ["string"],  // 선택적
      "format": "mermaid" | "json"  // 기본값: "mermaid"
    }
    
  • 使用示例:

    {
      "database": "test",
      "format": "mermaid"
    }
    

2.生成查询(generateQuery)

基于自然语言描述创建MongoDB查询。分析数据库的实际结构以生成准确的查询。

  • 输入参数:

    {
      "database": "string",
      "collection": "string",
      "description": "string",
      "type": "mongodb" | "mongoose",  // 기본값: "mongodb"
      "includeExplanation": boolean  // 기본값: true
    }
    
  • 使用示例:

    {
      "database": "test",
      "collection": "users",
      "description": "오늘 가입한 사용자 찾기",
      "type": "mongodb"
    }
    

安装和运行

  1. 依赖性安装:

    npm install
    
  2. 版本:

    npm run build
    
  3. 服务器运行:

    node dist/index.js "mongodb://localhost:27017"
    

Claude桌面设置

要在MacOS上与Claude Desktop一起使用,请设置如下:

  1. 设置文件位置: ~/Library/Application Support/Claude/claude_desktop_config.json

  2. 添加MCP服务器设置:

    {
      "mcp": {
        "servers": [
          {
            "name": "mongodb",
            "command": "node /path/to/mongo-mcp-server/dist/index.js mongodb://localhost:27017/test"
          }
        ]
      }
    }
    
  3. 重新启动Claude Desktop

开发

项目结构

src/
├── index.ts          # 메인 서버 코드
├── tools/
│   ├── generateErd.ts    # ERD 생성 도구
│   └── generateQuery.ts  # 쿼리 생성 도구

添加新工具

  1. src/tools 在目录中创建新的工具文件
  2. 实现工具界面:
    export const newTool = {
      parameters: {
        // 파라미터 정의
      },
      async execute(params: any, context: { client: MongoClient }) {
        // 도구 로직 구현
      },
    };
    
  3. src/index.ts在中注册工具