关于 Redmine MCP Server
Redmine MCP Server 是一个 MCP 服务,通过 Redmine REST API 向 LLM 提供工单和项目信息。它面向需要在 AI 助手中查询或管理 Redmine 数据的用户,支持问题、项目、用户和时间条目四类资源。
主要功能
- 01问题的搜索、创建、更新与删除
- 02项目的查询、创建、归档与配置
- 03时间条目的记录与筛选
- 04支持自定义字段
- 05用户资源查询(需管理员权限)
适用场景
- 01在 AI 助手中按状态或负责人检索 Redmine 工单
- 02通过 MCP 工具为问题添加评论或更新字段
- 03按日期范围汇总项目的时间条目
MCP 相关
该项目是一个 MCP 服务,将 Redmine REST API 的功能以工具形式暴露给 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Redmine MCP 服务
这是一个 Redmine 的模型上下文协议(MCP)服务实现。它集成 Redmine 的 REST API,为大模型提供工单和项目信息。
功能
支持 Redmine REST API 中稳定的资源:
- 工单(1.0~)
- 项目(1.0~)
- 用户(1.1~)
- 时间记录(1.1~)
工具
工单
- 搜索工单
- 按项目、状态、负责人等筛选
- 关键词搜索
- 支持自定义字段
- 创建/更新工单
- 设置跟踪器、状态、优先级
- 配置自定义字段
- 添加评论
- 删除工单
项目
- 搜索项目
- 按启用/已归档/已关闭状态筛选
- 关键词搜索
- 获取项目详情
- 包含跟踪器和类别信息
- 创建/更新项目
- 配置模块和跟踪器
- 设置成员继承
- 归档/取消归档项目
- 删除项目
时间记录
- 搜索时间记录
- 按项目、用户、日期范围筛选
- 获取时间记录详情
- 创建/更新时间记录
- 记录到项目或工单
- 指定活动
- 支持自定义字段
- 删除时间记录
在 Claude 中使用
要在 Claude 中使用此服务,请按如下方式配置:
{
"mcp-server-redmine": {
"command": "npx",
"args": [
"-y",
"--prefix",
"/path/to/mcp-server-redmine",
"mcp-server-redmine"
],
"env": {
"REDMINE_HOST": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here"
}
}
}
配置选项
command:执行 npm 包的命令args:-y:对提示自动回复“yes”--prefix:指定安装目录- 最后一个参数指定包名
env:环境变量REDMINE_HOST:Redmine 服务 URLREDMINE_API_KEY:你的 Redmine API 密钥
设置
获取 API 密钥
- 在 Redmine 管理设置中启用 REST API
- 在用户设置页面获取 API 密钥
环境变量
设置以下环境变量:
REDMINE_API_KEY:从 Redmine 用户设置中获取的 API 密钥REDMINE_HOST:Redmine 服务 URL(例如,https://redmine.example.com)
测试
单元测试
# Run tests
npm test
为确保数据安全,测试中仅包含 GET 操作。
Inspector 测试
使用 MCP Inspector 验证功能。
使用 MCP Inspector 验证功能。
GUI 模式
# Build
npm run build
# Set execute permission (important)
chmod +x dist/index.js
# Launch inspector
npx @modelcontextprotocol/inspector dist/index.js
CLI 模式
CLI 测试命令
以下是使用 CLI 模式测试 Redmine MCP 服务的实用示例。
前提条件:
# Build the project
npm run build
# Set execute permission
chmod +x dist/index.js
# Set environment variables
export REDMINE_API_KEY=your-api-key-here
export REDMINE_HOST=http://localhost:3000 # or your Redmine server URL
基本测试命令:
-
列出可用工具:
npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/list -
测试工单功能:
# List issues (with limit) npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg limit=5 # Get specific issue details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name get_issue \ --tool-arg id=1 # Filter issues by project npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg project_id=1 \ --tool-arg limit=3 -
测试项目功能:
# List all projects npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_projects # Get specific project details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_project \ --tool-arg id=1 -
测试用户功能(需要管理员权限):
# List users npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_users # Get specific user details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_user \ --tool-arg id=1 -
测试时间记录功能:
# List time entries npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_time_entries \ --tool-arg limit=5 # Get specific time entry details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_time_entry \ --tool-arg id=1
高级测试:
# Filter issues by status
npx @modelcontextprotocol/inspector --cli \
-e REDMINE_API_KEY=$REDMINE_API_KEY \
-e REDMINE_HOST=$REDMINE_HOST \
node dist/index.js \
--method tools/call \
--tool-name list_issues \
--tool-arg status_id=1 \
--tool-arg limit=5
# Search issues by keyword
npx @modelcontextprotocol/inspector --cli \
-e REDMINE_API_KEY=$REDMINE_API_KEY \
-e REDMINE_HOST=$REDMINE_HOST \
node dist/index.js \
--method tools/call \
--tool-name list_issues \
--tool-arg subject="bug" \
--tool-arg limit=3
# Get time entries for specific project
npx @modelcontextprotocol/inspector --cli \
-e REDMINE_API_KEY=$REDMINE_API_KEY \
-e REDMINE_HOST=$REDMINE_HOST \
node dist/index.js \
--method tools/call \
--tool-name list_time_entries \
--tool-arg project_id=1 \
--tool-arg limit=10
故障排除:
-
连接问题:确认 Redmine 服务正在运行且可以访问:
curl -H "X-Redmine-API-Key: $REDMINE_API_KEY" \ "$REDMINE_HOST/projects.json" -
权限错误:部分操作需要管理员权限。请检查你在 Redmine 中的 API 密钥权限。
-
环境变量:确保环境变量已正确设置:
echo $REDMINE_API_KEY echo $REDMINE_HOST -
构建问题:确保项目已构建且已设置权限:
npm run build chmod +x dist/index.js ls -la dist/index.js
权限
部分功能需要管理员权限:
用户相关操作
list_users:需要管理员权限create_user:需要管理员权限update_user:需要管理员权限delete_user:需要管理员权限
可用信息因用户权限级别而异。详情请参阅 Redmine API 文档。
开发
要求
- Node.js 18 或更高版本
- npm 9 或更高版本
库
@modelcontextprotocol/sdk:MCP SDKzod:模式验证typescript:类型系统
目录结构
.
├── src/
│ ├── tools/ # Tool definitions
│ │ ├── issues.ts
│ │ ├── projects.ts
│ │ ├── time_entries.ts
│ │ └── index.ts
│ ├── formatters/ # Formatters
│ │ ├── issues.ts
│ │ ├── projects.ts
│ │ ├── time_entries.ts
│ │ └── index.ts
│ ├── lib/ # Common libraries
│ │ ├── client.ts # Redmine API client
│ │ ├── config.ts # Configuration management
│ │ └── types.ts # Type definitions
│ ├── handlers.ts # Request handlers
│ └── index.ts # Entry point
├── docs/
│ └── adr/ # Architecture Decision Records
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
构建
# Install dependencies
npm install
# Build
npm run build
# Start development server
npm run dev
架构决策记录
主要设计决策记录在 docs/adr 中。添加或修改功能时,请参考这些文档。
许可证
MIT
相关项目
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。