Redmine-MCP
This project is a custom MCP server that integrates with Redmine, allowing VS Code users to manage Redmine projects and issues using the Cline extension. It requires Node.js, a running Redmine instance, and the Cline extension to function.
Redmine MCP Server for Cline
This is a custom MCP (Model Context Protocol) server that integrates with Redmine, allowing you to interact with your Redmine projects and issues through the Cline VS Code extension.
Prerequisites
- Node.js: You need Node.js (version 18 or newer) installed on your system.
- Redmine Instance: You need a running Redmine instance with the REST API enabled.
- Redmine API Key: You need an API key for your Redmine user account. You can find this in your Redmine account settings (usually under "My Account" -> "API access key").
- Cline: You need the Cline VS Code extension installed and configured.
Installation
- Clone the repository:
git clone https://github.com/ilask/Redmine-MCP.git cd Redmine-MCP
- Install dependencies:
npm install
Configuration
-
Set environment variables: Create a
.env
file in the root of the project directory and add the following, replacing the placeholders with your actual Redmine hostname and API key:REDMINE_HOST=your-redmine-host.com REDMINE_API_KEY=your-redmine-api-key
Important: Do not commit your
.env
file to version control! It contains sensitive information. The.gitignore
file included in this repository should prevent it from being committed.
Adding to Cline
-
Open Cline Settings: In VS Code, open the Cline extension and go to the MCP Server tab.
-
Edit MCP Settings: Click "Edit MCP Settings" to open the
cline_mcp_settings.json
file. -
Add the server: Add the following entry to the
mcpServers
object, replacing theargs
path with the absolute path to theserver.js
file on your system:{ "mcpServers": { "redmine-server": { "command": "node", "args": ["C:\\Users\\yourusername\\path\\to\\Redmine-MCP\\server.js"], "disabled": false, "autoApprove": [] } } }
Important: Make sure to use double backslashes (
\\
) in the path on Windows. -
Save: Save the
cline_mcp_settings.json
file. Cline should automatically detect the changes and start the server.
Available Resources and Tools
Resources
-
redmine://projects/{project_id}
: This resource represents a Redmine project. Replace{project_id}
with the actual ID of a project in your Redmine instance. You can use theaccess_mcp_resource
tool in Cline to read the details of a project. For example:<access_mcp_resource> <server_name>redmine-server</server_name> <uri>redmine://projects/123</uri> </access_mcp_resource>
(Replace 123
with a valid project ID). This will return the project details as JSON.
Tools
-
create_issue
: This tool allows you to create a new issue in Redmine. It takes the following parameters:project_id
(string, required): The ID of the project where the issue should be created.subject
(string, required): The subject of the issue.description
(string, required): The description of the issue.
You can use the
use_mcp_tool
tool in Cline to call this tool. For example:<use_mcp_tool> <server_name>redmine-server</server_name> <tool_name>create_issue</tool_name> <arguments> { "project_id": "456", "subject": "My New Issue", "description": "This is a test issue created via Cline." } </arguments> </use_mcp_tool>
(Replace
456
with a valid project ID). This will create a new issue in the specified project and return the issue details as JSON.
Troubleshooting
- Connection closed error: If you see an error like "MCP error -1: Connection closed", make sure that your
REDMINE_HOST
andREDMINE_API_KEY
environment variables are correctly set. Also, ensure that your Redmine instance is accessible from your computer. - Check server logs: If you encounter issues, check the server's output in the VS Code terminal for any error messages. The server logs errors to the console.