{"_id":"@alarmzb/redmine","_rev":"2-de6755487aeb82f2218a36888e05a38f","name":"@alarmzb/redmine","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@alarmzb/redmine","version":"1.0.0","_id":"@alarmzb/redmine@1.0.0","maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"bin":{"redmine":"dist/index.js"},"dist":{"shasum":"45db64197b62d7477bf1864de57b6d8b6d3591fb","tarball":"https://registry.npmjs.org/@alarmzb/redmine/-/redmine-1.0.0.tgz","fileCount":21,"integrity":"sha512-KzjCRP4x48OteDTBASagvKSrydo5WkffVkYXdhk9OxpkIpJpXWbrlhpoLAB6IDa/K4Nuk0+VZBC+QdNoWRFeKQ==","signatures":[{"sig":"MEQCIEYGRK9deWPxlFw4zOvv+wDtM+VwNPFeq0qsSO+I8ZiIAiBIf1DPExaIl/fCJoB228pJsUZY+qZz34+2bJzAdummfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29558},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c13dd1d490db536cde32c69cdb1b2c2adbc5f7f0","scripts":{"dev":"tsc --watch","test":"vitest run tests/unit","build":"tsc","start":"node dist/index.js","test:all":"vitest run","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"alarmz","email":"alarmz@gmail.com"},"_npmVersion":"10.9.4","description":"Redmine MCP Server for AI agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.25.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/redmine_1.0.0_1775433417827_0.04047717254579397","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alarmzb/redmine","version":"1.0.1","description":"Redmine MCP Server for AI agents","type":"module","main":"dist/index.js","bin":{"redmine":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","test":"vitest run tests/unit","test:integration":"vitest run tests/integration","test:all":"vitest run"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.25.0"},"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0","vitest":"^3.1.0"},"_id":"@alarmzb/redmine@1.0.1","gitHead":"dde5884edd5c295172d73e936a01fa5b139907e1","types":"./dist/index.d.ts","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-+Z7K+TVWfYjt1+cjgT0145sNO9Rr95Dr1m44naIFh0wTzLB1K8vHJkTZEx8hCAedzNmKTcvcFiob71B6VQCQYQ==","shasum":"cd74a376f71cf7c6b9e4ded2427251549923335b","tarball":"https://registry.npmjs.org/@alarmzb/redmine/-/redmine-1.0.1.tgz","fileCount":22,"unpackedSize":31947,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0LAHQSMfOhZhkqDBqRhONXi/h56XxDZNMlh3wulHx3wIga3Aiq2A+k3hgeWqv0kixRrv5QFQzD4x3BZPA1QKSl6I="}]},"_npmUser":{"name":"alarmz","email":"alarmz@gmail.com"},"directories":{},"maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/redmine_1.0.1_1776131407580_0.04406778644355924"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T23:56:57.697Z","modified":"2026-04-14T01:50:07.930Z","1.0.0":"2026-04-05T23:56:57.959Z","1.0.1":"2026-04-14T01:50:07.779Z"},"description":"Redmine MCP Server for AI agents","maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"readme":"# @alarmzb/redmine\n\nRedmine (aka **PSC**) MCP Server — 讓 AI Agent 存取 Redmine issues、討論、附件圖片。\n\n## 安裝\n\n### Claude Code\n```bash\nclaude mcp add redmine -- npx -y @alarmzb/redmine\n```\n\n### 其他 client (Claude Desktop / Codex / Roo Code / OpenCode)\n在設定檔中加入：\n```json\n{\n  \"mcpServers\": {\n    \"redmine\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@alarmzb/redmine\"]\n    }\n  }\n}\n```\n\n## `.env` 設定\n\n憑證預設存放在**當前工作目錄的 `.env`**，由 `redmine_set_url` / `redmine_set_credentials` tool 自動寫入。亦可手動建立。\n\n### 正確的環境變數名稱\n\n| 變數 | 必填 | 說明 |\n|------|------|------|\n| `REDMINE_URL` | ✅ | Redmine 伺服器 URL，例如 `https://redmine.example.com` |\n| `REDMINE_API_KEY` | 擇一 | Redmine 個人 API Key（推薦） |\n| `REDMINE_USERNAME` | 擇一 | 帳號（與 `REDMINE_PASSWORD` 搭配） |\n| `REDMINE_PASSWORD` | 擇一 | 密碼 |\n\n> 注意：變數名稱固定為 `REDMINE_*`，**不是 `JIRA_*`**。此套件與 JIRA 無關。\n\n### 範例 `.env`\n\n```dotenv\nREDMINE_URL=https://redmine.example.com\nREDMINE_API_KEY=your-api-key-here\n```\n\n### 自訂 `.env` 路徑\n\n透過 MCP client 的 `env` 欄位設定 `DOTENV_PATH`，可讓多專案共用同一份 `.env`：\n\n```json\n{\n  \"mcpServers\": {\n    \"redmine\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@alarmzb/redmine\"],\n      \"env\": { \"DOTENV_PATH\": \"/home/you/.redmine.env\" }\n    }\n  }\n}\n```\n\n## Tools\n\n| Tool | 說明 |\n|------|------|\n| `redmine_set_url` | 設定 `REDMINE_URL`（寫入 `.env`） |\n| `redmine_set_credentials` | 設定 API Key 或 帳號/密碼（寫入 `.env`） |\n| `redmine_get_issue` | 取得 issue 完整內容（含討論與附件圖片 base64） |\n| `redmine_search_issues` | 搜尋 issues（支援狀態、專案、指派者篩選） |\n| `redmine_get_attachment` | 下載指定附件 |\n\n## 首次使用\n\n設定完 MCP client 後重啟 AI Agent，對 AI 說：\n\n```\n幫我設定 Redmine：\n- URL: https://your-redmine-server\n- API Key: your-api-key\n```\n\nAI 會自動呼叫 `redmine_set_url` 與 `redmine_set_credentials` 寫入 `.env`。之後問 `PSC #1231` / `Redmine #1231` 即可查詢。\n\n## 相關\n\n- Repo: https://github.com/alarmz/mcp-hub\n- 搭配套件：[`@alarmzb/nfd-generator`](https://www.npmjs.com/package/@alarmzb/nfd-generator)（從 PSC 內容自動產生 NFD 文件）\n","readmeFilename":"README.md"}