<a href="https://glama.ai/mcp/servers/@yaoxiaolinglong/mcp-mongodb-mysql-server">
<img width="380" height="200" src="https://gips0.baidu.com/it/u=3399170282,1489355475&fm=3081&app=3081&f=PNG?w=760&h=400" />
</a>
这个项目基于 enemyrr/mcp-mysql-server,进行了二次开发,增加了对 MongoDB 的支持。
这是 enemyrr/mcp-mysql-server 的一个分支,增加了对 MongoDB 的支持。
这是一个提供 MySQL 和 MongoDB 数据库操作功能的 Model Context Protocol 服务器。该服务器使 AI 模型能够通过标准化接口与 MySQL 和 MongoDB 数据库进行交互。
这是一个提供 MySQL 和 MongoDB 数据库操作功能的 Model Context Protocol 服务器。该服务器使 AI 模型能够通过标准化接口与 MySQL 和 MongoDB 数据库进行交互。
作者 | Author: yaoxiaolinglong
二次开发原因 | 分支原因:原始项目仅支持 MySQL 数据库,但在实际应用中经常需要 MongoDB。由于找不到现成的 MongoDB MCP 工具,因此在原始项目的基础上增加了对 MongoDB 的支持,使其成为一个同时支持 MySQL 和 MongoDB 的数据库服务器。
原始项目仅支持 MySQL 数据库,但在实际应用中经常需要 MongoDB。由于找不到现成的 MongoDB MCP 工具,因此在原始项目的基础上增加了对 MongoDB 的支持,使其成为一个同时支持 MySQL 和 MongoDB 的数据库服务器。
通过 Smithery 自动安装 MySQL/MongoDB 数据库服务器到 Claude Desktop:
npx -y @smithery/cli install @yaoxiaolinglong/mcp-mongodb-mysql-server --client claude
git clone https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server.git
cd mcp-mongodb-mysql-server
npm install
npm run build
mysql-mongodbcommandnode /absolute/path/to/mcp-mongodb-mysql-server/build/index.js注意 | 注意:请将
/absolute/path/to/替换为你克隆并构建项目的实际路径。替换
/absolute/path/to/为你克隆并构建项目的实际路径。
你可以通过以下三种方式配置 MySQL 数据库连接:
DATABASE_URL=mysql://user:password@host:3306/database
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
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_URI=mongodb://user:password@host:27017/database
MONGODB_DATABASE=your_database
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
}
});
使用 URL、工作区路径或直接凭据连接到 MySQL 数据库。
执行 SELECT 查询,支持可选的预处理语句参数。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});
执行 INSERT、UPDATE 或 DELETE 查询,支持可选的预处理语句参数。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["John Doe", "john@example.com"]
}
});
列出连接数据库中的所有表。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "list_tables"
});
获取特定表的结构。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
创建新表,指定字段和索引。
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
}
]
}
});
向现有表中添加新列。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "add_column",
arguments: {
table: "users",
field: {
name: "phone",
type: "varchar",
length: 20,
nullable: true
}
}
});
使用 URL、工作区路径或数据库名称连接到 MongoDB 数据库。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "connect_mongodb",
arguments: {
url: "mongodb://user:password@host:27017/database"
}
});
列出连接的 MongoDB 数据库中的所有集合。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "mongodb_list_collections"
});
在 MongoDB 集合中搜索文档,支持可选的过滤器、限制、跳过和排序。
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 }
}
});
插入文档到 MongoDB 集合。
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 }
]
}
});
更新 MongoDB 集合中的文档。
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)
}
});
从 MongoDB 集合中删除文档。
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)
}
});
在 MongoDB 中创建新的集合。
use_mcp_tool({
server_name: "mysql-mongodb",
tool_name: "mongodb_create_collection",
arguments: {
collection: "new_collection",
options: { capped: true, size: 1000000 }
}
});
服务器提供了详细的错误消息,包括:
欢迎贡献!请随时提交 Pull Request 至 https://github.com/yaoxiaolinglong/mcp-mongodb-mysql-server
本项目基于 enemyrr/mcp-mysql-server 开发,感谢原作者的贡献。
MIT