clockwork-mcp
Provides debugging and performance analysis for Laravel applications via Clockwork, enabling inspection of requests, queries, errors, cache, and more.
Enables reading Clockwork debugging data stored in MySQL for performance and error analysis.
Enables reading Clockwork debugging data stored in PostgreSQL for performance and error analysis.
Provides tools to inspect Redis commands executed during requests, as well as cache operations and statistics.
Enables reading Clockwork debugging data stored in SQLite for performance and error analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clockwork-mcpFind slow queries in the last request"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: mcp-sequel
Installation
Option 1: Claude Code Plugin (Recommended)
/marketplace add github:fridzema/clockwork-mcp
/plugin install clockworkThis 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/clockwork2. 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/ordersAnalyze 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 recent requests with filtering |
| Get full request details by ID |
| Get the most recent request |
| Search by controller, URI, status, duration |
Database Analysis
Tool | Description |
| Get all database queries for a request |
| Find queries above threshold |
| Detect N+1 query patterns |
| Get aggregate query statistics |
Performance
Tool | Description |
| Response time, memory, query overview |
| Execution timeline events |
| Compare two requests side by side |
Cache & Redis
Tool | Description |
| Cache hits, misses, writes |
| Hit ratio and totals |
| Redis commands executed |
Application Context
Tool | Description |
| Log entries with level filtering |
| Dispatched events and listeners |
| Rendered views |
| Outgoing HTTP requests |
Artisan Commands
Tool | Description |
| List profiled command executions |
| Full command execution details |
Traces & Execution Flow
Tool | Description |
| Hierarchical execution tree from timeline events |
| Source location for a database query |
| Source location for a log entry |
Profiling (Xdebug)
Tool | Description |
| Xdebug profiling data (stub) |
| Xdebug hotspots (stub) |
Queue Jobs
Tool | Description |
| List queue jobs with filtering |
| Full queue job details |
Test Execution
Tool | Description |
| List test executions with filtering |
| Full test execution details |
Request Context
Tool | Description |
| Authenticated user for a request |
| Session data for a request |
| Middleware chain for a request |
| Route details for a request |
Multi-Request Analysis
Tool | Description |
| Group exceptions by message pattern |
| Route performance with percentiles (p50/p95/p99) |
| Detect high memory usage and growth patterns |
Utility
Tool | Description |
| Storage status and statistics |
| 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 |
| Auto-detect | Path to Laravel project root |
| Auto-detect | Force storage driver ( |
|
| Custom PHP binary path |
| Auto-detect | Direct path to storage (file driver only) |
Auto-detection
The MCP server automatically finds Clockwork storage by:
Checking
CLOCKWORK_PROJECT_PATHenvironment variableLooking for Laravel project (has
artisanfile) in current directoryTraversing 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
Available Tools
38 toolsanalyze_exceptionsC
Analyze exceptions across requests, grouping by message pattern
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Specific request ID (highest priority) | |
| count | No | Number of recent HTTP requests to analyze | |
| since | No | Time duration to look back (e.g., "30m", "1h", "2d", "1w") | |
| all | No | Analyze all available requests (max 100) | |
| uri | No | Filter by URI pattern (substring match) | |
| groupByMessage | No | Group exceptions by normalized message | |
| limit | No | Max exception groups to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only states the basic analysis function. It does not mention side effects, authentication needs, rate limits, or what happens if no exceptions are found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise and front-loaded. However, it is too brief, omitting important details that would help an agent use the tool effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description is insufficient. It does not explain return format, parameter interactions, or how grouping works, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds no additional meaning beyond the parameter descriptions already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes exceptions across requests and groups them by message pattern. This verb+resource combination is specific and distinguishes it from siblings that analyze other aspects like route performance or slow queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives such as analyze_slow_queries or get_logs. The description lacks context for appropriate invocation scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_route_performanceC
Analyze route performance with percentile statistics
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Specific request ID (highest priority) | |
| count | No | Number of recent HTTP requests to analyze | |
| since | No | Time duration to look back (e.g., "30m", "1h", "2d", "1w") | |
| all | No | Analyze all available requests (max 100) | |
| uri | No | Filter by URI pattern (substring match) | |
| groupBy | No | How to group routes | uri |
| minSamples | No | Minimum samples required for a route |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fails to disclose any behavioral traits like side effects, permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise with no wasted words, though it lacks depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description is far too minimal to provide adequate context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation covers all 7 parameters, so description adds no extra meaning beyond what's already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Analyze route performance' with specific mention of 'percentile statistics', distinguishing it from siblings like get_performance_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as get_performance_summary or get_http_requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_slow_queriesC
Find slow database queries above threshold
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Specific request ID (highest priority) | |
| count | No | Number of recent HTTP requests to analyze | |
| since | No | Time duration to look back (e.g., "30m", "1h", "2d", "1w") | |
| all | No | Analyze all available requests (max 100) | |
| uri | No | Filter by URI pattern (substring match) | |
| threshold | No | Slow query threshold in ms | |
| limit | No | Max queries to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavioral traits. 'Find' implies a read operation, but there is no explicit statement about safety, mutability, or side effects. The tool's behavior regarding data retrieval or performance impact is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it omits critical information such as return value and parameter interaction. It is structured as a brief statement, but the brevity sacrifices clarity for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what the tool returns (e.g., list of queries with execution times), how parameters combine (e.g., requestId vs. count), or what 'slow' means beyond the threshold parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters have schema descriptions (100% coverage), so the baseline is 3. The tool's description adds little beyond the schema, only referencing 'threshold' which is already documented. The interplay between parameters (e.g., count vs. since) is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Find slow database queries above threshold' clearly states the tool's action (finding) and resource (slow database queries), which is specific enough. However, it does not explicitly differentiate from sibling tools like 'get_queries' or 'get_query_stats', missing an opportunity to highlight its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description gives no indication of when to use this tool versus alternatives (e.g., 'get_queries' for all queries, or 'detect_n_plus_one' for N+1 problems). Missing exclusions or recommended contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_requestsC
Compare two requests side by side
| Name | Required | Description | Default |
|---|---|---|---|
| requestId1 | Yes | First request ID | |
| requestId2 | Yes | Second request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits. It is unclear if the tool is read-only, whether it requires special permissions, or what happens if one of the IDs is invalid. With no annotations provided, the description carries the full burden, and it fails to provide any behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is concise, but it lacks structure. It does not include any headings or bullet points, and the single sentence is somewhat vague. For a simple tool this may be sufficient, but it does not fully earn its place as it omits important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and the complexity of comparing two requests, the description is incomplete. It does not explain what the comparison yields (e.g., a diff, side-by-side metrics, etc.), nor does it mention any prerequisites or limitations. The agent has insufficient context to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the two parameters with clear names and descriptions ('First request ID', 'Second request ID'). The description adds no additional meaning beyond what the schema provides. Since schema coverage is 100%, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Compare two requests side by side' clearly states the action (compare) and the objects (requests). However, it lacks specificity on what aspects are compared (e.g., timeline, performance, or raw data), and does not differentiate from sibling tools like get_request or list_requests which could be used in combination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it could be used to compare performance or request details, but without such context, the agent may not know if this is the appropriate tool compared to analyzing individual requests separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_memory_issuesC
Detect high memory usage and growth patterns
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Specific request ID (highest priority) | |
| count | No | Number of recent HTTP requests to analyze | |
| since | No | Time duration to look back (e.g., "30m", "1h", "2d", "1w") | |
| all | No | Analyze all available requests (max 100) | |
| uri | No | Filter by URI pattern (substring match) | |
| thresholdMB | No | Memory threshold in MB to flag as high | |
| detectGrowth | No | Detect memory growth patterns |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states 'detect', which implies a read-only operation, but does not confirm whether the tool modifies state, has side effects, or requires specific permissions. The agent is left guessing about safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key action and resource. It avoids unnecessary words. However, it may be too brief, missing important context that could be added without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description is insufficient. It does not explain return format, what constitutes a 'memory issue', or how the analysis works. The agent lacks complete understanding of the tool's output and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with each parameter described in the schema itself. The tool description adds no new semantic meaning beyond the schema. Per the rules, baseline 3 is appropriate when schema coverage is high and description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('detect') and resource ('high memory usage and growth patterns'), which clearly states the tool's function. It distinguishes itself from sibling tools like 'analyze_exceptions' or 'analyze_route_performance' by focusing on memory patterns. However, it could be more specific about the context (e.g., HTTP requests).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or use cases. The implied context is memory analysis, but without explicit differentiation from sibling tools like 'analyze_slow_queries' or 'compare_requests', the agent lacks decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_n_plus_oneC
Detect N+1 query patterns in a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Specific request ID (highest priority) | |
| count | No | Number of recent HTTP requests to analyze | |
| since | No | Time duration to look back (e.g., "30m", "1h", "2d", "1w") | |
| all | No | Analyze all available requests (max 100) | |
| uri | No | Filter by URI pattern (substring match) | |
| threshold | No | Min repetitions to flag as N+1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It does not state whether the tool is read-only, destructive, or requires special permissions. It also does not describe the nature of the output or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. The verb 'Detect' is front-loaded, making the purpose immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what constitutes an N+1 pattern, how detection works, or what the output format is. Users need more context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The tool description adds no additional meaning beyond the schema, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Detect' and the resource 'N+1 query patterns in a request'. It distinguishes itself from siblings like 'get_queries' by focusing on patterns, but does not explicitly differentiate from other analysis tools (e.g., 'analyze_slow_queries').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'get_queries', 'analyze_slow_queries'). No exclusion criteria or prerequisites are mentioned. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_request_flowC
Get high-level summary of what happened in a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only says 'get high-level summary', implying a read operation, but lacks details on error handling, caching, or what 'high-level' means. The agent cannot infer reliability or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is efficient. However, it borders on under-specification, lacking any structure or detail beyond the minimal purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and one parameter, the description is too brief. It does not explain what the summary includes (e.g., fields, format) or how to interpret the result, leaving the agent uncertain about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the only parameter 'requestId' with a clear description. The tool description adds no additional meaning. Baseline score of 3 is appropriate since the schema already documents the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'high-level summary of what happened in a request', specifying the verb 'get' and the resource type. It distinguishes from sibling tools like get_request by indicating a summarized view rather than raw data, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios, prerequisites, or exclusions. The sibling tool list is present but the description does not reference any.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_auth_userC
Get authenticated user for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It does not state that it is a read-only operation, whether it can return null for unauthenticated requests, or any side effects. The single sentence is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence. However, it sacrifices completeness for brevity. It is front-loaded with the key action but omits useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the tool returns (e.g., user object with fields) or how to interpret the result. It lacks this context, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter), so the description adds no additional meaning beyond the schema's own description. Baseline score of 3 applies because the schema already documents the parameter well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (authenticated user) in the context of a request. It distinguishes itself from siblings as the only tool explicitly about authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as having a valid request ID, or any special conditions (e.g., only works for authenticated requests).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cache_operationsC
Get cache operations for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, read-only nature, or output format. Given the minimal description, the agent cannot infer safety or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, the brevity comes at the cost of clarity; a slightly more elaborate sentence could improve value without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is insufficient. It does not explain what cache operations are, what the response contains, or how to interpret results, leaving significant gaps for a tool with one parameter and no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for 'requestId' ('Clockwork request ID'), so the schema already documents the parameter. The description adds no additional meaning beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'get' and resource 'cache operations for a request', which is clear but vague. It does not specify what 'cache operations' entails (e.g., reads/writes, hit rates). Sibling 'get_cache_stats' suggests stats might be different, but no distinction is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No context is provided on when to use this tool versus alternatives like 'get_cache_stats' or 'get_commands'. The description lacks any exclusions, prerequisites, or scenarios, leaving the agent without guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cache_statsB
Get cache statistics (hit ratio, totals)
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Clockwork request ID | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states it 'gets' statistics, implying a read-only operation, but no information about auth requirements, rate limits, or side effects. The minimal text adds little beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no superfluous words. It front-loads the verb and resource, but the parenthetical could be integrated. Still, it earns a high score for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 optional parameters and no output schema, the description fails to explain what specific statistics are returned, how time ranges (from/to) affect results, or any prerequisites. The agent lacks sufficient context to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameters are described in the schema (requestId, from, to). The description adds no extra meaning or usage hints for these parameters, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and identifies the resource 'cache statistics' with concrete examples ('hit ratio, totals'), clearly distinguishing it from sibling tools like 'get_cache_operations' which likely returns operation logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_cache_operations' or 'get_performance_summary'. The description leaves the agent to infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_call_graphC
Build hierarchical execution tree from timeline events
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| minDuration | No | Minimum duration in ms to include in graph |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It fails to disclose side effects, error conditions, or performance implications. Merely states it 'builds' a tree, insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loads the purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema and behavioral details. Does not explain output format or typical usage. In context of many sibling tools, more guidance would be needed for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters; the tool description adds no extra meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a hierarchical execution tree from timeline events, distinguishing it from siblings like get_timeline. However, it could be more specific about the nature of a 'call graph' in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_timeline or explain_request_flow. Missing when-not-to-use or example scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clockwork_statusB
Check Clockwork storage status and statistics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description must fully disclose behavior. It only states 'Check status and statistics', which is vague. It does not specify if the operation is read-only, whether it has side effects, or what 'status and statistics' entail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the key action and resource. However, it may be slightly under-specified; for a simple status tool, it is acceptable, though additional detail could improve clarity without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides the basic purpose but lacks details on what 'status and statistics' include. Considering the complexity of adjacent sibling tools, more context (e.g., example statistics) would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema coverage is 100% (empty). The description adds meaning by specifying what the tool does, meeting the baseline expectation for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Check') and the resource ('Clockwork storage status and statistics'), providing a clear purpose. While it doesn't explicitly differentiate from siblings, the context of sibling tool names (specific analysis tools) implies this is a general status check, which is sufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description does not mention any preconditions, limitations, or recommended scenarios, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commandC
Get full details of an Artisan command execution
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does not disclose any behavioral traits such as error handling, permissions, or side effects. It simply states the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no unnecessary words. However, it could include more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple single-parameter tool with no output schema and no annotations, the description is adequate but lacks details on return format or potential errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema's description of 'Clockwork request ID'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get full details of an Artisan command execution' using a specific verb and resource. It distinguishes from siblings like 'get_latest_request' or 'get_request' by specifying commands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context about prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventsC
Get dispatched events for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the basic function. With no annotations, the agent is unaware of read-only nature, authentication requirements, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no unnecessary words. It is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description is minimally adequate. However, the absence of usage context compared to numerous sibling tools reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for 'requestId', and the description adds no additional meaning beyond the schema's 'Clockwork request ID'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get') and resource ('dispatched events for a request'). However, it does not differentiate from sibling tools like 'get_logs' or 'get_timeline', which may overlap in concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_logs', 'get_timeline', or 'get_request'. The agent lacks context for appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_http_requestsC
Get outgoing HTTP requests made during a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It merely restates the tool's function without disclosing side effects, authorization needs, or behavioral traits beyond a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence but lacks essential details. It is under-specified and could be expanded to provide more value without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is severely incomplete. It does not explain the return value, prerequisites, or how the tool integrates with the sibling suite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter, and the schema provides a basic description ('Clockwork request ID'). The description adds no additional meaning or context for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'outgoing HTTP requests made during a request'. It distinguishes the tool from siblings, which focus on other resources like queries, logs, or routes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description does not mention prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_requestB
Get the most recent Clockwork request
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks information about side effects, order, or behavior when no requests exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words, efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with no parameters, but does not describe return value format or any edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%; description adds no parameter info but is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the most recent Clockwork request, distinguishing it from sibling tools like get_request or list_requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; no mention of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_logsC
Get log entries for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| level | No | Minimum log level |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as pagination, filtering limits, or side effects. It only states the action without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no wasted words. It is front-loaded and efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal and does not explain output format, log entry structure, or behavior for missing parameters. Given no output schema, more detail would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond what the schema provides, meriting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves log entries for a request. It uses a specific verb and resource, and while it doesn't explicitly differentiate from siblings like get_queries or get_events, the context is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The sibling list includes many similar get_* tools, but the description provides no context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_log_stack_traceC
Get source location for a log entry
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| logIndex | Yes | 0-based index of the log entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states the function without mentioning whether it is read-only, expensive, or requires specific permissions. No side effects or limitations are noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence), which is efficient but lacks important details that could be included without verbosity. For a simple tool, this is acceptable but could be more informative while staying concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return format (e.g., 'returns file path and line number'). The current description is too brief to fully prepare the agent for the tool's response, especially given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (requestId and logIndex) adequately. The description adds no additional meaning or context about the parameters, so it provides baseline value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get source location for a log entry' clearly states the verb (Get) and the resource (source location for a log entry). It distinguishes from sibling tools like get_logs (which retrieves log entries) and get_query_stack_trace (for queries). However, it could be more specific about what 'source location' means (e.g., file path and line number).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_logs or get_query_stack_trace. It does not mention prerequisites, context, or examples, leaving the agent to infer usage on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_middleware_chainC
Get middleware chain for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states it's a 'get' operation, implying a read, but fails to describe any other behavioral traits, side effects, or what the tool actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it may be too terse to be fully informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large set of sibling tools for request analysis, the description is too minimal. It does not explain what a middleware chain is, why one would use this tool, or what the return value looks like. No output schema exacerbates the lack of completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a description for 'requestId'. The tool description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'get' and the resource 'middleware chain for a request'. It distinguishes the tool from siblings that retrieve other aspects of request analysis, but the term 'middleware chain' could be more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_logs or get_queries. There is no mention of prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_summaryC
Get performance overview for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Clockwork request ID | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only indicates a read operation but does not disclose potential side effects, error handling, or behavior with invalid request IDs. The agent has little insight into the tool's execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it lacks structure or front-loading of critical details like required parameters or return type. An extra sentence could improve clarity without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters and no output schema, the description is insufficient. It does not explain the output format, error conditions, or the relationship between parameters (e.g., are 'from' and 'to' both required?). The presence of many sibling tools demands more context to differentiate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not explain how the 'from' and 'to' timestamps affect the overview or what the 'performance overview' entails.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get performance overview for a request,' which clearly identifies the action and resource. However, it does not differentiate from sibling tools like 'analyze_route_performance' or 'analyze_slow_queries,' which could also provide performance insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or when not to use it, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queriesC
Get database queries for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| slow | No | Only return slow queries | |
| threshold | No | Slow query threshold in ms |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral context. It implies a read-only operation ('Get'), but does not disclose any side effects, authentication requirements, rate limits, or output format. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. It communicates the core purpose efficiently, though it could include more detail without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and many siblings, the description is insufficient. It does not explain what the returned queries contain, how filtering works (e.g., slow and threshold interplay), or how this differs from similar tools. Completeness is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description (e.g., 'Clockwork request ID', 'Only return slow queries'). The description adds no extra meaning beyond the schema, but the schema itself is adequate. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get database queries for a request,' specifying the verb 'Get' and the resource 'database queries' with context 'for a request.' This is specific enough to understand the tool's basic function, though it does not explicitly distinguish it from siblings like get_query_stats or get_query_stack_trace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., analyze_slow_queries, get_query_stats), the lack of usage direction is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_stack_traceB
Get source location for a database query
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| queryIndex | Yes | 0-based index of the query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the purpose without mentioning side effects, read-only nature, or prerequisites (e.g., needing a valid requestId). The behavior is too vague for reliable invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with 6 words. It is front-loaded and contains no superfluous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (2 params, no output schema), the description omits crucial context: how to obtain the requestId, when the stack trace is available, and what the return format is. This leaves gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters ('Clockwork request ID' and '0-based index of the query') already described. The tool description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get source location for a database query' clearly states the action (get) and the resource (source location for a database query). It is specific and distinguishable from sibling tools like get_log_stack_trace, which targets log stack traces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving source locations of database queries but provides no explicit guidance on when to use this tool versus alternatives like get_queries or get_query_stats. No exclusions or contexts are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_statsC
Get aggregate query statistics for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | No | Stats for specific request, or aggregate if omitted | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the tool 'gets' data, implying a read operation, but fails to describe what happens when parameters are omitted (e.g., if requestId is absent, does it aggregate over all requests?), any rate limits, or response size. The description adds minimal behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is appropriately brief, though it lacks structural elements like bullet points or sections. However, given the simplicity of the tool, the conciseness is suitable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three optional parameters and no output schema, the description should explain what the tool returns (e.g., a list of stats, a summary) and how parameters affect the result. It does not address the return format or differentiate from siblings. The schema covers parameter names, but the behavioral context is missing, making it incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters, so baseline is 3. The description does not add further meaning; it doesn't clarify how parameters interact (e.g., whether 'from' and 'to' are required together) or provide examples. Schema descriptions already handle basic semantics, so no extra value from the tool description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies verb 'Get' and resource 'aggregate query statistics' with scope 'for a request', clearly indicating the tool's function. It is distinct from siblings like 'get_queries' which retrieves individual queries, or 'analyze_slow_queries' which focuses on performance issues. However, it could be more specific about the types of statistics (e.g., count, duration, errors).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings. Given many related tools (e.g., 'get_queries', 'analyze_slow_queries'), explicit comparisons or when-not-to-use conditions are missing. The description does not mention prerequisites or context, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queue_jobB
Get full details of a queue job
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies read-only but does not disclose behavioral traits such as idempotency, side effects, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence with no wasted words. However, lacks depth in explaining what 'full details' entails.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided, and the description does not specify what 'full details' includes, leaving the agent without expectations for the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds no extra meaning beyond the schema's 'Clockwork request ID'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'full details of a queue job', distinguishing it from sibling 'list_queue_jobs' which lists jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'list_queue_jobs' or other get tools. No context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_redis_commandsC
Get Redis commands for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as side effects, required permissions, or error handling. The tool is read-only likely, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. While brief, it covers the core purpose without unnecessary words. Could be slightly expanded for clarity, but not under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks details about the output format, what exact data is returned (e.g., commands, timing), and any limitations. Given no output schema, more context is needed for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the parameter. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (Redis commands for a request), distinguishing it from sibling tools like get_commands or get_queries. However, it could be more specific about the context (e.g., 'for a given request ID').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_commands or get_cache_operations. There are no context signals or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_requestA
Get full details of a specific request by ID
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It correctly indicates a read operation ('get'), but lacks details on authentication, rate limits, or potential side effects. The transparency is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. Every part is necessary and clearly communicates the tool's action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lacks details on what 'full details' includes, which could lead to uncertainty for the agent. However, the tool is simple (one parameter, no nesting), so the description is minimally sufficient but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter is fully described in the schema ('Clockwork request ID'). The description adds no new meaning beyond 'by ID', which is already implied. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('get') and resource ('full details of a specific request by ID'), distinguishing it from sibling tools like list_requests (list) and get_latest_request (no ID needed). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus sibling tools (e.g., get_latest_request, get_queries). It only implies the need for a request ID but offers no exclusion criteria or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_route_detailsC
Get route details for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, required permissions, or whether it is read-only. The agent has no information about what operations this tool performs beyond the generic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and lacks waste, but it is underspecified. While concise, it fails to provide useful information beyond the name, making it less valuable. It earns a middle score for being brief but insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema, no annotations), the description is still incomplete. It does not explain what route details are returned, any dependencies, or the format of the output. This leaves the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% for the single parameter requestId, which is described as 'Clockwork request ID'. The tool description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'get route details' and the resource 'a request', making the purpose understandable. However, it does not differentiate from sibling tools like get_request or get_http_requests, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives. The description gives no context about prerequisites, when to choose this over similar tools like get_request, or what scenarios it is best suited for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_dataC
Get session data for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| keys | No | Specific session keys to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits beyond 'get' are disclosed. With no annotations, the description should cover side effects or performance impact, but it does not. Assumed read-only, but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) and front-loaded. It efficiently conveys the essential action, though it could benefit from a bit more detail on the 'keys' parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description does not explain what the tool returns (e.g., full session data, filtered data). For a tool with 2 parameters and many siblings, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described). The description adds no extra meaning beyond the schema. Given high schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get session data for a request' clearly specifies the verb (Get) and resource (session data). It distinguishes from sibling tools (e.g., get_cache_operations, get_logs). However, it does not specify the scope or format of session data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_request, get_cache_operations). No context about prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_testB
Get full details of a test execution
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states 'Get full details' without disclosing side effects, authentication, rate limits, or what details are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous words; efficiently communicates the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is minimally adequate but lacks behavioral and usage details that would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with a single parameter described as 'Clockwork request ID'. The tool description adds no additional semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses 'Get full details' which clearly specifies the action and resource, distinguishing it from list-oriented siblings like 'list_tests'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or contextual cues for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timelineB
Get timeline events for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It only states the action ('get') without clarifying side effects, permissions, rate limits, or return format. The description adds minimal value beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose with no unnecessary words or structural issues. It is appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should ideally hint at what the return value contains. It mentions 'timeline events' but does not specify the structure or any edge cases. Given the simplicity of the tool and the 100% schema coverage, the description is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 100% description coverage ('Clockwork request ID'). The tool description does not add any additional meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get timeline events' for a specific resource 'a request'. It is a specific verb+resource combination that distinguishes it from sibling tools like 'get_events' which may be broader, and 'get_request' which returns the request itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. Given many sibling tools exist for different aspects of a request, the description lacks usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viewsB
Get rendered views for a request
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description is very brief (6 words). It does not disclose any behavioral traits such as what happens with invalid request IDs, read-only nature, or performance implications. The description carries the full burden but adds negligible transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only one sentence of 6 words. Every word earns its place, and there is no redundancy or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, no output schema), the description 'Get rendered views for a request' is reasonably complete. It doesn't explain what rendered views are, but the parameter schema covers the input, and the tool name is self-explanatory within the Clockwork context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'requestId', which is described as 'Clockwork request ID'. The tool description does not add any meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get rendered views for a request' uses a specific verb (Get) and resource (rendered views), clearly stating the action. However, it does not differentiate from sibling tools like get_http_requests or get_queries, slightly reducing distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description lacks any context about prerequisites, typical use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_xdebug_hotspotsB
Get Xdebug hotspots for a request (stub - not available in Clockwork)
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID | |
| limit | No | Max hotspots to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool is a 'stub - not available in Clockwork', but doesn't specify what happens on call (e.g., error or empty result). This is partially transparent but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single sentence that conveys purpose and stub status. It is front-loaded and efficient, though slightly under-specified for a functional tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a stub, the description is fairly complete: it states the purpose and unavailability. No output schema exists, but for a non-functional tool, further details are unnecessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get Xdebug hotspots for a request' with a specific verb and resource. The 'stub' note distinguishes it from functional siblings like get_xdebug_profile, so purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it suggest other tools for getting Xdebug data. The 'stub' note implies it's not usable, but no alternative is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_xdebug_profileB
Get Xdebug profiling data for a request (stub - not available in Clockwork)
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | Clockwork request ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is a stub and not available, which is a key behavioral trait. However, it does not specify what happens when called (e.g., returns error, empty result) or any other behavioral details. With no annotations, more detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short—a single sentence. It efficiently communicates the core purpose and the stub caveat. However, it could be slightly clearer about the stub's implications.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits critical details about stub behavior, error handling, or alternative tools. Given the tool's limited utility, the agent needs more context to decide whether to invoke it or not. No output schema is provided to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the requestId parameter (100% coverage). The description adds no additional semantics beyond the verb 'get', so it meets the baseline for schema-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Xdebug profiling data for a request. The 'stub - not available in Clockwork' qualifier adds important context, though it introduces some ambiguity about the tool's functionality. It is distinguishable from sibling tools like get_xdebug_hotspots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_xdebug_hotspots). The 'stub' hint suggests it might not work, but no explicit direction is given on how to proceed or what to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commandsB
List profiled Artisan command executions
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by command name | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end | |
| limit | No | Max results to return | |
| offset | No | Number of results to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It merely states 'List profiled Artisan command executions' without mentioning read-only nature, pagination behavior (though parameters suggest it), ordering, or any constraints. For a listing tool, critical behavioral details like response format and pagination are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. It is front-loaded with the verb 'List'. However, it could be slightly more informative without losing conciseness, earning a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the output format, pagination details (e.g., whether results are ordered), or what 'profiled' entails. An agent would need to guess the response structure. This is a significant gap for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add semantic value to parameters; it only provides a high-level purpose. The schema already describes each parameter adequately (name, from, to, limit, offset). The description adds no additional context like typical values or parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List profiled Artisan command executions' uses a specific verb ('List') and resource ('profiled Artisan command executions'), clearly distinguishing it from sibling tools like 'get_command' (single) and 'analyze_*' tools (analysis). It uniquely identifies the tool's function among many list and analysis siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'get_command' or other list tools. The description implies it's for viewing executed Artisan commands, but fails to mention prerequisites, typical use cases, or exclusion criteria. An AI agent would lack context for choosing this over similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_queue_jobsC
List queue jobs with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| queue | No | Filter by queue name | |
| job | No | Filter by job class name | |
| status | No | Filter by job status | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end | |
| limit | No | Max results to return | |
| offset | No | Number of results to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It does not disclose read-only nature, potential side effects, auth requirements, or rate limits. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but it lacks any additional value or structure. Could be improved with more details without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description is too minimal. It does not explain return format, pagination, or edge cases, leaving gaps for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond the schema; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'queue jobs', with optional filtering. It distinguishes from other list tools (e.g., list_requests) by specifying the resource type, though it does not explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites or when not to use. The description only states basic functionality without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_requestsC
List recent Clockwork requests with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by request type | |
| status | No | Filter by HTTP status code | |
| uri | No | Filter by URI pattern (substring match) | |
| method | No | Filter by HTTP method | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end | |
| limit | No | Max results to return | |
| offset | No | Number of results to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides minimal behavioral insight beyond the schema. It does not mention pagination behavior, response format, what 'recent' means, or any side effects. With no annotations, the description carries the full burden and falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the core purpose. It is appropriately front-loaded but could benefit from slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description lacks completeness. It does not explain the return format, pagination details, or the scope of 'recent'. The agent may need to infer behavior from parameter names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds only 'optional filtering' which is already implied by the schema's optional parameters. It does not provide additional semantic context beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', resource 'Clockwork requests', and qualifiers 'recent' and 'optional filtering'. However, it does not differentiate from sibling tools like 'search_requests', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., 'search_requests', 'get_request'). The description offers no context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_testsB
List test executions with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by test name | |
| status | No | Filter by test status | |
| from | No | Unix timestamp start | |
| to | No | Unix timestamp end | |
| limit | No | Max results to return | |
| offset | No | Number of results to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear full burden. It only says 'list' without disclosing pagination behavior, default sorting, performance implications, or whether it's read-only. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no wasted words. It efficiently conveys the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and no output schema or annotations, the description is too minimal. It omits details about return format, default order, and typical usage patterns, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with well-described parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'test executions', and mentions optional filtering, which distinguishes it from sibling tools like get_test (single resource) and list_requests (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like search_requests or get_test. The description does not mention prerequisites, typical use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_requestsB
Search requests by controller, URI, status, or duration
| Name | Required | Description | Default |
|---|---|---|---|
| controller | No | Filter by controller name | |
| uri | No | Filter by URI pattern | |
| status | No | Filter by HTTP status code | |
| minDuration | No | Minimum response duration in ms | |
| maxDuration | No | Maximum response duration in ms | |
| limit | No | Max results to return | |
| offset | No | Number of results to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behaviors. It only describes the filtering capability but omits details like pagination (though limit/offset exist in schema), sorting, error handling, or response format. Major gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, action and key filters are front-loaded. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a search tool with well-documented parameters, but lacks context on return value structure, pagination behavior, and ordering. With 7 parameters and many siblings, more completeness would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented in the schema. The tool description adds no extra meaning beyond what is already in the schema parameter descriptions, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Search requests') and lists filtering criteria (controller, URI, status, duration). It is specific but does not differentiate from sibling tools like 'list_requests' or 'get_http_requests'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies when to use (when filtering by these fields is needed), but provides no explicit guidance on when not to use or alternatives among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct debugging aspects (e.g., queries, cache, logs, events), but slight overlap exists between analyze_slow_queries, get_queries, and get_query_stats, as well as between get_request and get_latest_request. Descriptions mitigate confusion.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_*, analyze_*, list_*), making them predictable and easy to navigate.
38 tools is high but acceptable for a comprehensive debugging server. However, two stub tools (get_xdebug_hotspots, get_xdebug_profile) are unnecessary and inflate the count.
The toolset covers most debugging needs (requests, queries, logs, cache, events, performance, etc.). Minor gaps include the missing Xdebug functionality indicated by stubs.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Cloudflare Workers MCP server: claude-skill-validator
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that allows Claude AI to interact directly with MySQL databases, enabling query execution and table information retrieval through natural language.154MIT
- AlicenseAqualityBmaintenanceMCP server for Claude that connects to MySQL, MariaDB, and SQLite databases. Query your databases using natural language.3MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that allows Claude Code to interact with the OpenAI Codex CLI.2921MIT
- AlicenseAqualityBmaintenanceAn MCP server that lets Claude Code recall the context of past conversations from any project on demand.5522MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fridzema/clockwork-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server