本项目提供了将AWS RDS MySQL MCP服务器与Amazon Q CLI集成的全面指南,借助Amazon Q的对话界面,实现通过自然语言与数据库进行交互。
本项目展示了如何配置Amazon Q CLI以与FastMCP MySQL服务器协同工作,让你能够通过Amazon Q的聊天界面,使用自然语言命令与AWS RDS MySQL数据库进行交互。
SELECT、INSERT、UPDATE、DELETE、CREATE、SHOW、DESCRIBE等多种数据库操作。请按照以下安装指南进行操作:
# 创建隔离的虚拟环境
python3 -m venv venv-mcp
# 激活虚拟环境
# Linux/macOS:
source venv-mcp/bin/activate
pip3 install fastmcp pymysql boto3 python-dotenv
# 复制示例环境文件
cp .env.example .env
# 使用实际配置编辑.env文件
配置你的.env文件:
# AWS配置
AWS_REGION=us-east-1
BEDROCK_MODEL_ID=anthropic.claude-3-haiku-20240307-v1:0
# MySQL数据库配置
RDS_HOST=your-mysql-host.amazonaws.com
RDS_PORT=3306
RDS_USER=your-username
RDS_PASS=your-password
RDS_DB=your-database-name
⚠️ 重要提示
- 切勿将
.env文件提交到版本控制中。- 将
.env添加到你的.gitignore文件中。- 在生产环境中使用AWS IAM角色。
- 定期轮换数据库凭证。
Amazon Q CLI支持两种MCP配置模式(我们将实现全局配置):
/.amazonq/mcp.json~/.aws/amazonq/mcp.json# 创建Amazon Q配置目录
mkdir -p ~/.aws/amazonq
创建~/.aws/amazonq/mcp.json,内容如下:
{
"mcpServers": {
"rds_mysql_server": {
"command": "/absolute/path/to/your/venv-mcp/bin/python3",
"args": [
"/absolute/path/to/your/fastmcp_server.py"
],
"env": {},
"timeout": 120000,
"disabled": false
}
}
}
重要提示:请将路径替换为你实际的绝对路径:
/absolute/path/to/your/venv-mcp/bin/python3/absolute/path/to/your/fastmcp_server.pyq mcp list
预期输出:
workspace:
/.amazonq/mcp.json
(empty)
global:
/home/username/.aws/amazonq/mcp.json
• rds_mysql_server /path/to/venv-mcp/bin/python3
q chat
# 自然语言查询
"Show me all tables in the database"
"Create a users table with id, name, and email columns"
"Find all records in the users table"
"Insert a new user with name 'John Doe' and email 'john@example.com' in users table"
"Show the structure of the users table"
| 操作 | 描述 | 示例 |
|---|---|---|
SELECT |
查询数据 | "Show all users" |
INSERT |
添加记录 | "Add a new user" |
UPDATE |
修改数据 | "Update user email" |
DELETE |
删除记录 | "Delete user" |
CREATE |
创建表 | "Create users table" |
SHOW |
显示信息 | "Show all tables" |
DESCRIBE |
表结构 | "Describe users table" |
mcp.json中的绝对路径。.env配置。# 直接测试MCP服务器
python3 fastmcp_server.py
# 验证环境变量
echo $AWS_REGION
# 检查Q CLI配置
q mcp list
q chat --debug
fastmcp_server.py或配置。q chat{
"mcpServers": {
"rds_mysql_server": {
"disabled": true
}
}
}
⚠️ 重要提示
此配置通过Amazon Q CLI的自然语言界面为你提供对MySQL数据库的持久、系统级访问。在处理数据库凭证和连接时,请始终遵循安全最佳实践。