发条式mcp
 ](https://www.npmjs.com/package/clockwork-mcp) ](https://nodejs.org/) 
用于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/clockwork2.开始调试
让克劳德分析你的请求:
- “显示最新请求”
- “查找上一个请求中的慢速查询”
- “检查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代码
许可证
麻省理工学院
