mcpField
P
Planka V2

Planka V2

本地服务
github.com/goldpulpy生产力46 周前更新

关于 Planka V2

Planka V2 是面向 Planka v2.x 的 MCP 服务,让 AI Agent 通过自然语言管理项目、看板、卡片和任务。它还支持评论、标签、成员分配与卡片计时,并兼容自托管和云端 Planka。

主要功能

  1. 01管理项目、看板与列表
  2. 02创建、移动和管理卡片
  3. 03管理任务清单与任务
  4. 04处理评论、标签和成员分配
  5. 05跟踪卡片耗时并生成摘要

适用场景

  1. 01创建项目并设置看板流程
  2. 02为卡片建立任务清单并批量添加任务
  3. 03查找逾期卡片并移动到指定列表
  4. 04查看项目或看板摘要

MCP 相关

该 MCP 服务将 Planka v2 API 的项目、看板、卡片等功能以工具形式提供给 MCP 客户端。它是标准 stdio MCP 服务,可连接自托管或云端 Planka。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"planka-v2": {
"command": "npx",
"args": [
"-y",
"@goldpulpy/planka-v2-mcp"
],
"env": {
"PLANKA_BASE_URL": "<PLANKA_BASE_URL>",
"PLANKA_AGENT_EMAIL": "<PLANKA_AGENT_EMAIL>",
"PLANKA_AGENT_PASSWORD": "<PLANKA_AGENT_PASSWORD>",
"PLANKA_IGNORE_SSL": "<PLANKA_IGNORE_SSL>"
}
}
}
}
启动命令npx -y @goldpulpy/planka-v2-mcp
需要配置的环境变量
PLANKA_BASE_URL
PLANKA_AGENT_EMAIL
PLANKA_AGENT_PASSWORD密钥
PLANKA_IGNORE_SSL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@goldpulpy/planka-v2-mcp

工具

10

收录的工具列表 · 更新于 3 周前

参数类型必填说明
actionenum是要执行的操作get_projects | create_project | get_project | update_project | delete_project | get_boards | create_board | get_board | update_board | delete_board | get_board_summary | get_project_summary
idstring否项目或看板的 ID
projectIdstring否项目 ID
namestring否项目或看板的名称
descriptionstring否项目描述
positionnumber否看板的位置
typestring否项目(private/shared)或看板的类型
backgroundTypeenum否update_project 的背景类型gradient | image
backgroundGradientstring否update_project 的背景渐变
pagenumber否分页的页码(从 1 开始)
perPagenumber否每页的项目数
boardIdstring否要获取摘要的看板 ID
includeTaskDetailsboolean否是否包含每张卡片的详细任务信息
includeCommentsboolean否是否包含每张卡片的评论

详细介绍

Planka v2.x MCP

将 Claude、Cursor、Codex 和其他 MCP 客户端直接连接到你的 Planka v2.x 看板。

通过模型上下文协议(MCP),让你的 AI Agent 能够以结构化且安全的方式访问项目、看板、卡片、任务、评论、标签和工作流。

npm version npm downloads CI Node.js TypeScript License: MIT Planka v2.x MCP compatible

重要

专为 Planka v2.x 构建。此 MCP 与 Planka v1.x 不兼容。

为什么选择 Planka MCP?

Planka 为人类用户提供了出色的 Web 界面。然而,AI Agent 需要以结构化方式访问项目、看板、卡片、任务、评论和工作流。

此 MCP 服务通过模型上下文协议(MCP)开放 Planka v2 API,让 Claude、Cursor、Codex 和其他 AI Agent 能够使用自然语言与 Planka 交互。

支持的 Planka 版本

Planka 版本状态
2.0.0-rc.2✅ 已测试
2.1.1✅ 已测试
2.2.1✅ 已测试
更新的 2.x⚠️ 预计可用

功能

  • 完整的项目和看板管理
  • 完整的卡片生命周期管理
  • 支持任务列表和任务
  • 评论、标签和分配
  • 卡片时间跟踪
  • 项目和看板摘要
  • 原生 MCP 工具接口
  • 支持主流 MCP 客户端
  • 支持可自托管和云端 Planka
