mcpField
M
Mcp For Redmine

Mcp For Redmine

本地服务
github.com/chspower1生产力1347 周前更新

关于 Mcp For Redmine

Mcp For Redmine 是连接 Redmine 的 MCP 服务,供兼容 MCP 的客户端管理项目、问题、用户和工时记录。它通过 stdio 提供稳定及 Alpha API 工具。

主要功能

  1. 01管理项目与问题
  2. 02创建和维护用户
  3. 03查询及记录工时
  4. 04访问 Wiki、附件和版本
  5. 05支持分页与关联数据展开

适用场景

  1. 01在客户端中创建或更新 Redmine 问题
  2. 02查看项目成员并管理用户
  3. 03记录和查询项目工时

MCP 相关

作为 MCP 服务,它通过 stdio 向兼容客户端提供 Redmine 管理工具;连接需要 Redmine URL 和 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"for-redmine": {
"command": "npx",
"args": [
"-y",
"@chspower1/mcp-for-redmine"
],
"env": {
"REDMINE_BASE_URL": "<REDMINE_BASE_URL>",
"REDMINE_API_KEY": "<REDMINE_API_KEY>"
}
}
}
}
启动命令npx -y @chspower1/mcp-for-redmine
需要配置的环境变量
REDMINE_BASE_URL
REDMINE_API_KEY密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@chspower1/mcp-for-redmine

工具

67

收录的工具列表 · 更新于 2 周前

参数类型必填说明
mailstring是用户的电子邮件地址。在系统中必须唯一。
adminboolean否用户是否应拥有管理员权限。默认为 false。
loginstring是用户的唯一登录名(用户名)。此名称将用于身份验证。
lastnamestring是用户的姓氏。
passwordstring否用户的密码。长度必须至少为 8 个字符。不能与 'generate_password' 一起使用。必须提供 password 或 generate_password。
firstnamestring是用户的名字。
auth_source_idnumber否用于外部身份验证(LDAP 等)的身份验证源 ID。
generate_passwordboolean否如果为 true,Redmine 将生成随机密码并发送到用户的电子邮件地址。不能与 'password' 一起使用。必须提供 password 或 generate_password。
mail_notificationstring否电子邮件通知选项。可用值取决于 Redmine 配置。
must_change_passwdboolean否如果为 true,用户下次登录时必须更改密码。

详细介绍

MCP-FOR-REDMINE

MCP-For-Redmine · MIT License

English | 한국어 | 日本語 | 简体中文

本项目是一个用于与 Redmine 交互的 Model-Context-Protocol (MCP) 服务。借助兼容 MCP 的客户端,您可以轻松管理 Redmine 项目、问题、用户和工时记录。

目前仅支持标准输入/输出(stdio)传输方式。

要求

  • Node.js 18 或更高版本
  • Redmine API 密钥(您 Redmine 账户中的个人 API 密钥)

兼容性基准:Redmine 6.0.6

快速开始

各环境下 MCP 服务的配置方法:

Cursor

文件(左上角) -> 首选项 -> Cursor 设置 -> MCP 与集成 -> 新建 MCP 服务

配置文件:~/.cursor/mcp.json(全局)或 .cursor/mcp.json(每个项目)

📚 文档:Cursor MCP 文档

Install MCP Server

