Skip to main content
Glama
jesusr00

mcp-server-redmine

by jesusr00

mcp-server-redmine

MCP server for the Redmine REST API. Exposes 33 tools covering Issues, Issue Relations, Projects, Users, My Account, Time Entries, Wiki Pages, News, Files, Search, and Roles via stdio transport.

Installation

pnpm add mcp-server-redmine

Or use directly via npx:

npx mcp-server-redmine

Related MCP server: Redmine MCP OAuth Server

Configuration

Two environment variables are required, and one is optional:

Variable

Description

REDMINE_URL

Base URL of your Redmine instance, e.g. https://redmine.example.com

REDMINE_API_KEY

Your Redmine API access key (found in My account → API access key)

REDMINE_UPLOAD_DIR

Optional. Absolute path; when set, redmine_upload_attachment can only read files inside this directory (symlinks are resolved; hard links and bind mounts are not detected). Recommended to limit what the model can upload.

Claude Desktop Setup

Add to claude_desktop_config.json:

Note: In Claude Desktop, open Settings → Developer → Edit Config. This opens (or creates) claude_desktop_config.json in your default editor. After saving, fully quit Claude Desktop (not just minimize) and reopen it for the changes to take effect.

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["mcp-server-redmine"],
      "env": {
        "REDMINE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code Setup

Run from your project root:

claude mcp add-json redmine '{"command":"npx","args":["mcp-server-redmine"],"env":{"REDMINE_URL":"https://redmine.example.com","REDMINE_API_KEY":"your-api-key"}}'

Or add manually to .mcp.json at the root of your project:

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["mcp-server-redmine"],
      "env": {
        "REDMINE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your-api-key"
      }
    }
  }
}

Tools

Issues

Tool

Status

Description

redmine_list_issues

List issues with filters: project, status, tracker, assignee, priority, pagination

redmine_get_issue

Get a single issue by numeric ID

redmine_create_issue

Create a new issue in a project, optionally attaching uploaded files

redmine_update_issue

Update fields on an existing issue, optionally attaching uploaded files

redmine_delete_issue

Permanently delete an issue

Issue Relations

Tool

Status

Description

list_issue_relations

List all relations for a given Redmine issue

get_issue_relation

Get a single relation by its numeric ID

create_issue_relation

Create a relation between two issues (relates, blocks, precedes, duplicates, …)

delete_issue_relation

Permanently delete a relation

Projects

Tool

Status

Description

redmine_list_projects

List all accessible projects

redmine_get_project

Get a project by identifier (slug) or numeric ID

redmine_create_project

Create a new project

redmine_update_project

Update an existing project

Users

Tool

Status

Description

redmine_list_users

List users (requires admin privileges)

redmine_get_user

Get a user by numeric ID

redmine_get_current_user

Get the authenticated user's profile

My Account

Tool

Status

Description

redmine_get_my_account

Get the authenticated user's account details, API key, and custom fields

Time Entries

Tool

Status

Description

redmine_list_time_entries

List time entries with filters: project, issue, user, date range

redmine_get_time_entry

Get a single time entry by numeric ID

redmine_log_time

Log hours against an issue or project

redmine_update_time_entry

Update an existing time entry

redmine_delete_time_entry

Permanently delete a time entry

Wiki Pages

Tool

Status

Description

redmine_list_wiki_pages

List all wiki pages in a project

redmine_get_wiki_page

Get wiki page content by project and title

redmine_update_wiki_page

Create or update a wiki page

redmine_delete_wiki_page

Permanently delete a wiki page (requires admin)

News

Tool

Status

Description

redmine_list_news

List news articles with optional project filtering

Files

Tool

Status

Description

redmine_list_files

List all files in a project with metadata

redmine_upload_attachment

Upload a local file and get an attachment token for issues or project files

redmine_upload_file

Add an already-uploaded file (by token) to a project's Files module

Tool

Status

Description

redmine_search

Search issues, wiki pages, news, documents, changesets, messages, and projects

Roles

Tool

Status

Description

redmine_list_roles

List all roles with IDs and names

redmine_get_role

Get role details including permissions

API Stability

The tools follow Redmine's API resource stability levels:

Status

Meaning

✓ Stable

Feature complete, no major changes planned

⚠ Alpha

Major functionality in place, needs feedback from integrators

⚡ Prototype

Rough implementation, possible breaking changes. Not recommended for production

Development

# Install dependencies
pnpm install

# Build
pnpm build

# Watch mode
pnpm dev

# Tests
pnpm test

# Type check
pnpm typecheck

Contributing

Contributions are welcome! Please read the Contributing Guide for setup instructions, the project structure, and how to add a new tool. Bug reports and feature requests go through the issue templates.

Security

Found a vulnerability? Please report it privately — see our Security Policy. Do not open a public issue for security problems.

License

MIT © Jesus Reikel Lopez Martin

Available Tools

33 tools
create_issue_relationB

[Alpha] Create a relation between two Redmine issues. Supported types: relates, duplicates, duplicated, blocks, blocked, precedes, follows, copied_to, copied_from.

ParametersJSON Schema
NameRequiredDescriptionDefault
delayNo
issue_idYes
issue_to_idYes
relation_typeNorelates

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention if the operation is destructive, requires authentication, or handles duplicates. It only lists relation types, missing critical behavioral context.

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 a single sentence with a list, no wasted words. It is appropriately sized and front-loaded with the operation.

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

Completeness2/5

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

The description lacks return value information and does not address edge cases like duplicate relations or non-existent issues. For a creation tool with no output schema, more context is needed.

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?

Schema description coverage is 0%, so the description must compensate. It lists the relation_type enum but does not explain issue_id, issue_to_id, or delay. The parameter semantics are largely missing, adding only marginal value.

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 it creates a relation between two Redmine issues and lists all supported relation types. It distinguishes itself from sibling tools like delete_issue_relation and list_issue_relations by specifying the action ('create') and the resource (relation between two issues).

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool vs alternatives. It does not mention prerequisites or scenarios where this tool is preferred. No explicit when-not-to-use instructions are given.

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

delete_issue_relationB

[Alpha] Permanently delete a Redmine issue relation by its numeric ID. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It mentions 'Permanently delete' and 'cannot be undone', but does not cover authorization needs, side effects on related data, or error conditions.

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 concise with one sentence and a note, front-loaded with key information. No extraneous words.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description covers purpose and permanence. However, it lacks explanation of what an issue relation is, possible errors, or prerequisites.

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 one parameter (id) with 0% description coverage. The description says 'by its numeric ID', which adds minimal value beyond the schema's 'integer' type and 'exclusiveMinimum: 0'.

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 'Permanently delete a Redmine issue relation by its numeric ID', specifying the verb, resource, and scope. It distinguishes from sibling tools like 'create_issue_relation' and 'get_issue_relation'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or any prerequisites. The description only states what it does, not when to use it.

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

get_issue_relationB

[Alpha] Get a single Redmine issue relation by its numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Get' implying a read operation, but does not disclose any behavioral traits such as authentication requirements, rate limits, or what happens if the ID is invalid. The description is too minimal for full transparency.

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 a single sentence with no extraneous words. Every phrase earns its place, front-loading the action 'Get'. The '[Alpha]' prefix is a minor tag but does not detract from conciseness.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no output schema), the description covers the basic purpose. However, it lacks output format details and usage context relative to siblings. The completeness is adequate for minimal requirements but not comprehensive.

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?

With 0% schema description coverage, the description adds meaningful context by noting the parameter is a 'numeric ID' that identifies the relation. This provides semantics beyond the schema's type information, though it does not elaborate on format or constraints beyond the numeric hint.

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 verb 'Get', the resource 'a single Redmine issue relation', and the method 'by its numeric ID'. It effectively distinguishes from sibling tools like list_issue_relations (plural) and create/delete by focusing on a single retrieval by ID.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like list_issue_relations for multiple relations or delete for removal. It lacks any exclusions or prerequisites, which is insufficient for an agent to decide contextually.

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

list_issue_relationsA

[Alpha] List all relations for a given Redmine issue. Returns each relation's ID, related issue ID, type, and optional delay.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_idYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It states the output fields (ID, related issue ID, type, optional delay) but does not mention side effects, authentication needs, or rate limits. The read-only nature is inferred from the verb 'List'.

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 a single, front-loaded sentence followed by a list of return fields. Every word is functional, with no redundancy or filler.

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 the tool's simplicity (one parameter, no output schema), the description is reasonably complete: it explains the action, scope, and return structure. It could mention that the operation is read-only but is otherwise adequate.

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 the single parameter 'issue_id'. The description only implies it is the issue identifier ('for a given Redmine issue') without adding details like how to obtain it or constraints beyond the schema's exclusiveMinimum.

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 verb 'List' and the resource 'all relations for a given Redmine issue', and distinguishes itself from sibling tools like create_issue_relation, delete_issue_relation, and get_issue_relation by focusing on listing all relations.

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 implies when to use this tool (when needing all relations of an issue), but does not explicitly mention when not to use it or provide alternative tools. However, the sibling names give context.

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

redmine_create_issueC

[Stable] Create a new Redmine issue. Returns the created issue with its assigned ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYes
uploadsNo
due_dateNo
status_idNo
done_ratioNo
project_idYes
start_dateNo
tracker_idNo
descriptionNo
priority_idNo
custom_fieldsNo
assigned_to_idNo
estimated_hoursNo
parent_issue_idNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, but it only states the creation action and return value. It does not mention required permissions, the fact that this creates a persistent record, failure/error behavior, or any constraints beyond creation.

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 description is two short sentences with no filler and front-loads the create action. It is concise, though it sacrifices useful detail that other dimensions need.

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

Completeness2/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 and no annotations, this description is incomplete. It tells an agent what the tool is called for but not how to construct a valid invocation beyond what the raw JSON schema already shows.

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

Parameters1/5

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

Schema description coverage is 0% across 14 parameters, and the description does not explain any of them. It does not even mention that project_id and subject are required or what values each field expects.

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 uses a specific verb and resource: 'Create a new Redmine issue,' which clearly separates it from siblings like redmine_update_issue, redmine_list_issues, and redmine_delete_issue. Adding that it returns the created issue with its assigned ID further removes ambiguity.

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

Usage Guidelines2/5

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

It gives no guidance on when to choose this tool over alternatives or when not to use it. There is no mention that updates should go to redmine_update_issue or that listing should go to redmine_list_issues.

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

redmine_create_projectC

[Stable] Create a new Redmine project. Returns the created project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
is_publicNo
identifierYes
descriptionNo
inherit_membersNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description only states it returns the project and is stable. It omits critical behavioral details like auth requirements, side effects, error handling, or whether it's idempotent.

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

Conciseness3/5

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

The description is extremely concise (one sentence) but lacks substance. The '[Stable]' prefix is helpful, but the structure could be improved with clearer separation of purpose and behavior.

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

Completeness1/5

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

Given no output schema, no annotations, and 0% parameter coverage, the description fails to provide enough context for correct tool use. It doesn't explain return structure, error conditions, or parameter details.

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

Parameters1/5

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

Schema coverage is 0% and the description provides no explanation for any of the 5 parameters (2 required). The agent must guess the meaning of fields like 'inherit_members' or 'is_public'.

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 clearly states 'Create a new Redmine project' with a verb and resource, and mentions it returns the created project. However, it does not differentiate from sibling tools like redmine_update_project, which share similar context.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives, prerequisites, or scenarios to avoid. The description is purely declarative without usage context.

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

redmine_delete_issueA

[Stable] Permanently delete a Redmine issue and all its journals and attachments. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior4/5

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

Discloses irreversible deletion including journals and attachments, but does not mention any permissions or prerequisites needed.

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?

Single sentence with all key information, no wordiness.

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

Completeness3/5

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

Adequate for a simple delete operation, but lacks details on error conditions or access requirements.

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 description does not explain that the required 'id' parameter is the issue ID; relies entirely on schema which has 0% description coverage.

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 tool permanently deletes a Redmine issue with all associated data, distinguishing it from create/update tools.

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 implies when to use (to delete an issue) but does not explicitly compare to alternatives like updating or listing issues.

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

redmine_delete_time_entryB

[Stable] Permanently delete a Redmine time entry. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior3/5

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

The description adds behavioral context beyond the lack of annotations by stating 'Permanently delete' and 'cannot be undone', indicating irreversibility. However, it omits details like required permissions or cascading effects on related data.

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 extremely concise with two sentences: the first states the purpose, the second a critical warning. Every word is essential with no redundancy.

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

Completeness2/5

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

Given no annotations, no output schema, and sparse parameter information, the description lacks completeness. It does not address prerequisites, error conditions, or when this tool should be used over related sibling tools.

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

Parameters1/5

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

The description does not describe the 'id' parameter at all. With 0% schema description coverage, the description should compensate but fails to clarify that the id identifies the time entry to delete.

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 verb 'delete' and the resource 'Redmine time entry', distinguishing it from sibling tools that operate on other resources like issues or projects. The '[Stable]' prefix adds context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., redmine_update_time_entry or redmine_log_time). It only mentions 'cannot be undone' as a consequence, not a usage context.

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

redmine_delete_wiki_pageA

[Alpha] Permanently delete a Redmine wiki page. Requires admin privileges. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
project_idYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the action is permanent and irreversible, and requires admin privileges. This is adequate for a delete operation, though it could mention error conditions or side effects.

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 three short sentences with no unnecessary words. The purpose is front-loaded in the first sentence, and each subsequent sentence adds important context.

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

Completeness3/5

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

Given no output schema and simple delete semantics, the description provides core information (permanence, admin requirement). However, it lacks details like error handling, existence checks, or what the response looks like, leaving some ambiguity for the agent.

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?

Schema description coverage is 0%, so the description should compensate, but it does not mention parameters at all. The agent must infer that 'project_id' and 'title' identify the page, but no format or constraints are explained.

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 'Permanently delete' and the resource 'Redmine wiki page', making the tool's purpose explicit. It distinguishes from sibling delete tools by specifying 'wiki page' in both name and description.

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 mentions the prerequisite 'Requires admin privileges' and the consequence 'cannot be undone', but does not provide guidance on when to use this tool versus alternatives like updating the page.

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

redmine_get_current_userA

[Stable] Get the details of the currently authenticated Redmine user (identified by REDMINE_API_KEY).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description only states it returns 'details' without specifying behavior like authentication requirements, potential errors, or side effects. The 'Stable' tag gives minimal confidence.

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?

Single sentence, directly to the point, with no unnecessary information.

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

Completeness2/5

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

Despite no parameters, the description lacks detail on what 'details' are returned, no output schema, and no guidance on prerequisites or error conditions. Given the complexity context (no params, no output schema), it is incomplete.

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 no parameters, so the schema provides full coverage. The description adds the context that it uses REDMINE_API_KEY for identification, which is helpful beyond the empty 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 clearly states the tool retrieves the currently authenticated Redmine user's details, with a specific verb ('Get') and resource ('currently authenticated Redmine user'). It implicitly distinguishes from 'redmine_get_user' which targets a different user.

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 implies usage when you need the current user's details and are authenticated via REDMINE_API_KEY, but it does not provide explicit guidance on when not to use it or mention alternatives like 'redmine_get_my_account' which might overlap.

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

redmine_get_issueA

[Stable] Get full details of a single Redmine issue by its numeric ID, including description, status, dates, and optional extras like journals (comments) and attachments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
includeNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided. The description indicates a read operation with 'Get full details', implying no side effects. However, it does not explicitly state idempotency or safety, relying on the verb 'Get' to suggest read-only behavior.

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 description is a single sentence, efficiently conveying purpose and scope. The prefix '[Stable]' is slightly extraneous but does not detract significantly. Front-loaded with key information.

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 no output schema, the description provides a high-level summary of returned data (description, status, dates, optional journals/attachments). It covers the main purpose and key parameters, but could mention additional common fields like priority or assignee for full completeness.

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 coverage is 0% (no descriptions in schema). The description adds meaning by explaining the 'id' parameter as a numeric ID and 'include' as optional extras like journals and attachments. However, it fails to detail the comma-separated format or list possible include values, leaving some interpretation to the agent.

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 tool retrieves full details of a single Redmine issue by numeric ID, including specific fields and optional extras like journals and attachments. It distinguishes from siblings like redmine_list_issues which list multiple issues.

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 implies usage for fetching a single issue's details but does not explicitly state when to use this tool over alternatives like redmine_list_issues or when not to use it. No guidance on prerequisites or context.

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

redmine_get_my_accountA

[Stable] Get the full account details of the currently authenticated Redmine user, including email address, API key, and custom fields.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It discloses the return content (email, API key, custom fields) but does not mention side effects, authentication requirements, or that it is read-only. It is adequate but could be more explicit.

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 a single, clear sentence with a stability tag. It is front-loaded and contains no fluff. Every word serves a purpose.

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 the tool has no parameters and no output schema, the description sufficiently covers its purpose and output. It could optionally mention that the user must be authenticated, but that is implied. It is complete for the tool's simplicity.

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, and schema coverage is 100% trivially. The description adds value by explaining what the tool returns, which is beyond what the empty schema provides. Baseline for zero parameters is 4.

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 verb 'Get' and the resource 'full account details of the currently authenticated Redmine user'. It distinguishes from siblings like 'redmine_get_current_user' by specifying the detailed output including email, API key, and custom fields.

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 indicates it retrieves details for the 'currently authenticated user', which implies its use case for self-user information. It doesn't explicitly exclude alternative tools, but the sibling context suggests it differs from user-specific tools like 'redmine_get_user'.

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

redmine_get_projectA

[Stable] Get details of a single Redmine project by its identifier (string slug) or numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states that it retrieves details, without mentioning permissions, side effects, rate limits, or what 'details' entails.

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 a single, focused sentence with a stability marker. Every word contributes to clarity without redundancy.

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

Completeness3/5

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

The description is adequate for a simple get operation but lacks details about the return value or output format. Given no output schema, mentioning what is returned would improve 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?

The schema has 0% description coverage for the parameter 'id'. The description adds value by explaining that the string is a slug and the integer is a numeric ID, which clarifies acceptable inputs beyond the schema pattern.

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 explicitly states the verb 'Get details' and the resource 'single Redmine project', and clarifies the identifier can be a string slug or numeric ID. This clearly distinguishes it from siblings like list or create.

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 implies usage when needing details of a single project, but does not provide explicit guidance on when not to use it or mention alternative tools like redmine_list_projects for multiple projects.

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

redmine_get_roleA

[Alpha] Get detailed information about a role including permissions, visibility settings, and assignability (requires Redmine 2.2+).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior3/5

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

Description discloses return content (permissions, visibility, assignability) and a version prerequisite. Without annotations, it's helpful but does not cover authorization, rate limits, or whether the operation is purely read-only. Adequate for a simple read tool.

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?

Single sentence with no redundant words. The Alpha marker and version requirement are efficiently included. Front-loaded with purpose.

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 the tool's simplicity (one param, no output schema), the description covers what the tool returns and a key constraint. It does not describe return structure, but for a get-by-id tool, this is reasonably complete.

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?

Only one parameter 'id' with no schema description. The description implies 'id' refers to a role ID through context, but does not explicitly define it or provide format/example. With 0% schema coverage, the description adds some value but not full compensation.

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?

Description uses clear verb 'Get detailed information' specifying the resource 'role' and lists included details (permissions, visibility, assignability). It distinguishes from sibling 'redmine_list_roles' by implying granularity. The Alpha and version requirement add precision.

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?

No explicit when-to-use or when-not-to-use instructions. While 'detailed' implies this is for specific role lookups after listing, no alternatives or exclusions are mentioned. The guidance is implicit from the sibling list but not stated.

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

redmine_get_time_entryB

[Stable] Get details of a single time entry by its numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior2/5

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

Description assumes full burden due to no annotations. It only states '[Stable]' and 'Get details', which implies a read operation but does not disclose response structure, error handling, rate limits, or authentication needs.

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?

Single sentence of 11 words, front-loaded with stability indicator. Every word is necessary; no redundancy.

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

Completeness2/5

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

Given no output schema, no annotations, and 1 parameter, the description lacks information on return values, error scenarios, or request formatting beyond ID. Incomplete for a tool without supplementary structured fields.

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?

Schema has 1 required parameter 'id' with type integer, exclusiveMinimum 0. Description provides no additional meaning or usage context for the parameter, leaving it fully to the schema. Schema coverage is 0%.

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?

Description clearly states verb 'Get details', resource 'single time entry', and identifier type 'numeric ID'. Differentiates from sibling tools like redmine_log_time (create), redmine_delete_time_entry (delete), and redmine_list_time_entries (list).

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?

Description implies use when a numeric ID is available to retrieve details, but lacks explicit guidance on when not to use this tool or alternatives. No mention of prerequisites or context for selection.

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

redmine_get_userB

[Stable] Get details of a single Redmine user by numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
includeNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the tool is 'stable' and gets details, without disclosing read-only behavior, required permissions, or potential side effects. The transparency is minimal.

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 a single sentence with no filler, front-loading the verb and resource. Every word adds value, achieving maximum conciseness.

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

Completeness2/5

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

Despite low tool complexity, the description fails to explain the include parameter or return format. With no output schema, this omission leaves the tool incomplete for an agent to understand full functionality.

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

Parameters1/5

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

Schema coverage is 0%, yet the description only mentions 'by numeric ID' for the id parameter. The optional include parameter is completely undocumented in both schema and description, leaving its purpose unclear.

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 verb 'get' and resource 'details of a single Redmine user by numeric ID'. It distinguishes the tool from sibling tools like redmine_list_users or redmine_get_current_user.

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 implies usage when retrieving a single user by numeric ID, but provides no explicit guidance on when to use versus alternatives or conditions. Sibling tools provide context, but description itself offers no exclusion.

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

redmine_get_wiki_pageB

[Alpha] Get the content and metadata of a Redmine wiki page by project and page title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
project_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool gets content and metadata, but does not mention read-only nature, authentication needs, error handling (e.g., page not found), or what metadata includes. The '[Alpha]' tag hints at instability but provides no specifics.

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 a single, efficient sentence with no superfluous information. The '[Alpha]' prefix appropriately warns of experimental status. Every word is necessary.

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

Completeness2/5

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

Given no output schema and no annotations, the description should provide a clearer picture of what the agent can expect from the tool. It lacks details about the return structure (content and metadata fields), error scenarios, or any side effects. For a simple tool, this is insufficient for complete agent understanding.

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?

Schema description coverage is 0%, so the description must compensate. It mentions 'project and page title' which maps to project_id and title, but does not explain the format of project_id (can be string or integer with pattern) or provide any additional details about parameter usage. The agent would lack sufficient understanding of parameter constraints.

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 verb 'Get', the resource 'content and metadata of a Redmine wiki page', and the key parameters 'by project and page title'. It distinguishes from siblings like redmine_list_wiki_pages (which lists pages) and redmine_delete_wiki_page (which deletes).

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 usage is implied by the purpose: retrieving a specific wiki page. However, there is no explicit guidance on when to use this tool versus alternatives like redmine_list_wiki_pages, nor any mention of prerequisites or context.

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

redmine_list_filesA

[Alpha] List all files in a Redmine project. Returns file metadata including name, size, type, author, and download URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
project_idYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It identifies the tool as 'Alpha' (experimental) and states it returns file metadata, implying a read-only operation. However, it does not disclose potential behaviors like pagination handling, authentication needs, or rate limits. The lack of explicit read-only or non-destructive hint is a gap, but the operation type is clear from context.

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 one sentence, front-loaded with the tool's purpose, and contains no unnecessary words. Every part serves to convey the core functionality and output.

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

Completeness3/5

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

Given the simplicity of the tool (listing files), the description covers the basic purpose. However, with no output schema, no parameter documentation, and no annotations, the description should have explained pagination, return format, or error states. It falls short of being fully informative for an AI agent.

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 input schema has 3 parameters (project_id, limit, offset) with 0% documentation coverage. The description adds minimal meaning beyond 'list files in a project', indirectly suggesting project_id identifies the project, but fails to explain limit, offset, or acceptable values. This leaves the agent with insufficient detail to select parameters correctly.

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 it lists all files in a Redmine project, specifying the verb 'list' and the resource 'files'. It distinguishes from sibling tools like redmine_list_issues by focusing on files, and mentions the return metadata (name, size, type, author, download URL).

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 implies usage for retrieving project files but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. No exclusions or context for selection are given.

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

redmine_list_issuesA

[Stable] List Redmine issues with optional filters. Returns paginated results with issue ID, subject, status, priority, and assignee. Use this to browse or search for issues before fetching details.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNo
limitNo
offsetNo
includeNo
status_idNo
project_idNo
tracker_idNo
priority_idNo
assigned_to_idNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions paginated results, which is key behavior. Does not state read-only nature, rate limits, or parameter defaults beyond schema.

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?

Single efficient sentence with front-loaded stability tag. No waste, but could benefit from brief usage example or parameter grouping.

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

Completeness2/5

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

With 9 parameters, no output schema, and no parameter descriptions, the description is too minimal. Lacks explanation of pagination, filters, include, and sorting patterns.

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?

Schema description coverage is 0%. Description only mentions returned fields, not parameters. Does not explain filter parameters, pagination, or sorting syntax, leaving ambiguity for 9 parameters.

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?

Description clearly states 'List Redmine issues with optional filters' and mentions returned fields (ID, subject, status, priority, assignee). Distinguishes from sibling tools like redmine_get_issue and other list tools.

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?

Explicitly says 'Use this to browse or search for issues before fetching details', indicating when to use. Does not mention when not to use or alternatives, but context is clear.

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

redmine_list_newsA

[Alpha] List Redmine news articles. Returns paginated results with title, summary, author, project, and creation date. Omit project_id to fetch news across all projects, or provide it to scope results to a single project.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
project_idNo

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions pagination ('Returns paginated results') but does not disclose other behavioral traits like rate limits, authentication requirements, or potential side effects. It is adequate but not thorough.

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: one sets purpose and return fields, the other explains the key parameter behavior. No filler or repetition. Every sentence earns its place.

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 simple list tool with 3 optional parameters and no output schema, the description covers the core purpose, return fields, and key parameter usage. It does not specify return format or pagination details, but the schema provides limit/offset bounds. Adequately complete.

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 0%, so the description must compensate. It explains the project_id parameter's effect ('scope results to a single project') and implies limit/offset through 'paginated results'. This adds some value beyond the schema, but individual parameter details are sparse.

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 verb 'List' and the resource 'Redmine news articles', and distinguishes from sibling tools like redmine_list_issues or redmine_list_files by specifying the content (news articles).

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?

Provides explicit guidance on when to use the project_id parameter ('Omit project_id to fetch news across all projects, or provide it to scope results to a single project'). Does not mention alternatives or when not to use this tool, but the context of sibling tools makes it sufficiently clear.

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

redmine_list_projectsC

[Stable] List all Redmine projects the API user has access to, with pagination support.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
includeNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full transparency burden. It mentions pagination support but does not disclose that the tool is read-only, required authentication, rate limits, or what happens with large datasets. The behavioral insights are minimal.

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

Conciseness3/5

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

The description is a single concise sentence with a stability marker at the start. It is appropriately front-loaded but lacks sufficient detail for a 3-parameter tool. Conciseness is good but at the expense of completeness.

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

Completeness2/5

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

The tool has 3 parameters with no output schema. The description does not explain return value structure, possible responses, or how pagination works. Given the absence of annotations and schema descriptions, the description is incomplete for effective agent use.

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 input schema has 0% description coverage, so the description must compensate. It hints at pagination (related to limit and offset) but provides no explanation for the 'include' parameter, which is non-trivial. The description adds minimal value beyond the schema's structural information.

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 clearly states the tool lists projects with pagination. The verb 'list' and resource 'projects' are unambiguous. However, it does not explicitly differentiate from sibling tools like redmine_get_project (single project) or redmine_create_project, but the name and context partially achieve this.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as redmine_get_project or redmine_search. The description lacks explicit usage context, prerequisites, or exclusions.

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

redmine_list_rolesB

[Alpha] List all roles in the Redmine instance. Returns role IDs and names for role assignment.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It only states that it returns role IDs and names, but omits details on pagination, performance, or the safe read-only nature. It does not warn about any potential issues.

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 description is brief (two sentences) and front-loaded with the tool's purpose. The '[Alpha]' prefix adds useful context. However, the second sentence is somewhat redundant and could be more informative.

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

Completeness3/5

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

For a simple list tool with optional pagination parameters, the description covers the basic functionality and return value (role IDs and names). However, it lacks details on response structure, pagination behavior, or any caveats, leaving gaps for an agent to infer.

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

Parameters1/5

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

With 0% schema description coverage, the description fails to explain 'limit' and 'offset' parameters. The input schema itself provides defaults and constraints, but the description adds no value for parameter understanding.

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 tool lists all roles in the Redmine instance, with a specific verb ('List') and resource ('roles'). It distinguishes from the sibling tool 'redmine_get_role' which retrieves a single role.

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 implies usage for listing all roles but does not explicitly compare with alternatives like 'redmine_get_role' or provide guidance on when not to use this tool.

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

redmine_list_time_entriesC

[Stable] List Redmine time entries with optional filters. Returns hours logged, activity, issue, and project for each entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
limitNo
offsetNo
user_idNo
issue_idNo
project_idNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description must cover behavioral traits. It only states the tool lists entries and returns fields, but omits pagination, ordering, read-only nature, or any constraints. Minimal transparency.

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

Conciseness3/5

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

The description is a single concise sentence, but it sacrifices completeness. Every word is earned, yet additional detail is needed for effective use.

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

Completeness2/5

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

Given 7 parameters, no output schema, and no annotations, the description is incomplete. It does not cover pagination, filtering behavior, or how to use parameters, leaving significant gaps for an agent.

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?

Schema description coverage is 0%, requiring the description to compensate. It mentions 'optional filters' but does not explain any of the 7 parameters. Returns data examples do not clarify parameter usage. Fails to add meaning 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 clearly states the tool lists Redmine time entries and specifies the return fields (hours logged, activity, issue, project). It distinguishes from other time entry tools like redmine_get_time_entry (single) and redmine_log_time (create), but does not explicitly differentiate from other list tools.

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 implies usage for listing time entries with optional filters, but provides no guidance on when not to use or alternatives among siblings. Context is implied but no exclusions.

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

redmine_list_usersA

[Stable] List Redmine users. Requires admin privileges. Returns user IDs, login names, and email addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNo
offsetNo
statusNo
group_idNo

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It notes 'Stable' and admin requirement but omits details like error handling for non-admin calls, pagination behavior (though limit/offset params are in schema), or any side effects. Adequate but could be more thorough.

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 fluff. It starts with a stability marker '[Stable]' and immediately conveys purpose, prerequisite, and output. Every word adds value.

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

Completeness3/5

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

Given no output schema, the description does cover return fields. However, with 5 parameters and 0% schema coverage, the lack of parameter explanations leaves a gap. The tool is simple, so the description is adequate but not complete for all users.

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 0%, so the description should compensate for parameter meanings. It doesn't explain the 5 parameters (name, limit, offset, status, group_id), but their names are relatively intuitive. The description adds context about return fields but not parameter details. Baseline 3 is appropriate.

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 verb 'List' and the resource 'Redmine users', specifies it requires admin privileges, and details the returned fields (IDs, login names, email addresses). This distinguishes it from sibling tools like redmine_get_user.

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 explicitly mentions the prerequisite of admin privileges, guiding usage. However, it does not compare with alternatives (e.g., when to use list vs. single user), though the context of returning multiple users implies its use case.

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

redmine_list_wiki_pagesC

[Alpha] List all wiki pages in a Redmine project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'list' without disclosing read-only nature, pagination behavior, rate limits, or any side effects. The [Alpha] tag hints instability but is not elaborated.

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

Conciseness3/5

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

The description is very concise (one sentence) but lacks structure such as parameter explanations, return value description, or usage examples. It is adequately short but at the expense of completeness.

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

Completeness2/5

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

Given no output schema and minimal parameter description, the description is incomplete for an AI agent. It omits key context like what data is returned, pagination handling, and error conditions. The tool's simplicity does not excuse the lack of detail.

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

Parameters1/5

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

The single parameter project_id has no schema description (0% coverage), and the description does not explain its format, type, or constraints. The agent gains no additional meaning beyond what the schema provides.

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 clearly states it lists all wiki pages in a Redmine project, distinguishing it from siblings like redmine_get_wiki_page (single page) and redmine_delete_wiki_page. However, it lacks details on scope, such as whether it returns only top-level pages or nested ones.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like redmine_list_issues or redmine_search. The description does not mention prerequisites or context for use.

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

redmine_log_timeB

[Stable] Log time against a Redmine issue or project. Either issue_id or project_id is required. Returns the created time entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursYes
commentsNo
issue_idNo
spent_onNo
project_idNo
activity_idYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits, but it only states that the tool returns the created time entry. It does not mention side effects, failure modes, idempotency, authentication requirements, or rate limits. The behavior beyond creation is opaque.

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 extremely concise: two sentences that front-load the core purpose and a critical constraint. No extraneous information; every sentence earns its place.

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

Completeness2/5

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

