Michael7736_mysql Mcp Server

Michael7736_mysql Mcp Server

🚀 MySQL MCP 服务器

MySQL MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务,它为用户提供了对 MySQL 数据库的便捷访问途径。借助该服务器,代理能够轻松执行各类针对 MySQL 数据库的 SQL 查询。

🚀 快速开始

在使用 MySQL MCP 服务器之前,你需要确保满足以下先决条件:

  • Node.js (v14 或更高版本)
  • MySQL 服务器
  • MCP SDK

✨ 主要特性

  • 多样化 SQL 查询执行:支持在 MySQL 数据库上执行多种类型的 SQL 查询,涵盖读取数据(SELECT 语句)、创建表(CREATE TABLE 语句)、插入数据(INSERT INTO 语句)、更新数据(UPDATE 语句)以及删除数据(DELETE FROM 语句)。
  • JSON 格式结果返回:将查询结果以 JSON 格式返回,方便数据处理和解析。
  • 可配置数据库连接:提供可配置的数据库连接设置,满足不同环境的需求。
  • 事务日志记录:为所有操作生成带有唯一标识符的事务日志,便于审计和追溯。

📦 安装指南

  1. 克隆或下载此仓库。
  2. 安装依赖项:
cd mysql-mcp-server
npm install
  1. 构建服务器:
npm run build

🛠️ 配置说明

环境变量配置

MySQL MCP 服务器通过以下环境变量进行配置:

环境变量 详情 默认值
MYSQL_HOST MySQL 服务器主机名 'localhost'
MYSQL_PORT MySQL 服务器端口 3306
MYSQL_USER MySQL 用户名 'mcp101'
MYSQL_PASSWORD MySQL 密码 '123qwe'
MYSQL_DATABASE MySQL 数据库名称 'mcpdb'

数据库设置

  1. 创建 MySQL 数据库:
CREATE DATABASE mcpdb;
  1. 创建具有访问数据库权限的 MySQL 用户:
CREATE USER 'mcp101'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp101'@'localhost';
FLUSH PRIVILEGES;
  1. 创建测试表:
USE mcpdb;
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
price DECIMAL(10, 2)
);

MCP 配置

在不同的环境中配置 MySQL MCP 服务器,以 VS Code 为例,在 settings.json 中添加以下内容:

{
"mcp.servers": [
{
"name": "mysql-mcp-server",
"type": "mysql",
"host": "localhost",
"port": 3306,
"database": "mcpdb",
"user": "mcp101"
}
]
}

💻 使用示例

基础用法

在对话中使用以下语法调用工具:

{
"tools": {
"mysql-mcp-server": {
"function": "executeQuery",
"args": {
"query": "SELECT * FROM products LIMIT 5;"
}
}
}
}

高级用法

执行查询

用于执行任意的 SQL 查询。 参数

  • query:要执行的 SQL 查询字符串。 示例
{
"query": "SELECT * FROM products LIMIT 5;"
}

创建表

用于创建新的数据库表。 参数

  • query:CREATE TABLE 语句。 示例
{
"query": "CREATE TABLE users (id INT PRIMARY KEY, username VARCHAR(255), email VARCHAR(255));"
}

插入数据

用于向表中插入新记录。 参数

  • query:INSERT INTO 语句。 示例
{
"query": "INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Smartphone', 499.99);"
}

更新数据

用于更新表中的记录。 参数

  • query:UPDATE 语句。 示例
{
"query": "UPDATE products SET price = 899.99 WHERE name = 'Laptop';"
}

删除数据

用于从表中删除记录。 参数

  • query:DELETE FROM 语句。 示例
{
"query": "DELETE FROM products WHERE name = 'Smartphone';"
}

⚠️ 安全注意事项

  • 使用专用 MySQL 用户,并为其分配适当的权限。
  • 若仅需查询数据,可考虑使用只读权限。
  • 安全存储敏感信息,如数据库凭证。
  • 所有操作均带有唯一事务 ID,便于审计。
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 11:03

相似服务问题

相关AI产品