Your AI shouldn't just read tickets.
It should work them.

`redmine-mcp-server` gives AI agents 45 tools to triage, update, comment on, and close Redmine issues — the way a project manager would.

pip install redmine-mcp-server
Scripted walkthrough — no real Redmine is connected.
An AI agent on a live Redmine
it sees the same Issues page you do — and edits it with MCP tool calls
Home My page Projects Help Logged in as alex.rivera
Home » Projects » Cartly
Cartly
Issues
Filters: Status: open Due date: ≤ 2026-06-20 Sprint 14 Apply

| # ▾ | Tracker | Status | Priority | Subject | Assignee | Due date
--- | --- | --- | --- | --- | --- | --- | ---

claude — ~/work/cartly-app
✻ Welcome to Claude Code redmine-mcp-server connected over MCP · 45 tools available
▸ press Run the agent to start
▏
? for shortcuts● redmine-mcp-server (MCP)
0 tool calls
0 issues touched
0 comments added
0 issues closed
This is a scripted walkthrough against canned data. The JSON in each tool call matches the real server's response shape field-for-field — including the `<insecure-content>` boundary tags that wrap untrusted user text. Nothing here connects to a live Redmine.

## The agent worked the backlog.

That's the point. With redmine-mcp-server, an agent doesn't just summarize your tickets — it moves them.

6tool calls 2issues touched 2comments added 1issue closed

## Far more than triage.

The demo shows one workflow. The same 45 tools cover the rest of Redmine.

Search all of Redmine at once

One `search_entire_redmine` call spans issues, wiki pages, projects, and news.

Write the wiki, not just read it

Create, update, and version wiki pages with `manage_redmine_wiki_page`.

Log and import time

Record time entries or bulk-import a week of them with `manage_time_entry`.

Speaks RedmineUP

Contacts (CRM), products, and checklists from the commercial plugins, as first-class tools.

OAuth2 multi-tenant

Per-user tokens, so the agent acts as each user instead of one shared API key.

Read-only safety mode

Flip `REDMINE_MCP_READ_ONLY=true` to block every write while you evaluate.

## Wire it into your agent.

One command. Claude Desktop, Claude Code, Cursor, VS Code, Codex.

pip install redmine-mcp-server

The demo shows 4 of the server's 45 tools. The full set spans `list_redmine_issues`, `get_redmine_issue`, `update_redmine_issue`, `manage_time_entry`, `manage_redmine_wiki_page`, `manage_project_member`, `search_entire_redmine`, and more — covering issues, projects, wikis, time tracking, versions, and CRM, plus OAuth multi-tenant auth and a read-only safety mode.

GitHub PyPI Docs Blog
About redmine-mcp-server

# redmine-mcp-server: Redmine project management for AI agents

redmine-mcp-server is an open-source MCP (Model Context Protocol) server that lets AI agents read and manage a Redmine instance: issues, projects, wikis, time tracking, versions, and contacts. It ships as a Python package and connects to Claude Desktop, Claude Code, Cursor, VS Code Copilot, Codex CLI, and any MCP-compatible client.

## What it does

Redmine has a capable REST API, but wiring an agent to it directly means handing the model raw HTTP access — which is slow, error-prone, and unsafe. redmine-mcp-server exposes 45 purpose-built tools instead. An agent can list and filter issues, read a ticket with its full history, update status and assignee, add notes, log time, manage wiki pages, and run global search — each as a single typed tool call with predictable, serialized JSON.

## What the demo shows

The browser demo is a scripted simulation of a triage workflow against canned data. The JSON returned by each tool matches the real server's response shape field-for-field, including the `<insecure-content>` boundary tags that wrap user-controlled text (descriptions, notes, comments) so an LLM treats them as untrusted data rather than instructions. Nothing connects to a live Redmine; the point is to show the agent's tool loop, not to be a hosted service.

## Install

redmine-mcp-server is MIT-licensed and published on PyPI. Install with `pip install redmine-mcp-server`, then point it at your Redmine URL with an API key or OAuth. The source is on GitHub and the package on PyPI. For the story behind it, see the blog post on linking a legacy system to a modern AI agent.

Copied