Skip to main content
Glama

list_issues

Fetch Redmine issues with flexible filters for project, status, assignee, author, dates, and custom fields. Includes total count to plan pagination.

Instructions

List Redmine issues, with filters.

Args: project_identifier: project identifier. Empty = all projects. status: 'open', 'closed', '*' (all), or the ID of a specific status. limit: maximum issues per page. Redmine caps this at 100. tracker_id: filter by tracker (use list_trackers). category_id: filter by category (use list_project_categories). fixed_version_id: filter by target version (use list_project_versions). assigned_to_id: filter by assignee. author_id: filter by who created the issue. parent_issue_id: return the subtasks of an issue. subject_contains: text contained in the subject (partial match). created_after: YYYY-MM-DD, issues created on or after this date. created_before: YYYY-MM-DD, issues created on or before this date. updated_after: YYYY-MM-DD, issues updated on or after this date. custom_fields: map of {field_id: value}, e.g. {"1": "8"}. sort_by: field and direction, e.g. 'priority:desc', 'updated_on:desc', 'id:asc'. Several can be comma-separated. offset: how many issues to skip — use together with 'limit' to paginate. query_id: run a saved query (use list_saved_queries). When given, the other filters are ignored by Redmine.

Returns: JSON with the total number of matching issues (not just this page), so it's possible to tell whether pagination is needed without guessing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusNoopen
sort_byNo
query_idNo
author_idNo
tracker_idNo
category_idNo
created_afterNo
custom_fieldsNo
updated_afterNo
assigned_to_idNo
created_beforeNo
parent_issue_idNo
fixed_version_idNo
subject_containsNo
project_identifierNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure and does so thoroughly. It reveals the 100-item cap, query_id overriding other filters, date inclusivity semantics, partial-match behavior, special status values, and the return of the total matching issue count to tell if pagination is needed. There is no annotation contradiction.

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 long because there are 17 parameters, but it is well-structured with a one-line purpose followed by an Args list and a Returns note. Every sentence adds semantic value and there is no fluff or repetition, making it appropriately sized for the tool's complexity.

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?

Given the high parameter count, lack of annotations, and existence of an output schema, the description is remarkably complete. It covers all parameter semantics, API limitations, filter interactions, pagination behavior, and return count information, giving an agent everything needed to select and invoke the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description's Args section is the only source of parameter meaning. Every one of the 17 parameters is defined with syntax and examples, including custom_fields map format, sort_by field/direction examples, and the meaning of empty project_identifier and status '*'.

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 opening sentence states a specific verb and resource ('List Redmine issues'), and the description enumerates all filtering dimensions (project, status, tracker, category, version, assignee, author, parent issue, subject, dates, custom fields, sorting, query, pagination). This clearly distinguishes it from sibling issue tools like get_issue, create_issue, and bulk_update_issues.

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

Usage Guidelines4/5

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

The description gives clear context on how to use filters, including notes that Redmine caps limit at 100, query_id causes other filters to be ignored, and offset+limit enable pagination. It also references list_trackers, list_project_categories, list_project_versions, and list_saved_queries for filling filter parameters. However, it does not explicitly state when to prefer this tool over alternatives like get_issue or bulk_update_issues.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alsimoes/mcp-redmine'

If you have feedback or need assistance with the MCP directory API, please join our Discord server