MCP Hub
Back to servers

redmine-mcp

An MCP server providing 63 tools to interact with Redmine instances, covering issues, projects, time entries, and wiki pages. It utilizes streamable HTTP transport and supports per-client authentication for secure management of Redmine resources.

glama
Updated
Mar 24, 2026

redmine-mcp

MCP Server for the Redmine REST API using Streamable HTTP transport.

Built with the Model Context Protocol SDK, this server exposes 63 tools that let any MCP-compatible client (Claude Desktop, MCP Inspector, etc.) interact with a Redmine instance.

Features

  • 63 tools covering issues, projects, users, time entries, wiki pages, attachments, and more
  • Streamable HTTP transport — single /mcp endpoint (POST / GET / DELETE)
  • Per-client authentication — each client supplies its own Redmine API key via X-Redmine-API-Key header
  • Session management with configurable TTL and automatic eviction
  • Security — Helmet headers, rate limiting, API key validation

Prerequisites

  • Node.js >= 18
  • A Redmine instance with the REST API enabled

Setup

git clone https://github.com/user/redmine-mcp.git
cd redmine-mcp
npm install

Copy the example environment file and fill in your values:

cp .env.example .env

Environment Variables

VariableRequiredDefaultDescription
REDMINE_BASE_URLYesURL of your Redmine instance
PORTNo3000Server port
HOSTNo127.0.0.1Server host
SESSION_TTL_MSNo3600000Session TTL in milliseconds (1 hour)
LOG_LEVELNoinfodebug | info | warn | error

Note: There is no REDMINE_API_KEY in the server config — each MCP client supplies its own key via the X-Redmine-API-Key header.

Usage

# Build
npm run build

# Start (production)
npm start

# Development (watch mode)
npm run dev

Client Configuration

Add the server to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "redmine": {
      "type": "streamable-http",
      "url": "http://localhost:3000/mcp",
      "headers": {
        "X-Redmine-API-Key": "<your-redmine-api-key>"
      }
    }
  }
}

Available Tools

Issues (7)

list_issues · get_issue · create_issue · update_issue · delete_issue · add_issue_watcher · remove_issue_watcher

Projects (7)

list_projects · get_project · create_project · update_project · archive_project · unarchive_project · delete_project

Users (6)

list_users · get_user · get_current_user · create_user · update_user · delete_user

Groups (7)

list_groups · get_group · create_group · update_group · delete_group · add_group_member · remove_group_member

Time Entries (5)

list_time_entries · get_time_entry · create_time_entry · update_time_entry · delete_time_entry

Versions (5)

list_versions · get_version · create_version · update_version · delete_version

Memberships (5)

list_memberships · get_membership · add_membership · update_membership · remove_membership

Wiki Pages (5)

list_wiki_pages · get_wiki_page · create_wiki_page · update_wiki_page · delete_wiki_page

Issue Relations (4)

list_issue_relations · create_issue_relation · delete_issue_relation · get_relation_type

Issue Categories (4)

list_issue_categories · get_category · create_category · update_category · delete_category

Attachments (3)

upload_file · get_attachment · delete_attachment

Other

list_custom_fields · list_issue_statuses · list_trackers

Project Structure

src/
├── index.ts                 # Express server, session management
├── config.ts                # Environment validation (zod)
├── client/
│   ├── redmine-client.ts    # Axios wrapper for Redmine API
│   └── types.ts             # Redmine API response types
├── middleware/               # Auth & session guards
├── tools/
│   ├── index.ts             # Tool aggregator
│   ├── issues.ts
│   ├── projects.ts
│   └── ...                  # 14 tool modules
└── utils/
    └── errors.ts            # Error handling utilities

License

ISC

Reviews

No reviews yet

Sign in to write a review