@erlichmak/redmine-mcp
v0.1.3
Published
MCP stdio server for Redmine REST API
Maintainers
Readme
Redmine MCP
A stdio MCP server for Redmine's REST API. It lets Codex, Cursor, Claude Desktop, and other MCP clients query and update Redmine without clicking through the Redmine web UI.
How It Works
The MCP client starts this package as a child process over stdio. This package receives MCP tool calls, calls Redmine's REST API with your REDMINE_URL and REDMINE_API_KEY, and returns structured results to the client.
No Redmine URL, API key, or company-specific defaults are bundled in the npm package.
Requirements
- Node.js 20 or newer
- A Redmine instance with REST API enabled
- A Redmine API key for a scoped user account
In Redmine, REST API access is usually enabled by an admin under:
Administration -> Settings -> API -> Enable REST web serviceThe API key is usually available from:
My account -> API access keyCodex Configuration
Add this to ~/.codex/config.toml:
[mcp_servers.redmine]
command = "npx"
args = ["-y", "@erlichmak/redmine-mcp"]
[mcp_servers.redmine.env]
REDMINE_URL = "https://redmine.example.com"
REDMINE_API_KEY = "replace-with-your-token"Restart Codex or start a new Codex session after changing MCP config.
Generic MCP Client Configuration
Many MCP clients use a JSON config like this:
{
"mcpServers": {
"redmine": {
"command": "npx",
"args": ["-y", "@erlichmak/redmine-mcp"],
"env": {
"REDMINE_URL": "https://redmine.example.com",
"REDMINE_API_KEY": "replace-with-your-token"
}
}
}
}Environment Variables
REDMINE_URL: Redmine base URL, for examplehttps://redmine.example.comREDMINE_API_KEY: Redmine API key for a scoped user accountREDMINE_DEFAULT_LIMIT: optional, defaults to25REDMINE_MAX_LIMIT: optional, defaults to100
Use a dedicated Redmine user or a least-privilege user token when possible. Avoid admin tokens.
Tools
redmine_list_projectsredmine_list_issue_statusesredmine_list_trackersredmine_list_issue_prioritiesredmine_list_issuesredmine_get_issueredmine_create_issueredmine_update_issueredmine_add_issue_noteredmine_confirm_writeredmine_list_users
Write Confirmation
Write tools do not modify Redmine immediately. These tools first return a pending write token:
redmine_create_issueredmine_update_issueredmine_add_issue_note
To execute the pending write, call redmine_confirm_write with the returned token and this exact confirmation text:
确认执行The match is strict. Extra spaces, punctuation, or different text will not execute the write. Pending write tokens expire after 10 minutes.
Example Requests
Examples of user requests an MCP client can map to these tools:
List my open Redmine issues.
Show Redmine issue #12345 with journals and attachments.
Add a note to #12345 saying the fix has been submitted for review.
Move #12345 to In Progress.
Create a Bug in project VibeMate assigned to me.Security Notes
- Do not put Redmine API keys into shared files, project files, or chat logs.
- Prefer a scoped Redmine user over an admin account.
- Review write operations before allowing an agent to update production Redmine data.
- Keep credentials in MCP client env config or a local secret manager.
