Redmine Mcp Connector

io.github.Nikhilprasad-r由 GitHub 帳號 Nikhilprasad-r 發布v1.0.1更新於 Oct 25, 2026

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

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

本機 stdio MCP 伺服器,封裝 Redmine REST API,讓助理讀取與管理議題、專案、使用者、工時、Wiki 頁面與附件

可以做什麼
列出、讀取、建立、更新、留言與刪除議題,包含關注者與關聯,以及搜尋和附件上傳、下載、更新、刪除。管理專案、使用者、群組、成員關係、版本與議題分類。處理工時記錄、新聞與 Wiki 頁面。查詢查詢集、追蹤標籤、狀態、角色、自訂欄位與列舉值。可選擇透過原始請求工具呼叫任意 REST 路徑。
適用情境
適合助理需要操作自架或託管的 Redmine 執行個體時:分流與更新工單、登記工時、編輯 Wiki 頁面,或在對話中查詢專案中繼資料。
執行需求
Node.js 20+(或 Docker),透過 npx 或本機建置啟動。需要 REDMINE_BASE_URL 與 Redmine API 存取金鑰 REDMINE_API_KEY,且行程需能透過網路存取該 Redmine 執行個體。選用變數可控制逾時、分頁、下載大小、使用者模擬、唯讀模式與原始請求工具。
安裝前請注意
API 金鑰擁有對應使用者的 Redmine 權限,請勿放入共用設定。許多工具會建立、更新或刪除資料,刪除需 confirm: true。REDMINE_READONLY=true 可阻擋寫入操作。REDMINE_IMPERSONATE_USER 僅限管理員,會以其他使用者身分操作。REDMINE_ALLOW_RAW_REQUEST 會開放任意 REST 呼叫,包括 DELETE。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Redmine Mcp Connector,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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:

bash
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:

bash
npm installnpm 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

bash
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):

json
{  "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:

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

Run it (stdio MCP server):

bash
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:

json
{  "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:
bash
docker login
  1. Create and use a buildx builder (one-time):
bash
docker buildx create --name redmine-mcp-builder --use --bootstrap
  1. Build and push multi-arch image:
bash
export IMAGE=docker.io/<docker-user>/redmine-mcp-serverexport 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

bash
npm run lintnpm test

Contributing

Contributions are welcome.

License

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

來源:README.md,提交 bd5d8d5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 24, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分