Zaj MySQL

Zaj MySQL

🚀 MySQL - MCP 服务器实现

MySQL - MCP 服务器直接实现了模型上下文协议 (MCP),无需依赖外部 SDK。它具备数据库交互和商业智能功能,可通过 MySQL 进行 SQL 查询、数据分析,并自动生成业务洞察备忘录,为用户提供便捷的数据库操作和商业分析体验。

🚀 快速开始

项目还提供了示例数据库和查询,帮助用户快速上手。按照以下步骤构建并运行服务器:

  1. 克隆仓库

    git clone https://github.com/username/mysql-mcp.git
    cd mysql-mcp
    
  2. 安装依赖

    npm install
    
  3. 构建服务端点

    npm run build
    
  4. 启动服务器

    npm start
    

✨ 主要特性

  • 执行 SQL 查询操作 MySQL 数据库
  • 创建和管理数据库表
  • 分析数据表结构
  • 生成并存储业务洞察
  • 访问持续更新的业务洞察备忘录

📦 安装指南

服务器通过环境变量进行配置,需创建根目录下的 .env 文件,并包含以下内容:

# 数据库配置
DB_HOST=数据库主机地址
DB_PORT=数据库端口号
DB_USER=数据库用户名
DB_PASSWORD=数据库密码
DB_NAME=使用的数据库名称

.env.example 文件提供了模板,用户可复制并根据实际需要修改。

💻 使用示例

基础用法

以下是服务器工具集的使用示例:

查询工具

  • read_query:执行 SELECT 查询以读取数据库中的数据
    • 输入:query(字符串)—— 需要执行的 SELECT SQL 查询语句
    • 返回:查询结果,格式为对象数组
// 示例代码
const result = read_query('SELECT * FROM users');
console.log(result);
  • write_query:执行 INSERT、UPDATE 或 DELETE 操作
    • 输入:query(字符串)—— 需要执行的修改 SQL 语句
    • 返回:{ affected_rows: 数量 }
// 示例代码
const updateResult = write_query('UPDATE users SET name = "John" WHERE id = 1');
console.log(updateResult);
  • create_table:在数据库中创建新表
    • 输入:query(字符串)—— CREATE TABLE 的 SQL 语句
    • 返回:确认表已创建的信息
// 示例代码
const createTableResult = create_table('CREATE TABLE new_table (id INT, name VARCHAR(255))');
console.log(createTableResult);

架构工具

  • list_tables:获取数据库中的所有表的列表
    • 不需要输入
    • 返回:表名数组
// 示例代码
const tables = list_tables();
console.log(tables);
  • describe_table:查看特定表的架构信息
    • 输入:table_name(字符串)—— 要描述的表名
    • 返回:包含列定义及其名称和类型的数组
// 示例代码
const tableSchema = describe_table('users');
console.log(tableSchema);

分析工具

  • append_insight:将新的业务洞察添加到备忘录资源中
    • 输入:insight(字符串)—— 数据分析中发现的业务见解
    • 返回:确认已添加见解的信息
    • 触发对 memo://insights 资源的更新
// 示例代码
const addInsightResult = append_insight('用户活跃度有所提升');
console.log(addInsightResult);

高级用法

在与 Claude 集成时,可在 cline_mcp_settings.json 中添加服务器配置:

{
"servers": [
{
"name": "MySQL-MCP",
"command": "node server.js", // 启动命令
"parameters": {} // 可选参数
}
]
}

用户通过 .env 文件管理敏感信息,确保配置的安全性。

📚 详细文档

工具集

查询工具

  • read_query:执行 SELECT 查询以读取数据库中的数据

    • 输入:query(字符串)—— 需要执行的 SELECT SQL 查询语句
    • 返回:查询结果,格式为对象数组
  • write_query:执行 INSERT、UPDATE 或 DELETE 操作

    • 输入:query(字符串)—— 需要执行的修改 SQL 语句
    • 返回:{ affected_rows: 数量 }
  • create_table:在数据库中创建新表

    • 输入:query(字符串)—— CREATE TABLE 的 SQL 语句
    • 返回:确认表已创建的信息

架构工具

  • list_tables:获取数据库中的所有表的列表

    • 不需要输入
    • 返回:表名数组
  • describe_table:查看特定表的架构信息

    • 输入:table_name(字符串)—— 要描述的表名
    • 返回:包含列定义及其名称和类型的数组

分析工具

  • append_insight:将新的业务洞察添加到备忘录资源中
    • 输入:insight(字符串)—— 数据分析中发现的业务见解
    • 返回:确认已添加见解的信息
    • 触发对 memo://insights 资源的更新

资源

服务器暴露了一个资源:

  • memo://insights:一个持续更新的业务洞察备忘录,聚合了分析过程中发现的所有见解
    • 随着新见解的添加而自动更新

🔧 技术细节

该 MCP 服务器直接使用 JSON - RPC 2.0 协议与 Claude 通信,处理工具列表、资源列表和工具执行请求。其实现依赖以下库:

  • mysql2:用于 MySQL 数据库连接
  • yargs:用于命令行参数解析
  • readline:用于标准输入输出的处理

📄 许可证

该 MCP 服务器采用 MIT 许可证。

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-09-22 13:00

相似服务问题

相关AI产品