Yii2 框架的 Model Context Protocol (MCP) 服务器,提供数据库模式检查、控制台命令执行以及 Claude Code 的项目管理工具。
npm install -g yii2-mcp-server
然后从你的 Yii2 项目目录配置 Claude Code:
cd /path/to/your/yii2/project
claude mcp add yii2 yii2-mcp-server
克隆并安装
git clone https://github.com/ArtMin96/yii2-mcp-server.git
cd yii2-mcp-server
npm install
npm run build
配置 Claude Code
使用 Claude CLI:
cd /path/to/your/yii2/project
claude mcp add yii2 node /path/to/yii2-mcp-server/dist/index.js
手动 JSON 配置:
{
"mcpServers": {
"yii2": {
"command": "node",
"args": ["/path/to/yii2-mcp-server/dist/index.js"],
"cwd": "/path/to/your/yii2/project"
}
}
}
MCP 服务器会自动检测你的 Yii2 项目配置:
服务器按以下顺序查找数据库配置:
.env 文件(用于环境变量如 DB_HOST、DB_DATABASE 等)config/db.php 文件(默认回退到 MySQL 设置)yii 控制台脚本的目录运行modules/、models/、config/ 目录配置完成后,你可以通过 Claude Code 使用这些工具:
# 数据库分析
使用 db_list_tables 工具
使用 db_describe_table 并指定表名:"user"
使用 db_table_relationships 并指定表名:"user"
# 数据库优化(新)
使用 db_analyze_table 并指定表名:"user"
使用 db_get_index_suggestions 并指定表名:"user"
使用 db_profile_query 并指定查询:"SELECT * FROM user WHERE status = 'active'"
使用 db_monitor_connections 并设置告警阈值:50
# Yii2 控制台命令
使用 yii_list_commands
使用 yii_list_migrations
# 项目结构
使用 project_structure
使用 yii_list_models 并指定模块:"fastnet"
# 高级模块分析
使用 module_detailed_analysis 并指定模块名:"fastnet"
使用 module_detailed_analysis 并指定模块名:"billing"
# 资源包分析
使用 asset_list_bundles
使用 asset_list_bundles 并指定模块过滤器:"rbac"
使用 asset_analyze_dependencies
使用 asset_analyze_dependencies 并指定资源包名:"AppAsset"
# 小部件发现
使用 widget_list
使用 widget_list 并指定模块过滤器:"fastnet"
# 迁移管理
使用 migration_create 并指定表名:"user_profiles"
使用 migration_diff 以生成自模型更改
使用 migration_rollback 并指定步骤:1
# 代码生成
使用 generate_crud 并指定表名:"posts"
使用 generate_model 并指定表名:"categories"
使用 generate_api 并指定模型类:"User"
# 缓存操作
使用 cache_clear 并指定组件:"db"
使用 cache_inspect
使用 cache_performance
# RBAC 分析
使用 rbac_permission_tree
使用 rbac_user_access 并指定用户 ID:1
使用 rbac_role_analysis 并指定角色:"admin"
# 队列管理
使用 queue_job_status
使用 queue_retry_failed 并指定作业 ID:123
使用 queue_worker_status
# 日志与调试
使用 log_error_analysis 并指定小时数:24
使用 log_search 并指定模式:"database error"
使用 log_tail 并指定行数:50
# 测试
使用 test_run 并指定套件:"unit"
使用 test_coverage_report
# 性能分析
使用 performance_profile 并指定持续时间:"5m"
使用 asset_performance_analysis
全面理解模块:
资源包智能:
小部件发现:
migrate/fresh)被阻止“未找到 Yii 脚本”
yii 控制台脚本是否存在且可执行数据库连接错误
.env 文件中的数据库凭证是否正确权限错误
为了开发和调试,你可以直接运行服务器:
npm run dev
这将监视文件更改并自动重建。
服务器使用 TypeScript 构建,主要包括:
src/index.ts - 主 MCP 服务器设置和工具路由src/database.ts - 数据库连接和模式检查src/yii2.ts - Yii2 控制台命令执行和项目分析src/config.ts - 配置管理和项目检测要贡献:
npm run build 编译MIT 许可证 - 随意在你的项目中使用!