使用说明
发条式mcp
用于Laravel Clockwork的MCP服务器-使用Claude Code调试Laravel应用程序。
它做什么
此MCP服务器允许Claude Code访问Laravel应用程序的Clockwork调试数据,从而启用:
- 调试 -查找慢速查询、N+1问题、缓存问题、错误
- 性能分析 -跟踪响应时间、查询计数、内存使用情况
- 发展洞察力 -了解请求流,查看运行时行为
安装
选项1:克劳德代码插件(推荐)
/marketplace add github:fridzema/clockwork-mcp
/plugin install clockwork
这将安装MCP服务器并添加便利命令:
/clockwork:status-检查存储状态/clockwork:latest-显示最新请求摘要/clockwork:slow-查找慢速查询/clockwork:n+1-检测N+1个模式
选项2:手动MCP配置
添加到您的Claude Code MCP设置中:
{
"mcpServers": {
"clockwork": {
"command": "npx",
"args": ["-y", "clockwork-mcp"]
}
}
}
快速开始
1.在Laravel应用程序中安装Clockwork
composer require itsgoingd/clockwork
2.开始调试
让克劳德分析你的请求:
- “显示最新请求”
- “查找上一个请求中的慢速查询”
- “检查N+1查询问题”
- “将此请求与上一个请求进行比较”
或者使用斜线命令:
/clockwork:status/clockwork:latest/clockwork:slow/clockwork:n+1
用法示例
调试慢速端点
You: "The /api/orders endpoint is slow, can you analyze it?"
Claude将使用MCP工具:
- 查找最新请求
/api/orders - 分析查询性能
- 检测N+1个模式
- 建议进行修复,如快速加载或缓存
调查500错误
You: "I just got a 500 error on the checkout page, what happened?"
克劳德将:
- 查找最新失败的请求
- 显示错误日志和异常详细信息
- 识别有问题的代码路径
优化数据库查询
You: "Check if there are N+1 issues on the products page"
克劳德将:
- 分析最近对产品路线的请求
- 检测重复的查询模式
- 建议快速加载
->with('relation')
更多自然语言示例
演出
- “比较对/api/users的最后两个请求”
- “哪些查询耗时最长?”
- “显示缓存命中率”
调试:
- “上次请求时运行了什么中间件?”
- “显示所有有错误的日志条目”
- “列出已发送的事件”
分析:
- “给我一份最新请求的性能摘要”
- “显示完整的请求时间线”
- “呈现了哪些视图?”
异常和错误分析:
- “显示最近一小时的异常模式”
- “发生了什么错误?”
- “按类型对最近的异常进行分组”
路线性能:
- “哪些路线最慢?显示p95响应时间”
- “分析过去一天的路线性能”
- “比较端点之间的响应时间”
内存问题:
- “内存有问题吗?”
- “检测内存泄漏或增长模式”
- “哪些请求使用了最多的内存?”
队列作业:
- “列出失败的队列作业”
- “显示最近的作业执行情况”
- “哪些工作尚未完成?”
测试执行:
- “列出最近的测试运行”
- “显示失败的测试”
- “跳过了哪些测试?”
工具
请求发现
| 工具 | 说明 |
|---|---|
list_requests |
列出最近的请求并进行筛选 |
get_request |
按ID获取完整的请求详细信息 |
get_latest_request |
获取最新请求 |
search_requests |
按控制器、URI、状态、持续时间搜索 |
数据库分析
| 工具 | 说明 |
|---|---|
get_queries |
获取请求的所有数据库查询 |
analyze_slow_queries |
查找高于阈值的查询 |
detect_n_plus_one |
检测N+1个查询模式 |
get_query_stats |
获取聚合查询统计信息 |
演出
| 工具 | 说明 |
|---|---|
get_performance_summary |
响应时间、内存、查询概述 |
get_timeline |
执行时间线事件 |
compare_requests |
并排比较两个请求 |
缓存和Redis
| 工具 | 说明 |
|---|---|
get_cache_operations |
缓存命中、未命中、写入 |
get_cache_stats |
命中率和总数 |
get_redis_commands |
Redis命令已执行 |
应用程序上下文
| 工具 | 说明 |
|---|---|
get_logs |
具有级别过滤的日志条目 |
get_events |
分派的事件和听众 |
get_views |
渲染视图 |
get_http_requests |
发送HTTP请求 |
Artisan命令
| 工具 | 说明 |
|---|---|
list_commands |
列出已分析的命令执行 |
get_command |
完整的命令执行详细信息 |
跟踪和执行流程
| 工具 | 说明 |
|---|---|
get_call_graph |
基于时间线事件的分层执行树 |
get_query_stack_trace |
数据库查询的源位置 |
get_log_stack_trace |
日志条目的源位置 |
分析(Xdebug)
| 工具 | 说明 |
|---|---|
get_xdebug_profile |
Xdebug分析数据(存根) |
get_xdebug_hotspots |
Xdebug热点(存根) |
队列作业
| 工具 | 说明 |
|---|---|
list_queue_jobs |
列出具有筛选功能的队列作业 |
get_queue_job |
完整队列作业详细信息 |
测试执行
| 工具 | 说明 |
|---|---|
list_tests |
列出带有筛选功能的测试执行 |
get_test |
完整的测试执行细节 |
请求上下文
| 工具 | 说明 |
|---|---|
get_auth_user |
请求的已验证用户 |
get_session_data |
请求的会话数据 |
get_middleware_chain |
请求的中间件链 |
get_route_details |
请求的路由详细信息 |
多请求分析
| 工具 | 说明 |
|---|---|
analyze_exceptions |
按消息模式分组异常 |
analyze_route_performance |
带百分位数的路由性能(p50/p95/p99) |
detect_memory_issues |
检测高内存使用率和增长模式 |
效用
| 工具 | 说明 |
|---|---|
get_clockwork_status |
存储状态和统计 |
explain_request_flow |
高级请求摘要 |
配置
存储后端
默认情况下,Clockwork MCP会自动检测您的Laravel项目并使用 php artisan tinker 读取时钟数据。这适用于 全部 时钟存储后端:
- 文件(默认)
- SQLite
- MySQL
- PostgreSQL
- 瑞迪斯
当你在Laravel应用程序中配置Clockwork使用SQL或Redis存储时(config/clockwork.php),MCP服务器通过运行PHP命令自动使用相同的存储 artisan tinker无需额外配置。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
CLOCKWORK_PROJECT_PATH |
自动检测 | Laravel项目根路径 |
CLOCKWORK_STORAGE_DRIVER |
自动检测 | 强制存储驱动程序(artisan 或 file) |
CLOCKWORK_PHP_PATH |
php |
自定义PHP二进制路径 |
CLOCKWORK_STORAGE_PATH |
自动检测 | 存储的直接路径(仅限文件驱动程序) |
自动检测
MCP服务器通过以下方式自动查找时钟存储:
- 检查
CLOCKWORK_PROJECT_PATH环境变量 - 正在寻找Laravel项目(已经
artisan文件)在当前目录中 - 遍历以找到Laravel项目
当Laravel项目被发现时 技工司机 默认情况下使用,它支持所有时钟存储后端。这 文件驱动程序 当只有直接存储路径可用时,用作回退。
需求
- Node.js 18+
- 安装了Clockwork的Laravel项目
- 支持MCP的Claude代码
许可证
麻省理工学院