返回市场
MCP红矿服务器

MCP红矿服务器

作者:runekaagaard98 星标更新:2025-09-14

项目介绍

MCP Redmine

状态:运行良好且每日使用中,无已知问题。

状态2:我刚刚将该包添加到PyPI并更新了使用说明。如有任何问题,请报告 :)

让Claude成为您的Redmine助手!MCP Redmine连接Claude Desktop与您的Redmine实例,使其能够:

  • 搜索和浏览项目和问题
  • 创建和更新支持完整Markdown的问题
  • 上传和下载附件
  • 管理和跟踪时间条目
  • 更新问题状态和字段
  • 访问全面的Redmine API功能

使用httpx进行API请求,并集成Redmine OpenAPI规范以实现全面的API覆盖。

MCP Redmine 在行动

使用Claude Desktop

1. 使用uv安装

确保您已安装uv。

uv --version

如果尚未安装,请安装uv。

  • Linux

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • macOS

    brew install uv
    
  • Windows

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

在您的claude_desktop_config.json中添加:

  {
    "mcpServers": {
      "redmine": {
        "command": "uvx",
        "args": ["--from", "mcp-redmine==2025.09.03.141435", 
                "--refresh-package", "mcp-redmine", "mcp-redmine"],
        "env": {
          "REDMINE_URL": "https://your-redmine-instance.example.com",
          "REDMINE_API_KEY": "your-api-key",
          "REDMINE_REQUEST_INSTRUCTIONS": "/path/to/instructions.md"
        }
      }
    }
  }

2. 使用docker安装

确保您已安装docker。

docker --version

构建docker镜像:

git clone git@github.com:runekaagaard/mcp-redmine.git
cd mcp-redmine
docker build -t mcp-redmine .

在您的claude_desktop_config.json中添加:

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args":  [
          "run",
          "-i",
          "--rm",
          "-e", "REDMINE_URL",
          "-e", "REDMINE_API_KEY",
          "-e", "REDMINE_REQUEST_INSTRUCTIONS",
          "-v", "/path/to/instructions.md:/app/INSTRUCTIONS.md",
          "mcp-redmine"
      ],
      "env": {
        "REDMINE_URL": "https://your-redmine-instance.example.com",
        "REDMINE_API_KEY": "your-api-key",
        "REDMINE_REQUEST_INSTRUCTIONS": "/app/INSTRUCTIONS.md"
      }
    }
  }
}

环境变量

  • REDMINE_URL:您的Redmine实例的URL(必需)
  • REDMINE_API_KEY:您的Redmine API密钥(必需,见下文如何获取)
  • REDMINE_REQUEST_INSTRUCTIONS:指向包含额外指令文件的路径(可选)。我发现让LLM生成该文件在会话后效果很好。(示例1 示例2)

注意:当通过Docker运行时,REDMINE_REQUEST_INSTRUCTIONS环境变量必须指向容器内的路径,而不是主机机器上的路径。因此,如果您想使用本地文件,需要将其挂载到容器中的正确位置

获取您的Redmine API密钥

  1. 登录到您的Redmine实例
  2. 前往“我的账户”(通常在右上角菜单中找到)
  3. 页面右侧应能看到“API访问密钥”
  4. 点击“显示”查看现有密钥或点击“生成”创建新密钥
  5. 复制此密钥用于您的配置

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(整数):要下载的附件ID
      • save_path(字符串):文件应保存的完全限定路径
      • filename(字符串,可选):可选的文件名(如果没有提供,则自动确定)
    • 返回一个具有下载结果的YAML字符串:
    status_code: 200
    body:
      saved_to: "/path/to/downloaded/file.pdf"
      filename: "file.pdf"
    error: ""
    

示例

创建新的问题

让我们在"网站"项目中创建一个新的错误报告:

1. 标题:"移动设备无法加载主页"
2. 描述:"当从iOS或Android设备访问主页时,加载指示器出现但内容从未加载。这个问题是在上次部署后开始的。"
3. 优先级:高
4. 分配给:John Smith

搜索问题

你能找到"网站"项目中所有当前未分配的高优先级问题吗?

更新问题状态

请将问题#123标记为"正在进行"并添加评论:"我已经开始处理这个问题。预计将在周五完成。"

记录时间

记录今天针对问题#456的3.5小时工作量,任务是"实现用户认证"。

MCP目录列表

MCP Redmine 列入以下MCP目录站点和仓库:

开发

首先克隆GitHub仓库并安装依赖项:

git clone git@github.com:runekaagaard/mcp-redmine.git
cd mcp-redmine
uv sync

然后在claude_desktop_config.json中设置:

...
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-redmine", "-m", "mcp_redmine.server", "main"],
...

我的其他LLM项目

  • MCP Alchemy - 连接Claude Desktop到数据库,探索模式并运行SQL。
  • MCP Notmuch Sendmail - 使用notmuch的Claude Desktop电子邮件助手。
  • Diffpilot - 具有文件分组和标签的多列git diff查看器。
  • Claude Local Files - 在Claude Desktop工件中访问本地文件。

贡献

欢迎贡献!无论是错误报告、功能请求、文档改进还是代码贡献——所有输入都是有价值的。您可以自由地:

  • 打开一个问题来报告错误或提出功能建议
  • 提交带有改进的拉取请求
  • 增强文档或分享您的使用示例
  • 提问并分享您的经验

目标是使Redmine项目管理与Claude更好,您的见解和贡献有助于实现这一目标。

致谢

本项目基于他人的出色工作:

许可证

Mozilla Public License Version 2.0