Redmine任务管理服务器

一个用于访问Redmine任务管理系统的MCP服务器,使AI助手能够获取Redmine工单的详细信息并添加评论。

  • by Takatoshi-Miura
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Takatoshi-Miura/MCP-Redmine

使用说明

MCP Redmine服务器

Redmine为了访问课题管理系统Model Context Protocol (MCP) 服务器。AI我的助手Redmine获取票证详细信息。

机能

  • redmine_get_detail:票证ID来修改标记元素的显示属性Redmine获取票证详细信息和评论历史记录
  • redmine_add_comment:将注释添加到指定票证

安装

前提条件

  • Node.js (v18以上)
  • npm 或yarn
  • API 已启用访问Redmine实例
  • Redmine API 按键

安装,安装

  1. 克隆或下载此存储库

  2. 安装依赖关系:

npm install
  1. 构建项目:
npm run build

设定

环境变数

需要以下环境变量:

  • REDMINE_URL: Redmine基于实例URL(示例: https://redmine.example.com)
  • REDMINE_API_KEY: Redmine API密钥(可通过Redmine账户设置进行确认)
  • REDMINE_REJECT_UNAUTHORIZED (可选):SSL控制证书验证(默认值: true)
    • false 的规格化距离的幂函数
    • 注意:不建议在生产环境中使用,因为存在安全风险

Redmine API获取密钥的方法

  1. Redmine登录实例
  2. 转到“个人设置”(通常位于右上方)
  3. 单击右侧的“API访问密钥”部分中的“查看”
  4. 已显示API复制密钥

Claude Code中的设置

Claude Code如果使用,则可以使用以下命令添加:

claude mcp add -s user mcp-redmine -- node ~/Documents/Git/MCP-Redmine/mcp-redmine/build/index.js

环境变量为设定文件(~/.claude.json 或项目根目录的 .mcp.json)添加:

{
  "mcpServers": {
    "mcp-redmine": {
      "command": "node",
      "args": ["~/Documents/Git/MCP-Redmine/mcp-redmine/build/index.js"],
      "env": {
        "REDMINE_URL": "https://your-redmine-instance.com",
        "REDMINE_API_KEY": "your-api-key-here",
        "REDMINE_REJECT_UNAUTHORIZED": "false"
      }
    }
  }
}

请替换以下值:

  • 路径: args根据实际安装位置更新中的路径
  • REDMINE_URL: Redmine服务器URL(无尾部斜线)
  • REDMINE_API_KEY: Redmine API按键

可用工具

redmine_get-detail

特定的Redmine获取票证详细信息和评论历史记录。

参数:

  • issue_id (数字,必需):获取的票证的ID

返回值:

基本情报:

  • 票ID题目
  • 说明
  • 项目名称
  • 跟踪器类型(错误、功能、任务等)
  • 当前状态
  • 优先度
  • 创建者和联系人
  • 日付(开始日、期限、作成日、更新日、终了日)
  • 进捗率
  • 予定工数

注释历史记录:

  • journals_count:注释总数
  • journals:注释数组(每个注释包含以下内容)
    • id:注释ID
    • user:评论发帖人的名称
    • notes:注释内容
    • created_on:注释创建日期和时间
    • private_notes:是否是私人评论
    • details:字段更改详细信息(状态更改、联系人更改等)

Claude使用示例:

Redmineのチケット#123の詳細を教えてください

チケット#114820のコメントを確認したいです

Issue #456の最新のコメントは何ですか?

redmine_add_注释

指定的Redmine向票证添加注释。

参数:

  • issue_id (数字,必需):添加注释的票证的ID
  • comment (字符串,必需):要添加的注释内容

返回值:

  • success:操作成功与否
  • message:结果消息
  • issue_id:票证ID
  • subject:票证主题
  • added_comment:添加的注释详细信息
    • id:注释ID
    • user:评论发帖人的名称
    • notes:注释内容
    • created_on:注释创建日期和时间
  • total_comments:票证评论总数

Claude使用示例:

チケット#123に「調査完了しました」とコメントを追加してください

Issue #456に進捗報告をコメントとして追加して

チケット#789に「修正完了」というコメントを付けて

开発

项目结构

mcp-redmine/
├── src/
│   ├── index.ts           # MCPサーバーのメイン実装
│   └── redmine-client.ts  # Redmine APIクライアント
├── build/                 # コンパイル済みJavaScript出力
├── package.json
├── tsconfig.json
└── README.md

构建

npm run build

监视模式

开发时,可以使用监视模式在更改时自动重建:

npm run watch

故障排除

验证错误

如果发生验证错误:

  1. API验证密钥是否正确
  2. Redmine在实例中API确认已启用访问
  3. API确认密钥未过期

连接错误

Redmine无法连接到:

  1. REDMINE_URL确认是否正确访问
  2. Redmine在实例中VPN和是否需要特殊的网络访问
  3. 确保防火墙规则未阻止连接

SSL证书错误

「certificate has expired」或出现“unable to verify the first certificate”等错误时:

  1. Redmine 如果服务器证书过期:

    • IT请求部门更新服务器证书
  2. 临时处理(仅限开发环境):

    • 环境变数 REDMINE_REJECT_UNAUTHORIZED 的 "false" 设置为
    • 警告:请勿在生产环境中使用,因为这具有安全风险
  3. 使用自签名证书时:

    • REDMINE_REJECT_UNAUTHORIZED 的 "false" 设置为
    • 如果可能,请考虑使用由可信认证机构颁发的证书

找不到票

如果出现“找不到票证”错误:

  1. 票ID的Redmine验证是否存在于实例中
  2. 确认您有权查看票证
  3. 确保不是没有访问权限的项目的票证

支持

对于问题和问题: