Skip to main content
Glama
Avicennasis

redmine-mcp-workflows

by Avicennasis

redmine_activity_feed

Merges recent Redmine project activity across issues, news, wiki, forums, time entries, and files into one timestamp-sorted feed when the native activity endpoint is not API-usable.

Instructions

Recent project activity across issues, news, wiki, forums, time and files.

Redmine's /projects/:id/activity endpoint is not API-usable (no JSON; the Atom feed requires a web session), so this tool synthesizes the feed from the per-resource REST endpoints and merges the events by timestamp.

Args: project: numeric id or identifier slug. from_date / to_date: optional YYYY-MM-DD bounds (both inclusive). activity_types: optional subset of issues, news, wiki, forums, time_entries, files. Empty = all. Accepts a list or a comma-separated string. limit: cap on merged events returned (1-500). max_per_source: cap on rows fetched from each source before merging.

Returns {project, project_id, from, to, activity_types, count, truncated, events, sources}. Each event is {type, timestamp, title, author?, description?, url?, ...}. sources records the per-source row count, or an error when that source was unavailable — one failed source never fails the feed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
projectYes
to_dateNo
from_dateNo
activity_typesNo
max_per_sourceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A4.5/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 and largely succeeds: it discloses that the feed is synthesized across REST endpoints, merged by timestamp, and that a single failed source never fails the feed (errors surface per-source in 'sources'). It does not mention auth requirements, rate limits, or whether 'truncated' implies pagination continuation.

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?

Front-loads the one-line purpose and the design rationale before diving into Args and Returns. It is on the longer side, but given 0% schema coverage and a complex aggregation behavior, nearly every sentence earns its place.

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

Completeness5/5

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

Complete for a complex aggregation tool: it explains what is returned (project, bounds, count, truncated, events, sources), documents the event shape, and covers the partial-failure edge case. An output schema also exists, so return-value explanation is a bonus rather than a gap.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does for every parameter: project (id or slug), from_date/to_date inclusive YYYY-MM-DD, activity_types subset with empty=all and list-or-CSV acceptance, limit 1-500, and max_per_source as the pre-merge per-source row cap. This adds real meaning far beyond the bare 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?

States a specific verb+resource: it 'synthesizes the feed' from per-resource REST endpoints and 'merges the events by timestamp' for recent project activity across issues, news, wiki, forums, time and files. This is clearly distinguishable from the per-resource siblings like redmine_list_news or redmine_list_time_entries because it produces a merged cross-resource timeline.

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?

Explains a strong usage rationale: Redmine's native /projects/:id/activity endpoint is not API-usable, so this tool exists to provide that aggregate view. However, it does not explicitly contrast when to prefer this merged feed over the individual per-resource list tools, leaving that routing decision to inference.

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

Deploy Server

Other Tools