About Mcp For Redmine
Mcp For Redmine is an MCP server for managing Redmine from compatible clients. Its stdio tools cover core project, issue, user, and time-entry operations, along with additional Redmine APIs.
Key features
- 01Manage projects and issues
- 02Create and maintain users
- 03Query and record time entries
- 04Access wiki pages, files, and versions
- 05Paginate lists and expand associations
Use cases
- 01Create or update Redmine issues from a client
- 02Review project memberships and manage users
- 03Record and query project time
MCP support
The MCP server exposes Redmine management tools to compatible clients over stdio. A Redmine URL and API key are required.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @chspower1/mcp-for-redmineREDMINE_BASE_URLREDMINE_API_KEYSecretLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
67Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | The user's email address. Must be unique in the system. | |
| admin | boolean | No | Whether the user should have administrator privileges. Default is false. |
| login | string | Yes | The user's unique login name (username). This will be used for authentication. |
| lastname | string | Yes | The user's last name. |
| password | string | No | The user's password. Must be at least 8 characters. Cannot be used together with 'generate_password'. Either password or generate_password must be provided. |
| firstname | string | Yes | The user's first name. |
| auth_source_id | number | No | Authentication source ID for external authentication (LDAP, etc.). |
| generate_password | boolean | No | If true, Redmine will generate a random password and send it to the user's email. Cannot be used together with 'password'. Either password or generate_password must be provided. |
| mail_notification | string | No | Email notification option. Possible values depend on Redmine configuration. |
| must_change_passwd | boolean | No | If true, the user will be required to change password on next login. |
Details
From the project README
MCP-For-Redmine · 
This project is a Model-Context-Protocol (MCP) server for interacting with Redmine. With an MCP-compatible client, you can easily manage Redmine projects, issues, users, and time entries.
Currently, only the standard input/output (stdio) transport is supported.
Requirements
- Node.js 18 or higher
- Redmine API key (your personal API key from your Redmine account)
Compatibility baseline: Redmine 6.0.6
Getting Started
How to configure the MCP server for each environment:
Cursor
File (top-left) -> Preferences -> Cursor Settings -> MCP & Integrations -> New MCP Server
Config file: ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project)
📚 Docs: Cursor MCP documentation
{
"mcpServers": {
"mcp-for-redmine": {
"command": "npx",
"args": ["-y", "@chspower1/mcp-for-redmine@latest"],
"env": {
"REDMINE_BASE_URL": "https://your.redmine.tld",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop
Config files:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
📚 Docs: Claude Desktop MCP guide
{
"mcpServers": {
"mcp-for-redmine": {
"command": "npx",
"args": ["-y", "@chspower1/mcp-for-redmine@latest"],
"env": {
"REDMINE_BASE_URL": "https://your.redmine.tld",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code
📚 Docs: Claude Code MCP documentation
Set environment variables and run CLI:
# Set environment variables
export REDMINE_BASE_URL=https://your.redmine.tld
export REDMINE_API_KEY=your_api_key_here
# Add MCP server
claude mcp add mcp-for-redmine -- npx -y @chspower1/mcp-for-redmine@latest
Or edit the settings file directly: ~/.claude/settings.local.json
{
"mcpServers": {
"mcp-for-redmine": {
"command": "npx",
"args": ["-y", "@chspower1/mcp-for-redmine@latest"],
"env": {
"REDMINE_BASE_URL": "https://your.redmine.tld",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}
Gemini CLI
Config file: ~/.gemini/settings.json (global) or .gemini/settings.json (per-project)
📚 Docs: Gemini CLI MCP guide
{
"mcpServers": {
"mcp-for-redmine": {
"command": "npx",
"args": ["-y", "@chspower1/mcp-for-redmine@latest"],
"env": {
"REDMINE_BASE_URL": "https://your.redmine.tld",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}
OpenAI Codex
Config file: ~/.codex/config.toml
📚 Docs: OpenAI MCP documentation
[[mcp_servers]]
name = "mcp-for-redmine"
command = "npx"
args = ["-y", "@chspower1/mcp-for-redmine@latest"]
[mcp_servers.env]
REDMINE_BASE_URL = "https://your.redmine.tld"
REDMINE_API_KEY = "your_api_key_here"
Configuration Options
The server reads configuration in the following priority:
CLI flags (highest priority)
-u, --url <url>-k, --api-key <key>--no-tls-verify(optional, disable TLS verification)-
{ "mcpServers": { "mcp-for-redmine": { "command": "npx", "args": [ "-y", "@chspower1/mcp-for-redmine@latest", "--url", "https://your.redmine.tld", "--api-key", "YOUR_API_KEY" ] } } }
Environment variables
REDMINE_BASE_URLorREDMINE_URLREDMINE_API_KEYorREDMINE_TOKENREDMINE_TLS_VERIFY(optional, set tofalseor0to disable TLS verification)-
{ "mcpServers": { "mcp-for-redmine": { "command": "npx", "args": ["-y", "@chspower1/mcp-for-redmine@latest"], "env": { "REDMINE_BASE_URL": "https://your.redmine.tld", "REDMINE_API_KEY": "your_api_key_here" } } } }
.env file values
Supported variables:
REDMINE_BASE_URLorREDMINE_URL— Redmine server URLREDMINE_API_KEYorREDMINE_TOKEN— Redmine API keyREDMINE_TLS_VERIFY— Set tofalseor0to disable TLS verification (optional)
Warning
> Security Warning: Disabling TLS verification (
REDMINE_TLS_VERIFY=falseor--no-tls-verify) makes your connection vulnerable to Man-in-the-Middle (MitM) attacks. Only use this option in trusted environments (e.g., internal networks with self-signed certificates). Never use it when connecting to public Redmine instances over the internet.
Key Features
Currently available tools:
Stable API
- Users:
users_create,users_get,users_current,users_list,users_update,users_delete - Projects:
projects_list,projects_get,projects_create,projects_update,projects_archive,projects_unarchive,projects_delete - Issues:
issues_list,issues_get,issues_create,issues_update,issues_delete - Time Entries:
time_entries_list,time_entries_get,time_entries_create,time_entries_update,time_entries_delete
Alpha API
- Enumerations:
enumerations_issue_priorities_list,enumerations_time_entry_activities_list - Memberships:
memberships_list_project_memberships,memberships_get,memberships_create,memberships_update,memberships_delete - Issue Relations:
issue_relations_list,issue_relations_get,issue_relations_create,issue_relations_delete - Versions:
versions_list,versions_get,versions_create,versions_update,versions_delete - Wiki Pages:
wiki_pages_list,wiki_pages_get,wiki_pages_create_or_update,wiki_pages_delete - Queries:
queries_list - Files:
files_list - Attachments:
attachments_get,attachments_delete,attachments_upload - Issue Statuses:
issue_statuses_list - Trackers:
trackers_list - Roles:
roles_list,roles_get - Groups:
groups_list,groups_get,groups_create,groups_update,groups_delete,groups_add_user,groups_remove_user - Custom Fields:
custom_fields_list - Issue Categories:
issue_categories_list,issue_categories_get,issue_categories_create,issue_categories_update,issue_categories_delete - My Account:
my_account_get - Search:
search
The input schema for each tool is defined in src/schema/*.schema.ts. Results are returned as JSON-formatted text.
Common Input Rules (dev)
- Collection pagination: most list tools support
offsetandlimit(default 25, max 100) - Association expansion: some
get/listtools supportinclude(e.g., issues:children,attachments,journals,...) - Attachment upload token:
attachments_uploadsends a Base64 file to/uploads.jsonand returns a token. Use this token in theuploadsfield ofissues_create/updateorwiki_pages_create_or_updateto associate attachments. - Tool-specific extras/constraints: for detailed constraints (e.g., issue
custom_fields,watcher_user_ids, etc.), see each tool’s schema insrc/schema/*.schema.ts.
Troubleshooting Guide
- Configuration errors
- Example messages:
❌ Redmine URL is required!or❌ Redmine API key is required! - How to fix: Choose one of the configuration methods shown in the error message. For security, environment variables are recommended.
- Example messages:
- Node.js/ESM-related errors
- Ensure you are using Node.js 18 or higher.
- Authentication and network errors (401, 403, etc.)
- Verify your API key permissions and URL, and check for network issues.
- Execution issues on Windows
- Try running with
cmd /c npx ...as shown in the guide.
- Try running with
Security & Permissions
- API keys are sensitive; avoid exposing them in Git commits, logs, or shared repositories.
- For irreversible actions like deleting projects or issues, double-check permissions and proceed carefully.
Roadmap
We plan to deepen coverage of beta endpoints (e.g., attachment upload flows), add SSE (Server-Sent Events), and enhance examples/tests.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.