Token导航 LogoToken导航TokenDH.com
Planio MCP logo
办公协作stdio官方级别未说明来源级核验

Planio MCP

MCP Server

@modelcontextprotocol/inspector

提供对Redmine/Planio的全读写访问,通过标准REST API管理问题、时间条目、项目和用户。

工具数

17

提示词数

0

GitHub Stars

0

资源数

0
Swift时间跟踪JavaScriptClaude团队协作Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

brannow

提供方

brannow

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector /absolute/path/to/planio-mcp

详细介绍

planio mcp

MCP服务器 红矿 / 计划.通过标准Redmine REST API对问题、时间条目、项目和用户进行完全读/写访问。

兼容 任何Redmine实例.Planio特定功能(清单)可通过功能标志选择加入。

设计理念

此服务器是 意图界面,而不是API代理。代理人说 *它想要什么* --服务器知道了 *怎么*.

  • 名称解析tracker_id: "Bug", priority_id: "High", activity_id: "Development" 服务器在内部将名称解析为ID。如果不匹配,它将返回有效选项,以便代理自行纠正。
  • 项目标识符project_id 接受两个数字ID(5)以及Redmine标识符("my-project")所有工具。
  • 情境反馈 --预订时间返回问题的时间预算。逾期问题显示警告。代理人不需要后续电话来了解情况。
  • 当前用户默认值list_time_entriesget_activity 默认为经过身份验证的用户,就像任何登录的UI一样。通过 user_id 只有当你需要别人的数据时。
  • 自动分页list_time_entries 自动获取所有匹配的条目(最多500个)。无需手动偏移/限制。
  • 向后兼容 --数字ID仍然适用于所有地方。客户端发送 {"tracker_id": 3} 如int或 "3" 因为字符串都被处理了。

设置

1.建造

xcodebuild -scheme planio-mcp -configuration Release build

或者在Xcode中打开 Cmd+B.

2.配置

# Required
TICKET_URL=https://your-instance.plan.io
TICKET_KEY=your-api-key-here

# Feature flags (opt-in, default: false)
FEATURE_CHECKLISTS=true

地点为 .env 在二进制文件旁边,在工作目录中,或通过环境变量传递。 您还可以指定自定义路径: planio-mcp --env /path/to/.env

配置优先级: ENV vars > .env file

API密钥: Redmine/Planio→ 你的头像→ 我的账户→ 侧边栏→ 显示API密钥

3.连接

克劳德桌面/克劳德代码

添加到MCP配置(claude_desktop_config.json.claude/settings.json):

{
  "mcpServers": {
    "redmine": {
      "command": "/absolute/path/to/planio-mcp",
      "env": {
        "TICKET_URL": "https://your-instance.plan.io",
        "TICKET_KEY": "your-api-key-here",
        "FEATURE_CHECKLISTS": "true"
      }
    }
  }
}

MCP检验员(测试)

npx @modelcontextprotocol/inspector /absolute/path/to/planio-mcp

工具

问题

工具说明
list_issues按项目(ID或标识符)、状态、受让人、跟踪器、日期、自定义字段筛选。跟踪器和版本接受名称。
get_issue带部分过滤的完整细节(sections 参数)。包括逾期问题的到期日警告。
bulk_get_issues与进度通知并行获取多个问题。与过滤相同 get_issue.
create_issue使用所有字段创建。跟踪器、状态、优先级、类别、版本和受让人接受名称——服务器解析它们。
update_issue更新字段,添加注释(notes),管理检查表。与create同名解析。
delete_issue永久删除
add_watcher向问题添加观察者
remove_watcher从问题中删除观察者

时间条目

工具说明
list_time_entries默认为当前用户。按项目、问题、日期范围筛选。自动分页最多500个条目。
get_time_entry单条目详细信息
create_time_entry根据问题或项目预订时间。活动接受名称。返回时间预算上下文(花费与估计)。
update_time_entry修改现有条目。活动接受名称。
delete_time_entry删除条目

项目和用户

工具说明
list_projects列出所有项目,或获取带有跟踪器、类别、活动、版本和模块的单个项目
get_current_user当前已通过身份验证的用户
list_users搜索/筛选用户(完整列表需要管理员)

活动

工具说明
get_activity日期范围内的用户活动日志。结合时间条目和日记扫描。按问题分组,包括行动、预订时间和每张票的时间预算。

名称解析

所有可解析字段都接受 名字 (字符串)或a 数字ID服务器通过缓存的元数据解析名称。

字段示例值范围
tracker_id"Bug", "Feature", 1项目范围(回退到全局)
status_id"New", "In Progress", "Closed"全球
priority_id"Normal", "High", "Urgent"全球
category_id"Backend", "Frontend"项目范围(需要 project_id)
fixed_version_id"Sprint 12", "v2.0"项目范围(需要 project_id)
activity_id"Development", "Support"项目范围(需要项目上下文)
assigned_to_id"John", "jane.doe", 42用户搜索(/users.json?name=X)

如果不匹配,错误消息将列出所有有效选项:

No tracker named 'Defect'. Available: Bug, Feature, Support, Task

情境反馈

服务器用可操作的上下文丰富了响应,因此代理不需要后续调用:

  • 预订时的时间预算 --之后 create_time_entry,响应包括 Issue #4523 time: 23.0h of 30.0h
  • 活动日志中的时间预算get_activity 显示 #4523: Fix auth flow (23.0h of 30.0h) 每张票
  • 到期日警告get_issuelist_issues 显示未关闭问题的警告:

- ⚠ OVERDUE by 5 days (due 2026-03-06) - ⚠ Due today (2026-03-11) - ⚠ Due in 2 days (2026-03-13)

功能开关

标志默认值描述
FEATURE_CHECKLISTSfalse清单支持(需要 Redmine清单插件 或Planio)。添加清单参数以创建/更新工具,在问题输出中显示带有ID的清单项。

当特征标志关闭时,相应的参数为 从工具架构中删除 --法学硕士从未见过他们。

提示示例

What did I work on last week?
Book 2h on #1234, activity Development, comment "API refactoring"
Create a bug "Login broken on Safari" in project my-project, priority High, assign to John
Show me all open issues assigned to me, sorted by priority
Update #1234 status to "In Progress" and assign to me
List all Feature issues in Sprint 12

建筑

planio-mcp/
├── main.swift                 # Server setup, tool routing
├── Config.swift               # .env parsing, feature flags
├── PlanioClient.swift         # HTTP client (actor, cached metadata + issues)
├── Models/
│   ├── Issue.swift            # Issue, Journal, Checklist, Relations, shared types
│   ├── IssueFilterOptions.swift # Section filtering for get_issue output
│   ├── MetadataResponses.swift  # Statuses, Priorities, Trackers response models
│   ├── TimeEntry.swift
│   ├── Project.swift
│   └── User.swift
├── Tools/
│   ├── ToolDefinitions.swift  # JSON Schema definitions (feature-aware)
│   ├── IssueTools.swift       # CRUD + watchers + name resolution
│   ├── TimeEntryTools.swift   # CRUD + activity resolution + time budget
│   ├── ProjectTools.swift
│   ├── UserTools.swift
│   └── ActivityTools.swift    # Composite activity log with time budget per ticket
└── Helpers/
    ├── NameResolver.swift     # Name-to-ID resolution with guided errors
    ├── ValueHelpers.swift     # MCP Value extraction, type-flexible param reading
    └── ResponseFormatter.swift # Output formatting, due date warnings

备注

  • Redmine兼容 -所有端点都是标准的Redmine REST API
  • 认证: X-Redmine-API-Key 头球
  • 缓存: 问题和元数据(状态、优先级、跟踪器、每个项目的元数据)的5分钟内存TTL。写入时自动失效。当前用户在进程生命周期内被缓存(不可变)。批量提取(get_activity, bulk_get_issues)跳过已经缓存的问题——TTL内的重复调用几乎是即时的。
  • 并行取数: get_activitybulk_get_issues 使用支持缓存的批量加载(10个并发)和进度通知。
  • Swift 5/macOS --用途 mcp swift sdk

目录标签

目录标签

Swift时间跟踪JavaScriptClaude团队协作本地部署项目管理RESTAPI问题管理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

17

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP