MySQL工具服务器

一个提供MySQL操作作为AI助手工具的服务器,支持SQL查询、表描述和索引外键信息获取。

  • by jasbir125
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jasbir125/mcp_server_mysql

使用说明

🐬 MCP服务器–MySQL工具(PyMySQL+FastMCP)

该项目提供了 模型上下文协议(MCP) 将MySQL操作作为AI助手的工具公开的服务器,例如 克劳德桌面版 或 ChatGPT桌面.

它允许AI:

  • 运行SQL查询
  • 描述表格
  • 获取索引信息
  • 获取外键详细信息

所有这些都使用安全的MySQL连接。


✨ 特性

  • ✔ 使用连接到MySQL PyMySQL
  • ✔ 使用以下方式显示工具 FastMCP
  • ✔ 支持:
    • run_query
    • describe_table
    • describe_indexes_and_foreign_keys
  • ✔ 通过读取环境配置 .env
  • ✔ 完全兼容 Python 3.12

📂 项目结构

mcp_server_mysql/
│── mssql_mcp_server.py   # Main MCP server (MySQL version)
│── requirements.txt       # Python dependencies
│── .env.example           # Environment variable template
│── README.md

🔧 需求

  • python 3.12.x
  • MySQL服务器(本地或远程)
  • Claude Desktop或任何兼容MCP的客户端

安装Python依赖项:

pip install -r requirements.txt

⚙️ 环境变量(.env)

创建一个 .env 项目根目录中的文件:

MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=yourpassword
MYSQL_DB=yourdatabase

您可以重命名 .env.example → .env


🚀 运行MCP服务器

激活你的Python环境:

source .venv/bin/activate

启动服务器:

python mssql_mcp_server.py

⚠️ MCP服务器 不在HTTP端口上运行.
他们使用 标准 并且必须由像Claude Desktop这样的MCP客户端启动。


💻 与Claude Desktop(macOS)一起使用

编辑您的Claude配置文件:

~/Library/Application Support/Claude/claude_desktop_config.json

添加:

{
  "mcpServers": {
    "mysql": {
      "type": "python",
      "command": "/FULL/PATH/TO/.venv/bin/python3.12",
      "args": [
        "/FULL/PATH/TO/mcp_server_mysql/mssql_mcp_server.py"
      ]
    }
  }
}

重新启动克劳德桌面。

现在您将看到工具:

  • mysql-db.run_query
  • mysql-db.describe_table
  • mysql-db.describe_indexes_and_foreign_keys

🧪 示例用法

运行SQL查询:

run_query("SELECT * FROM users LIMIT 10")

描述一张表:

describe_table("your_schema", "users")

获取索引+外键信息:

describe_indexes_and_foreign_keys("your_schema", "orders")

🛠 发展

要重新创建环境,请执行以下操作:

python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

🐛 故障排除

❗ venv内部的Python版本错误

删除并重新创建venv:

rm -rf .venv
python3.12 -m venv .venv

❗ 克劳德表演《足够》

在中检查Python路径 claude_desktop_config.json.

❗ MySQL连接失败

验证中的凭据 .env.


🤝 贡献

欢迎PR!
您可以添加:

  • 列表表工具
  • 架构浏览器工具
  • 插入/更新助手

📄 许可证

MIT许可证——免费使用、修改和分发。


⭐ 支持

如果你觉得这有用,请⭐ 回购:

👉 https://github.com/jasbir125/mcp_server_mysql