Skip to main content
Glama
igorolv

redmine-mcp-server

listProjects

listProjects
Read-onlyIdempotent

Find accessible Redmine projects and their valid IDs to target operations when the project is unknown. Returns project summaries for selection.

Instructions

Discover accessible Redmine projects and their valid identifiers before project-scoped operations when the target project is unknown. Returns project summaries; use getProject for one project's details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum number of projects that may appear on this page.
offsetYesZero-based offset of the first project on this page.
projectsNoProjects on this page.
totalCountYesTotal number of projects across all pages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds meaningful context beyond these annotations by stating that only 'accessible' projects are listed, which implies authentication and permission filtering, and by clarifying that the return is project summaries rather than full details. No contradiction exists.

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 two sentences with no wasted words. It front-loads the primary purpose and action, then includes the key alternative. Every sentence earns its place, and the structure makes it easy for an agent to parse the core intent quickly.

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?

Given that the tool has an output schema, the return value format is already covered. The description provides the purpose, usage timing, and the main alternative, while annotations cover safety and idempotency. The only gap is that limit and offset are not described in either the schema or the description, which is a minor omission for a simple listing tool with optional parameters.

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

Parameters2/5

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

The schema has 0% description coverage for parameters, and the description does not mention limit or offset at all. The parameter names are somewhat self-explanatory as pagination controls, but the description adds no explicit meaning about their behavior, defaults, or relationship to result size. Given the low schema coverage, the description should have compensated but does not.

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 clearly states the action ('Discover accessible Redmine projects and their valid identifiers') and the specific resource (Redmine projects), giving agents a precise understanding of what the tool does. It also differentiates from the sibling tool getProject by noting that listProjects returns summaries while getProject provides one project's details.

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 explicitly tells the agent when to use this tool: 'before project-scoped operations when the target project is unknown.' It also names the alternative, getProject, and states the condition for choosing it ('for one project's details'). This is clear, actionable guidance that routes the agent correctly.

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