MySQL MCP服务器

一个通过stdio提供MySQL连接管理的PyPI包,支持数据库列表、表查询和只读SQL执行。

  • by agarwalLk-meesho
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 agarwalLk-meesho/mysql-mcp-server

使用说明

mysql-mcp服务器ms

此MCP服务器的PyPI包。这 GitHub仓库 仍然 mysql-mcp-serverPyPI项目是 mysql-mcp-server-ms 因为 mysql-mcp-server 已经在PyPI上使用了。

MySQL的MCP服务器 标准.工具: connect_mysql, disconnect, list_databases, list_tables, describe_table, run_query (仅限只读SQL)。

无克隆使用(建议团队使用)

在包在PyPI(或您的私有索引)上之后

安装 紫外线,然后使用以下命令运行服务器 uvx (无回购结算):

uvx mysql-mcp-server-ms

为可复制的MCP配置固定一个版本:

uvx mysql-mcp-server-ms==0.1.0

光标 — .cursor/mcp.json:

"mysql": {
  "command": "uvx",
  "args": ["mysql-mcp-server-ms"]
}

克劳德代码 --项目 .mcp.json 或者:

claude mcp add --transport stdio mysql -- uvx mysql-mcp-server-ms

私人指数 (示例):

UV_INDEX_URL=https://your-artifact-server/simple uvx mysql-mcp-server-ms

或设置 UV_INDEX / PIP_INDEX_URL 每 紫外线文件 对于你的组织。

在PyPI之前:从Git安装(没有完整的monorepo克隆)

uvx 可以从安装包 仓库的地址 指向此子目录(替换 ORG, REPO,以及分支/标签):

uvx --from "git+https://github.com/ORG/REPO.git#subdirectory=mysql_server&branch=main" mysql-mcp-server-ms

使用一个 标记或提交SHA 而不是 branch=main 为了实现稳定的安装。


从此仓库安装(开发人员)

cd mysql_server
uv sync
uv run mysql-mcp-server-ms

出版(维护者)

所以其他人可以跑 uvx mysql-mcp-server-ms 从默认索引中,包必须处于 PyPI (或您的团队配置的私有索引)。

选项A——GitHub操作(推荐,笔记本电脑上没有长寿命的PyPI令牌)

  1. 一次 pypi.org: 添加一个 待定的受信任发布者 对于项目 mysql-mcp-server-ms (必须匹配 name 在 pyproject.toml 确切地说)→ 设置→ 出版 → 工作流 publish-mysql-mcp-server.yml 关于此回购(请参阅 .github/workflows/publish-mysql-mcp-server.yml).
  2. 碰撞 version 在 pyproject.toml 并合并到默认分支。
  3. 触发工作流:
    • GitHub→ 行动→ 将mysql-mcp服务器ms发布到PyPI→ 运行工作流,或
    • 推送标签 mysql-mcp-server-ms-v0.1.0 (前缀 mysql-mcp-server-ms-v +森弗从 pyproject.toml,例如版本 0.1.0 → tag mysql-mcp-server-ms-v0.1.0).
  4. 确认 PyPI.

如果您的待定发布者使用了不同的拼写(例如。 mysql_mcp_server_ms),在PyPI上删除它并创建一个新的 项目名称匹配 这 name 领域 pyproject.toml (mysql-mcp-server-ms).

选项B——从您的机器

  1. 碰撞 version 在 pyproject.toml.

  2. 清除杂散 *.egg-info 在...之下 src/ 如果存在(rm -rf src/*.egg-info).

  3. 构建和上传:

    cd mysql_server
    uv build
    uv publish
    

    通过配置凭据 uv出版 (UV_PUBLISH_TOKEN,或 keyring / ~/.pypirc).


先决条件

  • Python 3.10+
  • 紫外线 上 PATH (为 uvx / uv sync)
  • MySQL的网络访问(如果是内部VPN)

安装 uv

curl -LsSf https://astral.sh/uv/install.sh | sh
# or: brew install uv
uv --version

光标(monorepo/可编辑安装)

如果你在仓库内开发(克隆路径可能是 mysql-mcp-server):

"mysql": {
  "command": "uv",
  "args": [
    "--directory",
    "/absolute/path/to/mysql-mcp-server/mysql_server",
    "run",
    "mysql-mcp-server-ms"
  ]
}

遗产: .venv/bin/python3 + server.py 垫片支撑后 uv sync.


克劳德代码(monorepo+ REPO_ROOT)

如果您的monorepo使用根env-var,请将其指向此包目录,例如:

export REPO_ROOT="/absolute/path/to/mysql-mcp-server"
claude mcp add --transport stdio mysql -- \
  uv --directory "$REPO_ROOT/mysql_server" run mysql-mcp-server-ms

安全

  • 更喜欢 只读 MySQL用户。
  • 对内部数据库主机使用VPN。
  • 切勿提交密码;使用 connect_mysql 在会议或你的秘密经理。