Redmine MCP Server
# Redmine MCP Server
[](https://www.npmjs.com/package/@flor3z-github/mcp-server-redmine)
[](https://opensource.org/licenses/Apache-2.0)
[](https://nodejs.org/)
[](https://github.com/flor3z-github/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", "@flor3z-github/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 @flor3z-github/mcp-server-redmine
# Global install
npm install -g @flor3z-github/mcp-server-redmine
```
## License
Apache License 2.0 — see [LICENSE](LICENSE) for details.
TDQS
Scored across 33 tools
Each tool has a distinct purpose, clearly differentiated by the noun (e.g., issues vs. projects vs. time entries) and verb (list, get, create, update, delete). No two tools operate on the same resource-action combination, so an agent can reliably select the correct one.
All tools follow the strict pattern 'redmine_verb_noun' (e.g., redmine_list_issues, redmine_get_wiki_page, redmine_create_time_entry), using imperative present-tense verbs and consistent snake_case. No deviations or mixed conventions.
With 33 tools, the server covers a broad domain (issues, projects, wiki, time tracking, attachments, users, metadata, search). While slightly above the typical 15-25 range, each tool addresses a distinct feature of Redmine, and the count is justified by the platform's complexity.
The tool set provides CRUD operations for all major Redmine entities (issues, wiki pages, time entries, attachments, files) plus query capabilities for metadata and search. There are no obvious gaps for standard workflows; even edge cases like uploading files and custom requests are covered.