对话示例
项目设置

用户

创建一个名为 "Website Redesign" 的项目,并创建名为 "Backlog"、"In Progress" 和 "Done" 的看板。

助手

✓ Created project "Website Redesign"
✓ Created board "Backlog"
✓ Created board "In Progress"
✓ Created board "Done"

Project setup completed successfully.
创建任务

用户

在 Backlog 看板中创建一张名为 "Implement authentication" 的卡片,并添加以下任务:

  • 设计登录流程
  • 实现 JWT 身份验证
  • 添加密码重置功能
  • 编写测试

助手

✓ Created card "Implement authentication"
✓ Created task list
✓ Added 4 tasks
工作流自动化

用户

找出分配给我的所有逾期卡片,将它们移至 "Blocked",添加一条说明原因的评论,并生成项目摘要。

助手

✓ Found 7 overdue cards
✓ Moved cards to "Blocked"
✓ Added explanatory comments
✓ Generated updated project summary
可用工具 | 工具名称 | 操作 | 说明 | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | `project_board_manager` | `get_projects` · `create_project` · `get_project` · `update_project` · `delete_project` · `get_boards` · `create_board` · `get_board` · `update_board` · `delete_board` · `get_board_summary` · `get_project_summary` | 项目和看板,包括汇总统计 | | `list_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | 看板中的看板列表 | | `card_manager` | `get_all` · `create` · `get_one` · `update` · `move` · `duplicate` · `delete` · `create_with_tasks` · `get_details` | 卡片,包括一次性创建并附带任务清单 | | `stopwatch` | `start` · `stop` · `get` · `reset` | 卡片上的时间跟踪 | | `label_manager` | `get_all` · `create` · `update` · `delete` · `add_to_card` · `remove_from_card` | 看板标签及其在卡片上的分配 | | `task_list_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | 卡片中的任务列表(Planka v2.0 实体) | | `task_manager` | `get_all` · `create` · `batch_create` · `get_one` · `update` · `delete` · `complete_task` | 单个任务,包括批量创建 | | `comment_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | 卡片上的评论 | | `membership_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | 看板级成员资格和角色(`editor` / `viewer`) | | `card_membership_manager` | `get_all` · `get_users` · `create` · `delete` | 按 **ID、电子邮件或用户名** 分配/移除卡片成员 |

card_manager 使用 action: "get_details" 时,会包含一个 attachments 数组,其中包含只读元数据:附件和卡片 ID、创建者用户 ID、名称、类型、MIME 类型、大小、下载或链接 URL,以及时间戳。它不会下载或返回附件内容。

快速开始

要求
  • 正在运行的 Planka v2.x 实例
  • 为你的 AI Agent 准备的专用 Planka 用户账户
  • Node.js 18+(如果在本地运行)

重要

创建 MCP 账户后,请使用该账户登录 Planka Web 界面 并接受服务条款,然后再配置或启动 MCP 服务。每个新账户都必须完成此操作。

配置 MCP 客户端

所有兼容 MCP 的客户端都使用相同的底层命令,只有配置文件的位置(有时还有 JSON 包装格式)不同。请参阅下方的客户端配置示例,查看适用于你的工具的配置。

核心配置块始终如下:

{
  "command": "npx",
  "args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
  "env": {
    "PLANKA_BASE_URL": "https://your-planka-instance.com",
    "PLANKA_AGENT_EMAIL": "[email protected]",
    "PLANKA_AGENT_PASSWORD": "your-secure-password",
    "PLANKA_IGNORE_SSL": "true"
  }
}
替代方案:从本地构建版本运行
{
  "command": "node",
  "args": ["/absolute/path/to/planka-v2-mcp/dist/index.js"],
  "env": {
    "PLANKA_BASE_URL": "https://your-planka-instance.com",
    "PLANKA_AGENT_EMAIL": "[email protected]",
    "PLANKA_AGENT_PASSWORD": "your-secure-password",
    "PLANKA_IGNORE_SSL": "true"
  }
}

适用于为服务本身做贡献,或需要固定版本的离线构建的情况。

提示

