Token导航 LogoToken导航

MCP Server · 数据服务

Fastmcp Mysql

FastMCP MySQL Server是一个为LLM应用提供安全高效MySQL数据库访问的服务实现,支持连接池、异步操作和SQL注入防护等核心功能。

stdio官方级别未说明来源级核验工具 0
数据库服务PythonClaudeClaude Desktop

快速开始

作者 / 组织
jinto
提供方
jinto
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

1 个

MCP World

选型结论

Fastmcp Mysql 属于数据服务类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uvx fastmcp-mysql

客户端配置示例

{
  "mcpServers": {
    "fastmcp-mysql": {
      "command": "uvx",
      "args": [
        "fastmcp-mysql"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

FastMCP MySQL服务器

MySQL数据库操作的FastMCP服务器实现,为LLM应用程序提供对MySQL数据库的安全高效访问。

特性

  • 🔒 缺省巩固安全:具有可选写入权限的只读访问
  • ⚡ 高性能:连接池和异步操作
  • 🛡️ SQL注入保护:内置查询验证和准备好的语句
  • 📊 综合监控:结构化JSON日志记录
  • 🔧 灵活的配置:基于环境变量的配置
  • 🚀 轻松部署:安装并运行 uvx

安装

使用uvx(推荐)

# Run directly with uvx
uvx fastmcp-mysql

# With environment variables
MYSQL_HOST=localhost MYSQL_USER=myuser MYSQL_PASSWORD=mypass MYSQL_DB=mydb uvx fastmcp-mysql

使用pip

pip install fastmcp-mysql

来源

git clone https://github.com/jinto/fastmcp-mysql
cd fastmcp-mysql
uv sync --all-extras

配置

使用环境变量配置服务器:

必需变量

变量描述默认值
MYSQL_USER数据库用户名-
MYSQL_PASSWORD数据库密码-

可选变量

变量描述默认值
MYSQL_HOST数据库主机“127.0.0.1”
MYSQL_PORT数据库端口“3306”
MYSQL_DB数据库名称(可选)无
MYSQL_ALLOW_INSERT启用INSERT查询false
MYSQL_ALLOW_UPDATE启用UPDATE查询false
MYSQL_ALLOW_DELETE启用DELETE查询false
MYSQL_POOL_SIZE连接池大小10
MYSQL_QUERY_TIMEOUT查询超时(毫秒)30000
MYSQL_LOG_LEVEL日志级别(调试、信息、警告、错误)信息
MYSQL_CACHE_ENABLED启用查询结果缓存true
MYSQL_CACHE_MAX_SIZE最大缓存条目数1000
MYSQL_CACHE_TTL缓存TTL(毫秒)60000
MYSQL_CACHE_EVICTION_POLICY缓存驱逐策略(lru/ttl/fifo)lru
MYSQL_CACHE_CLEANUP_INTERVAL缓存清理间隔(秒)60.0
MYSQL_CACHE_INVALIDATION_MODE缓存失效策略激进
MYSQL_STREAMING_CHUNK_SIZE流式查询块大小1000
MYSQL_PAGINATION_DEFAULT_SIZE默认页面大小10
MYSQL_PAGINATION_MAX_SIZE最大页面大小1000

用法

Claude桌面配置

使用Claude MCP CLI(推荐)
# Install from PyPI (when published)
claude mcp add fastmcp-mysql \
  -e MYSQL_HOST="127.0.0.1" \
  -e MYSQL_PORT="3306" \
  -e MYSQL_USER="your_username" \
  -e MYSQL_PASSWORD="your_password" \
  -e MYSQL_DB="your_database" \
  -- uvx fastmcp-mysql

# Without specifying a database (use USE command)
claude mcp add fastmcp-mysql \
  -e MYSQL_HOST="127.0.0.1" \
  -e MYSQL_USER="your_username" \
  -e MYSQL_PASSWORD="your_password" \
  -- uvx fastmcp-mysql

# For local development
claude mcp add fastmcp-mysql \
  -e MYSQL_HOST="127.0.0.1" \
  -e MYSQL_PORT="3306" \
  -e MYSQL_USER="your_username" \
  -e MYSQL_PASSWORD="your_password" \
  -e MYSQL_DB="your_database" \
  -- uv run --project /path/to/fastmcp-mysql fastmcp-mysql
手动配置

添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "mysql": {
      "command": "uvx",
      "args": ["fastmcp-mysql"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DB": "your_database",
        "MYSQL_ENABLE_SECURITY": "true",
        "MYSQL_RATE_LIMIT_RPM": "60",
        "MYSQL_RATE_LIMIT_BURST": "10"
      }
    }
  }
}

可用工具

mysql_query

对配置的MySQL数据库执行SQL查询。

参数:

  • query (string,必填):要执行的SQL查询
  • params (数组,可选):查询已准备语句的参数
  • database (字符串,可选):目标数据库(用于多数据库模式)

例子:

# Simple query
result = await mysql_query("SELECT * FROM users WHERE active = 1")

# With parameters (SQL injection safe)
result = await mysql_query(
    "SELECT * FROM users WHERE age > %s AND city = %s",
    params=[18, "New York"]
)

# When no database is specified initially
result = await mysql_query("USE mydb")
result = await mysql_query("SHOW TABLES")
result = await mysql_query("SHOW DATABASES")

安全

默认安全功能

FastMCP MySQL包括全面的安全功能:

  • 默认情况下为只读:必须显式启用写入操作
  • SQL注入预防:

- SQL注入尝试的高级模式检测 - 所有查询的参数验证 - 检测编码的注入尝试(URL、Unicode、十六进制)

  • 查询过滤:

- 黑名单模式:阻止危险操作(DDL、系统表、文件操作) - 白名单模式:只允许明确批准的查询模式 - 可定制的过滤规则

  • 速率限制:

- 按用户请求限制 - 可配置算法(令牌桶、滑动窗口、固定窗口) - 突发保护

安全配置

通过环境变量配置安全功能:

变量描述默认值
MYSQL_ENABLE_SECURITY启用所有安全功能true
MYSQL_ENABLE_INJECTION_DETECTION启用SQL注入检测true
MYSQL_ENABLE_RATE_LIMITING启用速率限制true
MYSQL_FILTER_MODE过滤模式(黑名单/白名单/组合)黑名单
MYSQL_RATE_LIMIT_RPM每分钟请求速率限制60
MYSQL_RATE_LIMIT_BURST速率限制的突发大小10
MYSQL_RATE_LIMIT_ALGORITHM速率限制算法(token_bucket/sliding_indow/fixed_window)token_backet
MYSQL_MAX_QUERY_LENGTH最大查询长度(字符)10000
MYSQL_MAX_PARAMETER_LENGTH最大参数长度1000
MYSQL_LOG_SECURITY_EVENTS日志安全违规true
MYSQL_LOG_REJECTED_QUERIES记录被拒绝的查询true
MYSQL_AUDIT_ALL_QUERIES审核所有查询(性能影响)false

启用写入操作

默认情况下,写入操作被禁用。谨慎启用它们:

# Enable specific write operations
MYSQL_ALLOW_INSERT=true \
MYSQL_ALLOW_UPDATE=true \
MYSQL_ALLOW_DELETE=true \
uvx fastmcp-mysql

安全最佳实践

  1. 使用准备好的报表:始终使用参数而不是字符串连接
  2. 最小特权原则:仅在必要时启用写入操作
  3. 监控安全事件:检查日志中的安全违规行为
  4. 速率限制:根据您的应用程序需求调整限制
  5. 白名单模式:尽可能在生产环境中使用白名单模式

发展

设置开发环境

# Clone the repository
git clone https://github.com/jinto/fastmcp-mysql
cd fastmcp-mysql

# Create virtual environment with uv
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
uv sync --all-extras

# Install pre-commit hooks
pre-commit install

运行测试

# Run all tests
uv run pytest tests/

# Run with coverage
uv run pytest tests/ --cov=fastmcp_mysql

# Run specific test file
uv run pytest tests/unit/test_query.py

# Run integration tests only
uv run pytest tests/integration/

代码质量

# Format code
uv run black src tests

# Lint code
uv run ruff check src tests

# Type checking
uv run mypy src

建筑

服务器遵循清洁架构原则:

src/fastmcp_mysql/
├── __init__.py                 # Package initialization
├── __main__.py                 # Entry point for uvx
├── config.py                   # Configuration management
├── server.py                   # FastMCP server setup
├── connection.py               # Database connection management
├── security/                   # Security module (Clean Architecture)
│   ├── __init__.py
│   ├── manager.py              # Security orchestration
│   ├── config.py               # Security configuration
│   ├── exceptions.py           # Security exceptions
│   ├── interfaces/             # Abstract interfaces
│   │   ├── injection_detector.py
│   │   ├── query_filter.py
│   │   └── rate_limiter.py
│   ├── injection/              # SQL injection detection
│   │   ├── detector.py
│   │   └── patterns.py
│   ├── filtering/              # Query filtering
│   │   ├── blacklist.py
│   │   ├── whitelist.py
│   │   └── combined.py
│   └── rate_limiting/          # Rate limiting
│       ├── token_bucket.py
│       ├── sliding_window.py
│       ├── fixed_window.py
│       └── factory.py
└── tools/                      # MCP tools
    ├── __init__.py
    └── query.py                # Query execution tool

贡献

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

请确保:

  • 所有测试均通过
  • 代码格式为黑色
  • 添加类型提示
  • 文档已更新

许可证

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

致谢

支持

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

数据库服务Python本地部署MySQL连接池SQL安全LLM集成高性能查询

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Fastmcp Mysql

MCP World · 本页

0stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Fastmcp Mysql 怎么安装?

公开资料给出的安装命令是 uvx fastmcp-mysql,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Fastmcp Mysql 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Fastmcp Mysql 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Fastmcp Mysql 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Fastmcp Mysql 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP