Get the FREE Ultimate OpenClaw Setup Guide →

redmine

Production-ready MCP server for Redmine with security, pagination, and enterprise features

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio jztan-redmine-mcp-server python -m redmine_mcp_server.main \
  --env PUBLIC_HOST="Public hostname for generated file URLs" \
  --env PUBLIC_PORT="Public port for generated file URLs" \
  --env REDMINE_URL="Base URL of your Redmine instance" \
  --env SERVER_HOST="Host the MCP server binds to (default 0.0.0.0)" \
  --env SERVER_PORT="Port the MCP server listens on (default 8000)" \
  --env ATTACHMENTS_DIR="Directory to store downloaded attachments" \
  --env REDMINE_API_KEY="API key for authentication (preferred)" \
  --env REDMINE_PASSWORD="Password for basic auth (with username if not using API key)" \
  --env REDMINE_SSL_CERT="Path to CA certificate file (if using custom CA)" \
  --env REDMINE_USERNAME="Username for basic auth (if not using API key)" \
  --env REDMINE_SSL_VERIFY="Enable/disable SSL certificate verification (true/false)" \
  --env AUTO_CLEANUP_ENABLED="Enable automatic cleanup of expired attachments (true/false)" \
  --env REDMINE_SSL_CLIENT_CERT="Path to client cert and key, separated by comma (cert.pem,key.pem)" \
  --env CLEANUP_INTERVAL_MINUTES="Interval in minutes for cleanup task" \
  --env ATTACHMENT_EXPIRES_MINUTES="Expiry window in minutes for generated download URLs" \
  --env REDMINE_REQUIRED_CUSTOM_FIELD_DEFAULTS="JSON object mapping required field names to default values" \
  --env REDMINE_AUTOFILL_REQUIRED_CUSTOM_FIELDS="Enable retry to fill missing required custom fields (true/false)"

How to use

This MCP server provides an HTTP endpoint that exposes Redmine data through the MCP protocol, enabling AI assistants and MCP clients to list projects, retrieve issues, create or update issues, and download attachments from a Redmine instance. After starting the server, you will have an MCP endpoint at http://<host>:<port>/mcp and a health check at /health. You can integrate the server with MCP clients or IDEs (e.g., Visual Studio Code MCP support) by registering http://<host>:<port>/mcp as an MCP source. The server supports authentication via an API key or username/password, and optional SSL configurations for secure connections. The included features like attachment serving, pagination, and configurable defaults help you tailor behavior to your Redmine deployment.

How to install

Prerequisites:

  • Python 3.10+ (recommended for local installation)
  • Access to a Redmine instance

Install from PyPI (recommended):

pip install redmine-mcp-server

Create a configuration file (.env) with required Redmine settings, for example:

# Redmine connection (required)
REDMINE_URL=https://your-redmine-server.com

# Authentication (choose one method)
REDMINE_API_KEY=your_api_key
# OR use username/password:
# REDMINE_USERNAME=your_username
# REDMINE_PASSWORD=your_password

# MCP server configuration
SERVER_HOST=0.0.0.0
SERVER_PORT=8000

# File serving (optional)
PUBLIC_HOST=localhost
PUBLIC_PORT=8000

# Attachments and cleanup (optional)
ATTACHMENTS_DIR=./attachments
AUTO_CLEANUP_ENABLED=true
CLEANUP_INTERVAL_MINUTES=10
ATTACHMENT_EXPIRES_MINUTES=60

Run the server:

redmine-mcp-server

Alternatively, you can start it via Python module:

python -m redmine_mcp_server.main

The server will listen on http://localhost:8000 by default, with MCP at /mcp and file serving at /files/{file_id}.

Additional notes

Tips and common considerations:

  • Ensure REDMINE_URL uses the correct scheme (https recommended) and is reachable from the server host.
  • Prefer API key authentication (REDMINE_API_KEY) for security; if using username/password, ensure REDMINE_USERNAME and REDMINE_PASSWORD are set.
  • If you enable REDMINE_SSL_VERIFY=false for development, remember to disable it in production due to security risks.
  • Configure ATTACHMENTS_DIR with appropriate permissions; the server will automatically clean up expired attachments if AUTO_CLEANUP_ENABLED is true.
  • When using mutual TLS, provide REDMINE_SSL_CERT and REDMINE_SSL_CLIENT_CERT as described in the docs.
  • For large result sets, tune CLEANUP_INTERVAL_MINUTES and ATTACHMENT_EXPIRES_MINUTES to balance performance and URL expiry behavior.

Related MCP Servers

Sponsor this space

Reach thousands of developers