redmine-mcp

umutkocak/redmine-mcp

3.2

If you are the rightful owner of redmine-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Redmine MCP Server is a production-ready Model Context Protocol server designed for seamless integration with Redmine project management systems.

Redmine MCP Server

A comprehensive Model Context Protocol server for seamless Redmine integration.

74 tools · 20 modules · Full CRUD · Docker Ready · UTF-8 Safe


Overview

Redmine MCP Server exposes the Redmine REST API as MCP tools, enabling AI assistants like Claude to manage projects, issues, users, wiki pages, and more — directly through natural language.

Built with the official MCP Python SDK for guaranteed protocol compliance.

Quick Start

Option 1: Docker (Recommended)

git clone https://github.com/umutkocak/redmine-mcp.git
cd redmine-mcp
cp .env.example .env   # Edit with your credentials
docker build -t redmine-mcp .
docker run -it --env-file .env redmine-mcp

Option 2: Local Installation

git clone https://github.com/umutkocak/redmine-mcp.git
cd redmine-mcp
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env        # Edit with your credentials
python src/main.py

Environment Variables

REDMINE_URL=https://redmine.example.com
REDMINE_API_KEY=your_api_key_here
LOG_LEVEL=INFO

Tip: Enable REST API in Redmine under Administration → Settings → API, then generate your key from your user profile.


Supported Operations

Projects — 7 tools

ToolDescription
list_projectsList all projects with pagination
get_projectGet project details
create_projectCreate a new project
update_projectUpdate project properties
delete_projectDelete a project
archive_projectArchive a project (Redmine 5.0+)
unarchive_projectRestore an archived project (Redmine 5.0+)

Issues — 7 tools

ToolDescription
list_issuesList and filter issues
get_issueGet issue details with relations, journals, etc.
create_issueCreate a new issue with full metadata
update_issueUpdate issue fields, add notes
delete_issueDelete an issue
add_watcherAdd a watcher to an issue
remove_watcherRemove a watcher from an issue

Users — 6 tools

ToolDescription
list_usersList users with status filtering
get_userGet user details
get_current_userGet authenticated user info
create_userCreate a new user (admin)
update_userUpdate user details (admin)
delete_userDelete a user (admin)

Time Entries — 5 tools

ToolDescription
list_time_entriesList time entries with filters
create_time_entryLog time with activity tracking
get_time_entryGet time entry details
update_time_entryUpdate a time entry
delete_time_entryDelete a time entry

Attachments — 3 tools

ToolDescription
upload_fileUpload a file and receive an attachment token
get_attachmentGet attachment metadata
download_attachmentDownload attachment content

Issue Relations — 4 tools

ToolDescription
list_issue_relationsList relations for an issue
create_issue_relationCreate a relation (blocks, duplicates, etc.)
get_issue_relationGet relation details
delete_issue_relationDelete a relation

Versions / Milestones — 5 tools

ToolDescription
list_versionsList project versions
get_versionGet version details
create_versionCreate a new milestone
update_versionUpdate a version
delete_versionDelete a version

Memberships — 5 tools

ToolDescription
list_membershipsList project members
get_membershipGet membership details
create_membershipAdd a user or group to a project
update_membershipUpdate member roles
delete_membershipRemove a member

Issue Categories — 5 tools

ToolDescription
list_issue_categoriesList categories for a project
get_issue_categoryGet category details
create_issue_categoryCreate a category
update_issue_categoryUpdate a category
delete_issue_categoryDelete a category

Wiki Pages — 4 tools

ToolDescription
list_wiki_pagesList all wiki pages for a project
get_wiki_pageGet page content (with version history)
create_or_update_wiki_pageCreate or update a wiki page
delete_wiki_pageDelete a wiki page

Groups — 7 tools

ToolDescription
list_groupsList all groups (admin)
get_groupGet group details with members
create_groupCreate a new group (admin)
update_groupUpdate a group (admin)
delete_groupDelete a group (admin)
add_user_to_groupAdd a user to a group (admin)
remove_user_from_groupRemove a user from a group (admin)

