clockwork-mcp
A Claude Code MCP server that connects to Laravel Clockwork to provide insights into application performance, database queries, errors, and request flow.
README
clockwork-mcp
MCP server for Laravel Clockwork - debug Laravel apps with Claude Code.
What it does
This MCP server gives Claude Code access to your Laravel application's Clockwork debugging data, enabling:
- Debugging - Find slow queries, N+1 problems, cache issues, errors
- Performance analysis - Track response times, query counts, memory usage
- Development insight - Understand request flow, see runtime behavior
Installation
Option 1: Claude Code Plugin (Recommended)
/marketplace add github:fridzema/clockwork-mcp
/plugin install clockwork
This installs the MCP server and adds convenience commands:
/clockwork:status- Check storage status/clockwork:latest- Show latest request summary/clockwork:slow- Find slow queries/clockwork:n+1- Detect N+1 patterns
Option 2: Manual MCP Configuration
Add to your Claude Code MCP settings:
{
"mcpServers": {
"clockwork": {
"command": "npx",
"args": ["-y", "clockwork-mcp"]
}
}
}
Quick Start
1. Install Clockwork in your Laravel app
composer require itsgoingd/clockwork
2. Start debugging
Ask Claude to analyze your requests:
- "Show me the latest request"
- "Find slow queries in the last request"
- "Check for N+1 query problems"
- "Compare this request with the previous one"
Or use the slash commands:
/clockwork:status/clockwork:latest/clockwork:slow/clockwork:n+1
Usage Examples
Debugging a Slow Endpoint
You: "The /api/orders endpoint is slow, can you analyze it?"
Claude will use the MCP tools to:
- Find the latest request to
/api/orders - Analyze query performance
- Detect N+1 patterns
- Suggest fixes like eager loading or caching
Investigating a 500 Error
You: "I just got a 500 error on the checkout page, what happened?"
Claude will:
- Find the latest failed request
- Show error logs and exception details
- Identify the problematic code path
Optimizing Database Queries
You: "Check if there are N+1 issues on the products page"
Claude will:
- Analyze recent requests to the products route
- Detect repeated query patterns
- Suggest eager loading with
->with('relation')
More Natural Language Examples
Performance:
- "Compare the last two requests to /api/users"
- "Which queries are taking the longest?"
- "Show me the cache hit ratio"
Debugging:
- "What middleware ran on the last request?"
- "Show me all log entries with errors"
- "List the events that were dispatched"
Analysis:
- "Give me a performance summary of the latest request"
- "Show the full request timeline"
- "What views were rendered?"
Exception & Error Analysis:
- "Show me exception patterns from the last hour"
- "What errors have been occurring?"
- "Group recent exceptions by type"
Route Performance:
- "Which routes are slowest? Show p95 response times"
- "Analyze route performance for the past day"
- "Compare response times across endpoints"
Memory Issues:
- "Are there any memory issues?"
- "Detect memory leaks or growth patterns"
- "Which requests are using the most memory?"
Queue Jobs:
- "List failed queue jobs"
- "Show me recent job executions"
- "What jobs are pending?"
Test Execution:
- "List recent test runs"
- "Show failed tests"
- "What tests are being skipped?"
Tools
Request Discovery
| Tool | Description |
|---|---|
list_requests |
List recent requests with filtering |
get_request |
Get full request details by ID |
get_latest_request |
Get the most recent request |
search_requests |
Search by controller, URI, status, duration |
Database Analysis
| Tool | Description |
|---|---|
get_queries |
Get all database queries for a request |
analyze_slow_queries |
Find queries above threshold |
detect_n_plus_one |
Detect N+1 query patterns |
get_query_stats |
Get aggregate query statistics |
Performance
| Tool | Description |
|---|---|
get_performance_summary |
Response time, memory, query overview |
get_timeline |
Execution timeline events |
compare_requests |
Compare two requests side by side |
Cache & Redis
| Tool | Description |
|---|---|
get_cache_operations |
Cache hits, misses, writes |
get_cache_stats |
Hit ratio and totals |
get_redis_commands |
Redis commands executed |
Application Context
| Tool | Description |
|---|---|
get_logs |
Log entries with level filtering |
get_events |
Dispatched events and listeners |
get_views |
Rendered views |
get_http_requests |
Outgoing HTTP requests |
Artisan Commands
| Tool | Description |
|---|---|
list_commands |
List profiled command executions |
get_command |
Full command execution details |
Traces & Execution Flow
| Tool | Description |
|---|---|
get_call_graph |
Hierarchical execution tree from timeline events |
get_query_stack_trace |
Source location for a database query |
get_log_stack_trace |
Source location for a log entry |
Profiling (Xdebug)
| Tool | Description |
|---|---|
get_xdebug_profile |
Xdebug profiling data (stub) |
get_xdebug_hotspots |
Xdebug hotspots (stub) |
Queue Jobs
| Tool | Description |
|---|---|
list_queue_jobs |
List queue jobs with filtering |
get_queue_job |
Full queue job details |
Test Execution
| Tool | Description |
|---|---|
list_tests |
List test executions with filtering |
get_test |
Full test execution details |
Request Context
| Tool | Description |
|---|---|
get_auth_user |
Authenticated user for a request |
get_session_data |
Session data for a request |
get_middleware_chain |
Middleware chain for a request |
get_route_details |
Route details for a request |
Multi-Request Analysis
| Tool | Description |
|---|---|
analyze_exceptions |
Group exceptions by message pattern |
analyze_route_performance |
Route performance with percentiles (p50/p95/p99) |
detect_memory_issues |
Detect high memory usage and growth patterns |
Utility
| Tool | Description |
|---|---|
get_clockwork_status |
Storage status and statistics |
explain_request_flow |
High-level request summary |
Configuration
Storage Backends
By default, Clockwork MCP auto-detects your Laravel project and uses php artisan tinker to read Clockwork data. This works with all Clockwork storage backends:
- File (default)
- SQLite
- MySQL
- PostgreSQL
- Redis
When you configure Clockwork to use SQL or Redis storage in your Laravel app (config/clockwork.php), the MCP server automatically uses the same storage by running PHP commands through artisan tinker. No additional configuration required.
Environment Variables
| Variable | Default | Description |
|---|---|---|
CLOCKWORK_PROJECT_PATH |
Auto-detect | Path to Laravel project root |
CLOCKWORK_STORAGE_DRIVER |
Auto-detect | Force storage driver (artisan or file) |
CLOCKWORK_PHP_PATH |
php |
Custom PHP binary path |
CLOCKWORK_STORAGE_PATH |
Auto-detect | Direct path to storage (file driver only) |
Auto-detection
The MCP server automatically finds Clockwork storage by:
- Checking
CLOCKWORK_PROJECT_PATHenvironment variable - Looking for Laravel project (has
artisanfile) in current directory - Traversing up to find a Laravel project
When a Laravel project is found, the artisan driver is used by default, which supports all Clockwork storage backends. The file driver is used as a fallback when only a direct storage path is available.
Requirements
- Node.js 18+
- Laravel project with Clockwork installed
- Claude Code with MCP support
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.