Redmine MCP Server
# Redmine MCP Server
[](https://www.npmjs.com/package/@gmlee-ncurity/mcp-server-redmine)
[](https://opensource.org/licenses/Apache-2.0)
[](https://nodejs.org/)
[](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
Scored across 33 tools
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.
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.
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.
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.