Skip to main content
Glama
johsem

Semaphore UI MCP server

by johsem

get_template_task_stats

Read-onlyIdempotent

Retrieves task statistics for a specific Semaphore UI template, optionally filtered by date range and user ID, to support reporting and monitoring.

Instructions

Get Task Stats. GET /project/{project_id}/templates/{template_id}/stats.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoInclusive date in YYYY-MM-DD format.
startNoInclusive date in YYYY-MM-DD format.
user_idNo
project_idYes
template_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, so the safety profile is covered. Beyond the raw path, the description discloses nothing about behavior: what dimensions are aggregated, whether optional filters narrow the aggregation, or how large an unfiltered response could be for openWorld datasets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short and front-loaded, which is good, but the second sentence is just a REST path that mostly duplicates the required parameters in the schema rather than adding meaning. Terseness here reads as under-specification, not efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five parameters, no output schema, and no annotation-level detail about the result shape, the description should explain what the stats response contains and how the optional filters behave. None of that is present, leaving the agent guessing at both inputs and outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 40%: start/end carry format descriptions but user_id, project_id, and template_id have none. The description does not explain that user_id narrows stats to a single user or that start/end are range filters on the aggregation window — both non-obvious semantics for a stats endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Get Task Stats" largely restates the tool name, but the appended endpoint path ('/project/{project_id}/templates/{template_id}/stats') does establish that the stats are scoped to a specific template inside a project, which distinguishes it from the sibling get_project_task_stats. It never says what a "stat" is (counts by status, durations, host totals).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus get_project_task_stats, get_task, list_template_tasks, or list_recent_template_tasks. The agent must infer from the name alone that this aggregates template-level statistics rather than listing task records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools