Skip to main content
Glama
igorolv

redmine-mcp-server

addIssueNote

addIssueNote

Append a journal note to an existing Redmine issue without changing its fields; retrying can add a duplicate note.

Instructions

Append a new journal note to one existing Redmine issue without changing its fields. This is non-idempotent: retrying can add a duplicate note, and existing journal entries cannot be edited.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
issueIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
issueIdYes
journalIdNo
attachmentIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare idempotentHint=false, but the description adds the operative consequence — retrying can create a duplicate note — plus the immutable nature of existing journal entries. That is genuinely useful mutation context beyond the structured hints, though permission/auth behavior for this open-world write is not addressed.

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, zero filler, with the core action and its non-idempotency caveat front-loaded. Every clause 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?

Return values need not be explained since an output schema exists, and the key risk (duplicate notes on retry) is disclosed. Minor gaps remain around auth/permissions given openWorldHint=true and the lack of any issueId format guidance for a write operation.

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 carry parameter meaning. It does implicitly map 'journal note' to notes and 'one existing issue' to issueId, but never states the identifier is an integer issueId or what content format notes accepts, leaving the mapping inferential for a mutating call.

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 ('Append a new journal note'), the exact resource scope ('one existing Redmine issue'), and carves out what it does not do ('without changing its fields'), which separates it from updateIssue and getIssueJournal in the sibling list.

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?

Gives clear context ('one existing issue', 'without changing its fields'), implicitly routing field edits to updateIssue, and warns against retrying. It stops short of naming an alternative tool or stating prerequisites explicitly, so it is clear but not fully prescriptive.

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