小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
54
最近更新:1年前

MySQL 数据库操作的 Model Context Protocol 服务器

@f4ww4z/mcp-mysql-server

smithery badge

一个提供MySQL数据库操作的模型上下文协议服务器。该服务器允许AI模型通过标准化接口与MySQL数据库进行交互。

mcp-mysql-server MCP server

安装

通过Smithery安装

通过Smithery为Claude Desktop自动安装MySQL Server:

bash 复制代码
npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude

手动安装

bash 复制代码
npx @f4ww4z/mcp-mysql-server

配置

服务器需要在MCP设置配置文件中设置以下环境变量:

json 复制代码
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@f4ww4z/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

可用工具

1. connect_db

使用提供的凭据建立与MySQL数据库的连接。

typescript 复制代码
use_mcp_tool({
  server_name: "mysql",
  tool_name: "connect_db",
  arguments: {
    host: "localhost",
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

2. query

使用可选预处理语句参数执行SELECT查询。

typescript 复制代码
use_mcp_tool({
  server_name: "mysql",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?",
    params: [1]
  }
});

3. execute

使用可选预处理语句参数执行INSERT、UPDATE或DELETE查询。

typescript 复制代码
use_mcp_tool({
  server_name: "mysql",
  tool_name: "execute",
  arguments: {
    sql: "INSERT INTO users (name, email) VALUES (?, ?)",
    params: ["John Doe", "john@example.com"]
  }
});

4. list_tables

列出连接数据库中的所有表。

typescript 复制代码
use_mcp_tool({
  server_name: "mysql",
  tool_name: "list_tables",
  arguments: {}
});

5. describe_table

获取特定表的结构。

typescript 复制代码
use_mcp_tool({
  server_name: "mysql",
  tool_name: "describe_table",
  arguments: {
    table: "users"
  }
});

特性

  • 具有自动清理功能的安全连接处理
  • 支持查询参数的预处理语句
  • 全面的错误处理和验证
  • TypeScript支持
  • 自动连接管理

安全性

  • 使用预处理语句防止SQL注入
  • 支持通过环境变量安全处理密码
  • 执行前验证查询
  • 完成后自动关闭连接

错误处理

服务器为常见问题提供详细的错误信息:

  • 连接失败
  • 无效查询
  • 缺少参数
  • 数据库错误

贡献

欢迎贡献!请随时向https://github.com/f4ww4z/mcp-mysql-server提交Pull Request

许可证

MIT