Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Redmine MCP Connector

Redmine MCP Connector

I
by io.github.Nikhilprasad-r

stdio MCP server wrapping the Redmine REST API: issues, projects, users, time, wiki, versions.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y [email protected]
Credentials from the publisher
  • REDMINE_BASE_URL — Base URL of your Redmine instance, no trailing slash (e.g. https://redmine.example.com)
  • REDMINE_API_KEY — Redmine API access key (My account -> Show API access key)
  • REDMINE_IMPERSONATE_USER — Admin-only impersonation login, sets X-Redmine-Switch-User
  • REDMINE_READONLY — If true, blocks all mutating HTTP methods (POST, PUT, PATCH, DELETE)
  • REDMINE_ALLOW_RAW_REQUEST — If true, registers the redmine_request escape-hatch tool for arbitrary REST paths
  • REDMINE_HTTP_TIMEOUT_MS — HTTP timeout in milliseconds
  • REDMINE_MAX_PAGES — Max pages when using fetch_all on list tools
  • REDMINE_MAX_DOWNLOAD_BYTES — Cap for redmine_attachment_download, in bytes (default 5 MiB)
Provider
Claude Code
REDMINE_BASE_URL=<value> REDMINE_API_KEY=<secret> REDMINE_IMPERSONATE_USER=<value> REDMINE_READONLY=<value> REDMINE_ALLOW_RAW_REQUEST=<value> REDMINE_HTTP_TIMEOUT_MS=<value> REDMINE_MAX_PAGES=<value> REDMINE_MAX_DOWNLOAD_BYTES=<value> claude mcp add io.github.nikhilprasad-r-redmine-mcp-connector -- npx -y [email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.nikhilprasad-r-redmine-mcp-connector": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "REDMINE_BASE_URL": "<value>",
        "REDMINE_API_KEY": "<secret>",
        "REDMINE_IMPERSONATE_USER": "<value>",
        "REDMINE_READONLY": "<value>",
        "REDMINE_ALLOW_RAW_REQUEST": "<value>",
        "REDMINE_HTTP_TIMEOUT_MS": "<value>",
        "REDMINE_MAX_PAGES": "<value>",
        "REDMINE_MAX_DOWNLOAD_BYTES": "<value>"
      }
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

stdio MCP server wrapping the Redmine REST API: issues, projects, users, time, wiki, versions.

Redmine MCP Server

stdio-based Model Context Protocol server that wraps a Redmine instance through its REST API (*.json endpoints). It runs as a separate Node.js process; no changes to the Redmine Rails app are required.

Requirements

  • Node.js 20+
  • A Redmine user with an API access key (My account → Show API access key)
  • Network access from this process to your Redmine REDMINE_BASE_URL

Install

No install needed for normal use — coding agents launch it on demand via npx:

npx -y redmine-mcp-connector

See CONNECTING.md for exact setup instructions for Claude Desktop, Claude Code, Cursor, Windsurf, Cline, VS Code, Zed, and any other MCP client, plus a local-build and Docker alternative.

To hack on the server itself, clone this repo instead:

npm install
npm run build

Configuration

Environment variables (see .env.example):

VariableRequiredDescription
REDMINE_BASE_URLyesBase URL, e.g. https://redmine.example.com (no trailing slash)
REDMINE_API_KEYyesX-Redmine-API-Key value
REDMINE_IMPERSONATE_USERnoSets X-Redmine-Switch-User (admin-only in Redmine)
REDMINE_READONLYnoIf true / 1, blocks all mutating HTTP methods
REDMINE_ALLOW_RAW_REQUESTnoIf true / 1, registers the redmine_request escape-hatch tool
REDMINE_HTTP_TIMEOUT_MSnoDefault 15000
REDMINE_MAX_PAGESnoMax pages when using fetch_all on list tools (default 20)
REDMINE_MAX_DOWNLOAD_BYTESnoCap for redmine_attachment_download (default 5 MiB)

Run

REDMINE_BASE_URL=https://your-redmine.example.com REDMINE_API_KEY=secret npm start
# or during development:
REDMINE_BASE_URL=... REDMINE_API_KEY=... npm run dev

Connecting to a coding agent

Full per-client instructions (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, VS Code, Zed, and generic MCP clients) live in CONNECTING.md. Quick example (Claude Desktop / Cursor / Windsurf all share this shape):

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-connector"],
      "env": {
        "REDMINE_BASE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}

MCP resources (read-only)

URIDescription
redmine://projectsGET /projects.json (first 100)
redmine://meGET /users/current.json
redmine://me/issuesGET /issues.json?assigned_to_id=me (limit 100)
redmine://projects/{id}GET /projects/:id.json

Tools overview

Naming: redmine_<resource>_<action>.

Issues: redmine_issues_list, redmine_issue_get, redmine_issue_create, redmine_issue_update, redmine_issue_add_comment, redmine_issue_delete (requires confirm: true), watchers add/remove, relations list/add/remove.

Projects: redmine_projects_list, redmine_project_get, create/update/archive/unarchive/delete (confirm for delete).

Users: redmine_current_user, redmine_users_list, redmine_user_get, create/update/delete (confirm for delete).

Time entries: list/get/create/update/delete (confirm for delete).

News: list/get/create/update/delete (confirm for delete).

Wiki: list pages, get page, create/update (PUT), delete (confirm).

Versions & categories: versions CRUD (confirm on delete), issue categories CRUD (confirm on delete).

Queries & metadata: redmine_queries_list, redmine_enumerations_list, redmine_trackers_list, redmine_issue_statuses_list, redmine_roles_list, redmine_role_get, redmine_custom_fields_list.

Groups (read-only): redmine_groups_list, redmine_group_get.

Memberships: list/create/update/delete (confirm on delete).

Attachments & search: redmine_search, attachment get/update/delete/upload/download (download returns base64, size-capped).

Repository (limited REST in stock Redmine): redmine_repository_revision_link_issue, redmine_repository_revision_unlink_issue (confirm). Listing repositories/revisions over JSON is not exposed by core Redmine; use redmine_request if you enable it, or plugins.

Escape hatch: redmine_request — only if REDMINE_ALLOW_RAW_REQUEST=true; DELETE requires confirm: true.

Safety

  • Destructive tools require explicit confirm: true where noted.
  • Set REDMINE_READONLY=true for read-only deployments.
  • API keys are never logged by this server.

Docker

Build a local image:

docker build -t redmine-mcp-server:local .

Run it (stdio MCP server):

docker run --rm -i   -e REDMINE_BASE_URL="https://redmine.example.com"   -e REDMINE_API_KEY="your_api_key_here"   redmine-mcp-server:local

Use this image in MCP config:

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "REDMINE_BASE_URL",
        "-e", "REDMINE_API_KEY",
        "docker.io/<docker-user>/redmine-mcp-server:latest"
      ],
      "env": {
        "REDMINE_BASE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Publish to Docker Hub Catalog

  1. Login:
docker login
  1. Create and use a buildx builder (one-time):
docker buildx create --name redmine-mcp-builder --use --bootstrap
  1. Build and push multi-arch image:
export IMAGE=docker.io/<docker-user>/redmine-mcp-server
export TAG=1.0.0

docker buildx build   --platform linux/amd64,linux/arm64   -t $IMAGE:$TAG   -t $IMAGE:latest   --push .
  1. In Docker Hub, set your repository description from this README and mark it as public for catalog discovery.

Development

npm run lint
npm test

Contributing

Contributions are welcome.

  • See CONNECTING.md for detailed client setup instructions.
  • Read CONTRIBUTING.md for local setup, coding expectations, and PR workflow.
  • Follow CODE_OF_CONDUCT.md to keep collaboration respectful and inclusive.
  • Use SUPPORT.md for help channels and what details to include.
  • Report vulnerabilities privately following SECURITY.md.
  • For public distribution templates (Docker + MCP directories), see REGISTRY_PUBLISHING.md.

License

GPL-2.0-or-later (same family as Redmine).

How do I install Redmine MCP Connector?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Redmine MCP Connector need an API key?
The publisher lists these environment variables: REDMINE_BASE_URL, REDMINE_API_KEY, REDMINE_IMPERSONATE_USER, REDMINE_READONLY, REDMINE_ALLOW_RAW_REQUEST, REDMINE_HTTP_TIMEOUT_MS, REDMINE_MAX_PAGES, REDMINE_MAX_DOWNLOAD_BYTES.
What transport does Redmine MCP Connector use?
Redmine MCP Connector runs locally over stdio.
When was Redmine MCP Connector last checked?
Last checked 2026-10-16. stdio MCP server wrapping the Redmine REST API: issues, projects, users, time, wiki, versions.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA