home / mcp / mcp redmine mcp server
Provides integration to query and manage Redmine projects, issues, time entries, and attachments through MCP-enabled Claude Desktop
Configuration
View docs{
"mcpServers": {
"runekaagaard-mcp-redmine": {
"url": "https://your-redmine-instance.example.com",
"headers": {
"REDMINE_URL": "https://your-redmine-instance.example.com",
"REDMINE_API_KEY": "your-api-key",
"REDMINE_REQUEST_INSTRUCTIONS": "/app/INSTRUCTIONS.md"
}
}
}
}MCP Redmine lets you connect Claude Desktop to your Redmine instance so you can search projects and issues, create and update issues with markdown, attach files, track time, and leverage the full Redmine API from your MCP-enabled workflow.
You can use MCP Redmine either through a remote HTTP server configuration or a local stdio setup that runs via uv. Both methods give you access to Redmine paths, issue creation and updates, file uploads, and time tracking directly from Claude Desktop. Use the HTTP option when you want to point to a live Redmine instance over the network. Use the stdio option when you prefer to run the MCP server locally on your machine.
Key capabilities you can perform include searching and browsing projects and issues, creating and updating issues with Markdown support, uploading and downloading attachments, managing time entries, and updating issue statuses and fields. You also get access to the Redmine API for advanced operations.
Prerequisites: you will need a runtime environment for either a Python-based MCP server or a Docker-based setup, and you should have a client to run MCPs (Claude Desktop) already installed.
Option A — Installation using uv (local MCP runtime) You should have uv installed and available in your shell.
uv --version
```
Install uv if you haven't already.
- Linux
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
- macOS
```bash
brew install uv
```
- Windows
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
Add to your claude_desktop_config.json:
```json
{
"mcpServers": {
"redmine": {
"command": "uvx",
"args": ["--from", "mcp-redmine==2025.09.03.141435",
"--refresh-package", "mcp-redmine", "mcp-redmine"],
"env": {
"REDMINE_URL": "https://your-redmine-instance.example.com",
"REDMINE_API_KEY": "your-api-key",
"REDMINE_REQUEST_INSTRUCTIONS": "/path/to/instructions.md"
}
}
}
}
```"],"language":null},{Option B — Installation using Docker (local MCP runtime) Build and run the image, then configure Claude Desktop to use the container.
Build docker image
git clone [email protected]:runekaagaard/mcp-redmine.git
cd mcp-redmine
docker build -t mcp-redmine .
```
Add to your claude_desktop_config.json:
```json
{
"mcpServers": {
"redmine": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "REDMINE_URL",
"-e", "REDMINE_API_KEY",
"-e", "REDMINE_REQUEST_INSTRUCTIONS",
"-v", "/path/to/instructions.md:/app/INSTRUCTIONS.md",
"mcp-redmine"
],
"env": {
"REDMINE_URL": "https://your-redmine-instance.example.com",
"REDMINE_API_KEY": "your-api-key",
"REDMINE_REQUEST_INSTRUCTIONS": "/app/INSTRUCTIONS.md"
}
}
}
}
```"],The following environment variables are used to configure the MCP Redmine server.
- REDMINE_URL: URL of your Redmine instance (required)
- REDMINE_API_KEY: Your Redmine API key (required)
- REDMINE_REQUEST_INSTRUCTIONS: Path to a file with extra instructions for the redmine_request tool (optional)
Log in to your Redmine, go to My account, and copy or generate your API access key. Use this key in the REDMINE_API_KEY environment variable.
The MCP Redmine server exposes a set of tools that you can use to interact with Redmine from Claude Desktop.
path_templates (list of strings); returns YAML with API specs.path, method, data, params; returns YAML with status, body, and errors.file_path, description; returns YAML with status and token.attachment_id, save_path, filename; returns YAML with status and saved path.Return a YAML string listing available API path templates from the OpenAPI spec; no input required.
Return YAML with full API path information for requested templates (input: path_templates).
Execute a request against the Redmine API and return status, body, and error details in YAML.
Upload a file to Redmine to obtain an attachment token for later association with issues.
Download an attachment from Redmine and save it to a specified path.