Redmine MCP Server
Model Context Protocol (MCP) server for Redmine that provides comprehensive access to the Redmine REST API, enabling users to operate Redmine from MCP clients such as Claude Desktop.
README
Redmine MCP Server
Model Context Protocol (MCP) server for Redmine that provides comprehensive access to the Redmine REST API.
Overview
This project is an MCP server that comprehensively covers Redmine's REST API. It allows you to operate Redmine from MCP clients (such as Claude Desktop).
Demonstration
Here are example videos showing how to use the Redmine MCP server with Claude Desktop:
Creating an Issue
https://github.com/user-attachments/assets/075fb079-104c-404d-91f5-755b3882853b
This demonstration also uses the Playwright MCP for browser automation alongside the Redmine MCP server.
Getting Issue Information
https://github.com/user-attachments/assets/8f551082-6982-4513-8fe7-b0f111be982d
Features
- 📋 Comprehensive API Coverage: Supports all functions available in Redmine's REST API
- 🔒 Read-Only Mode: Supports safe data reference mode
- 🎛️ Feature Flags: Selectively disable tool groups via environment variables
Prerequisites
Getting Redmine API Key
- Log in to Redmine with administrator privileges
- Go to "Administration" → "Settings" → "API" tab
- Check "Enable REST web service"
- Generate "API access key" in personal settings
For details, refer to Redmine REST API documentation.
Configuration
Environment Variables
The following environment variables are required (specified in MCP client configuration files):
- REDMINE_URL (Required): Base URL of the Redmine instance
- Example:
https://redmine.example.com
- Example:
- REDMINE_API_KEY (Required): API key generated in Redmine
- Set the API key obtained in prerequisites
- REDMINE_MCP_READ_ONLY (Optional): Enable read-only mode
true: Read-only mode (disables data modification operations)falseor unset: Allow all operations (default)
Feature Flags (Optional)
You can selectively disable tool groups to reduce the number of tools loaded by the MCP server. By default, all features are enabled. Set any of the following to true to disable a group:
| Environment Variable | Tools Disabled |
|---|---|
REDMINE_MCP_DISABLE_RELATIONS |
Issue relations (list, create, show, delete) |
REDMINE_MCP_DISABLE_TIME_ENTRIES |
Time entries & activities (list, create, show, update, delete) |
REDMINE_MCP_DISABLE_VERSIONS |
Versions (list, create, show, update, delete) |
REDMINE_MCP_DISABLE_WATCHERS |
Watchers (add, remove) |
REDMINE_MCP_DISABLE_WIKI |
Wiki pages (list, show, create/update, delete) |
REDMINE_MCP_DISABLE_NEWS |
News (list, show, create, update, delete) |
REDMINE_MCP_DISABLE_USERS |
User management (list, show, create, update, delete, current user) |
REDMINE_MCP_DISABLE_GROUPS |
Group management (list, show, create, update, delete, add/remove user) |
REDMINE_MCP_DISABLE_MEMBERSHIPS |
Memberships (list, show, create, update, delete) |
REDMINE_MCP_DISABLE_ATTACHMENTS |
Attachments (show, update, delete, upload/download, thumbnails) |
REDMINE_MCP_DISABLE_FILES |
Files (list, create) |
REDMINE_MCP_DISABLE_PROJECTS |
Project management (list, show, create, update, delete, archive/unarchive, close/reopen) |
Full Configuration Example
You can copy and paste this into your MCP client configuration (e.g., claude_desktop_config.json).
Option 1: Using npx (no installation required)
{
"mcpServers": {
"redmine": {
"command": "npx",
"args": ["-y", "@compasify/redmine-mcp-server"],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "false",
"REDMINE_MCP_DISABLE_RELATIONS": "false",
"REDMINE_MCP_DISABLE_TIME_ENTRIES": "false",
"REDMINE_MCP_DISABLE_VERSIONS": "false",
"REDMINE_MCP_DISABLE_WATCHERS": "false",
"REDMINE_MCP_DISABLE_WIKI": "false",
"REDMINE_MCP_DISABLE_NEWS": "false",
"REDMINE_MCP_DISABLE_USERS": "false",
"REDMINE_MCP_DISABLE_GROUPS": "false",
"REDMINE_MCP_DISABLE_MEMBERSHIPS": "false",
"REDMINE_MCP_DISABLE_ATTACHMENTS": "false",
"REDMINE_MCP_DISABLE_FILES": "false",
"REDMINE_MCP_DISABLE_PROJECTS": "false"
}
}
}
}
Option 2: Using node with a local server.mjs file
Download server.mjs from the releases page and specify its local path:
{
"mcpServers": {
"redmine": {
"command": "node",
"args": [
"/path/to/server.mjs"
],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "false",
"REDMINE_MCP_DISABLE_RELATIONS": "false",
"REDMINE_MCP_DISABLE_TIME_ENTRIES": "false",
"REDMINE_MCP_DISABLE_VERSIONS": "false",
"REDMINE_MCP_DISABLE_WATCHERS": "false",
"REDMINE_MCP_DISABLE_WIKI": "false",
"REDMINE_MCP_DISABLE_NEWS": "false",
"REDMINE_MCP_DISABLE_USERS": "false",
"REDMINE_MCP_DISABLE_GROUPS": "false",
"REDMINE_MCP_DISABLE_MEMBERSHIPS": "false",
"REDMINE_MCP_DISABLE_ATTACHMENTS": "false",
"REDMINE_MCP_DISABLE_FILES": "false",
"REDMINE_MCP_DISABLE_PROJECTS": "false"
}
}
}
}
Windows example path:
"args": ["D:\\path\\to\\server.mjs"]
MCP Client Configuration
Using npx (Recommended for quick start)
Add the following as MCP configuration for your AI agent:
{
"mcpServers": {
"redmine": {
"command": "npx",
"args": ["-y", "@compasify/redmine-mcp-server"],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "true"
}
}
}
}
Using Docker (Alternative)
If you prefer using Docker:
{
"mcpServers": {
"redmine": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "REDMINE_URL=https://your-redmine.example.com",
"-e", "REDMINE_API_KEY=your-api-key-here",
"-e", "REDMINE_MCP_READ_ONLY=true",
"ghcr.io/compasify/redmine-mcp-server:latest"
]
}
}
}
When to use Docker:
- Enterprise environments requiring container isolation
- Reproducible deployments across different systems
- Environments where Node.js installation is restricted
Below are specific configuration methods for several MCP clients:
Claude Desktop
Add the following to claude_desktop_config.json:
{
"mcpServers": {
"redmine": {
"command": "npx",
"args": ["-y", "@compasify/redmine-mcp-server"],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "true"
}
}
}
}
Claude Code
In Claude Code, you can add MCP servers using the following commands:
Local configuration:
claude mcp add redmine -e REDMINE_URL=https://your-redmine.example.com -e REDMINE_API_KEY=your-api-key-here -e REDMINE_MCP_READ_ONLY=true -- npx -y @compasify/redmine-mcp-server
Project configuration:
claude mcp add -s project redmine -e REDMINE_URL=https://your-redmine.example.com -e REDMINE_API_KEY=your-api-key-here -e REDMINE_MCP_READ_ONLY=true -- npx -y @compasify/redmine-mcp-server
User configuration (global):
claude mcp add -s user redmine -e REDMINE_URL=https://your-redmine.example.com -e REDMINE_API_KEY=your-api-key-here -e REDMINE_MCP_READ_ONLY=true -- npx -y @compasify/redmine-mcp-server
Visual Studio Code
Project configuration (.vscode/mcp.json):
{
"servers": {
"redmine": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@compasify/redmine-mcp-server"],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "true"
}
}
}
}
User configuration (settings.json):
{
"mcp": {
"servers": {
"redmine": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@compasify/redmine-mcp-server"],
"env": {
"REDMINE_URL": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here",
"REDMINE_MCP_READ_ONLY": "true"
}
}
}
}
}
Available Features
This MCP server comprehensively supports the functions provided by Redmine's REST API:
Main Features
- Issues: Create, update, delete, search, and manage related issues
- Projects: Create, update, delete, archive, and manage memberships
- Users: Create, update, delete, and manage groups
- Time Entries: Record, update, and delete time entries
- Wiki: Create, update, delete pages, and manage versions
- News: Create, update, and delete news
- Files: Upload and download files
- Attachments: Upload, download files, and get thumbnails
- Queries: Execute saved queries
- Custom Fields: Get and manage custom fields
- Roles: Get and manage roles
- Trackers: Get and manage trackers
- Issue Statuses: Get and manage issue statuses
- Search: Cross-search functionality
Read-Only Mode
By setting REDMINE_MCP_READ_ONLY=true, you can disable data modification operations. This allows safe data reference.
License
MIT License
Author
Original Author
Acknowledgments
- OpenAPI specification: d-yoshi/redmine-openapi
- Code generation: Orval - TypeScript client and schema generator from OpenAPI
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.