Redmine MCP Server

A local MCP server for accessing a corporate Redmine instance. It exposes a limited set of write operations for issues, time entries, and wiki alongside the read tools; set…

Local serverstdio

What is the Redmine MCP Server?

redmine-mcp-server is an MCP project maintained in the igorolv/redmine-mcp-server repository. The maintainer describes its purpose as “A local MCP server for accessing a corporate Redmine instance. It exposes a limited set of write operations for issues, time entries, and wiki alongside…”. Read the project documentation for the complete scope.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
getCurrentUserCurrent user: ID, login, groups, projects. Useful for "my issues" filtering
listProjectsList of all accessible projects
getProjectProject details: trackers, modules, description
listProjectMembersProject members with roles
listVersionsProject versions (milestones)
listIssuesIssue list with filters: project, status, tracker, assignee, priority, version, saved query, custom fields (customFieldFilters in cf_ =value format), sorting
searchIssuesFull-text issue search with detailed results
getIssueIssue details: description, status, assignee, dates, notes, relations, custom fields, attachments, linked revisions (changesets). Parameters: issueId, focus…
getIssueJournalA single complete issue journal note/event without response compression. Parameters: issueId, journalId
getMyIssuesIssues of the current user. Parameters: projectId, statusId, sort, limit, offset
getIssueTreeParent chain and subtasks. root and ancestors keep the Issue JSON shape but contain compact context; call getIssue for full details or relations. Parameters…
getIssueHistoryCreation and every journal event, with status intervals. Long text is shortened; journalId identifies the full entry for getIssueJournal. Follow nextOffset…
createIssueCreates an issue. Supports core Redmine fields and custom fields via customFieldsJson
updateIssuePartially updates the specified fields of an existing issue
addIssueNoteAdds a note to the issue journal
attachFileToIssueUploads a file from any readable local path and attaches it to the issue
createTimeEntryCreates a time entry for the user from REDMINE_API_KEY; accepts exactly one of issueId/projectId, hours, date, activity, comment, and custom fields
createWikiPageCreates a wiki page and rejects the request if the page already exists
updateWikiPageFully replaces the wiki page text, requiring the optimistic-lock version returned by getWikiPage
searchAllGlobal Redmine search: issues, wiki, news, documents, commits, etc. Parameters: searchQuery, projectId, types, limit, offset
getAttachmentDownloads the original attachment file into a local snapshot directory, returns localPath/fileUri, and immediately adds text context to parts[] if the format…
getWikiPageContent of a project wiki page
listWikiPagesList of all wiki pages of a project
searchWikiPagesFull-text search across wiki pages. Parameters: searchQuery, projectId, limit, offset
listTimeEntriesLogged time with filters: project, issue, user, period
getMyTimeEntriesLogged time of the current user. Parameters: projectId, issueId, from, to, limit, offset
listQueriesSaved queries (custom filters) — ID + name. Use the ID with listIssues(queryId) to apply the filter, including custom-field filters
listStatusesAll issue statuses (ID + name) — for filtering in listIssues
listTrackersAll trackers (ID + name) — for filtering in listIssues
listPrioritiesAll priorities (ID + name) — for filtering in listIssues
listIssueCategoriesIssue categories of a project (ID + name)
listTimeEntryActivitiesActivity types for interpreting existing time entries (ID + name)
getProjectSummaryAggregated project summary: overall open/closed count; analyzed open issues broken down by status, tracker, priority, assignee; overdue issues; estimated/spent
getUserWorkloadWorkload analysis: open issues by project and priority, overdue issues, top issues. Analyzes up to 500 open issues and returns a truncation flag. Parameters…
getVersionChangelogVersion issues grouped by tracker, open/closed statistics. Analyzes up to 500 issues and returns a truncation flag. Parameters: projectId, versionId
getBlockerChainRecursive traversal of the blocking chain (blocks/blocked_by) upward and downward, limited to depth 10 and 30 loaded issues. Parameters: issueId
getStaleIssuesOpen issues not updated for N days, oldest first. Parameters: projectId, daysSinceUpdate (default 30), limit
getReleaseRisksRelease risk assessment: blockers, overdue items, high-priority issues, unassigned issues. Analyzes up to 500 open issues and returns a truncation flag.…
compareVersionsCompares two versions: unique issues, shared issues, closure percentage. Analyzes up to 500 issues per version and returns a truncation flag. Parameters…
VariableGroup (tools)
REDMINE_MCP_TOOLS_ISSUEIssues (core): listIssues, searchIssues, getIssue, getMyIssues, getIssueJournal
REDMINE_MCP_TOOLS_ISSUE_STRUCTUREIssue structure/history: getIssueTree, getIssueHistory
REDMINE_MCP_TOOLS_PROJECTProjects: listProjects, getProject, listProjectMembers, listVersions
REDMINE_MCP_TOOLS_SEARCHSearch: searchAll
REDMINE_MCP_TOOLS_ATTACHMENTAttachments: getAttachment
REDMINE_MCP_TOOLS_WIKIWiki: getWikiPage, listWikiPages, searchWikiPages
REDMINE_MCP_TOOLS_TIME_ENTRYTime entries: listTimeEntries, getMyTimeEntries
REDMINE_MCP_TOOLS_REFERENCE_DATAReference data: listQueries, listStatuses, listTrackers, listPriorities, listIssueCategories, listTimeEntryActivities
REDMINE_MCP_TOOLS_USERUser: getCurrentUser
REDMINE_MCP_TOOLS_ISSUE_ANALYTICSIssue analytics: getBlockerChain, getStaleIssues
REDMINE_MCP_TOOLS_RELEASE_ANALYTICSRelease/project analytics: getProjectSummary, getUserWorkload, getVersionChangelog, getReleaseRisks, compareVersions