Roles — 2 tools

ToolDescription
list_roles_detailList all roles
get_roleGet role details with permissions

Journals — 2 tools

ToolDescription
list_issue_journalsGet issue change history
update_journalUpdate journal notes

News — 2 tools

ToolDescription
list_newsList news entries (global or per project)
get_newsGet news details

System & Metadata — 8 tools

ToolDescription
list_enumerationsList system constants (priorities, activities)
list_trackersList all trackers
list_issue_statusesList all issue statuses
list_rolesList all roles
list_custom_fieldsList all custom field definitions (admin)
list_queriesList saved/custom queries
searchGlobal search across all resources
list_filesList project files

My Account — 2 tools

ToolDescription
get_my_accountGet current account details
update_my_accountUpdate account settings

Claude Desktop Integration

Add the following to your Claude Desktop configuration file:

Local installation:

{
  "mcpServers": {
    "redmine": {
      "command": "/path/to/project/.venv/bin/python",
      "args": ["/path/to/project/src/main.py"],
      "env": {
        "REDMINE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Docker:

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "REDMINE_URL=https://redmine.example.com",
        "-e",
        "REDMINE_API_KEY=your_api_key_here",
        "redmine-mcp:latest"
      ]
    }
  }
}
Config file locations
OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/claude/claude_desktop_config.json

Usage Examples

Create an Issue

{
  "issue": {
    "project_id": 1,
    "subject": "Fix login page validation",
    "description": "Email field accepts invalid format",
    "tracker_id": 1,
    "priority_id": 3,
    "assigned_to_id": 5,
    "due_date": "2026-03-01"
  }
}

Log Time

{
  "issue_id": 123,
  "hours": 2.5,
  "activity_id": 9,
  "comments": "Backend API implementation"
}

Search Across Redmine

{
  "query": "authentication",
  "titles_only": false,
  "limit": 10
}

Project Structure

src/
├── main.py              # MCP server entry point
├── redmine_client.py    # Redmine REST API client
├── version.py           # Version management
└── tools/
    ├── projects.py          # Project CRUD + archive
    ├── issues.py            # Issue CRUD + watchers
    ├── users.py             # User CRUD + current user
    ├── time_entries.py      # Time entry CRUD
    ├── attachments.py       # File upload/download
    ├── enumerations.py      # Trackers, statuses, roles
    ├── issue_relations.py   # Issue relations
    ├── versions.py          # Milestones
    ├── memberships.py       # Project memberships
    ├── issue_categories.py  # Issue categories
    ├── wiki_pages.py        # Wiki management
    ├── groups.py            # Group management
    ├── roles.py             # Role details + permissions
    ├── custom_fields.py     # Custom field definitions
    ├── journals.py          # Issue change history
    ├── news.py              # News entries
    ├── queries.py           # Saved queries
    ├── search.py            # Global search
    ├── files.py             # Project files
    └── my_account.py        # Account management

Requirements

  • Python 3.10+
  • Redmine 4.0+ (5.0+ for archive/unarchive)
  • REST API enabled on your Redmine instance

Dependencies

PackageVersionPurpose
mcp≥ 1.0.0Model Context Protocol SDK
requests≥ 2.31.0HTTP client
pydantic≥ 2.0.0Data validation
python-dotenv≥ 1.0.0Environment configuration

Troubleshooting

IssueSolution
ModuleNotFoundErrorActivate your virtual environment and run pip install -r requirements.txt
API key rejectedVerify REST API is enabled in Redmine settings
Connection refusedCheck REDMINE_URL — include protocol (https://)
Admin tools failEnsure your API key belongs to an admin user

Set LOG_LEVEL=DEBUG in your .env file for verbose output.


License

This project is licensed under the .

Links


Built with ❤️ for the MCP ecosystem