Redmine MCP Server
Allows interaction with a Redmine instance, providing tools for managing projects, issues, timesheets, and time logs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Redmine MCP Serverlist open issues assigned to me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Redmine Model Context Protocol (MCP) Server
A Model Context Protocol (MCP) server that connects to a Redmine instance, allowing LLM clients (such as Claude Desktop or Cursor) to interact with Redmine projects, issues, timesheets, and time logs.
Features & Tools
This server provides the following tools to the MCP client:
Tool Name | Description | Arguments / Inputs |
| Lists all visible projects in Redmine. | None |
| Lists issues with optional filters. |
|
| Retrieves detailed information of a specific issue by its ID. |
|
| Creates a new issue in a specific project. |
|
| Gets time entries (timesheet) for the authenticated user. |
|
| Logs spent hours on an issue or project. |
|
| Lists the available time entry activities (e.g., Development, Design) and their IDs. | None |
| Gets current user info, project memberships, and roles. | None |
Related MCP server: redmine-mcp-server
Getting Started
Prerequisites
Node.js (v18 or higher recommended)
Access to a Redmine instance with REST API enabled (and an API key generated)
Setup & Installation
Install dependencies:
npm installConfigure environment variables. Create a
.envfile in the root directory:REDMINE_URL=https://your-redmine-domain.com REDMINE_API_KEY=your_redmine_api_key_here LOG_LEVEL=info TRANSPORT=stdio PORT=3000REDMINE_URL: The base URL of your Redmine instance (e.g.,https://redmine.yourcompany.com).REDMINE_API_KEY: Your personal Redmine API access key (found under the "My Account" page in Redmine).LOG_LEVEL: The minimum logging severity level (e.g.,info,debug,warn,error). Defaults toinfo.TRANSPORT: The server communication protocol. Options arestdio(default) for local stdin/stdout, orsseto run the server over HTTP Server-Sent Events.PORT: The port to bind to when running inssetransport mode. Defaults to3000.
Development & Testing
To run the server in development mode (watches for file changes using
tsx):npm run devTo run a connection check/test script:
npx tsx src/test.tsTo build the project:
npm run buildTo run the built server in production mode:
npm start
Running as a Remote SSE Server
If you want to run the server remotely and connect to it over HTTP (Server-Sent Events) rather than using local stdin/stdout:
Configure
.envto use thessetransport and define a port:TRANSPORT=sse PORT=3000Start the server:
npm start(Or run
npm run devto run it with tsx watch in development mode)The server will run on
http://localhost:3000(or your configured port).The SSE connection endpoint is:
GET /sseThe client message endpoint is:
POST /messages
Integration with MCP Clients
Claude Desktop
To use this server with Claude Desktop, add it to your claude_desktop_config.json configuration file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the server configuration under the mcpServers object:
{
"mcpServers": {
"redmine-mcp": {
"command": "node",
"args": [
"/path/to/redmine-mcp/dist/server.js"
],
"env": {
"REDMINE_URL": "https://your-redmine-domain.com",
"REDMINE_API_KEY": "your_redmine_api_key_here"
}
}
}
}Make sure to run npm run build in the server directory before starting Claude Desktop so that dist/server.js exists.
Technical Details
Stdio Transport: The server communicates via standard input/output.
Stderr Logging: Because the stdout stream is dedicated strictly to JSON-RPC messages for the MCP protocol, all server application logs (using Pino) are routed to
process.stderrto prevent protocol stream corruption.Old Redmine Compatibility: The
redmine_log_timetool sends XML-formatted POST requests to/time_entries.xml. This prevents potential 404 errors on older Redmine instances (such as those running on Ruby 1.8.7) which do not support JSON payloads for creating time entries.
This server cannot be deployed
Maintenance
Related MCP Connectors
- TimequipOAuthcom.timequip
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interacting with a Redmine instance via REST API, allowing issues, projects, time logging, and generic endpoint calls through an MCP agent.87 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Redmine for task management, time logging, status updates, and progress tracking via the MCP protocol.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to interact with Redmine project management systems for issue tracking, time logging, and project management through natural language.11 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Redmine project management systems through MCP tools, providing access to issues, projects, time tracking, wiki, and more.77MIT