Given the tool's complexity (6 parameters, 2 required, no output schema, no annotations), the description is incomplete. It misses parameter meanings, allowed values (e.g., activity_id), behavior when both issue_id and project_id are provided, and the exact response format. A more detailed description would be needed for proper use without external knowledge.

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 coverage is 0%, so the description must compensate. It adds meaning for issue_id and project_id by clarifying that one is required, which is not enforced by the schema (both are optional). However, it does not explain other parameters like hours, comments, spent_on, or activity_id, leaving their semantics unclear.

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 tool's purpose: 'Log time against a Redmine issue or project.' The verb 'log time' is specific and distinguishes this tool from siblings like redmine_get_time_entry (read) or redmine_update_time_entry (update). It also mentions returning the created entry, reinforcing that this is a create operation.

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

Usage Guidelines2/5

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

The description provides one constraint: 'Either issue_id or project_id is required.' However, it offers no guidance on when to use this tool versus related tools like redmine_update_time_entry or redmine_list_time_entries. No prerequisites, exclusions, or alternative selection criteria are mentioned.

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

redmine_update_issueA

[Stable] Update an existing Redmine issue. Only provided fields are changed. Use 'notes' to add a journal comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
notesNo
subjectNo
uploadsNo
due_dateNo
status_idNo
done_ratioNo
start_dateNo
tracker_idNo
descriptionNo
priority_idNo
custom_fieldsNo
assigned_to_idNo
estimated_hoursNo
parent_issue_idNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the partial-update behavior and the purpose of notes, which is valuable. However, it omits other behavioral traits such as what the response contains, whether any permission is required, or how errors are surfaced. For a mutation tool, this is an acceptable but not comprehensive disclosure.

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?

Two sentences, no fluff, and the core purpose ('Update an existing Redmine issue') is front-loaded. Every phrase adds value: the stability marker, the partial-update note, and the notes hint. This is a model of concise, structured writing.

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

Completeness2/5

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

Given 15 parameters, no output schema, and no annotations, the description is too thin. It doesn't mention what the tool returns, how to obtain valid IDs for fields like status_id or custom_fields, or any prerequisites (e.g., authentication). The description covers only the generic update semantics, leaving substantial gaps for an agent to safely and correctly invoke the tool.

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, so the description must compensate for the 15 parameters. It only explains 'notes' and gives a general 'only provided fields are changed' hint. Many parameters like done_ratio, tracker_id, and estimated_hours have unclear semantics without additional context. The description fails to explain these, leaving agents to guess from names, which is insufficient for such a complex tool.

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 uses a specific verb ('Update') and clear resource ('existing Redmine issue'), which immediately distinguishes it from create/delete/get operations. The phrase 'Only provided fields are changed' further clarifies its scope. It is unambiguous and differentiates from siblings like redmine_create_issue and redmine_delete_issue.

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 provides a key usage guideline: 'Only provided fields are changed' signals a partial-update semantics, which is critical for agents to avoid sending full objects. It also gives a specific tip for 'notes' (add a journal comment). However, it does not explicitly mention when to use this tool versus alternatives (e.g., create_issue for new issues, get_issue for reading), leaving some inference to the agent.

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

redmine_update_projectB

[Stable] Update an existing Redmine project. Only provided fields are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
is_publicNo
descriptionNo
inherit_membersNo

TDQS

B3.3/5.0
Behavior3/5

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

Discloses partial update behavior ('Only provided fields are changed'), which is positive. However, without annotations, it fails to mention authorization needs, side effects, or whether the update is synchronous. Minimal for a mutation tool.

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?

Extremely concise single sentence (10 words) that front-loads purpose and key behavior. No wasted words.

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

Completeness2/5

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

Given 5 parameters, no output schema, and no annotations, the description is too sparse. Lacks info on return value, error conditions, required permissions, or effect on related entities. Incomplete for a productive mutation tool.

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

Parameters1/5

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

Schema has 0% description coverage, and the description provides no individual parameter details. For 5 parameters, the description adds no meaning beyond property names and types, failing to compensate for missing schema descriptions.

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?

Clearly states 'Update an existing Redmine project', specifying verb and resource. Distinguishes from sibling tools like redmine_create_project, redmine_update_issue, etc. Additional phrase 'Only provided fields are changed' clarifies partial update semantics.

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?

Gives no explicit guidance on when to use this vs alternatives. While the purpose implies its use for updating projects, it doesn't contrast with other update tools or specify prerequisites (e.g., project existence, permissions). Adequate but not informative.

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

redmine_update_time_entryB

[Stable] Update an existing Redmine time entry. Only provided fields are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
hoursNo
commentsNo
spent_onNo
activity_idNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It adds 'Only provided fields are changed' (partial update), but omits authentication needs, success/failure indicators, return format, and other behavioral traits.

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

Conciseness3/5

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

The description is short but omits essential details. It is front-loaded with the stable tag and core function, but is too terse given the tool's complexity.

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

Completeness2/5

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

With 5 parameters, no annotations, and no output schema, the description is insufficient. It only covers the partial update aspect, leaving gaps in understanding prerequisites, return values, and error conditions.

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?

Schema description coverage is 0%, yet the description does not explain any parameter meanings. The baseline for low coverage requires compensation, which is absent.

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 tool name and description clearly state 'Update an existing Redmine time entry' with a specific verb and resource. It distinguishes from sibling tools like redmine_log_time (create) and redmine_delete_time_entry.

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 implies usage for existing entries via 'Update an existing' and notes partial update behavior, but lacks explicit when-to-use guidance or comparison with alternatives.

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

redmine_update_wiki_pageA

[Alpha] Create or update a Redmine wiki page. If the page does not exist, it will be created. IMPORTANT: Always fetch the page first with redmine_get_wiki_page and pass the current 'version' number to avoid silently overwriting concurrent edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
titleYes
versionNo
commentsNo
project_idYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It reveals the write behavior and concurrency risk. Missing details on error handling (e.g., invalid version) and what the tool returns (success or updated page).

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?