{
  "mcpServers": {
    "mcp-for-redmine": {
      "command": "npx",
      "args": ["-y", "@chspower1/mcp-for-redmine@latest"],
      "env": {
        "REDMINE_BASE_URL": "https://your.redmine.tld",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
Claude Desktop

配置文件:

  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json

📚 文档:Claude Desktop MCP 指南

{
  "mcpServers": {
    "mcp-for-redmine": {
      "command": "npx",
      "args": ["-y", "@chspower1/mcp-for-redmine@latest"],
      "env": {
        "REDMINE_BASE_URL": "https://your.redmine.tld",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
Claude Code

📚 文档:Claude Code MCP 文档

设置环境变量并运行命令行:

# Set environment variables
export REDMINE_BASE_URL=https://your.redmine.tld
export REDMINE_API_KEY=your_api_key_here

# Add MCP server
claude mcp add mcp-for-redmine -- npx -y @chspower1/mcp-for-redmine@latest

或直接编辑设置文件:~/.claude/settings.local.json

{
  "mcpServers": {
    "mcp-for-redmine": {
      "command": "npx",
      "args": ["-y", "@chspower1/mcp-for-redmine@latest"],
      "env": {
        "REDMINE_BASE_URL": "https://your.redmine.tld",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
Gemini CLI

配置文件:~/.gemini/settings.json(全局)或 .gemini/settings.json(每个项目)

📚 文档:Gemini CLI MCP 指南

{
  "mcpServers": {
    "mcp-for-redmine": {
      "command": "npx",
      "args": ["-y", "@chspower1/mcp-for-redmine@latest"],
      "env": {
        "REDMINE_BASE_URL": "https://your.redmine.tld",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
OpenAI Codex

配置文件:~/.codex/config.toml

📚 文档:OpenAI MCP 文档

[[mcp_servers]]
name = "mcp-for-redmine"
command = "npx"
args = ["-y", "@chspower1/mcp-for-redmine@latest"]

[mcp_servers.env]
REDMINE_BASE_URL = "https://your.redmine.tld"
REDMINE_API_KEY = "your_api_key_here"

配置选项

服务按以下优先级读取配置:

CLI 标志(最高优先级)
  • -u, --url <url>
  • -k, --api-key <key>
  • --no-tls-verify(可选,禁用 TLS 验证)
  • {
      "mcpServers": {
        "mcp-for-redmine": {
          "command": "npx",
          "args": [
            "-y",
            "@chspower1/mcp-for-redmine@latest",
            "--url",
            "https://your.redmine.tld",
            "--api-key",
            "YOUR_API_KEY"
          ]
        }
      }
    }
    
Environment variables
  • REDMINE_BASE_URL or REDMINE_URL
  • REDMINE_API_KEY or REDMINE_TOKEN
  • REDMINE_TLS_VERIFY (optional, set to false or 0 to disable TLS verification)
  • {
      "mcpServers": {
        "mcp-for-redmine": {
          "command": "npx",
          "args": ["-y", "@chspower1/mcp-for-redmine@latest"],
          "env": {
            "REDMINE_BASE_URL": "https://your.redmine.tld",
            "REDMINE_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
.env 文件中的值

支持的变量:

  • REDMINE_BASE_URL 或 REDMINE_URL — Redmine 服务 URL
  • REDMINE_API_KEY 或 REDMINE_TOKEN — Redmine API 密钥
  • REDMINE_TLS_VERIFY — 设置为 false 或 0 可禁用 TLS 验证(可选)

警告

> 安全警告:禁用 TLS 验证(REDMINE_TLS_VERIFY=false 或 --no-tls-verify)会使您的连接容易受到中间人(MitM)攻击。仅在可信环境中使用此选项(例如,使用自签名证书的内部网络)。通过互联网连接到公共 Redmine 实例时,切勿使用此选项。

主要功能

当前可用的工具:

稳定版 API

  • 用户:users_create、users_get、users_current、users_list、users_update、users_delete
  • 项目:projects_list、projects_get、projects_create、projects_update、projects_archive、projects_unarchive、projects_delete
  • 问题:issues_list、issues_get、issues_create、issues_update、issues_delete
  • 工时记录:time_entries_list、time_entries_get、time_entries_create、time_entries_update、time_entries_delete

Alpha API

  • 枚举:enumerations_issue_priorities_list、enumerations_time_entry_activities_list
  • 成员关系:memberships_list_project_memberships、memberships_get、memberships_create、memberships_update、memberships_delete
  • 问题关联:issue_relations_list、issue_relations_get、issue_relations_create、issue_relations_delete
  • 版本:versions_list、versions_get、versions_create、versions_update、versions_delete
  • Wiki 页面:wiki_pages_list、wiki_pages_get、wiki_pages_create_or_update、wiki_pages_delete
  • 查询:queries_list
  • 文件:files_list
  • 附件:attachments_get、attachments_delete、attachments_upload
  • 问题状态:issue_statuses_list
  • 跟踪器:trackers_list
  • 角色:roles_list、roles_get
  • 群组:groups_list、groups_get、groups_create、groups_update、groups_delete、groups_add_user、groups_remove_user
  • 自定义字段:custom_fields_list
  • 问题类别:issue_categories_list、issue_categories_get、issue_categories_create、issue_categories_update、issue_categories_delete
  • 我的账户:my_account_get
  • 搜索:search

每个工具的输入 schema 定义在 src/schema/*.schema.ts 中。结果以 JSON 格式的文本返回。

常见输入规则(开发)

  • 集合分页:大多数列表工具支持 offset 和 limit(默认值为 25,最大值为 100)
  • 关联展开:部分 get/list 工具支持 include(例如问题:children,attachments,journals,...)
  • 附件上传令牌:attachments_upload 会将 Base64 文件发送至 /uploads.json 并返回令牌。使用此令牌作为 issues_create/update 或 wiki_pages_create_or_update 的 uploads 字段值,即可关联附件。
  • 工具专属的额外选项和限制:有关详细限制(例如问题的 custom_fields、watcher_user_ids 等),请参阅各工具在 src/schema/*.schema.ts 中的 schema。

故障排查指南

  • 配置错误
    • 示例消息:❌ Redmine URL is required! 或 ❌ Redmine API key is required!
    • 解决方法:选择错误消息中显示的一种配置方式。出于安全考虑,建议使用环境变量。
  • Node.js/ESM 相关错误
    • 确保使用 Node.js 18 或更高版本。
  • 身份验证和网络错误(401、403 等)
    • 检查 API 密钥权限和 URL,并排查网络问题。
  • Windows 上的执行问题
    • 尝试按照指南中的说明,使用 cmd /c npx ... 运行。

安全与权限

  • API 密钥属于敏感信息;避免将其暴露在 Git 提交、日志或共享仓库中。
  • 对于删除项目或问题等不可逆操作,请仔细确认权限并谨慎操作。

路线图

我们计划进一步支持 Beta 端点(例如附件上传流程)、添加 SSE(服务器发送事件),并完善示例和测试。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。