用于mysql和mongodb的mcp
What is yaoxiaolinglong mcp mongodb mysql server
MCP-MongoDB-MySQL-Server
这是一个基于 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
- 克隆并构建项目 | 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
- 在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
- 名称 | Name:
注意 | 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:
- .env文件中的数据库URL(推荐)| Database URL in .env (Recommended):
DATABASE_URL=mysql://user:password@host:3306/database
- .env文件中的单独参数 | Individual Parameters in .env:
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
- 通过工具直接连接 | 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:
- .env文件中的MongoDB URL(推荐)| MongoDB URL in .env (Recommended):
MONGODB_URI=mongodb://user:password@host:27017/database
MONGODB_DATABASE=your_database
- 通过工具直接连接 | 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", "[email protected]"]
}
});
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: "[email protected]", age: 30 },
{ name: "Jane Smith", email: "[email protected]", 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
Leave a Comment
Frequently Asked Questions
What is MCP?
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.
What are MCP Servers?
MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.
How do MCP Servers work?
MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.
Are MCP Servers secure?
Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.
Related MCP Servers
PostgreSQL MCP Server
A Model Context Protocol server that provides read-only access to PostgreSQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.
chrisdoc hevy mcp
sylphlab pdf reader mcp
An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.
aashari mcp server atlassian bitbucket
Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.
aashari mcp server atlassian confluence
Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.
prisma prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
Zzzccs123 mcp sentry
mcp sentry for typescript sdk
zhuzhoulin dify mcp server
zhongmingyuan mcp my mac
zhixiaoqiang desktop image manager mcp
MCP 服务器,用于管理桌面图片、查看详情、压缩、移动等(完全让Trae实现)
Submit Your MCP Server
Share your MCP server with the community
Submit Now