Redmine查询服务

一个通过Redmine REST API查询Redmine问题数据的只读Model Context Protocol (MCP)服务器,旨在与支持MCP的AI助手无缝集成。

  • by danglephuc
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 danglephuc/redmine-mcp-server

使用说明

Redmine MCP服务器

A. 只读 模型上下文协议(MCP) 用于通过Redmine REST API查询Redmine问题数据的服务器。旨在与支持MCP的AI助手(如Claude、Cursor、GitHub Copilot)无缝集成。

特性

  • 🔍 只读访问Redmine --列出问题、获取问题详细信息、查询元数据
  • 🔐 灵活的身份验证 -API密钥或HTTP基本身份验证(或两者结合使用)
  • 📦 工具集系统 --仅启用所需的工具
  • 🔤 可配置的工具前缀 --避免多个MCP服务器之间的命名冲突
  • 🪙 令牌限制 --自动截断过大的响应以避免上下文溢出
  • 🚀 零本地安装 --直接通过运行 npx 不克隆repo

可用工具

工具集: issue

工具 描述 Redmine端点
get_issues 列出富过滤器的问题 GET /issues.json
get_issue 获取相关数据的单个问题 GET /issues/:id.json
get_attachments 列出问题的附件 GET /issues/:id.json
download_attachment 下载base64格式的附件(≤10 MB)或通过流式传输到磁盘 outputPath GET /attachments/:id.json

工具集: issue_metadata

工具 描述 Redmine端点
get_trackers 列出所有跟踪器 GET /trackers.json
get_issue_statuses 列出所有问题状态 GET /issue_statuses.json
get_issue_priorities 列出所有问题优先级 GET /enumerations/issue_priorities.json
get_issue_categories 列出项目的类别 GET /projects/:id/issue_categories.json
get_issue_relations 列出问题的关系 GET /issues/:id/relations.json

工具前缀为 PREFIX (例如。, redmine_get_issues).看 配置 了解详情。

快速开始

需求

  • Node.js 20+(使用内置 fetch ES模块)
  • 启用REST API的正在运行的Redmine实例
  • 有效的API密钥 或 用户名/密码凭据

安装(通过 npx)

将此添加到您的MCP客户端配置中(例如,Claude Desktop、Cursor等):

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["github:danglephuc/redmine-mcp-server"],
      "env": {
        "REDMINE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your-api-key-here",
        // "REDMINE_USERNAME": "your-username",
        // "REDMINE_PASSWORD": "your-password",
        "MAX_TOKENS": "50000",
        "PREFIX": "redmine_",
        "ENABLE_TOOLSETS": "issue,issue_metadata",
      },
    },
  },
}

看 配置 对于所有可用的环境变量和CLI标志。

文档

文档 描述
配置 所有环境变量、CLI标志和身份验证选项
工具参考 每个工具的详细参数和示例
建筑 项目结构、关键模块和扩展指南
发展 如何运行、构建、测试和扩展此项目

发展

npm install
npm run dev          # run with tsx (hot reload)
npm run inspect      # launch MCP Inspector UI at http://localhost:6274
npm run build        # type-check and compile to build/
npm run test         # run all tests with vitest
npm run test:coverage  # run tests with coverage
npm run lint         # lint with eslint
npm run format       # check formatting with prettier

许可证

麻省理工学院