MySQL模型上下文协议(MCP)服务器
这是一个基于PHP的模型上下文协议服务器的实现,它提供对MySQL数据库的只读访问。它作为MySQL数据库和AI模型(LLM)之间的中间件接口,需要通过HTTP API端点访问结构化数据。
特性
- ✅ API密钥验证
- ✅ 只读数据库访问
- ✅ 查询验证和消毒
- ✅ CORS支持
- ✅ 标准MCP端点
- ✅ 分页支持
- ✅ 查询执行时间跟踪
需求
- PHP 8.1或更高版本
- MySQL/MariaDB
- 作曲家
安装
- 克隆存储库
- 安装依赖项:
composer install- 复制
.env.example向.env并配置您的设置:
cp .env.example .env- 在中配置MySQL凭据和API密钥
.env
配置
编辑 .env 使用您的设置文件:
DB_HOST=localhost
DB_PORT=3306
DB_USER=readonly_user
DB_PASSWORD=your_password
DB_NAME=your_database
# API Authentication
API_KEY=your_api_key_hereAPI终点
GET/数据库
列出所有可访问的数据库
GET/桌子?数据库={db_name}
列出指定数据库中的所有表
GET/模式?数据库={db_name}&表={table_name}
返回指定表的架构信息
获取/数据?数据库={db_name}&表={table_name}&限制=20&偏移=0
从指定表返回分页数据
POST/查询
执行只读SQL查询
{
"database": "your_database",
"query": "SELECT * FROM users LIMIT 10"
}安全功能
- 需要MySQL只读用户
- API密钥验证
- 查询验证和清理
- 为防止SQL注入而准备的语句
- CORS标头配置
用法示例
# Get list of databases
curl -X GET http://localhost:8080/databases \
-H "Authorization: Bearer your_api_key_here"
# Execute a custom query
curl -X POST http://localhost:8080/query \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"database": "your_database",
"query": "SELECT name, email FROM users WHERE status = '\''active'\''"
}'发展
要启动开发服务器,请执行以下操作:
php -S localhost:8080 -t public许可证
GNU通用公共许可证版本32007年6月29日
安全
出于安全考虑,请提交问题或直接联系维护人员。