Two concise sentences plus an important note. Information is front-loaded and every sentence adds value with no redundancy.

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

Completeness3/5

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

Given the lack of output schema and annotations, the description covers the core behavior and concurrency concern. However, it omits return value details, error scenarios, and format for project_id, which are important for a complete understanding.

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?

Schema description coverage is 0%, but the description only adds meaning for the 'version' parameter. It does not explain 'project_id', 'title', 'text', or 'comments' beyond their names, leaving agents to infer their purposes.

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 tool creates or updates a Redmine wiki page, specifying both create and update behaviors. It distinguishes from sibling tools like redmine_get_wiki_page (explicitly mentioned) and redmine_delete_wiki_page.

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?

Provides explicit guidance to fetch the page first with redmine_get_wiki_page and pass the version to avoid overwrites. Lacks explicit when-not-to-use or alternatives for other wiki operations, but the caution is strong.

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

redmine_upload_attachmentA

[Alpha] Upload a local file to Redmine and get an attachment token. Reads the file at the given absolute path and posts its content to Redmine's attachment API. Pass the returned token in the 'uploads' array of redmine_create_issue or redmine_update_issue to attach the file to an issue, or to redmine_upload_file to add it to a project's Files module. If the server is configured with REDMINE_UPLOAD_DIR, only files inside that directory can be uploaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNo
file_pathYes
content_typeNo

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains that the tool reads a local file, posts it to Redmine's attachment API, returns a token, and is constrained by server configuration. It does not cover failure modes or permissions, but for a simple upload it provides substantial transparency.

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 description is front-loaded with the core purpose and then efficiently explains token usage and constraints. It is four sentences long and every sentence contributes meaningful information, though it could be tightened slightly.

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 simple upload tool with no annotations and no output schema, the description covers the essential workflow, server restriction, and how to consume the returned token. It lacks details about output format, error conditions, and authentication, but overall it is adequate for invoking the tool correctly.

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?

Schema description coverage is 0%, so the description must compensate. It clarifies that file_path should be an absolute path, but it does not explain the semantics of the optional filename or content_type parameters. These are left entirely to inference from their names, which is insufficient given the total absence of schema descriptions.

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?

States a specific verb and resource: 'Upload a local file to Redmine and get an attachment token.' It clearly describes the operation and outcome, and differentiates itself from the sibling redmine_upload_file by explaining the token's role in issue creation versus project Files module addition.

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?

Provides clear context on how to use the returned token, including passing it to redmine_create_issue, redmine_update_issue, or redmine_upload_file. It also gives a server-configuration constraint (REDMINE_UPLOAD_DIR), but does not explicitly state when not to use this tool or mention alternative attachment mechanisms.

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

redmine_upload_fileA

[Alpha] Add an already-uploaded file to a Redmine project's Files module. First call redmine_upload_attachment to get an upload token, then pass that token here to associate the file with the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
filenameNo
project_idYes
version_idNo
descriptionNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does state the core effect—associating an already-uploaded file with a project—but does not disclose whether the token is consumed, whether the operation is idempotent, what errors may occur, or any permission requirements. For a mutation tool, this is a notable gap.

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 concise sentences that front-load the purpose and then provide the critical prerequisite workflow. Every sentence earns its place, with no filler or redundancy.

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

Completeness2/5

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

While the tool itself is relatively simple, the absence of an output schema, annotations, and any parameter descriptions means the description must carry more weight. It explains the prerequisite flow but omits meaningful details about optional parameters, return values, or failure modes, leaving the agent under-informed for correct invocation.

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?

Schema description coverage is 0%, so the description must compensate for explaining the 5 parameters, but it only clarifies the token's role and implicitly references project_id. The optional filename, version_id, and description parameters are left entirely unexplained, which is insufficient given the total lack of schema descriptions.

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 states a specific verb ('Add'), a specific resource ('already-uploaded file' to 'Redmine project's Files module'), and distinguishes this from redmine_upload_attachment by explaining the two-step token workflow. This uniquely identifies the tool's role.

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 explicitly instructs the agent to call redmine_upload_attachment first to obtain a token, then pass that token to this tool. This is clear operational guidance, though it could more explicitly state when not to use this tool or mention alternatives like redmine_list_files.

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

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but confusion could arise between 'redmine_list_issues' and 'redmine_search' for finding issues. The relation tools are clearly distinguished from issue tools by their descriptions.

Naming Consistency3/5

There are two naming patterns: prefixed 'redmine_' and unprefixed for issue relation tools. While each pattern is internally consistent, the lack of a uniform prefix for all tools is inconsistent and may confuse agents.

Tool Count4/5

32 tools is slightly high but reasonable for a comprehensive Redmine API covering many entity types (issues, projects, wiki, time entries, etc.). Most tools serve distinct purposes without excessive redundancy.

Completeness5/5

The toolset provides thorough CRUD coverage for key resources (issues, projects, wiki, time entries, users, roles) plus search, news, files, and issue relations. No major gaps for typical Redmine workflows.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Redmine instances to manage issues, projects, and users. It provides comprehensive tools for issue tracking, project oversight, and user management through the Redmine REST API.
    25
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Redmine projects, issues, users, time entries, memberships, groups, versions, custom fields, and queries via 53 API endpoints, with OAuth authentication.
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for Redmine project management, enabling tools for managing projects, issues, users, time entries, groups, memberships, versions, wiki, news, attachments, search, and Agile sprints via the Redmine REST API.
    89
    8
    1
    MIT

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/jesusr00/mcp-server-redmine'

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