MySQL数据库交互服务器

一个基于MCP协议的MySQL数据库交互服务器,提供智能连接管理、数据库分析和安全查询功能,适用于AI代理和开发人员。

  • by efeabio
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 efeabio/mcp-mysql-server

使用说明

🚀 MCP MySQL服务器

强大而专业的模型上下文协议(MCP)服务器,可通过人工智能代理与MySQL银行进行交互。该项目展示了MCP协议的高级实现,具有智能连接管理和专门的数据库分析工具。

✨ 主要特点

  • 🔐 智能连接管理 通过MCP工具进行动态配置
  • 🛡️ 强大的安全性 - 只允许SELECT操作,使用Zod验证输入
  • 🔄 多种运输 - 对不同使用场景的stdio和SSE支持
  • 📊 专业工具 - 架构分析,外键和表结构
  • 🚀 自动配置 - MySQL配置的智能发现
  • 💡 后备Interativo - 需要时请求配置

🛠️ 可用工具

🔧 连接设置

  • mysql_configure_connection MySQL连接动态配置
  • mysql_auto_configure_connection - 自动检测配置
  • mysql_get_connection_status - 当前连接状态
  • mysql_check_connection - 连接测试

📊 银行业务

  • mysql_list_tables 列出所有表格
  • mysql_get_table_info 详细的表格结构
  • mysql_execute_query 执行 SELECT 查询
  • mysql_analyze_schema - 完整方案分析
  • mysql_list_foreign_keys - 关系映射

🚀 安装和配置

1. 克隆并安装

git clone https://github.com/efeabio/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build

2.配置光标

将以下设置添加到您的文件 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mysql": {
      "command": "/caminho/para/seu/projeto/start-mcp.sh"
    }
  }
}

⚠️ 重要的: 替换 /caminho/para/seu/projeto/ 您克隆仓库的实际路径。

3.配置o start-mcp.sh

编辑文件 start-mcp.sh 并更改路径以匹配您的安装:

#!/bin/bash
node /caminho/para/seu/projeto/dist/index.js

4. MySQL连接设置

该项目提供 3种形式 设置MySQL连接:

🔧 通过工具手动设置(推荐)

使用某种工具 mysql_configure_connection 动态配置:

await mysql_configure_connection({
  host: "localhost",
  port: 3306,
  user: "root",
  password: "sua_senha",
  database: "seu_banco"
});

📁 通过文件配置

创建文件 config.json 工程根 :

{
  "mysql": {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "sua_senha",
    "database": "seu_banco"
  }
}

🔍 自动检测

使用某种工具 mysql_auto_configure_connection 尝试自动发现配置。

🎯 使用案例

🔍 数据库分析

  • 架构审计院 完整的结构映射
  • 关系分析 外国密钥识别
  • 自动文档 - 银行文件生成

🤖 与 AI 代理集成

  • 智能查询 通过自然语言查询
  • 互动探索 无需事先知识的数据发现
  • 自动分析 关于结构和关系的见解

🚀 开发与DevOps

  • 数据迁移 迁移前的结构分析
  • 调试 调查银行问题
  • 监督员 - 数据完整性检查

🔒 安全和最佳实践

  • ✅ 只读操作 只允许选择
  • ✅ 输入验证 -模式验证com Zod
  • ✅ 连接测试 - 在接受设置前检查
  • ✅ 通过工具配置 安全的配置界面
  • ✅ 连接隔离 安全管理多个连接

🚀 执行

# Modo stdio (padrão para MCP)
./start-mcp.sh

# Modo SSE para desenvolvimento
node dist/index.js sse

📚 使用范例

初始设置

// Configure conexão dinamicamente
await mysql_configure_connection({
  host: "localhost",
  port: 3306,
  user: "root",
  password: "sua_senha",
  database: "test"
});

// Verifique se funcionou
await mysql_check_connection();

// Explore o banco
await mysql_list_tables();

Schema 分析

// Análise completa
await mysql_analyze_schema();

// Relacionamentos
await mysql_list_foreign_keys();

// Estrutura específica
await mysql_get_table_info("users");

自定义查询

// Execute queries SELECT
await mysql_execute_query("SELECT COUNT(*) as total FROM users");

// Análise de dados
await mysql_execute_query("SELECT table_name, table_rows FROM information_schema.tables");

🏗️ 建筑师

该项目采用模块化架构,具有:

  • MCP-SDK 模型上下文协议 Model Context Protocol
  • MySQL2 - MySQL的原生和性能驱动程序
  • TypeScript - 静态打字和强大的开发
  • 萨德 - 方案验证和数据输入
  • 快速 - 可选的SSE传输支持

🔧 开发

# Build do projeto
npm run build

# Execução em modo desenvolvimento
npm start

# Execução com SSE
npm start sse

📄 许可证

麻省理工学院许可证 - 详情请参阅许可证文件。

🤝 贡献

欢迎捐款!该项目展示了MCP协议的专业实施,并作为开发强大的MCP服务器的参考。


开发于❤️ 展示MCP协议,MySQL集成和AI代理工具开发方面的专业知识。