MySQL数据库操作工具

MySQL MCP Server是一个用于MySQL数据库操作的模型上下文协议服务器,提供执行SQL查询、列出数据库和表、描述表结构等功能,适用于开发者和数据库管理员。

  • by myheisenberg
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 myheisenberg/mysql-mcp-server

使用说明

🔧 MySQL MCP服务器

MySQL数据库操作的模型上下文协议(MCP)服务器。提供4个强大的工具,用于通过任何兼容MCP的客户端进行数据库交互。

✨ 特性

  • 🔍 执行SQL查询 -运行任何SELECT、INSERT、UPDATE、DELETE命令
  • 📊 列出数据库 -查看所有可用数据库
  • 📋 列表表格 -显示任何数据库中的表
  • 🏗️ 描述表格 -获取详细的表结构信息
  • 🔒 安全 -基于环境的配置,无硬编码凭据
  • ⚡ 快速 -使用TypeScript和连接池构建

🚀 快速开始

安装

# Clone the repository
git clone https://github.com/myheisenberg/mysql-mcp-server.git
cd mysql-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

配置

服务器使用环境变量进行数据库配置:

DB_HOST=localhost        # MySQL host (default: localhost)
DB_USER=root            # MySQL username (default: root)
DB_PASSWORD=            # MySQL password (default: empty)
DB_PORT=3306           # MySQL port (default: 3306)

📖 用法

使用克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["path/to/mysql-mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "localhost",
        "DB_USER": "your_username",
        "DB_PASSWORD": "your_password",
        "DB_PORT": "3306"
      }
    }
  }
}

使用游标IDE

添加到MCP配置中:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["path/to/mysql-mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "localhost",
        "DB_USER": "your_username", 
        "DB_PASSWORD": "your_password",
        "DB_PORT": "3306"
      }
    }
  }
}

🛠️ 可用工具

1. mysql_query

执行任何MySQL查询并获得格式化的结果。

例子: “在用户表上运行SELECT查询”

2. mysql_databases

列出MySQL服务器上所有可用的数据库。

例子: “显示所有数据库”

3. mysql_tables

列出特定数据库中的所有表。

例子: “博客数据库中有哪些表?”

4. mysql_describe

获取有关表结构的详细信息。

例子: “描述用户表的结构”

🔧 发展

# Install dependencies
npm install

# Development mode (watch for changes)
npm run dev

# Build for production
npm run build

# Start the server
npm start

📦 项目结构

mysql-mcp-server/
├── src/
│   └── index.ts          # Main MCP server implementation
├── dist/                 # Compiled JavaScript (auto-generated)
├── package.json          # Project dependencies and scripts
├── tsconfig.json         # TypeScript configuration
├── .gitignore           # Git ignore rules
└── README.md            # This file

🔒 安全

  • 没有硬编码凭据 -所有数据库连接详细信息都来自环境变量
  • 连接池 -高效安全的数据库连接
  • 错误处理 -正确的错误消息,不暴露敏感信息

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

如果您遇到任何问题或有疑问:

  1. 检查 问题 页
  2. 如果您的问题尚未报告,则创建新问题
  3. 提供尽可能多的细节,包括错误消息和配置

由以下材料制成❤️ 对于MCP社区