Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Redmine MCP Server

by igorolvversion 0.1.1i★ –iRuns on your computer
Registry nameio.github.igorolv/redmine-mcp-server

Install

Overview

Description from the maker (original English)

Redmine for AI agents: issues, projects, wiki, attachments, time entries and release analytics

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Marketing & social media
  • You need to fill in: REDMINE_URL, REDMINE_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: REDMINE_URL, REDMINE_API_KEY, REDMINE_MCP_WRITE_ENABLED

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "REDMINE_URL",
        "-e",
        "REDMINE_API_KEY",
        "-e",
        "REDMINE_MCP_WRITE_ENABLED",
        "ghcr.io/igorolv/redmine-mcp-server:0.1.1"
      ],
      "env": {
        "REDMINE_URL": "your-value",
        "REDMINE_API_KEY": "your-value",
        "REDMINE_MCP_WRITE_ENABLED": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add redmine --env REDMINE_URL=your-value --env REDMINE_API_KEY=your-value --env REDMINE_MCP_WRITE_ENABLED=your-value -- docker run -i --rm -e REDMINE_URL -e REDMINE_API_KEY -e REDMINE_MCP_WRITE_ENABLED ghcr.io/igorolv/redmine-mcp-server:0.1.1

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "REDMINE_URL",
        "-e",
        "REDMINE_API_KEY",
        "-e",
        "REDMINE_MCP_WRITE_ENABLED",
        "ghcr.io/igorolv/redmine-mcp-server:0.1.1"
      ],
      "env": {
        "REDMINE_URL": "your-value",
        "REDMINE_API_KEY": "your-value",
        "REDMINE_MCP_WRITE_ENABLED": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "redmine": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "REDMINE_URL",
        "-e",
        "REDMINE_API_KEY",
        "-e",
        "REDMINE_MCP_WRITE_ENABLED",
        "ghcr.io/igorolv/redmine-mcp-server:0.1.1"
      ],
      "env": {
        "REDMINE_URL": "your-value",
        "REDMINE_API_KEY": "your-value",
        "REDMINE_MCP_WRITE_ENABLED": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • REDMINE_URL required env
    Base URL of the Redmine instance, e.g. https://redmine.example.com
  • REDMINE_API_KEY secret required env
    Redmine API key of the user the server acts as (My account -> API access key)
  • REDMINE_MCP_WRITE_ENABLED env
    Set to true to also expose the issue, note, attachment, time-entry and wiki write tools

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account igorolv, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 2972 servers in this category
  • Published to the registry more recently than 42% of the other 2972 servers in this category
  • Basic checks equal to or better than 100% of the other 2972 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Redmine MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: REDMINE_URL, REDMINE_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 39 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 10 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 9 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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 REDMINE_MCP_WRITE_ENABLED=false to run fully read-only. It lets AI agents (Claude Code, Cursor, VS Code Copilot, etc.) work with issues, projects, members, versions, wiki, attachments, time entries, and reference data.

Quick Start

This documentation covers installing and connecting Redmine MCP Server itself. Installing and configuring the AI clients themselves is out of scope here.

  1. Install JDK 25+.
  2. Download redmine-mcp-server.jar from the latest release, or build it yourself: ./gradlew bootJar (see Build). A Docker image is published as well.
  3. Obtain REDMINE_URL and REDMINE_API_KEY (see Configuration).
  4. Verify that the JAR starts (see Smoke Test).
  5. Add the JAR to your client's MCP configuration (see Connecting to an AI Client).

For Claude Code that is one command:

claude mcp add --scope user -e REDMINE_URL=https://redmine.example.com -e REDMINE_API_KEY=your_key -- redmine java -jar /path/to/redmine-mcp-server.jar

Architecture

The server supports only the stdio transport.

Stdio
┌─────────────┐     stdio      ┌──────────────────┐    REST API    ┌──────────┐

│ AI agent │ <------------> │ redmine-mcp- │ -------------> │ Redmine │ │ (Claude Code│ stdin/stdout │ server (Java) │ HTTP + API │ (corp.) │ │ Cursor...) │ │ │ Key │ │ └─────────────┘ └──────────────────┘ └──────────┘

The AI client launches the server as a child process; communication follows the MCP protocol over stdin/stdout.

Tools

The server exports 32 read-only MCP tools plus 7 write tools by default. Set REDMINE_MCP_WRITE_ENABLED=false to remove the write tools and run fully read-only.

User
ToolDescription
getCurrentUserCurrent user: ID, login, groups, projects. Useful for "my issues" filtering
Projects
ToolDescription
listProjectsList of all accessible projects
getProjectProject details: trackers, modules, description
listProjectMembersProject members with roles
listVersionsProject versions (milestones)
Issues
ToolDescription
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 (default, implementation, timeline, full; optional)
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: issueId, depth (default 2, max 5)
getIssueHistoryCreation and every journal event, with status intervals. Long text is shortened; journalId identifies the full entry for getIssueJournal. Follow nextOffset with the optional offset parameter until it is absent.
Issue, Time Entry, and Wiki Writes (optional)

These tools appear in tools/list by default; set REDMINE_MCP_WRITE_ENABLED=false to remove them:

ToolDescription
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

Redmine itself enforces the permissions, workflow, and required-field rules of the REDMINE_API_KEY user. The MCP server introduces no additional model of "own" issues or notes. To make AI-created issues recognizable, the description of an issue created by createIssue is prefixed with AI_EDIT: by default (updateIssue does not add it). Notes, time-entry comments, wiki revision comments, and uploaded file names are not marked by default; each marker is configured separately with a REDMINE_MCP_WRITE_*_PREFIX variable (see Configuration), and an empty value turns it off. Issue descriptions and notes get the prefix on its own line followed by a blank line; single-line fields (time-entry and wiki revision comments) get the prefix and a space; file names get the prefix with no separator. Wiki page markup itself is never changed.

Editing and deleting existing notes is not implemented: the targeted Redmine 4.0.4 does not provide a compatible REST API for it. Editing and deleting time entries; deleting, renaming, and protecting wiki pages; and creating time entries on behalf of another user are outside the current operation set.

Search
ToolDescription
searchAllGlobal Redmine search: issues, wiki, news, documents, commits, etc. Parameters: searchQuery, projectId, types, limit, offset
Attachments and Wiki
ToolDescription
getAttachmentDownloads the original attachment file into a local snapshot directory, returns localPath/fileUri, and immediately adds text context to parts[] if the format is supported: txt/log/xml/json/csv, PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), ZIP. A ZIP may yield a separate part per entry. A .docx yields one text part: pandoc markdown when pandoc is available, POI plain text otherwise. Parameters: issueId, attachmentId, maxChars, partLimit (see *Processing Limits*)
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
Time Entries
ToolDescription
listTimeEntriesLogged time with filters: project, issue, user, period
getMyTimeEntriesLogged time of the current user. Parameters: projectId, issueId, from, to, limit, offset
Reference Data
ToolDescription
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)
Analytics
ToolDescription
getProjectSummaryAggregated project summary: overall open/closed count; analyzed open issues broken down by status, tracker, priority, assignee; overdue issues; estimated/spent hours. Analyzes up to 500 open issues and returns a truncation flag. Parameters: projectId, versionId (optional)
getUserWorkloadWorkload analysis: open issues by project and priority, overdue issues, top issues. Analyzes up to 500 open issues and returns a truncation flag. Parameters: userId (optional, defaults to current user), projectId (optional)
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. Parameters: projectId, versionId
compareVersionsCompares two versions: unique issues, shared issues, closure percentage. Analyzes up to 500 issues per version and returns a truncation flag. Parameters: projectId, versionId1, versionId2

With REDMINE_MCP_WRITE_ENABLED=false all tools are read-only and no data in Redmine is modified.

Tool Groups (enable/disable)

Tools are grouped by domain, and each group can be disabled via an environment variable. All groups are enabled by default — the out-of-the-box tool manifest is unchanged. Disabling groups shrinks the MCP tools/list manifest that the client loads into model context at session start. This helps small-context (local) models: disable unneeded groups so only the tools the model actually needs remain.

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

Each variable accepts true (default) or false. Example: to keep only issue and project work, disable the remaining groups — REDMINE_MCP_TOOLS_RELEASE_ANALYTICS=false, `REDMI

Only the beginning is shown; read the rest in the repo

Ask PopNx