Skip to main content
Glama
Zeekeey-jpeg

singleops-mcp-server

by Zeekeey-jpeg

Get timesheet totals report

singleops_read_get_timesheet_totals_report
Read-onlyIdempotent

Fetches timesheet totals from SingleOps with configurable column filters and returns JSON or markdown tables for reviewing recorded time and report data.

Instructions

Get timesheet totals report. (POST /reports/timesheet_totals_report) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

Input Schema

NameRequiredDescriptionDefault
bodyNoRequest body as a JSON object. Match the fields listed in the description.
extra_queryNoAny additional query parameters.
response_formatNoOutput format: "markdown" (default, readable tables) or "json" (full raw response).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds the non-obvious fact that this read is issued as a POST with filters in the body, plus the exact top-level return keys (draw, recordsTotal, recordsFiltered, data, meta, table_id, settings) and a caution that the schema was inferred and should be verified. Those are real behavioral details the annotations cannot convey.

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

Conciseness2/5

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

The purpose and endpoint are front-loaded, but the bulk of the text is a raw, repetitive key enumeration that is both verbose and inconsistent (it stops at columns[6][searchable]). A summarized pattern like 'draw + columns[N][data|name|searchable|orderable|search][value|regex]' would convey the same in a fraction of the space.

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

Completeness4/5

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

With no output schema, the description compensates by naming the response keys and the request-body shape, and flags the POST-for-read quirk. What's missing is semantics — what the columns represent, pagination/sorting expectations, or how the report differs from the summary report — so it is strong on mechanics but not fully complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the body parameter is a free-form object with no defined properties — the description is the only source documenting the DataTables-style body keys (draw, columns[N][data/name/searchable/...]). It is genuinely additive, though the dump is truncated mid-way (columns[6] lists only three sub-keys), leaving the parameter picture incomplete.

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?

The description restates the title ('Get timesheet totals report') and adds the underlying endpoint (POST /reports/timesheet_totals_report). It never says what a timesheet totals report actually contains or how it differs from the sibling singleops_read_get_timesheet_summary_report or the timesheet list tools, so an agent cannot disambiguate on purpose alone.

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?

There is no guidance on when to choose this report over the many sibling report tools (summary, job labor, client labor, etc.). The only contextual note — 'Inferred from the SingleOps web app's own traffic; confirm results' — is a reliability caveat, not a usage rule.

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