pkanban

io.github.japherwocky由 GitHub 账号 japherwocky 发布v0.9.0更新于 Oct 30, 2026

A kanban board your AI reads and updates as it works, and you watch in your browser.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

一个托管看板,AI 助手在工作过程中读取和更新它,你可以在浏览器中查看变化。

可以做什么
  • 列出、创建、重命名和删除看板,并按只读、写入或管理员级别共享给团队
  • 创建和删除列,并在列之间移动卡片
  • 创建、更新、移动、归档和删除卡片,查看卡片描述与评论
  • 为卡片添加评论,并在可访问的看板中搜索卡片标题和描述
  • 管理组织、团队及其成员
  • 创建、列出、撤销和重新启用 API 密钥
适用场景
适合希望助手在运行过程中把任务、状态变化和备注记录在看板上,方便你和团队在浏览器中查看的场景。可用于项目跟踪、由智能体驱动的任务队列和团队共享看板。
运行要求
需要连接 pkanban.pearachute.com 的远程托管端点,并通过 OAuth 在浏览器中批准登录。配套命令行工具也可使用 API 密钥或用户名密码认证,并可改为指向自建服务器。
安装前请注意
助手可以创建、更新、移动、归档和删除看板、列、卡片与评论,并更改组织和团队成员,误操作会影响共享数据。API 密钥可访问账户且只显示一次,应作为机密保管,不再需要时及时撤销。除非自建服务器,看板内容会存放在第三方托管服务上。

安装

在 SourceWeft 中

  1. 打开 控制台中的 pkanban,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.japherwocky%2Fpkanban/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "pkanban": {
      "type": "http",
      "url": "https://pkanban.pearachute.com/mcp"
    }
  }
}

README

pkanban

A CLI-first Kanban board for humans and AI agents. (The "p" is silent, like in "pneumonia".)

Most users will connect to our hosted service at pkanban.pearachute.com. If you want to run your own server, see the Self-Hosting section below.

Quick Start

macOS, Linux, WSL:

bash
curl -fsSL https://pkanban.pearachute.com/install.sh | sh

Windows PowerShell:

powershell
irm https://pkanban.pearachute.com/install.ps1 | iex

Windows CMD:

bat
curl -fsSL https://pkanban.pearachute.com/install.cmd -o install.cmd && install.cmd && del install.cmd

The installer uses uv or pipx if you have one, and installs uv (which brings its own Python) if you don't. Already have Python? pip install pkanban works too.

The CLI connects to the hosted service at https://pkanban.pearachute.com by default, so you can log in right away:

bash
pkanban login

Your browser opens on an approval page; click Approve and the terminal is signed in. Nothing secret is typed into the terminal, so this is also how to sign in an AI agent (pkanban login --no-wait, approve, then pkanban login again). Prefer a password? pkanban login <username> prompts for one.

Self-hosting? Point the CLI at your own server first with pkanban config --url http://localhost:8000 — see Self-Hosting.

Common Commands

bash
# List your boardspkanban board list
# Create a new boardpkanban board create "My Project"
# View a board with its columns and cardspkanban board get 1
# Add a columnpkanban column create 1 "To Do" 0
# Add a cardpkanban card create 1 "First task" --description "Getting started"
# Share a board with a team (read, write or admin)pkanban share 1 <team-id> -p write

API Keys

For automation, CI/CD, or giving access to agents, use API keys instead of passwords:

bash
# Create a key (shown only once!)pkanban apikey create "CI Agent"
# Save it once; subsequent commands use it automaticallypkanban apikey save pkanban_abc123...pkanban board list
# Or pass it per commandpkanban --api-key pkanban_abc123... board list

API keys can be revoked and reactivated at any time. They're stored securely (bcrypt-hashed) and track their last usage.

Scripting: JSON output

--json makes any command print the raw API response instead of formatted text, so scripts never have to scrape prose for values like IDs:

bash
pkanban board create "Roadmap" --jsonpkanban board get 1 --json | jq '.columns[] | {id, name}'

PKANBAN_OUTPUT=json does the same for a whole run:

bash
export PKANBAN_OUTPUT=json

The flag works in either position (pkanban --json board list and pkanban board list --json are equivalent). In JSON mode stdout carries only the response, and errors go to stderr as {"error": ..., "status": ...} with a non-zero exit code — so stdout is always safe to pipe into a parser.

pkanban login --json deliberately omits the access token: it is already saved to ~/.pkanban.yaml, and stdout is what CI logs capture.

Command Reference

