workbuddy中配置MySQL-mcp
·
自从看了个别大佬搞AIops,很冲动,所以我也开始折腾起来了,就以MySQL-mcp开始试试手,走走大佬走过的路。
概要
workbuddy和MySQL通过mcp交互。
技术细节
目前只记录整个部署配置过程
1、部署测试的MySQL容器
1.1、docker run命令
mkdir -p data conf logs
docker run -d \
--name mysql8 \
-p 3306:3306 \
--restart always \
-e MYSQL_ROOT_PASSWORD='Root@123456' \
-v ./data:/var/lib/mysql \
-v ./conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-v ./logs:/var/log/mysql \
mysql:8.0
1.2、mysql参考配置文件如下,仅供参考
[mysqld]
# 基础配置
port=3306
server-id=1
# 字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 时区
default-time-zone='+08:00'
# 日志
log-error=/var/log/mysql/error.log
# 性能参数
max_connections=5000
# InnoDB
innodb_buffer_pool_size=1G
innodb_file_per_table=1
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
2、使用git clone mysql-mcp的代码仓库
# 我选择的是2.0.9版本
git clone -b v2.0.9 https://github.com/benborla/mcp-server-mysql.git
3、进入代码仓目录,修改.env文件中MySQL相关的配置
cd ./mcp-server-mysql/
vim .env
##修改以下配置,标注“这里”的地方
MYSQL_HOST=127.0.0.1 ###这里
# MYSQL_SOCKET_PATH=/tmp/mysql.sock
MYSQL_PORT=3306 ###这里
MYSQL_USER=root ###这里
MYSQL_PASS=Root@123456 ###这里
MYSQL_DB=
# Leave MYSQL_DB empty for multi-DB mode
# Set MYSQL_DB to a specific database name for single-DB mode
# Global write operation permissions (default to false for safety)
ALLOW_INSERT_OPERATION=true
ALLOW_UPDATE_OPERATION=true
ALLOW_DELETE_OPERATION=true
ALLOW_DDL_OPERATION=true
# Schema-specific permissions
# Format: "schema1:true,schema2:false"
SCHEMA_INSERT_PERMISSIONS=test_db:true,staging_db:false
SCHEMA_UPDATE_PERMISSIONS=test_db:true,staging_db:false
SCHEMA_DELETE_PERMISSIONS=test_db:false,staging_db:false
SCHEMA_DDL_PERMISSIONS=test_db:true,staging_db:false
# Multi-DB mode settings
# Set to true ONLY if you want to allow write operations in multi-DB mode without
# schema-specific permissions (not recommended)
MULTI_DB_WRITE_MODE=true
# SSL configuration
MYSQL_SSL=false
MYSQL_SSL_REJECT_UNAUTHORIZED=true
# Performance settings
MYSQL_POOL_SIZE=10
MYSQL_QUERY_TIMEOUT=30000
MYSQL_CACHE_TTL=60000
# Security settings
MYSQL_RATE_LIMIT=100
MYSQL_MAX_QUERY_COMPLEXITY=1000
# Monitoring settings
ENABLE_LOGGING=true
MYSQL_LOG_LEVEL=info
MYSQL_METRICS_ENABLED=false
# Remote MCP configuration
IS_REMOTE_MCP=true ###这里
PORT=3000
REMOTE_SECRET_KEY=1234567890L ###这里
4、启动MySQL的mcp服务
#node.js的部署省略了。
cd ./mcp-server-mysql/ && npm install && npm run build
nohup node dist/index.js > ./mysql-mcp.log 2>./mysql-mcp.log &
5、在workbuddy中自定义连接器
5.1、配置mcp内容,如下
{
"mcpServers": {
"mysql-mcp": {
"type": "http",
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer 1234567890L"
},
"disabled": false
}
}
}
5.2、点击保存后,返回mcp列表,启用的前提是得信任。

6、workbuddy中创建专家,输入以下自然语言。

7、测试一下这位专家的功能

小结
这篇文章是记录我的测试过程,如果哪里有问题,烦请指教。
下一篇打算搞搞使用googleapis/mcp-toolbox连接redis。
更多推荐



所有评论(0)