mcpField
M
MySQL MCP Server

MySQL MCP Server

本地服务
github.com/michael7736数据库781 周前更新

关于 MySQL MCP Server

MySQL MCP Server 为需要通过 Agent 操作 MySQL 的开发者提供数据库访问。它将 SQL 查询结果以 JSON 返回,并支持读写语句及事务日志记录。

主要功能

  1. 01执行 SELECT 查询
  2. 02创建数据库表
  3. 03插入、更新和删除数据
  4. 04以 JSON 返回查询结果
  5. 05记录带唯一 ID 的事务

适用场景

  1. 01通过 Agent 查询 MySQL 数据
  2. 02创建并维护数据库表
  3. 03在 MySQL 中写入或修改记录
  4. 04审计数据库操作记录

MCP 相关

该 MCP 服务向客户端提供 MySQL 数据库操作工具,包括 SQL 查询、建表、插入、更新和删除数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MySQL MCP 服务

这是一个可访问 MySQL 数据库的模型上下文协议(MCP)服务。它允许 Agent 对 MySQL 数据库执行 SQL 查询。

功能

  • 对 MySQL 数据库执行 SQL 查询:
    • 读取数据(SELECT 语句)
    • 创建表(CREATE TABLE 语句)
    • 插入数据(INSERT INTO 语句)
    • 更新数据(UPDATE 语句)
    • 删除数据(DELETE FROM 语句)
  • 以 JSON 格式返回查询结果
  • 可配置数据库连接设置
  • 使用唯一 ID 记录事务日志

前提条件

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

安装

  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 '123qwe';
GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp101'@'localhost';
FLUSH PRIVILEGES;
  1. 使用示例数据创建测试表:
USE mcpdb;
CREATE TABLE test_users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO test_users (name, email) VALUES
  ('John Doe', '[email protected]'),
  ('Jane Smith', '[email protected]'),
  ('Bob Johnson', '[email protected]');

MCP 配置

将 MySQL MCP 服务添加到 MCP 设置文件中:

VSCode(Claude 扩展)

文件:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

根据你的 MySQL 配置修改 args

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}
Claude 桌面应用

文件:~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}

用法

配置完成后,你可以在与 Claude 的对话中使用 MySQL MCP 服务。例如:

“你能给我展示 test_users 表中的所有用户吗?”

Claude 将使用 run_sql_query 工具执行:

SELECT * FROM test_users

可用工具

run_sql_query

对 MySQL 数据库执行只读 SQL 查询(仅限 SELECT 语句)。

参数:

  • query:要执行的 SQL SELECT 查询。

示例:

{
  "query": "SELECT * FROM test_users"
}
create_table

在 MySQL 数据库中创建新表。

参数:

  • query:要执行的 SQL CREATE TABLE 查询。

示例:

{
  "query": "CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2))"
}
insert_data

向 MySQL 数据库中的表插入数据。

参数:

  • query:要执行的 SQL INSERT INTO 查询。

示例:

{
  "query": "INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Smartphone', 499.99)"
}
update_data

更新 MySQL 数据库表中的数据。

参数:

  • query:要执行的 SQL UPDATE 查询。

示例:

{
  "query": "UPDATE products SET price = 899.99 WHERE name = 'Laptop'"
}
delete_data

删除 MySQL 数据库表中的数据。

参数:

  • query:要执行的 SQL DELETE FROM 查询。

示例:

{
  "query": "DELETE FROM products WHERE name = 'Smartphone'"
}

安全注意事项

  • 为 MCP 服务使用具有适当权限的专用 MySQL 用户
  • 如果只需要查询数据,请考虑使用只读权限
  • 安全存储数据库凭据等敏感信息
  • 所有操作均使用唯一事务 ID 记录日志,以供审计

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。