MCP Server for MySQL based on NodeJS

MCP Server for MySQL based on NodeJS

site icon
2025.04.02 1
TypeScript数据库服务数据查询数据库
mcp-server-mysql 是一个基于 NodeJS 的 Model Context Protocol 服务器,专门为 MySQL 数据库提供只读访问功能。该服务器允许大型语言模型(LLMs)检查数据库模式并执行只读查询。
View on GitHub

Overview

产品定位

mcp-server-mysql 是一个专门为 MySQL 数据库设计的只读访问服务器,旨在为大型语言模型提供数据库查询和模式检查能力。

核心功能

  1. 数据库查询:执行只读 SQL 查询,支持参数化查询和结果分页。
  2. 模式检查:提供完整的数据库模式信息,包括表结构、列类型、索引和约束等。
  3. 安全特性:内置 SQL 注入防护、查询白名单/黑名单、速率限制等功能。
  4. 性能优化:连接池优化、查询结果缓存、大结果集流式处理等。
  5. 监控与调试:全面的查询日志记录、性能指标收集和健康检查端点。

适用场景

  1. 为 AI 应用提供数据库查询能力
  2. 数据库模式分析和文档生成
  3. 数据可视化工具的后端支持
  4. 教学和演示环境中的数据库访问

工具列表

  • mysql_query:执行只读 SQL 查询,支持参数化查询、结果分页和查询统计。

常见问题解答

  1. 连接问题:检查 MySQL 服务器是否运行,确认凭据和权限是否正确。
  2. 性能问题:调整连接池大小、查询超时设置或启用查询缓存。
  3. 安全问题:检查速率限制配置和 SSL/TLS 设置。
  4. 路径问题:确保所有必需的二进制文件路径正确设置。
  5. 认证问题:确认 MySQL 用户认证方法是否正确配置。

使用教程

使用依赖

  1. 确保已安装 NodeJS 和 npm/pnpm
  2. 确保 MySQL 服务器已安装并可访问

安装教程

使用 Smithery 安装

npx -y @smithery/cli@latest install @benborla29/mcp-server-mysql --client claude

使用 MCP Get 安装

npx @michaellatman/mcp-get@latest install @benborla29/mcp-server-mysql

使用 NPM/PNPM 手动安装

# 使用 npm
npm install -g @benborla29/mcp-server-mysql

# 使用 pnpm
pnpm add -g @benborla29/mcp-server-mysql

调试方式

使用 Smithery 调试

# 检查状态
smithery status @benborla29/mcp-server-mysql

# 运行诊断
smithery diagnose @benborla29/mcp-server-mysql

# 查看日志
smithery logs @benborla29/mcp-server-mysql

使用 MCP Get 调试

# 检查状态
mcp-get status @benborla29/mcp-server-mysql

# 查看日志
mcp-get logs @benborla29/mcp-server-mysql

测试数据库设置

-- 创建测试数据库和用户
CREATE DATABASE IF NOT EXISTS mcp_test;
CREATE USER IF NOT EXISTS 'mcp_test'@'localhost' IDENTIFIED BY 'mcp_test_password';
GRANT ALL PRIVILEGES ON mcp_test.* TO 'mcp_test'@'localhost';
FLUSH PRIVILEGES;
# 运行测试
pnpm test

许可证

该项目遵循 MIT 开源许可条款。