Status: Works great and is in daily use without any known bugs.
Status2: I just added the package to PyPI and updated the usage instructions. Please report any issues :)
Let Claude be your Redmine assistant! MCP Redmine connects Claude Desktop to your Redmine instance, allowing it to:
Uses httpx for API requests and integrates with the Redmine OpenAPI specification for comprehensive API coverage.
Ensure you have uv installed:
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"redmine": {
"command": "uvx",
"args": ["--from", "mcp-redmine==2025.04.09.153531",
"--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"
}
}
}
}
REDMINE_URL
: URL of your Redmine instance (required)REDMINE_API_KEY
: Your Redmine API key (required, see below for how to get it)REDMINE_REQUEST_INSTRUCTIONS
: Path to a file containing additional instructions for the redmine_request tool (optional)redmine_paths_list
- /issues.json
- /projects.json
- /time_entries.json
...
redmine_paths_info
path_templates
(list of strings)/issues.json:
get:
operationId: getIssues
parameters:
- $ref: '#/components/parameters/format'
...
redmine_request
path
(string): API endpoint path (e.g. '/issues.json')method
(string, optional): HTTP method to use (default: 'get')data
(object, optional): Dictionary for request body (for POST/PUT)params
(object, optional): Dictionary for query parametersstatus_code: 200
body:
issues:
- id: 1
subject: "Fix login page"
...
error: ""
redmine_upload
file_path
(string): Fully qualified path to the file to uploaddescription
(string, optional): Optional description for the filestatus_code: 201
body:
upload:
id: 7
token: "7.ed32257a2ab0f7526c0d72c32994c58b131bb2c0775f7aa84aae01ea8397ea54"
error: ""
redmine_download
attachment_id
(integer): The ID of the attachment to downloadsave_path
(string): Fully qualified path where the file should be savedfilename
(string, optional): Optional filename to use (determined automatically if not provided)status_code: 200
body:
saved_to: "/path/to/downloaded/file.pdf"
filename: "file.pdf"
error: ""
Let's create a new bug report in the "Website" project:
1. Title: "Homepage not loading on mobile devices"
2. Description: "When accessing the homepage from iOS or Android devices, the loading spinner appears but the content never loads. This issue started after the last deployment."
3. Priority: High
4. Assign to: John Smith
Can you find all high priority issues in the "Website" project that are currently unassigned?
Please mark issue #123 as "In Progress" and add a comment: "I've started working on this issue. Expect it to be completed by Friday."
Log 3.5 hours against issue #456 for "Implementing user authentication" done today.
Contributions are warmly welcomed! Whether it's bug reports, feature requests, documentation improvements, or code contributions - all input is valuable. Feel free to:
The goal is to make Redmine project management with Claude even better, and your insights and contributions help achieve that.
This project builds on the excellent work of others:
First clone the github repository and install the dependencies:
git clone git@github.com:runekaagaard/mcp-redmine.git
cd mcp-redmine
uv sync
Then set this in claude_desktop_config.json:
...
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-redmine", "-m", "mcp_redmine.server", "main"],
...
Mozilla Public License Version 2.0
Seamless access to top MCP servers powering the future of AI integration.