andrelaptenok/redmine-mcp-stdio

📋 Product Management
0 Views
0 Installs

📇 🏠 🍎 🪟 🐧 - Search, read, create and update Redmine issues, projects and time entries from any MCP client. 12 tools with MCP safety annotations: full-text search, issue journals with attachments, comments and time tracking. npx -y redmine-mcp-stdio

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "andrelaptenok-redmine-mcp-stdio": {
      "command": "npx",
      "args": [
        "-y",
        "andrelaptenok-redmine-mcp-stdio"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

redmine-mcp-stdio logo

redmine-mcp-stdio

A local Model Context Protocol server (stdio) for Redmine. Point an MCP client at it (Cursor, VS Code, Claude, Codex, Windsurf, Cline, Zed, JetBrains AI and others) and work with Redmine issues, projects and time entries straight from the editor.

npm npm downloads CI license node

Tools

ToolWhat it doesKey parameters
list_issuesList/filter issues, paginatedproject_id, status_id, assigned_to_id, query, limit, offset, all
get_issueFull details of one issue + comments/history + attachmentsid, include_journals (default true)
list_projectsAccessible projectslimit
get_projectProject details, versions and membersid
create_issueCreate an issueproject_id, subject, description, tracker_id, priority_id, assigned_to_id, status_id
update_issueUpdate issue fieldsid + any of subject, status_id, priority_id, assigned_to_id, done_ratio, notes
add_commentAdd a note to an issueid, notes
log_timeLog a time entry on an issue/projectissue_id or project_id, hours, activity_id, comments, spent_on
list_time_entriesList time entries, filteredissue_id, project_id, user_id, from, to, limit, offset
list_enumerationsIDs of trackers/statuses/priorities/activitiesnone
searchFull-text search (issues, wiki, news, …)q, project_id, types, titles_only, open_issues, limit, offset
get_current_userAccount behind the API key (id, login, name)none

Every tool ships MCP tool annotations (readOnlyHint, destructiveHint, …), so clients can auto-approve read-only calls.

Install

No manual install needed. The client launches the server on demand with npx, which downloads it on first run and caches it after. Just add the config for your client under Connect.

Prefer to run from a local clone? See Development.

Get a Redmine API key

My account > API access key > Show.

  • If there's no such section, an admin must enable the REST API in Administration > Settings > API.
  • The key must belong to a user with permission to view (and, for writes, create/edit) issues.

⚠️ Never commit your API key. Copy .env.example to .env for local use; .env is gitignored.

Connect

The server reads REDMINE_URL and REDMINE_API_KEY from the environment. Provide them via the client's MCP config env block.

Cursor

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in a project root:

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

Reload Cursor and enable the server in Settings > MCP.

VS Code (GitHub Copilot)

Edit .vscode/mcp.json in your workspace (or your user mcp.json). Note the top-level key is servers, not mcpServers:

{
  "servers": {
    "redmine": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

Claude Code

claude mcp add redmine \
  --env REDMINE_URL=https://redmine.your-company.com \
  --env REDMINE_API_KEY=your_key \
  -- npx -y redmine-mcp-stdio

Or edit ~/.claude.json / the project .mcp.json directly (same shape as Claude Desktop below).

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

Restart Claude Desktop afterwards.

Codex CLI

Add a server table to ~/.codex/config.toml:

[mcp_servers.redmine]
command = "npx"
args = ["-y", "redmine-mcp-stdio"]
env = { REDMINE_URL = "https://redmine.your-company.com", REDMINE_API_KEY = "your_key" }

If node is installed via nvm, use the full path from which npx as command.

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

In Cascade, open MCP servers > Manage > View raw config, paste, then refresh. Supports ${env:VAR} interpolation if you'd rather not inline the key.

Cline

In the Cline pane, click the MCP Servers icon and choose Configure MCP Servers to open cline_mcp_settings.json:

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

Zed

Zed calls MCP servers context servers. Open the command palette and run zed: open settings, then add to settings.json (note "source": "custom"):

{
  "context_servers": {
    "redmine": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "redmine-mcp-stdio"],
      "env": {
        "REDMINE_URL": "https://redmine.your-company.com",
        "REDMINE_API_KEY": "your_key"
      }
    }
  }
}

Zed restarts the server on save, so no editor reload is needed.

JetBrains AI Assistant (2025.2+)

Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add:

  • Type: stdio
  • Command: npx (if node is installed via nvm, use the full path from which npx)
  • Arguments: -y redmine-mcp-stdio
  • Environment:
    • REDMINE_URL=https://redmine.your-company.com
    • REDMINE_API_KEY=your_key

Enable "Automatically enable new and changed MCP servers", then Apply. Click the status icon and you should see 12 tools. Invoke them in chat with /.

Verify locally (optional)

REDMINE_URL=https://redmine.your-company.com REDMINE_API_KEY=your_key npx -y redmine-mcp-stdio

The process should start and wait silently on stdio (Ctrl+C to exit).

Troubleshooting

  • Failed to connect / server won't start: the command must resolve in the client's environment. If node is installed via nvm, a bare npx may not be found. Use the full path from which npx as the command.
  • Missing REDMINE_URL or REDMINE_API_KEY: the env block wasn't passed. Double-check it's in the MCP config, not your shell.
  • Redmine 401 / 403: bad API key, or the key's user lacks permission for that action.
  • Redmine 404: the issue/project id doesn't exist, or REDMINE_URL points at the wrong host.

Configuration

VariableRequiredDefaultDescription
REDMINE_URLyesn/aBase URL of your Redmine instance (http/https)
REDMINE_API_KEYyesn/aPersonal API access key
REDMINE_TIMEOUT_MSno10000Per-request timeout in milliseconds
REDMINE_MAX_RETRIESno2Retries on 429/5xx with exponential backoff

Architecture

The code is organized in layers, with a single HTTP client injected into each tool group so that tools never touch transport or process.env directly:

src/
  index.ts            entry point: load config, build client, register tools, serve stdio
  config.ts           env parsing + validation (Zod) into a typed RedmineConfig
  version.ts          single source of the version string
  redmine/
    client.ts         RedmineClient: auth, timeout, retry, host pinning, secret redaction
    errors.ts         RedmineError / ConfigError + HTTP error normalization
    paths.ts          safe path-segment encoding + project-id validation
    types.ts          Redmine API response types
  tools/
    register.ts       wires every tool group onto the server
    issues.ts         list/get/create/update issues + add_comment
    projects.ts       list/get projects (versions, members)
    time-entries.ts   log_time, list_time_entries
    enumerations.ts   trackers / statuses / priorities / activities
    search.ts         full-text search across issues, wiki, news, ...
    users.ts          get_current_user
    helpers.ts        guard(), ok()/fail(), ToolResult
  format.ts           pure presentation helpers

Development

npm run build       # compile src/ to build/
npm run typecheck   # tsc --noEmit (strict)
npm run lint        # eslint
npm run format      # prettier --write
npm test            # build, then run the vitest suite
npm run check       # typecheck + lint + format:check + test (what CI runs)

See CHANGELOG.md for releases.

Security

The API key is never logged and is redacted from error output; requests are pinned to the configured host, path parameters are encoded, and every call is bounded by a timeout and a response-size cap. Details and reporting: SECURITY.md.

License

MIT. See LICENSE.

Related MCP Servers

agrath/Trello-Desktop-MCP

📇 ☁️ 🍎 🪟 🐧 - Comprehensive Trello integration: 46 tools covering boards, cards, lists, labels, checklists, attachments, members, custom fields, and search. Read-only mode, image attachment

📋 Product Management0 views
AIOProductOS/claude-plugin

🎖️ ☁️ - Product management over a shared product spine: link customer feedback and insights to features, tasks, sprints, releases and objectives; weekly signal memo; roadmap-drift detection; customer 360, funnel, path, retention, NPS and NRR analytics; artifact versioning and identity resolution. 38 tools, hosted remote server with OAuth 2.1 (DCR + PKCE).

📋 Product Management0 views
daiji-sshr/redmine-mcp-stateless

🐍 🏠 🐧 - Stateless Redmine MCP server. Credentials are passed per-request via HTTP headers and never stored on the server. Supports listing/creating/updating issues, full-text search across subjects, descriptions and comments, and editing journals (Redmine 5.0+). Deployable on RHEL (systemd) or Docker.

📋 Product Management0 views
devemberx/mcp-server-polarion

🐍 ☁️ 🍎 🪟 🐧 - Polarion ALM integration with 24 read/write tools for documents, work items, traceability links, and comments. Renders documents as Markdown, searches with Lucene or SQL, walks incoming/outgoing links, and creates/updates/reorganizes work items. Every write tool supports dryrun with pre-write field, enum, and link-target validation. Requires Polarion 2506+. uvx mcp-server-polarion.

📋 Product Management0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

Last checked: 7/28/2026, 12:26:54 PM

Unclaimed listing (imported or pending owner verification). Claim it →
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.