Skip to main content
Glama

Bill4Time MCP by usefulapi

List projects (matters)

bill4time_list_projects
Read-only

List projects (matters): id, name, client, status, billing method, rate overrides, assigned user, created/closed/due dates. Filter by status, billing method, client, id or creation date. GET /projects.

Input Schema

NameRequiredDescriptionDefault
idNoOnly the record with this id.
topNoRecords to return, 1-100 (default 25).
skipNoRecords to skip (default 0). Pass the previous reply's next_skip to read the next page.
sortNoField to sort by (default: Bill4Time's own order).
statusNo
client_idNoOnly projects of this client.
descendingNoSort descending (newest or highest first). Default ascending.
created_afterNoProjects created on or after this date.
billing_methodNo
created_beforeNoProjects created on or before this date.
include_custom_fieldsNoAlso return the custom fields (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without description help. The description adds the returned field list and filter surface, but says nothing about pagination behavior (top/skip/next_skip) or result ordering beyond what the schema states.

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

Conciseness4/5

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

Three compact clauses: identity, returned fields, filter options, then the HTTP route. It is front-loaded with purpose and free of filler, though the trailing "GET /projects" is low-value for an agent.

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 usefully enumerates the returned fields, and annotations already cover the safety profile. Filtering is described and pagination is delegated to the schema, leaving it largely complete for an agent to call correctly.

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

Parameters3/5

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

Schema description coverage is high (82%), so the schema already documents most parameters, establishing a baseline of 3. The description echoes the filter dimensions (status, billing method, client, id, creation date) but omits sort, top/skip pagination, descending, and include_custom_fields, adding little beyond the schema.

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

Purpose4/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 projects (matters)") and enumerates the fields returned, so the tool's purpose is unambiguous. It differentiates from siblings implicitly via the distinct resource name, but never names or contrasts the sibling list tools explicitly.

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

Usage Guidelines3/5

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

"Filter by status, billing method, client, id or creation date" implies when this tool is useful (narrowing a project set), but there is no explicit when-to-use guidance and no routing to sibling tools like list_clients when the agent actually wants clients instead. Usage is only implied.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.