Redmine连接器
将Claude Desktop与Redmine连接起来,实现无缝的项目和问题管理,包括通过Redmine的API搜索、创建、更新和跟踪任务。
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
redmine_request 4 个参数 需填 1 项
Make a request to the Redmine API Args: path: API endpoint path (e.g. '/issues.json') method: HTTP method to use (default: 'get') data: Dictionary for request body (for POST/PUT) params: Dictionary for query parameters Returns: str: YAML string containing response status code, body and error message
必填参数:path
redmine_paths_list
Return a list of available API paths from OpenAPI spec Retrieves all endpoint paths defined in the Redmine OpenAPI specification. Remember that you can use the redmine_paths_info tool to get the full specfication for a path. Returns: str: YAML string containing a list of path templates (e.g. '/issues.json')
该工具无需必填参数,直接调用即可
redmine_paths_info 1 个参数 需填 1 项
Get full path information for given path templates Args: path_templates: List of path templates (e.g. ['/issues.json', '/projects.json']) Returns: str: YAML string containing API specifications for the requested paths
必填参数:path_templates
redmine_upload 2 个参数 需填 1 项
Upload a file to Redmine and get a token for attachment Args: file_path: Fully qualified path to the file to upload description: Optional description for the file Returns: str: YAML string containing response status code, body and error message The body contains the attachment token
必填参数:file_path
redmine_download 3 个参数 需填 2 项
Download an attachment from Redmine and save it to a local file Args: attachment_id: The ID of the attachment to download save_path: Fully qualified path where the file should be saved to filename: Optional filename to use for the attachment. If not provided, will be determined from attachment data or URL Returns: str: YAML string containing download status, file path, and any error messages
必填参数:attachment_id、save_path
服务介绍
MCP Redmine
状态:运行良好,日常使用中未发现任何已知错误。
让 Claude 成为你的 Redmine 助手!MCP Redmine 将 Claude Desktop 连接到你的 Redmine 实例,使其能够:
- 搜索和浏览项目及问题
- 创建和更新问题,并完全支持 Markdown
- 上传和下载文件附件
- 管理和跟踪时间条目
- 更新问题状态和字段
- 访问全面的 Redmine API 功能
使用 httpx 进行 API 请求,并与 Redmine OpenAPI 规范集成以实现全面的 API 覆盖。

要求
- 访问一个 Redmine 实例
- Redmine API 密钥
- Python 3.10+
使用的 openapi 规范是针对 redmine 5.0 的,在 Redmine 6.0.3 上进行了测试,但很可能也适用于旧版本。
API
工具
-
redmine_paths_list
- 返回从 OpenAPI 规范中获取的可用 API 路径列表
- 不需要输入
- 返回一个包含路径模板列表的 YAML 字符串:
- /issues.json - /projects.json - /time_entries.json ... -
redmine_paths_info
- 获取给定路径模板的完整路径信息
- 输入:
path_templates(字符串列表) - 返回一个包含请求路径的 API 规范的 YAML 字符串:
/issues.json: get: operationId: getIssues parameters: - $ref: '#/components/parameters/format' ... -
redmine_request
- 向 Redmine API 发送请求
- 输入:
path(字符串): API 端点路径(例如 '/issues.json')method(字符串, 可选): 使用的 HTTP 方法(默认: 'get')data(对象, 可选): 请求体字典(用于 POST/PUT)params(对象, 可选): 查询参数字典
- 返回一个包含响应状态码、正文和错误消息的 YAML 字符串:
status_code: 200 body: issues: - id: 1 subject: "修复登录页面" ... error: "" -
redmine_upload
- 上传文件到 Redmine 并获取附件令牌
- 输入:
file_path(字符串): 要上传文件的完全限定路径description(字符串, 可选): 文件的可选描述
- 返回与 redmine_request 相同格式的 YAML 字符串,包括上传令牌:
status_code: 201 body: upload: id: 7 token: "7.ed32257a2ab0f7526c0d72c32994c58b131bb2c0775f7aa84aae01ea8397ea54" error: "" -
redmine_download
- 从 Redmine 下载附件并保存到本地文件
- 输入:
attachment_id(整数): 要下载的附件 IDsave_path(字符串): 应保存文件的完全限定路径filename(字符串, 可选): 可选的文件名(如果未提供,则自动确定)
- 返回包含下载结果的 YAML 字符串:
status_code: 200 body: saved_to: "/path/to/downloaded/file.pdf" filename: "file.pdf" error: ""
与 Claude Desktop 一起使用
将以下内容添加到您的 claude_desktop_config.json 中:
{
"mcpServers": {
"redmine": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-redmine", "run", "server.py"],
"env": {
"REDMINE_URL": "https://your-redmine-instance.example.com",
"REDMINE_API_KEY": "your-api-key",
"REDMINE_REQUEST_INSTRUCTIONS": "/path/to/instructions.md"
}
}
}
}
环境变量:
REDMINE_URL: 您的 Redmine 实例的 URL(必需)REDMINE_API_KEY: 您的 Redmine API 密钥(必需,见下文如何获取)REDMINE_REQUEST_INSTRUCTIONS: 包含 redmine_request 工具额外说明的文件路径(可选)
获取您的 Redmine API 密钥
- 登录到您的 Redmine 实例
- 转到“我的账户”(通常在右上角菜单中找到)
- 在页面右侧,您应该能看到“API 访问密钥”
- 单击“显示”以查看现有密钥或“生成”以创建新密钥
- 复制此密钥以供配置使用
安装
- 克隆仓库:
git clone https://github.com/runekaagaard/mcp-redmine.git
- 确保您已安装 uv
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
- 将 Redmine 配置添加到 claude_desktop_config.json(见上文)
示例
创建新问题
Let's create a new bug report in the "Website" project:
1. Title: "Homepage not loading on mobile devices"
2. Description: "When accessing the homepage from iOS or Android devices, the loading spinner appears but the content never loads. This issue started after the last deployment."
3. Priority: High
4. Assign to: John Smith
搜索问题
Can you find all high priority issues in the "Website" project that are currently unassigned?
更新问题状态
Please mark issue #123 as "In Progress" and add a comment: "I've started working on this issue. Expect it to be completed by Friday."
记录时间
Log 3.5 hours against issue #456 for "Implementing user authentication" done today.
贡献
我们热烈欢迎您的贡献!无论是错误报告、功能请求、文档改进还是代码贡献,所有输入都非常宝贵。请随时:
- 打开一个 issue 来报告错误或建议功能
- 提交带有改进的 pull request
- 增强文档或分享您的使用示例
- 提出问题并分享您的经验
我们的目标是使通过 Claude 进行 Redmine 项目管理更加出色,而您的见解和贡献将有助于实现这一目标。
致谢
本项目基于其他优秀的工作成果:
- httpx - 用于处理 HTTP 请求
- Redmine OpenAPI Specification - 提供全面的 API 规范
- Redmine - 灵活的项目管理 Web 应用程序
许可证
Mozilla Public License Version 2.0