Skip to main content
Glama

List Redmine time-entry activities

list_time_entry_activities
Read-onlyIdempotent

Retrieve all shared Redmine time-entry activities (id, name, is_default, active, custom fields) via the REST API. Get complete enumeration data without modifying Redmine.

Instructions

Read all shared Redmine time-entry activities from GET /enumerations/time_entry_activities.json for the configured Redmine API user. This endpoint accepts no query, include, or pagination controls and preserves Redmine's shared position order. Results map id, name, is_default, active, and visible custom_fields to id, name, isDefault, active, and customFields, preserving upstream order, explicit custom-field null values, and omitted version-dependent fields. The active field is available since Redmine 4.1.0 and enumeration custom-field values since 3.4.0. Project-specific activity overrides are not returned by this global collection. The HTML index is admin-or-API-only for non-admin users and Redmine has no time-entry-activity show route, so results have no browser links. Redmine may return HTTP 401, 403, or 404 without exposing the upstream response body. This tool never changes Redmine data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeEntryActivitiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readonly, idempotent, and non-destructive behavior, and the description adds substantial context beyond that: no query/include/pagination controls, preserved ordering, field-name mapping, version-dependent field availability, lack of project-specific overrides, absence of browser links, and explicit HTTP error behavior. This is rich behavioral disclosure that helps the agent anticipate edge cases.

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?

The first sentence front-loads the core purpose, followed by logically grouped behavioral details, version caveats, and error behavior. It is longer than strictly necessary, and some statements like 'This tool never changes Redmine data' partly duplicate annotations, but for a tool with Redmine-specific quirks the detail is mostly earned.

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

Completeness5/5

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

The description covers endpoint, field mapping, ordering, null handling, version support, scope limitations, error behavior, and safety profile. With an output schema already available, the description leaves no important gap for an agent deciding whether and how to call this tool.

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?

The tool has zero parameters, so there is no parameter burden to carry. The description still clarifies that the endpoint 'accepts no query, include, or pagination controls', which prevents the agent from inventing unsupported arguments. This is appropriate for a no-parameter schema.

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: 'Read all shared Redmine time-entry activities from GET /enumerations/time_entry_activities.json'. It clearly distinguishes this tool from sibling list tools by naming the exact endpoint, the global scope, and by noting that project-specific overrides are not returned.

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?

The description gives clear context about what the endpoint returns and explicitly states that project-specific activity overrides are not included, which is a useful exclusion. However, it never names an alternative tool or says when to use this one versus a sibling like list_time_entries or list_issue_statuses, so the usage guidance is implied rather than explicit.

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