Skip to main content
Glama
S-CurveLabs

io.github.S-CurveLabs/longpath

Official
by S-CurveLabs

list_activities

Read-onlyIdempotent

Filter construction schedule activities by WBS, status, type, float, or critical path, returning match count and key scheduling data including total float and dates.

Instructions

List activities with filters; returns the match count and the top limit rows (id, name, WBS, type, status, durations, start/finish, computed total float in working days, constraint). Filters: wbs = WBS code or name fragment (includes everything below it); code = 'Code Type=Value' or a bare value (activity codes and user fields); status = not_started / in_progress / complete / incomplete; activity_type = task, milestone, level_of_effort, wbs_summary, resource_dependent; text = fragment of the ID or name; min/max_float_days on the CPM total float; critical_only (float <= the project's critical threshold); longest_path_only. include_stored_float adds the float saved in the file next to the computed one. sort = start, finish, float, id, duration. For all rows use export_csv(tool='list_activities', ...).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
wbsNo
codeNo
pathYes
sortNostart
textNo
limitNo
statusNo
projectNo
activity_typeNo
critical_onlyNo
max_float_daysNo
min_float_daysNo
longest_path_onlyNo
include_stored_floatNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds substantial behavior beyond that: it returns match count plus a computed total float in working days, explains that wbs includes everything below it, and defines critical_only as float <= project threshold.

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

Conciseness5/5

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

The description is dense but every sentence earns its place: the return shape is front-loaded, followed by a logically grouped filter list and the export alternative. No filler or redundant restatement of the schema exists.

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?

For a 14-parameter tool with no output schema, this description is unusually complete: it covers return fields, filter semantics, sort options, and the export path for unbounded results. The only gaps are the undefined `path`, `project`, and `limit` default semantics, which slightly reduce completeness.

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 description coverage is 0%, so the description carries the full burden, and it largely succeeds: wbs, code, status, activity_type, text, min/max_float_days, critical_only, longest_path_only, include_stored_float, and sort are all meaningfully explained. However, the required `path` parameter, `project`, and the exact behavior of `limit` (especially its default of 0) are not explicitly defined.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'List activities with filters; returns the match count and the top limit rows...'. It enumerates the returned fields and distinguishes this from data-export siblings by explicitly pointing to export_csv for all rows.

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

Usage Guidelines5/5

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

The description explains when to use this tool versus export_csv: 'For all rows use export_csv(tool='list_activities', ...)'. It also makes the filtering use cases explicit by detailing each filter's purpose, which gives the agent clear selection criteria.

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