Skip to main content
Glama
Avicennasis

redmine-mcp-workflows

by Avicennasis

redmine_upload_attachment

Upload a file from allowed directories and attach it to a Redmine issue or return an upload token.

Instructions

Upload a file (path-restricted) and optionally attach it to an issue.

Args: file_path: absolute or ~-relative path to a regular file. Must resolve under one of REDMINE_MCP_ALLOWED_DIRECTORIES (default /tmp); symlinks are resolved before checking. issue_id: if non-zero, attach the upload to this issue. Otherwise return the bare upload token for later attachment. description: optional human-readable description for the attachment (only meaningful when attaching).

Honors REDMINE_MCP_READ_ONLY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_idNo
file_pathYes
descriptionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

No annotations provided, so description carries full burden. It details path restriction (must be under allowed directories), symlink resolution, honoring read-only flag, and dual behavior based on issue_id (attach vs return token). No contradictions.

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?

Description is well-structured with a clear purpose sentence followed by bullet-pointed args. Front-loaded and appropriately sized. Every sentence adds value.

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

Completeness5/5

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

Given that an output schema exists, return values are likely documented there. Description covers security (read-only, path restriction), dual behavior, and parameter usage. Complete for this tool's complexity.

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

Parameters5/5

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

Schema description coverage is 0%, requiring description to add meaning. It does: file_path explains path restriction, issue_id explains attachment vs token behavior, description explains it's only meaningful when attaching. Adds significant context beyond 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?

Description explicitly states 'Upload a file (path-restricted) and optionally attach it to an issue.' The verb 'upload' and resource 'file' are specific. It distinguishes from sibling tools like 'redmine_upload_project_file' which uploads to project files, and 'redmine_download_attachment' for downloading.

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?

Description explains when to use: to upload a file and optionally attach to an issue. It mentions honoring REDMINE_MCP_READ_ONLY, implying a write operation that can be prevented. No explicit 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.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

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

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