使用FastMCP构建MySql Mcp Server,支持Streamable HTTP, STDIO, SSE,支持读写权限控制
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mysql-mcp-xu","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
[](https://pypi.org/project/mysql-mcp-xu) [](https://pepy.tech/projects/mysql-mcp-xu) # MySQL MCP Xu ## 项目简介 MySQL MCP Xu 是一个基于 FastMCP 的 MySQL MCP Server项目,提供了一个安全、高效的接口来执行 SQL 操作。该项目支持多种权限控制(读、写、管理员),并通过工具函数实现了表结构查询、索引信息获取、健康状态监控等功能。 ## 目录结构 ``` . ├── src │ └── mysql_mcp_xu │ ├── __init__.py │ ├── config.py │ └── mcp_server.py ├── README.md └── pyproject.toml ``` ## 快速开始 1. 安装:`pip install mysql-mcp-xu` 2. 执行命令的目录创建一个 `.env` 文件,内容如下: ```bash MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USER=your_username MYSQL_PASSWORD=your_password MYSQL_DATABASE=your_database MYSQL_ROLE=r # 可选值: r, w, a MYSQL_MAXSIZE=2 # 可选值 连接池最大值 ``` 3. 启动命令: - STDIO:uv run -m mysql_mcp_xu.mcp_server - Streamable HTTP: uv run -m mysql_mcp_xu.mcp_server sh - SSE: uv run -m mysql_mcp_xu.mcp_server sse 4. 使用 MCP 客户端连接服务并执行 SQL 操作。 ## 功能特性 - **SQL 执行**:支持执行多条 SQL 语句,并返回结果。 - **权限控制**:根据角色(读、写、管理员)限制 SQL 操作。 - **表结构查询**:获取指定表的字段名、字段注释等信息。 - **索引信息获取**:获取指定表的索引名、索引字段、索引类型等信息。 - **健康状态监控**:获取 MySQL 的健康状态,包括连接数、查询次数、缓冲池使用情况等。 ## 权限控制 权限控制通过 `PERMISSIONS` 字典实现,支持以下角色: - `r`:只读权限,允许执行 `SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN`, `USE` 操作。 - `w`:读写权限,允许执行 `SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN`, `INSERT`, `UPDATE`, `DELETE`, `USE` 操作。 - `a`:管理员权限,允许执行所有操作,包括 `CREATE`, `ALTER`, `DROP`, `TRUNCATE` 等。 ## 工具函数 - `execute_sql`: 执行 SQL 语句并返回结果,SELECT语句没有LIMIT时,自动在sql后加LIMIT 1000。 - `get_table_structure`: 获取指定表的字段信息。 - `get_table_indexes`: 获取指定表的索引信息。 - `search_table_by_name`: 根据表名或表注释搜索数据库中对应的表名。 - `get_mysql_health`: 获取 MySQL 的健康状态。 - `get_database_info`: 获取数据库基本信息 - `get_database_tables`: 获取数据库所有表和对应的表注释 - `analyze_table_stats`: 分析表统计信息和列统计信息 - `get_process_list`: 获取当前进程列表 - `check_table_constraints`: 检查表约束信息 ## 部署方式 ### 使用 uvx 部署 在 MCP 配置文件中添加如下配置,以使用 `uvx` 部署 MySQL MCP Xu 服务: #### STDIO ```json { "mcpServers": { "mysql-mcp-xu": { "command": …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.