仅在受信任的本地环境中使用自签名证书时,才将 PLANKA_IGNORE_SSL 设为 "true";在生产环境中请保持未设置状态。

验证连接

先让你的 Agent 执行只读操作,例如 “列出我的 Planka 项目。” 如果收到真实响应,说明连接配置正确。

客户端配置示例

大多数 MCP 客户端使用完全相同的 mcpServers JSON 结构,区别仅在于配置文件位置。格式不同的客户端(Codex、Continue、Zed)会在下方单独列出。

标准 mcpServers 客户端 — Claude Desktop、Claude Code、Cursor、Windsurf、Cline、Antigravity
{
  "mcpServers": {
    "planka-mcp": {
      "command": "npx",
      "args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
      "env": {
        "PLANKA_BASE_URL": "https://your-planka-instance.com",
        "PLANKA_AGENT_EMAIL": "[email protected]",
        "PLANKA_AGENT_PASSWORD": "your-secure-password",
        "PLANKA_IGNORE_SSL": "true"
      }
    }
  }
}

将此代码块添加到相应的配置文件中:

客户端配置文件
Claude DesktopmacOS:~/Library/Application Support/Claude/claude_desktop_config.json · Windows:%APPDATA%\Claude\claude_desktop_config.json
Claude Code (CLI)项目根目录下的 .mcp.json(或使用 claude mcp add,见下文)
Cursor~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目级)
Windsurf~/.codeium/windsurf/mcp_config.json
Cline(VS Code)cline_mcp_settings.json,通过 Cline → MCP Servers → Configure MCP Servers 配置(在服务条目中添加 "disabled": false, "autoApprove": [])
Antigravity通过 Settings → MCP Servers → Add Server 添加,或直接编辑其配置文件

说明

Claude Code 还支持通过一行命令添加服务,无需手动编辑 JSON:

claude mcp add planka-mcp \
  --env PLANKA_BASE_URL=https://your-planka-instance.com \
  --env [email protected] \
  --env PLANKA_AGENT_PASSWORD=your-secure-password \
  --env PLANKA_IGNORE_SSL=true \
  -- npx -y @goldpulpy/planka-v2-mcp@latest

保存后重启客户端。

Codex CLI

编辑 ~/.codex/config.toml:

[mcp_servers.planka-mcp]
command = "npx"
args = ["-y", "@goldpulpy/planka-v2-mcp@latest"]

[mcp_servers.planka-mcp.env]
PLANKA_BASE_URL = "https://your-planka-instance.com"
PLANKA_AGENT_EMAIL = "[email protected]"
PLANKA_AGENT_PASSWORD = "your-secure-password"
PLANKA_IGNORE_SSL = "true"

或使用一行命令添加:

codex mcp add planka-mcp -- npx -y @goldpulpy/planka-v2-mcp@latest

然后在生成的 [mcp_servers.planka-mcp.env] 区块中设置 PLANKA_* 变量。

Continue(VS Code / JetBrains 扩展)

添加到 ~/.continue/config.yaml:

mcpServers:
  - name: planka-mcp
    command: npx
    args:
      - -y
      - "@goldpulpy/planka-v2-mcp@latest"
    env:
      PLANKA_BASE_URL: https://your-planka-instance.com
      PLANKA_AGENT_EMAIL: [email protected]
      PLANKA_AGENT_PASSWORD: your-secure-password
      PLANKA_IGNORE_SSL: "true"
Zed

编辑 ~/.config/zed/settings.json(macOS/Linux)或 %APPDATA%\Zed\settings.json(Windows),也可通过 Cmd+Shift+P → "zed: open settings" 打开:

{
  "context_servers": {
    "planka-mcp": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
      "env": {
        "PLANKA_BASE_URL": "https://your-planka-instance.com",
        "PLANKA_AGENT_EMAIL": "[email protected]",
        "PLANKA_AGENT_PASSWORD": "your-secure-password",
        "PLANKA_IGNORE_SSL": "true"
      }
    }
  }
}

手动添加的服务(而非通过 Zed 扩展安装的服务)必须设置 "source": "custom"。保存后,Zed 会自动重新加载服务,无需重启编辑器。

