Sponsored by Deepsite.site

MCP-MongoDB-MySQL-Server

Created By
yaoxiaolinglonga year ago
用于mysql和mongodb的mcp
Content

MCP-MongoDB-MySQL-Server

GitHub stars GitHub forks GitHub license Smithery

这是一个基于 enemyrr/mcp-mysql-server 项目的二次开发版本,添加了MongoDB支持。

This is a fork of enemyrr/mcp-mysql-server with added MongoDB support.

项目简介 | Introduction

这是一个Model Context Protocol服务器,提供MySQL和MongoDB数据库操作功能。该服务器使AI模型能够通过标准化接口与MySQL和MongoDB数据库交互。

A Model Context Protocol server that provides MySQL and MongoDB database operations. This server enables AI models to interact with MySQL and MongoDB databases through a standardized interface.

二次开发说明 | About This Fork

作者 | Author: yaoxiaolinglong

二次开发原因 | Reason for Fork: 原项目只支持MySQL数据库,但在实际应用中经常需要使用MongoDB。由于找不到现成的MongoDB MCP工具,因此在原项目基础上添加了MongoDB支持,使其成为一个同时支持MySQL和MongoDB的数据库服务器。

The original project only supports MySQL database, but MongoDB is often needed in practical applications. Due to the lack of ready-made MongoDB MCP tools, MongoDB support was added to the original project, making it a database server that supports both MySQL and MongoDB.

安装与设置 | Installation & Setup for Cursor IDE

通过Smithery安装 | Installing via Smithery

通过Smithery为Claude Desktop自动安装MySQL/MongoDB数据库服务器:

To install MySQL/MongoDB Database Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @yaoxiaolinglong/mcp-mongodb-mysql-server --client claude

手动安装 | Installing Manually

  1. 克隆并构建项目 | Clone and build the project:
git clone https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server.git
cd mcp-mongodb-mysql-server
npm install
npm run build
  1. 在Cursor IDE设置中添加服务器 | Add the server in Cursor IDE settings:
    • 打开命令面板(Cmd/Ctrl + Shift + P) | Open Command Palette (Cmd/Ctrl + Shift + P)
    • 搜索"MCP: Add Server" | Search for "MCP: Add Server"
    • 填写以下字段 | Fill in the fields:
      • 名称 | Name: mysql-mongodb
      • 类型 | Type: command
      • 命令 | Command: node /absolute/path/to/mcp-mongodb-mysql-server/build/index.js

注意 | Note: 将/absolute/path/to/替换为您克隆并构建项目的实际路径。

Replace /absolute/path/to/ with the actual path where you cloned and built the project.

数据库配置 | Database Configuration

MySQL配置 | MySQL Configuration

您可以通过以下三种方式配置MySQL数据库连接:

You can configure the MySQL database connection in three ways:

  1. .env文件中的数据库URL(推荐)| Database URL in .env (Recommended):
DATABASE_URL=mysql://user:password@host:3306/database
  1. .env文件中的单独参数 | Individual Parameters in .env:
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
  1. 通过工具直接连接 | Direct Connection via Tool:
use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_db",
  arguments: {
    url: "mysql://user:password@host:3306/database"
    // 或者 | OR
    workspace: "/path/to/your/project" // 将使用项目的.env文件 | Will use project's .env
    // 或者 | OR
    host: "localhost",
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

MongoDB配置 | MongoDB Configuration

您可以通过以下三种方式配置MongoDB数据库连接:

You can configure the MongoDB database connection in three ways:

  1. .env文件中的MongoDB URL(推荐)| MongoDB URL in .env (Recommended):
MONGODB_URI=mongodb://user:password@host:27017/database
MONGODB_DATABASE=your_database
  1. 通过工具直接连接 | Direct Connection via Tool:
use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_mongodb",
  arguments: {
    url: "mongodb://user:password@host:27017/database"
    // 或者 | OR
    workspace: "/path/to/your/project" // 将使用项目的.env文件 | Will use project's .env
    // 或者 | OR
    database: "your_database" // 将使用默认连接URI | Will use default connection URI
  }
});

可用工具 | Available Tools

MySQL工具 | MySQL Tools

1. connect_db

连接到MySQL数据库,使用URL、工作区路径或直接凭据。

Connect to MySQL database using URL, workspace path, or direct credentials.

2. query

执行SELECT查询,支持可选的预处理语句参数。

Execute SELECT queries with optional prepared statement parameters.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?",
    params: [1]
  }
});

3. execute

执行INSERT、UPDATE或DELETE查询,支持可选的预处理语句参数。

Execute INSERT, UPDATE, or DELETE queries with optional prepared statement parameters.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "execute",
  arguments: {
    sql: "INSERT INTO users (name, email) VALUES (?, ?)",
    params: ["John Doe", "john@example.com"]
  }
});

4. list_tables

列出连接的数据库中的所有表。

List all tables in the connected database.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "list_tables"
});

5. describe_table

获取特定表的结构。

Get the structure of a specific table.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "describe_table",
  arguments: {
    table: "users"
  }
});

6. create_table

创建一个新表,指定字段和索引。

Create a new table with specified fields and indexes.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "create_table",
  arguments: {
    table: "users",
    fields: [
      {
        name: "id",
        type: "int",
        autoIncrement: true,
        primary: true
      },
      {
        name: "email",
        type: "varchar",
        length: 255,
        nullable: false
      }
    ],
    indexes: [
      {
        name: "email_idx",
        columns: ["email"],
        unique: true
      }
    ]
  }
});

7. add_column

向现有表添加新列。

Add a new column to an existing table.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "add_column",
  arguments: {
    table: "users",
    field: {
      name: "phone",
      type: "varchar",
      length: 20,
      nullable: true
    }
  }
});

MongoDB工具 | MongoDB Tools

1. connect_mongodb

连接到MongoDB数据库,使用URL、工作区路径或数据库名称。

Connect to MongoDB database using URL, workspace path, or database name.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "connect_mongodb",
  arguments: {
    url: "mongodb://user:password@host:27017/database"
  }
});

2. mongodb_list_collections

列出连接的MongoDB数据库中的所有集合。

List all collections in the connected MongoDB database.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_list_collections"
});

3. mongodb_find

在MongoDB集合中查找文档,支持可选的过滤器、限制、跳过和排序。

Find documents in a MongoDB collection with optional filter, limit, skip, and sort.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_find",
  arguments: {
    collection: "users",
    filter: { age: { $gt: 18 } },
    limit: 10,
    skip: 0,
    sort: { name: 1 }
  }
});

4. mongodb_insert

向MongoDB集合中插入文档。

Insert documents into a MongoDB collection.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_insert",
  arguments: {
    collection: "users",
    documents: [
      { name: "John Doe", email: "john@example.com", age: 30 },
      { name: "Jane Smith", email: "jane@example.com", age: 25 }
    ]
  }
});

5. mongodb_update

更新MongoDB集合中的文档。

Update documents in a MongoDB collection.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_update",
  arguments: {
    collection: "users",
    filter: { name: "John Doe" },
    update: { $set: { age: 31 } },
    many: false // 只更新一个文档(默认)| Update only one document (default)
  }
});

6. mongodb_delete

从MongoDB集合中删除文档。

Delete documents from a MongoDB collection.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_delete",
  arguments: {
    collection: "users",
    filter: { name: "John Doe" },
    many: false // 只删除一个文档(默认)| Delete only one document (default)
  }
});

7. mongodb_create_collection

在MongoDB中创建新集合。

Create a new collection in MongoDB.

use_mcp_tool({
  server_name: "mysql-mongodb",
  tool_name: "mongodb_create_collection",
  arguments: {
    collection: "new_collection",
    options: { capped: true, size: 1000000 }
  }
});

功能特点 | Features

  • 多种连接方法(URL、工作区、直接参数)| Multiple connection methods (URL, workspace, direct)
  • 同时支持MySQL和MongoDB数据库 | Support for both MySQL and MongoDB databases
  • 安全的连接处理和自动清理 | Secure connection handling with automatic cleanup
  • MySQL查询参数的预处理语句支持 | Prepared statement support for MySQL query parameters
  • 两种数据库的架构管理工具 | Schema management tools for both databases
  • 全面的错误处理和验证 | Comprehensive error handling and validation
  • TypeScript支持 | TypeScript support
  • 自动工作区检测 | Automatic workspace detection

安全性 | Security

  • 在MySQL中使用预处理语句防止SQL注入 | Uses prepared statements to prevent SQL injection in MySQL
  • 通过环境变量支持安全密码处理 | Supports secure password handling through environment variables
  • 执行前验证查询和操作 | Validates queries and operations before execution
  • 自动关闭连接 | Automatically closes connections when done

错误处理 | Error Handling

服务器提供以下详细错误消息:| The server provides detailed error messages for:

  • 连接失败 | Connection failures
  • 无效的查询或参数 | Invalid queries or parameters
  • 缺少配置 | Missing configuration
  • 数据库错误 | Database errors
  • 架构验证错误 | Schema validation errors

贡献 | Contributing

欢迎贡献!请随时提交Pull Request到 https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server

Contributions are welcome! Please feel free to submit a Pull Request to https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server

致谢 | Acknowledgements

本项目基于 enemyrr/mcp-mysql-server 开发,感谢原作者的贡献。

This project is based on enemyrr/mcp-mysql-server. Thanks to the original author for their contribution.

许可证 | License

MIT

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Tavily Mcp
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Amap Maps高德地图官方 MCP Server
CursorThe AI Code Editor
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
DeepChatYour AI Partner on Desktop
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Serper MCP ServerA Serper MCP Server
WindsurfThe new purpose-built IDE to harness magic
Playwright McpPlaywright MCP server
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
ChatWiseThe second fastest AI chatbot™
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.