mysql-mcp-server

mysql-mcp-server

一个提供对 MySQL 数据库只读访问权限的 MCP 服务器。

数据库交互
数据与应用分析
访问服务器

README

MySQL 数据库访问 MCP 服务器

此 MCP 服务器提供对 MySQL 数据库的只读访问。它允许您:

  • 列出可用的数据库
  • 列出数据库中的表
  • 描述表结构
  • 执行只读 SQL 查询

安全特性

  • 只读访问: 仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句
  • 查询验证: 防止 SQL 注入并阻止任何数据修改尝试
  • 查询超时: 防止长时间运行的查询消耗资源
  • 行数限制: 防止返回过多的数据

安装

选项 1:从 NPM 安装 (推荐)

# 全局安装
npm install -g mysql-mcp-server

# 或者在您的项目中本地安装
npm install mysql-mcp-server

选项 2:从源代码构建

# 克隆仓库
git clone https://github.com/dpflucas/mysql-mcp-server.git
cd mysql-mcp-server

# 安装依赖并构建
npm install
npm run build

2. 配置环境变量

服务器需要以下环境变量:

  • MYSQL_HOST: 数据库服务器主机名
  • MYSQL_PORT: 数据库服务器端口 (默认: 3306)
  • MYSQL_USER: 数据库用户名
  • MYSQL_PASSWORD: 数据库密码
  • MYSQL_DATABASE: 默认数据库名称 (可选)

3. 添加到 MCP 设置

将以下配置添加到您的 MCP 设置文件中:

如果您通过 npm 安装 (选项 1):

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["mysql-mcp-server"],
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your-mysql-user",
        "MYSQL_PASSWORD": "your-mysql-password",
        "MYSQL_DATABASE": "your-default-database"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

如果您从源代码构建 (选项 2):

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["/path/to/mysql-mcp-server/build/index.js"],
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your-mysql-user",
        "MYSQL_PASSWORD": "your-mysql-password",
        "MYSQL_DATABASE": "your-default-database"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

可用工具

list_databases

列出 MySQL 服务器上所有可访问的数据库。

参数: 无

示例:

{
  "server_name": "mysql",
  "tool_name": "list_databases",
  "arguments": {}
}

list_tables

列出指定数据库中的所有表。

参数:

  • database (可选): 数据库名称 (如果未指定,则使用默认数据库)

示例:

{
  "server_name": "mysql",
  "tool_name": "list_tables",
  "arguments": {
    "database": "my_database"
  }
}

describe_table

显示特定表的结构。

参数:

  • database (可选): 数据库名称 (如果未指定,则使用默认数据库)
  • table (必需): 表名

示例:

{
  "server_name": "mysql",
  "tool_name": "describe_table",
  "arguments": {
    "database": "my_database",
    "table": "my_table"
  }
}

execute_query

执行只读 SQL 查询。

参数:

  • query (必需): SQL 查询 (仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句)
  • database (可选): 数据库名称 (如果未指定,则使用默认数据库)

示例:

{
  "server_name": "mysql",
  "tool_name": "execute_query",
  "arguments": {
    "database": "my_database",
    "query": "SELECT * FROM my_table LIMIT 10"
  }
}

测试

服务器包含测试脚本,用于验证您的 MySQL 设置的功能:

1. 设置测试数据库

此脚本创建测试数据库、表和示例数据:

# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password

# 运行设置脚本
npm run test:setup

2. 测试 MCP 工具

此脚本针对测试数据库测试每个 MCP 工具:

# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=mcp_test_db

# 运行工具测试脚本
npm run test:tools

3. 运行所有测试

要运行设置和工具测试:

# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password

# 运行所有测试
npm test

故障排除

如果您遇到问题:

  1. 检查服务器日志中的错误消息
  2. 验证您的 MySQL 凭据和连接详细信息
  3. 确保您的 MySQL 用户具有适当的权限
  4. 检查您的查询是否为只读且格式正确

许可证

此项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
BigQuery MCP Server

BigQuery MCP Server

这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。

精选
MCP Web Research Server

MCP Web Research Server

一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。

精选