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 分