redmine-mcp
This server gives read-only access to a Redmine instance (acting as one dedicated bot user), letting you browse and search projects, issues, time, wiki, attachments and reference data — no write tools are registered.
Identify the acting user:
get_current_userreturns the bot's Redmine user plus its memberships.Browse projects:
list_projects(paged) andget_projectfor trackers, issue categories, enabled modules and time-entry activities.Query issues:
search_issueswith filters (status, project, tracker, assignee, subject, parent, version, date ranges, custom-field filters, saved queries, sorting) andget_issuefor full detail including journals, attachments, relations, subtasks, watchers, changesets and allowed statuses.Inspect time tracking:
list_time_entriesfiltered by project, issue, user and date range.Check releases/milestones:
list_versionsper project, including shared versions.See who is involved:
list_project_memberswith roles.Read the wiki:
list_wiki_pagesfor a project index andget_wiki_pagefor content, optionally an older version.Full-text search:
searchacross issues, news, documents, changesets, wiki pages, messages and projects (optionally scoped to a project, titles-only, open-issues-only).Look up IDs for filtering:
list_reference_datafor issue statuses, trackers, priorities, time-entry activities, document categories, custom fields, saved queries, roles and groups.Read attachments:
get_attachmentreturns metadata and, for text files, content with a size cap.Reach anything else read-only:
redmine_getandredmine_listwork over anyredminelibresource (e.g. news, files, issue categories, deal statuses) with filters, paging and generic params.
Provides read-only by default (optionally write-enabled) tools for interacting with Redmine via its REST API. Covers projects, issues, journals, time entries, versions, wiki pages, full-text search, reference data, attachments, and supported Redmine plugins for helpdesk, agile, CRM, and checklists. Write tools include creating/updating issues, logging time, managing relations, saving wiki pages, creating helpdesk tickets without customer email, managing sprints, adding CRM notes, and editing checklist items.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@redmine-mcp show my open issues assigned to me in Redmine"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
redmine – Claude-Code-Plugin mit Redmine-MCP-Server
MCP-Server für Redmine auf Basis von python-redmine-expert
(redminelib). Er arbeitet als ein dedizierter Redmine-User über dessen API-Key und läuft
standardmäßig read-only.
Abgedeckt: Standard-Redmine (Projekte, Issues, Journals, Zeiterfassung, Versionen, Wiki, Volltextsuche,
Stammdaten), redmine_expert_helpdesk, redmine_expert_agile und die RedmineUP-Plugins (CRM, Helpdesk,
Agile, Checklists). Für alles ohne eigenes Tool gibt es redmine_get / redmine_list (nur lesend) über alle
Ressourcen der Library.
Read-only-Modus
Drei unabhängige Ebenen:
Tools: Mit
read_only(Default) werden Schreib-Tools gar nicht registriert, Claude sieht sie nicht.HTTP: Der Redmine-Client nutzt dann
ReadOnlyEngine, die jeden Nicht-GET-Request blockiert, bevor er gesendet wird – auch aus Code-Pfaden, die kein Tool sind.Redmine-Rechte: Der Bot-User darf nur, was seine Rolle erlaubt (siehe unten).
Auch im Schreibmodus gibt es bewusst keine Lösch-Tools und nichts, was Kunden mailt. Abgelehnt werden die Felder
uploads (redminelib würde lokale Dateien lesen und hochladen) und helpdesk_init (würde den Kunden anmailen).
api_key und password werden aus allen Ergebnissen entfernt.
Related MCP server: Redmine Enhanced MCP Server
Redmine vorbereiten
Administration → Einstellungen → API: „REST-Schnittstelle aktivieren“.
Neuen User anlegen, z. B.
claude-bot(kein Administrator; Login per Passwort kann gesperrt bleiben).Eigene Rolle anlegen, z. B. „Claude (lesend)“: Issues/Zeit/Wiki/Helpdesk ansehen. Für den Schreibmodus eine zweite Rolle mit den nötigen Bearbeiten-Rechten.
Den User nur in den Projekten als Mitglied mit dieser Rolle eintragen, auf die Claude zugreifen soll.
Als
claude-botanmelden (oder als Admin über „Benutzer → API-Schlüssel“) und den API-Schlüssel kopieren.
Hinweis: Änderungen erscheinen in Redmine als Aktionen von claude-bot, nicht des jeweiligen Menschen.
Installation als Plugin
Keine Voraussetzungen: weder Python noch uv. Beim ersten Start lädt bin/redmine-mcp (Windows:
bin/redmine-mcp.cmd) das fertige Binary für die eigene Plattform aus dem GitHub-Release, prüft es gegen die
SHA256-Summe in bin/SHA256SUMS und legt es im Plugin-Datenverzeichnis ab. Danach startet es sofort.
Unterstützt: Linux x64/arm64, macOS Apple Silicon/Intel, Windows x64.
/plugin marketplace add expertZentrale/claude-redmine-mcp
/plugin install redmine@expert-redmineBeim Aktivieren fragt Claude Code die Optionen ab (der API-Key wird als sensibel im Keychain gespeichert):
Option | Env-Variable | Default | |
|
| – | z. B. |
|
| – | API-Key des Bot-Users |
|
|
|
|
|
|
|
|
|
|
| |
– |
|
| Sekunden pro Request |
Lokal testen ohne Installation: claude --plugin-dir /pfad/zu/claude-redmine-mcp, dann /mcp.
Ohne Plugin (nur MCP-Server)
Mit uv direkt aus dem Repo, ohne Binary:
claude mcp add redmine \
-e REDMINE_URL=https://redmine.example.com -e REDMINE_API_KEY=... -e REDMINE_TOOLSETS=all \
-- uvx --from git+https://github.com/expertZentrale/claude-redmine-mcp redmine-mcpTools
Toolset | Lesen | Schreiben (nur |
|
|
|
|
|
|
|
|
|
|
|
|
immer |
| – |
Listen sind gepaged (Default 25, max. 100, next_offset im Ergebnis); lange Texte werden in Listen gekürzt.
Welche Informationen aus Redmine und den Plugins genutzt werden, über welche Endpunkte, mit welchen Filtern und welchen Rechten: docs/redmine-data.md.
Entwicklung
uv venv && uv pip install -e '.[dev]' -e ../python-redmine # lokaler Library-Checkout statt Git-Tag
uv run pytest
uv run ruff check . && uv run ruff format --check .
npx @modelcontextprotocol/inspector uv run redmine-mcp # mit REDMINE_* im EnvironmentLokales Binary bauen und über den Launcher starten (REDMINE_MCP_BINARY überspringt den Download):
pyinstaller --noconfirm --onedir --name redmine-mcp packaging/entry.py
python packaging/smoke_test.py dist/redmine-mcp/redmine-mcp
REDMINE_MCP_BINARY=$PWD/dist/redmine-mcp/redmine-mcp claude --plugin-dir .Release
Actions → Release → Run workflow mit der neuen Version (z. B. 0.2.0). Der Workflow baut alle Plattformen,
testet jedes Binary per MCP-Handshake, veröffentlicht das GitHub-Release und schreibt erst danach Version und
Prüfsummen (bin/version.txt, bin/SHA256SUMS, plugin.json) nach main. Nutzer erhalten die neue Version
mit /plugin marketplace update expert-redmine.
Available Tools
17 toolsget_attachmentBRead-onlyIdempotent
Metadata of an attachment and, for text files, optionally its content.
Inputs: attachment_id (required), max_chars, include_content.
get_current_userARead-onlyIdempotent
The Redmine user this server acts as, with its memberships.
Inputs: no named parameters.
get_groupCRead-onlyIdempotent
A group with its users and project memberships (admin only).
Inputs: group_id (required).
get_issueCRead-onlyIdempotent
A single issue with its history (journals), attachments, relations and subtasks.
Inputs: issue_id (required), include.
get_projectCRead-onlyIdempotent
A project with its trackers, issue categories, enabled modules and time entry activities.
Inputs: project (required).
get_wiki_pageCRead-onlyIdempotent
A wiki page with its text, optionally an older version.
Inputs: title (required), project (required), version.
list_project_membersCRead-onlyIdempotent
Members of a project with their roles.
Inputs: project (required), limit, offset.
list_projectsBRead-onlyIdempotent
Projects visible to the server's Redmine user.
Inputs: limit, offset.
list_reference_dataARead-onlyIdempotent
Ids and names needed for filters and changes: issue statuses, trackers, priorities, time entry activities, document categories, custom fields (admin only), saved queries, roles, groups (admin only).
Inputs: kind (required).
list_time_entriesDRead-onlyIdempotent
Spent time entries.
Inputs: user, limit, offset, project, +3 more.
list_usersARead-onlyIdempotent
Active users with their ids, needed for memberships and groups (admin only).
Inputs: name, limit, offset, group_id.
list_versionsCRead-onlyIdempotent
Versions (milestones/releases) of a project, including shared ones.
Inputs: project (required), limit, offset.
list_wiki_pagesCRead-onlyIdempotent
Index of the wiki pages of a project.
Inputs: project (required), limit, offset.
redmine_getCRead-onlyIdempotent
Any single Redmine resource by id (read-only).
Inputs: resource (required), resource_id (required), params.
redmine_listCRead-onlyIdempotent
Any Redmine resource list, filtered or all (read-only). Unknown names return the list of resources.
Inputs: resource (required), limit, offset, filters.
searchCRead-onlyIdempotent
Redmine full text search across issues, wiki pages, news, documents, changesets and forum messages.
Inputs: query (required), limit, types, offset, +3 more.
search_issuesARead-onlyIdempotent
Issues matching the filters (long descriptions are shortened, use get_issue for the full issue).
Inputs: sort, limit, offset, status, +9 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Specific getters and listers overlap with the generic redmine_get and redmine_list tools, which can retrieve any resource by id or list any resource. An agent may be unsure whether to use list_projects or redmine_list, or get_issue or redmine_get. Search vs search_issues is distinguishable, but the catch-all tools create real boundary ambiguity.
Most names follow a snake_case verb_noun pattern such as get_issue, list_projects, and search_issues. However, redmine_get and redmine_list introduce an inconsistent server prefix, and bare search breaks the verb_noun pattern. The set is still readable overall.
17 tools is just over the typical 3-15 range and feels heavy for a mostly read-only surface. The generic redmine_get and redmine_list tools could absorb several specific get/list tools, so not every tool clearly earns its place.
Read coverage is broad across issues, wiki pages, projects, users, groups, attachments, and generic resources. However, there are no write operations: no create/update issue, wiki edit, time logging, or attachment upload. For a Redmine server this is a significant lifecycle gap that will block common agent workflows.
Maintenance
Related MCP Connectors
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Related MCP Servers
- AlicenseAqualityBmaintenanceConnects Claude Desktop to Redmine for seamless project and issue management, including searching, creating, updating, and tracking tasks using Redmine's API.51,506 PyPI257Mozilla Public 2.0
- AlicenseAqualityDmaintenanceConnect Claude to your Redmine instance to search, browse, create and update issues, manage time entries, and upload/download attachments.51Mozilla Public 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create, update, and query Redmine issues and projects directly from conversations.294 npm1MIT
- AlicenseAqualityDmaintenanceEnables natural language interaction with Redmine via Claude Code or other MCP clients, supporting project, issue, and wiki management.111MIT