MySQL - MCP 服务器直接实现了模型上下文协议 (MCP),无需依赖外部 SDK。它具备数据库交互和商业智能功能,可通过 MySQL 进行 SQL 查询、数据分析,并自动生成业务洞察备忘录,为用户提供便捷的数据库操作和商业分析体验。
项目还提供了示例数据库和查询,帮助用户快速上手。按照以下步骤构建并运行服务器:
克隆仓库
git clone https://github.com/username/mysql-mcp.git
cd mysql-mcp
安装依赖
npm install
构建服务端点
npm run build
启动服务器
npm start
服务器通过环境变量进行配置,需创建根目录下的 .env 文件,并包含以下内容:
# 数据库配置
DB_HOST=数据库主机地址
DB_PORT=数据库端口号
DB_USER=数据库用户名
DB_PASSWORD=数据库密码
DB_NAME=使用的数据库名称
.env.example 文件提供了模板,用户可复制并根据实际需要修改。
以下是服务器工具集的使用示例:
query(字符串)—— 需要执行的 SELECT SQL 查询语句// 示例代码
const result = read_query('SELECT * FROM users');
console.log(result);
query(字符串)—— 需要执行的修改 SQL 语句{ affected_rows: 数量 }// 示例代码
const updateResult = write_query('UPDATE users SET name = "John" WHERE id = 1');
console.log(updateResult);
query(字符串)—— CREATE TABLE 的 SQL 语句// 示例代码
const createTableResult = create_table('CREATE TABLE new_table (id INT, name VARCHAR(255))');
console.log(createTableResult);
// 示例代码
const tables = list_tables();
console.log(tables);
table_name(字符串)—— 要描述的表名// 示例代码
const tableSchema = describe_table('users');
console.log(tableSchema);
insight(字符串)—— 数据分析中发现的业务见解memo://insights 资源的更新// 示例代码
const addInsightResult = append_insight('用户活跃度有所提升');
console.log(addInsightResult);
在与 Claude 集成时,可在 cline_mcp_settings.json 中添加服务器配置:
{
"servers": [
{
"name": "MySQL-MCP",
"command": "node server.js", // 启动命令
"parameters": {} // 可选参数
}
]
}
用户通过 .env 文件管理敏感信息,确保配置的安全性。
read_query:执行 SELECT 查询以读取数据库中的数据
query(字符串)—— 需要执行的 SELECT SQL 查询语句write_query:执行 INSERT、UPDATE 或 DELETE 操作
query(字符串)—— 需要执行的修改 SQL 语句{ affected_rows: 数量 }create_table:在数据库中创建新表
query(字符串)—— CREATE TABLE 的 SQL 语句list_tables:获取数据库中的所有表的列表
describe_table:查看特定表的架构信息
table_name(字符串)—— 要描述的表名insight(字符串)—— 数据分析中发现的业务见解memo://insights 资源的更新服务器暴露了一个资源:
该 MCP 服务器直接使用 JSON - RPC 2.0 协议与 Claude 通信,处理工具列表、资源列表和工具执行请求。其实现依赖以下库:
该 MCP 服务器采用 MIT 许可证。