关于 Mcp For Redmine
Mcp For Redmine 是连接 Redmine 的 MCP 服务,供兼容 MCP 的客户端管理项目、问题、用户和工时记录。它通过 stdio 提供稳定及 Alpha API 工具。
主要功能
- 01管理项目与问题
- 02创建和维护用户
- 03查询及记录工时
- 04访问 Wiki、附件和版本
- 05支持分页与关联数据展开
适用场景
- 01在客户端中创建或更新 Redmine 问题
- 02查看项目成员并管理用户
- 03记录和查询项目工时
MCP 相关
作为 MCP 服务,它通过 stdio 向兼容客户端提供 Redmine 管理工具;连接需要 Redmine URL 和 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
67收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 用户的电子邮件地址。在系统中必须唯一。 | |
| admin | boolean | 否 | 用户是否应拥有管理员权限。默认为 false。 |
| login | string | 是 | 用户的唯一登录名(用户名)。此名称将用于身份验证。 |
| lastname | string | 是 | 用户的姓氏。 |
| password | string | 否 | 用户的密码。长度必须至少为 8 个字符。不能与 'generate_password' 一起使用。必须提供 password 或 generate_password。 |
| firstname | string | 是 | 用户的名字。 |
| auth_source_id | number | 否 | 用于外部身份验证(LDAP 等)的身份验证源 ID。 |
| generate_password | boolean | 否 | 如果为 true,Redmine 将生成随机密码并发送到用户的电子邮件地址。不能与 'password' 一起使用。必须提供 password 或 generate_password。 |
| mail_notification | string | 否 | 电子邮件通知选项。可用值取决于 Redmine 配置。 |
| must_change_passwd | boolean | 否 | 如果为 true,用户下次登录时必须更改密码。 |
详细介绍
MCP-For-Redmine · 
本项目是一个用于与 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 文档
{
"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
{
"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_URLorREDMINE_URLREDMINE_API_KEYorREDMINE_TOKENREDMINE_TLS_VERIFY(optional, set tofalseor0to 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 服务 URLREDMINE_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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。