CommandDescription
pkanban config [--url URL]Show or set server URL
pkanban loginSign in by approving in your browser
pkanban login <user>Sign in with a password (prompted)
pkanban logoutLogout and clear credentials
pkanban --api-key <key>Use API key for authentication
pkanban --json <command>Print the raw API response as JSON
pkanban apikey create <name>Generate a new API key
pkanban apikey listList your API keys
pkanban apikey revoke <id>Revoke an API key
pkanban apikey activate <id>Reactivate a revoked key
pkanban board listList all boards
pkanban board create <name>Create a new board
pkanban board get <id>Show board details
pkanban board delete <id>Delete a board
pkanban board update <id> <name>Update board name
pkanban share <board_id> <team_id|private> [-p read|write|admin] [--remove]Share board with a team at a level, or make private
pkanban column create <board_id> <name> [position]Create a column (appends by default)
pkanban column delete <id>Delete a column
pkanban card get <id>Show a card's description and comments
pkanban card create <column_id> <title> [options]Create a card
pkanban card update <id> [title] [options]Update a card; omitted fields are unchanged
pkanban card move <id> --column <n> [-p <pos>]Move a card without touching its text
pkanban card delete <id>Delete a card
pkanban card comment <id> [text] [--file <path>]Comment on a card (- reads stdin)
pkanban org listList all organizations
pkanban org create <name>Create an organization
pkanban org get <org-id>Show organization details
pkanban org members <org-id>List organization members
pkanban org member-add <org-id> <username>Add member to organization
pkanban org member-remove <org-id> <user-id>Remove member
pkanban team list --org-id <org-id>List teams in organization
pkanban team create <org-id> <name>Create a new team
pkanban team get <team-id>Show team details
pkanban team members <team-id>List team members
pkanban team member-add <team-id> <username>Add member to team
pkanban team member-remove <team-id> <user-id>Remove member from team

Self-Hosting

Want to run your own server? Here's how:

1. Clone and setup

bash
git clone https://github.com/japherwocky/pkanban.gitcd pkanbanpython -m venv venvsource venv/bin/activate  # Windows: venv\Scripts\activatepip install -r backend/requirements.txtcd frontend && npm install && cd ..

2. Initialize and run

bash
python manage.py initpython manage.py user-create admin mypassword --adminpython manage.py server

The server runs at http://localhost:8000 by default.

3. Connect the CLI

The CLI defaults to the hosted service, so point it at your local server first, then log in (you'll be prompted for the password):

bash
pkanban config --url http://localhost:8000pkanban login admin

Development

bash
# Run the server with auto-reloadpython manage.py server
# Run frontend dev server (hot reload)cd frontend && npm run dev
# Run testspython -m pytest backend/tests/

Database commands

bash
python manage.py init          # Create tablespython manage.py wipe          # Drop and recreate tablespython manage.py status        # Check database statuspython manage.py user-create <user> <pass> [--admin]

API Reference

The backend exposes a REST API at /api/:

Authentication

  • POST /api/token - Login (returns JWT)
  • X-API-Key header - Alternative auth via API key

API Keys

  • GET /api/api-keys - List your keys
  • POST /api/api-keys - Create a key
  • DELETE /api/api-keys/{id} - Revoke a key
  • POST /api/api-keys/{id}/activate - Reactivate a key

Boards

  • GET /api/boards - List accessible boards
  • POST /api/boards - Create a board
  • GET /api/boards/{id} - Get board details (archived cards hidden; ?include_archived=true adds them)
  • POST /api/boards/{id} - Update board
  • DELETE /api/boards/{id} - Delete board

Columns

  • POST /api/columns - Create column
  • PUT /api/columns/{id} - Update column
  • DELETE /api/columns/{id} - Delete column

Cards

  • GET /api/cards/{id} - Get one card with its description and comments
  • POST /api/cards - Create card
  • PUT /api/cards/{id} - Update card
  • DELETE /api/cards/{id} - Delete card
  • POST /api/cards/{id}/archive - Archive a card: hidden from board views, still found by search
  • POST /api/cards/{id}/unarchive - Bring it back, at the bottom of its column

Comments

  • GET /api/cards/{id}/comments - List a card's comments
  • POST /api/comments - Comment on a card (card_id, content)
  • PUT /api/comments/{id} - Edit a comment (author only)
  • DELETE /api/comments/{id} - Delete a comment (author only)
  • GET /api/search?q=... - Search card titles and descriptions on every board you can open (board_id, limit optional)

For multi-tenant organization details, see docs/multi-tenant.md.

来源:README.md,提交 c4989d7

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v0.9.0最新Oct 15, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分