其他任何兼容 MCP 的客户端

此服务是标准的 stdio MCP 服务,任何支持 command / args / env 结构的客户端都可以使用。将其指向:

npx -y @goldpulpy/planka-v2-mcp@latest

并按上文所示设置四个 PLANKA_* 环境变量。

## 环境变量
变量必需默认值描述
PLANKA_BASE_URL✅-Planka 实例的完整 URL
PLANKA_AGENT_EMAIL✅-专用 Agent 用户的登录邮箱
PLANKA_AGENT_PASSWORD✅-Agent 用户的密码
PLANKA_IGNORE_SSL❌false跳过 SSL 验证——仅适用于自签名/本地证书

安全

  • 使用专用的 Planka 用户账户进行身份验证。
  • 仅通过环境变量提供凭据。
  • MCP 服务不会在运行进程之外持久化看板数据。
  • 默认启用 SSL 证书验证。
  • PLANKA_IGNORE_SSL=true 仅应在可信的本地或可自托管环境中使用。

故障排除

客户端看不到任何工具 / 连接静默失败
  • 确认 PLANKA_BASE_URL 末尾没有斜杠,并且运行 MCP 服务的机器可以访问该地址(不只是浏览器可以访问)。
  • 检查 Agent 用户能否通过 Planka 的常规 Web 界面使用完全相同的凭据登录,并且已接受服务条款。
SSL / 证书错误
  • 如果你的实例使用自签名证书,请设置 "PLANKA_IGNORE_SSL": "true"。请勿在生产环境中这样做——应改用有效证书。
已创建卡片,但未显示检查清单/子任务
  • 确保卡片类型为 "project"(默认值)。创建为 "story" 类型的卡片不会以相同方式显示任务列表。

开发

# Install dependencies
npm install

# Configure environment variables
cp .env.example .env

# Start the bundled Planka development instance
npm run planka:up

# Build the project
npm run build

# Run @modelcontextprotocol/inspector
npm run inspector

开发实例需要 Docker Compose,可通过 http://localhost:3000 访问(登录信息:[email protected] / admin)。本地使用时,请用该 URL 和登录信息更新 .env。与任何新建的 MCP 账户一样,请先通过浏览器登录并接受服务条款,然后再将该账户用于 MCP 服务。使用 npm run planka:down 停止实例并保留数据,或使用 npm run planka:clear 停止实例并删除其卷。

创建演示看板

仅用于开发的种子命令会创建一个具有代表性的看板,用于本地测试和演示。运行命令前,请安装项目依赖,并在 .env 中配置一个可访问的 Planka v2 实例,以及有效的 PLANKA_BASE_URL、PLANKA_AGENT_EMAIL 和 PLANKA_AGENT_PASSWORD 值。

# Reuse or create the private "Demo Project", then create "Demo Board"
npm run seed

# Seed an existing project
npm run seed -- --project-id <project-id>

# Choose a different board name
npm run seed -- --project-id <project-id> --board-name "My Demo Board"

# Show all options
npm run seed -- --help

看板包含默认工作流列表中的卡片、描述、相对截止日期、用作标签的 Planka 标签、任务列表、已完成和未完成的任务,以及评论。命令成功后会输出项目 ID、看板 ID、看板名称和资源数量。

如果某个项目中已包含名称与指定名称完全一致的看板,种子命令会拒绝修改该项目;请使用 --board-name 选择其他名称。如果创建看板后发生错误,命令会报告失败阶段和看板 ID,并保留未完全填充的看板以供检查。使用相同名称重试前,请先在 Planka 中删除该看板。

种子源文件及其单独编译的 .seed-dist/ 输出仅用于开发,不包含在 MCP 服务构建或发布包中。

贡献

欢迎贡献。详情请参阅 CONTRIBUTING.md。

致谢

本项目由 Navya-Tecnologia/planka-v2-mcp 分叉而来,该项目基于 bradrisse/kanban-mcp 构建。感谢 @virapa 和 @bradrisse 为此代码库奠定基础。

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE。

本项目仅专注于 MCP 接口。有关 Planka 服务的设置,请参阅Planka 官方文档。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。