Skip to main content
Glama
gmlee-ncurity

Redmine MCP Server

README.md
# Redmine MCP Server

[![npm version](https://img.shields.io/npm/v/@gmlee-ncurity/mcp-server-redmine.svg)](https://www.npmjs.com/package/@gmlee-ncurity/mcp-server-redmine)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
[![CI](https://github.com/gmlee-ncurity/redmine-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/gmlee-ncurity/redmine-mcp-server/actions/workflows/ci.yml)

[한국어](README-ko.md) | [Usage Guide](USAGE.md) | [Contributing](CONTRIBUTING.md)

A Model Context Protocol (MCP) server for Redmine. Enables AI assistants to manage issues, projects, time tracking, wiki pages, files, and more.

## Quick Start

### Stdio (Claude Desktop / VS Code)

```json
{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "@gmlee-ncurity/mcp-server-redmine"],
      "env": {
        "REDMINE_URL": "https://your-redmine.com",
        "REDMINE_API_KEY": "your-api-key"
      }
    }
  }
}
```

### HTTP (Claude Code / Multi-user)

```bash
REDMINE_URL=https://your-redmine.com npm run start:http
claude mcp add --transport http redmine http://localhost:3000/mcp
# Browser opens → Enter Redmine API Key → Done
```

See [USAGE.md](USAGE.md) for detailed configuration, Docker deployment, and reverse proxy setup.

## Features

- **Issues** — List, create, update, delete, search with filters
- **Projects** — List, view details, versions/milestones
- **Time Tracking** — Log entries, manage records, list activities
- **Users** — List, get details, current user info
- **Wiki** — List, create, update, delete pages
- **Files & Attachments** — Upload, list, manage files and attachments
- **Journals** — Update notes
- **Utilities** — Statuses, priorities, trackers, custom API requests, search

## Available Tools

| Category | Tools |
|----------|-------|
| Issues | `list_issues`, `get_issue`, `create_issue`, `update_issue`, `delete_issue` |
| Projects | `list_projects`, `get_project`, `get_project_versions` |
| Users | `list_users`, `get_current_user`, `get_user` |
| Time Entries | `list_time_entries`, `get_time_entry`, `create_time_entry`, `update_time_entry`, `delete_time_entry`, `list_time_entry_activities` |
| Wiki | `list_wiki_pages`, `get_wiki_page`, `create_or_update_wiki_page`, `delete_wiki_page` |
| Journals | `update_journal` |
| Attachments | `get_attachment`, `update_attachment`, `delete_attachment` |
| Files | `list_files`, `create_file`, `upload_file` |
| Utilities | `list_statuses`, `list_priorities`, `list_trackers`, `custom_request`, `search` |

All tools are prefixed with `redmine_` (e.g., `redmine_list_issues`).

## Breaking Changes

### `redmine_get_issue` — Comments Now Opt-in

**Issue comments are no longer returned by default.** To retrieve comments, use one of:
- `include_journals=true` — returns comments with pagination control via `journals_limit`, `journals_offset`, `journals_order`
- `include: ["journals"]` — same effect, unless `include_journals` is explicitly set to `false`

For details and new pagination parameters, see [docs/API.md](docs/API.md#redmine_get_issue).

## Installation

```bash
# Direct usage (no install)
npx @gmlee-ncurity/mcp-server-redmine

# Global install
npm install -g @gmlee-ncurity/mcp-server-redmine
```

## License

Apache License 2.0 — see [LICENSE](LICENSE) for details.

TDQS

B3.2/5.0

Scored across 33 tools

Disambiguation5/5

Each tool targets a distinct resource-action pair (e.g., issues, wiki pages, time entries, users, attachments, projects). Overlap is minimal—the only compound tool, redmine_create_or_update_wiki_page, clearly handles both create and update. The catch-all redmine_custom_request is explicitly generic and optional, so it does not create ambiguity.

Naming Consistency5/5

All tools follow a consistent redmine_<verb>_<resource> pattern in snake_case. Verbs are uniformly list, get, create, update, delete, with one exception (redmine_create_or_update_wiki_page) that uses a compound verb but remains readable and consistent in style. The single non-verb-noun tool, redmine_custom_request, is a deliberate generic fallback and does not break the established convention.

Tool Count2/5

At 33 tools, the surface is oversized for a typical MCP server, exceeding the 25-tool threshold that indicates 'too many.' While Redmine is a feature-rich system, many tools could be consolidated (e.g., time entry activities and statuses/priorities/trackers could be grouped), and the breadth makes the server harder to navigate.

Completeness4/5

The tool set covers the major Redmine domains: issues (CRUD plus statuses, priorities, trackers), projects (list/get only), wiki pages (CRUD), time entries (full CRUD plus activities), users (read-only), attachments (get/update/delete), and files (upload/create/list). Notable gaps are the absence of project create/update/delete and user management, but the presence of redmine_custom_request mitigates these limitations for advanced use.

Maintenance

ActivityMaintained
ResponsivenessNo issues