TabTree

app.tabtree由 tabtree.app 發布官方發布者v1.22.0更新於 Nov 7, 2026

Build mind maps, kanban boards and whiteboards in your TabTree account, team spaces included.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶開發者工具

概覽

AI 產生的概覽

把助理連接到 TabTree 帳號,可讀取、搜尋並建立心智圖、看板和白板,也包含團隊空間。

可以做什麼
  • 列出並搜尋整個資料庫中的心智圖、看板、筆記與看板板,含團隊空間
  • 讀取單一心智圖(以 Markdown 大綱回傳)或看板(以元素與連線回傳)
  • 建立新的心智圖、含形狀/表格/圖片的白板,以及帶欄位與卡片的看板
  • 把專案簡報轉成樹狀圖、完整專案計畫或知識庫條目
  • 對既有心智圖與看板提出修改,並把完成的工作交付回卡片等待確認
  • 讀取單張卡片產生的提示詞,以及看板的燃盡圖、阻塞項目與預測等儀表板數據
適用情境
適合把規劃、專案與知識工作放在 TabTree 的使用者,希望助理把對話、逐字稿或規格變成真實的心智圖與看板,或讀取既有內容作為脈絡。也適合想把編碼工作階段與看板卡片綁定的團隊。
執行需求
需要 TabTree 帳號與連接器金鑰(TABTREE_API_KEY,以 tt_live_ 開頭,在 TabTree 設定中建立);以位址連線遠端端點時使用 OAuth 登入。本機方式透過 npx 執行 npm 套件 tabtree-mcp,需要 Node.js,並需能連線 tabtree.app。
安裝前請注意
連接器金鑰是可存取本人與團隊空間心智圖的即時帳號憑證,不要寫進儲存庫或共用檔案。它可建立與修改心智圖和看板,並會把對話內容歸檔進帳號;對既有內容的變更會先顯示待確認,且不會刪除心智圖。交付成果與歸檔項目需使用者在 TabTree 中接受。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TabTree,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.tabtree%2Ftabtree/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "tabtree": {
      "type": "http",
      "url": "https://tabtree.app/mcp"
    }
  }
}

README

TabTree

Mind maps, kanban boards and whiteboards — one document, many views, in your account.

Live demo — no signup · tabtree.app · Templates · Claude connector

[TabTree]


What it is

TabTree is a mind-mapping, kanban and whiteboard app at tabtree.app. One document reads several ways: mind map, kanban board, Gantt chart, calendar, page of notes, spreadsheet or full-screen presentation. Switch views; nothing is converted and nothing is lost.

Your maps follow your accountSign in on your laptop or your phone and your library is there.
Team spacesInvite people into a space: shared maps and boards, live presence, comments, a daily digest.
TemplatesBusiness Model Canvas, Lean Canvas, OKRs, roadmaps, agent specs… browse them
It leaves the buildingPNG posts, carousel PDFs, MP4 flythroughs, or a shared page anyone can read.
Claude works in itThe connector below lets Claude read your library and build maps, boards and kanbans in it.

This repository

TabTree itself is a commercial product and its source is not published here. This repository is the public face of it, and it holds four things that are useful on their own:

  • mcp/ — the full source of the Claude connector, free to use, copy, redistribute and modify (its own licence, no attribution required), and the same code published to npm as tabtree-mcp.
  • plugins/tabtree/ — the Claude Code plugin: it ties a coding session to one card of a board (your commits land on it), ships the connector, and adds a facilitation skill that ends in a real document. See Claude Code plugin below.
  • templates/ — template outlines in plain Markdown, each with a link that opens it live. Paste them into TabTree, or into any outliner.
  • screenshots/ — rendered by the real app, not mocked up.

To see the app itself, try the demo — it runs in your browser, with nothing to install and no signup.

Claude connector

Let Claude read your TabTree library and turn a conversation, a transcript or a spec into a real mind map, kanban board or whiteboard — in your account, on every device, and in the team spaces you belong to.

1. Get your connector key. In TabTree: ⚙️ Settings → Account → Claude connector → Create a connector key. It is shown once and starts with tt_live_.

2. Claude Desktop — double-click. Download TabTree-Connector.mcpb (or from tabtree.app/connector) and double-click it. Claude Desktop ships its own Node and asks for your key on its install screen.

No install — claude.ai, ChatGPT, Cursor: connect by address, https://tabtree.app/mcp. The app opens a TabTree page where you sign in and press Allow: no key to copy. In claude.ai: Settings → Connectors → Add custom connector, then paste the address.

Claude Code, or any MCP client:

bash
claude mcp add tabtree --scope user -e TABTREE_API_KEY="tt_live_…" -- npx -y tabtree-mcp

Or in your client's config:

json
{  "mcpServers": {    "tabtree": {      "command": "npx",      "args": ["-y", "tabtree-mcp"],      "env": { "TABTREE_API_KEY": "tt_live_…" }    }  }}

Fourteen tools: list_maps, read_map, search_maps, create_mindmap, plant_project (a brief becomes a tree — roots, branches, birds), create_kanban, create_board (with your own images, and tables), plan_system (a whole system from a brief, built after review), propose_changes, harvest, fill_knowledge, card_prompt, deliver_card, and board_numbers (a kanban's burnup, what is blocking, cycle time and forecast — the numbers of TabTree's dashboard). The connector never overwrites or deletes a map. Safe changes to an existing map (add a card, move it, tick it, assign it, date it, comment on it) are applied by TabTree itself while it is open, and Cmd+Z undoes them; anything that rewrites or removes what someone wrote is shown to you first, as a banner on that map. Full detail in mcp/README.md.

Claude Code plugin

Ties a Claude Code session to one card of a TabTree board. Claude knows which card it is working on — even after /clear — and your commits land on that card as a comment, without you writing anything.

bash
claude plugin marketplace add ai4xedu/tabtree-mcpclaude plugin install tabtree@tabtree

Then give it your connector key (tt_live_…, from TabTree → ⚙️ Settings → Account → Claude connector): inside a Claude Code session, run /plugin configure tabtree@tabtree. From a shell, claude plugin configure tabtree@tabtree --values-stdin reads it as {"api_key":"tt_live_…"} on standard input. The key is kept by Claude Code, never written into a file of your repository.

CommandWhat it does
/tabtree:linkLinks this git repository to one board — writes .tabtree.json (the board's id, no secret), so teammates share the link.
/tabtree:nextPicks the card to work on next, reads its brief, moves it to the in-progress column.
/tabtree:statusSays which board and card this session is tied to.
/tabtree:doneWrites the deliverable onto the card, for your approval in TabTree.
atelier-vision-okrFacilitates a vision / mission / OKR session — in French, the language it was built to run workshops in — and writes the result as a canvas you can present.

Once a repository is linked, each session starts with a one-paragraph summary of the board and the current card, and the commits made during a session become one comment on the card: hash, subject and branch — never a diff, a file or a secret. A hook never blocks a session: when TabTree does not answer, Claude goes on without it. The connector itself ships inside the plugin (the same tabtree-mcp.mjs as on npm), so the twelve tools above are in the session.

Screenshots

The same document as status columns — every card is still a node of the map.

[03-kanban.png]

Arrows stay attached to the boxes when you move them.

[06-flowchart.png]

A shared map, as your reader sees it.

[04-reader.png]

Images and reasoning on one canvas.

[05-moodboard.png]

Radial layout, dark theme.

[90-radial-dark.png]

Licence

Different licences, and the distinction matters:

  • The connector in mcp/ is free to use, copy, redistribute and modify, for any purpose — see mcp/LICENSE.md. It is given away on purpose.
  • The plugin in plugins/tabtree/ carries the connector's licence file, and the workshop skill keeps its own (plugins/tabtree/skills/atelier-vision-okr/LICENSE.md): free on the same terms, commercial workshops included. Each text names what it covers.
  • The app is a commercial service at tabtree.app; its source is not in this repository.
  • The template outlines are yours to copy and adapt freely.

Made in Casablanca. tabtree.app

來源:README.md,提交 f530121

工具

14

list_maps

List maps

Lists every mind map, kanban, note and board in the TabTree library — the user's own and those of the team spaces they belong to (name, type, space, folder, size, last modified).

無需輸入參數。

read_map

Read a map

Reads one TabTree map. A mind map comes back as a markdown outline; a board as a list of elements and connections. `file` is a file name (or a map name) returned by list_maps. A 🗂 PROJECT (format projet) opens with a “🗂 Project” block before its outline: description, vision, mission; the objectives with their key results done/total; each epic with its Verdict (untested · testing · validated · invalidated), its cards done/total and its ICE; the live sprint — its number and name, its day (“day 9 of 14”) and last day if the root carries “Sprint length:” (and “Sprints start:” for the first one), its goal (the running sprint's goal, kept in the board's season — the 🎯 chip), committed / done / backlog counts, and the last closed sprint with its bets; then the Backlog ranked by ICE = Impact × Confidence × (6 − Effort) (a card without its own scores takes its epic's). Read this block before steering a project: to plan the next sprint, take the top of the ICE ranking up to about 6 committed cards, `move` them from Backlog to “To do”, set the goal with { op: "season", goal: … }, and settle a bet with { op: "attr", target: <epic>, name: "Verdict", value: "validated" } — all safe changes, applied by TabTree itself.

輸入參數file必填

search_maps

Search maps

Searches text across the whole TabTree library — map names, nodes, notes, shapes, sticky notes. Case-insensitive.

輸入參數query必填

create_mindmap

Create a mind map

Creates a NEW TabTree mind map from a markdown outline (#/## headings, bullet lists indented by 2 spaces, [x]/[ ] checkboxes, [title](url) links, and " @a:<id>" / " @e:<emoji>" at the end of a line for an illustration). The first top-level line becomes the centre. SCREENSHOTS: pass `images` — a list of { target, file } where `file` is the path of a PNG/JPEG on this machine (a screenshot you saved) and `target` the exact text of the node it goes on; the picture is re-encoded to fit and drawn as the node's cover. PROJECT — when the user wants to run a project, a product, a launch or a plan of bets (not a one-off mind map), create it with `format: "projet"`: one tree that holds the vision, the objectives, the epics as bets you settle, their cards and the sprints. TabTree recognises the first-level branches by their leading emoji. Write it like this (an attribute is its own line "Name: value"): # 🗂 <Project name> - Description: one sentence — what ships, for whom, why now - Vision: the world once it has worked, no numbers - Mission: what ships by when, with the one number that proves it - Sprint length: 2 weeks (optional — the planned rhythm) - Sprints start: 2026-11-02 (optional — the first sprint's first day) - 🎯 Objectives - O1 — the outcome, by a date - [ ] KR1 — a number with its target - 🧱 Epics - F · Foundations - Hypothesis: what we believe is true and justifies the epic - Goal: the number that settles it - Signal: the indicator, and where it is read - Verdict: untested (untested | testing | validated | invalidated) - Impact: 4 (optional, 1–5; with Confidence and Effort → ICE = Impact × Confidence × (6 − Effort)) - Confidence: 3 - Effort: 2 - [ ] F01 · a card, a deliverable in a few days @todo - 📚 Knowledge - [Company knowledge](map:<file>) - 📝 Decisions - 2026-10-26 — the decision, who took it, and the gate that reopens it Pass `columns` to put the cards on the project's

輸入參數name必填viewdatesspacestylefolderformatimagescolumnsmarkdown必填

plant_project

Plant a project as a tree

“Claude, plant me the project”: turns a project brief into a TabTree TREE in one call — the map drawn as a real tree, root planted at the bottom. Use it when the user wants to start, frame or visualise a project (not for a plain mind map). Extract from the brief: WHY it exists (it grows as roots under the ground), its RISKS (roots too — the higher the priority, the thicker the root), and its BRANCHES (the work streams), each with its TASKS. In the tree: an owner is a bird on the branch, a due date within 3 days makes it sway (overdue: a storm), a done task is a ripe fruit, a task in progress a green one. TabTree then diagnoses the project's shape and picks its SPECIES (a baobab when three branches carry most of the work, a fir for a long flat backlog, a cedar for a deep strategy, a palm for a small project already well along, a willow when it bends under overdue work, an olive for a slow patient yield, otherwise an oak) — tell the user which tree their project is, and why, using the sentence the answer gives you. Dates are YYYY-MM-DD; only set the ones the brief gives. Owners: a first name or an email.

輸入參數whylangname必填risksspacefolderspeciesbranches必填

create_board

Create a whiteboard

Creates a NEW TabTree board (whiteboard): shapes (rect, ellipse, diamond, text, sticky), TABLES (kind "table" with `cells` — a comparison, a pricing grid, a RACI), IMAGES (kind "image" with a `file` path or an https `url` — your logos, photos, posters, placed where you say) and arrow connections that stay anchored to the shapes in the app. With no x/y coordinates, layout is automatic by level (the connections define the hierarchy, left to right). Good for a diagram, a flow, a brainstorm. In a flowchart use ellipse for start/end, rect for a step, and diamond for a decision — its text should read as a closed question with exactly two ways out. FIT THE TEXT TO THE BOX. A box shows roughly (w−24)/7 characters per line and (h−10)/20 lines, and every blank line costs a full line. Write captions, not paragraphs: when filling a canvas template (Business Model Canvas, Lean Canvas, SWOT…), the shipped templates use 70–110 characters per block, and that is what looks composed. Longer text is shrunk to fit — nothing ever spills out — but past ~11px it stops being readable and the response will warn you.

輸入參數name必填spacestylefolderelements必填connections

create_kanban

Create a kanban board

Creates a NEW TabTree kanban board in one call — columns and cards, each card with what TabTree shows on it: owner, start/due days, priority, colour labels, time estimate, Ai4X lever, note (links in it become clickable — a Google Meet link, a doc), a link, and sub-tasks. It opens directly as a kanban in TabTree, on every device signed in to the account, and in a TEAM space every member sees it. To add or move cards on an EXISTING kanban, use propose_changes instead.

輸入參數name必填cardsspacestylefolderformatlabelscolumns

plan_system

Plan a whole system from a brief (built after review)

Plans a whole PROJECT in TabTree from a brief, in one call, and lets the user build it with one click in the app. You write a blueprint: the work (each item human, agent or pair — an agent or pair item needs a deliverable and acceptance criteria), Build (project work) and Run (recurring) sides, epics, roles, milestones, and the systems the project needs (crm, launch, hiring, ops — each becomes a sheet + pipeline tab). TabTree creates an empty board named after the project and shows the plan on the user's library screen; the user adjusts the horizon, how much Claude takes, the systems and who holds each role, then clicks Build it. Nothing appears until TabTree is open on one of the user's devices. Never invent people, e-mail addresses, clients or figures: only names written in the brief. Work-item ids: a-z, 0-9 and _ only. Dates: "w1"… within the horizon, or a real day YYYY-MM-DD.

輸入參數whygoalknowlangname必填work必填risksrolesspacehorizonsystemsmilestones

propose_changes

Change a map (safe changes apply, others wait for review)

Changes an EXISTING mind map, kanban or BOARD (also one in a team space). ON A BOARD, target elements by the ids read_map shows (sh:2, im:7, st:0), or an image by its exact name: add_image { file | url | data, name, alt, x, y, w, h } or { ..., inside: "sh:2" } — placed below what that shape already holds, in centred rows, never overlapping, on top of the shape; with both w and h the image is FITTED into that cell with its proportions kept; add_shape { type, x, y, w, h, text, color }, add_text { x, y, text }, move { target, x, y } or { target, dx, dy }, resize { target, w, h }, label { target, name, alt } to name an existing image, arrange { target: "sh:2", images: [ids or names], w, h } to line images up inside a shape (omit images to tidy all it holds), and delete { target }. All but delete are applied by TabTree itself; delete waits for review. Sending the same add twice never makes a duplicate: images are matched by name, which defaults to the file's name. On a mind map or kanban, HYBRID, by design: SAFE changes — add cards or branches, move a card to a column, tick it, set its owner, dates, priority, labels, estimate, Ai4X lever, an attribute, a link, a comment, a picture, a ⭐ star for the user, the map's format, the running sprint's goal when none is typed yet (op season), and set up the columns of a board that has none — are APPLIED BY TABTREE ITSELF within seconds when TabTree is open on one of the user's devices (otherwise the next time it opens), and Cmd+Z undoes them. Changes that rewrite or remove what someone wrote — rename, note, delete, replacing existing columns, replacing a sprint goal someone typed, a persona re-cast — appear as a banner for the user to review and approve. In one call, the safe changes BEFORE the first review-only change apply by themselves and the rest goes to review, in order. Name each target node by its exact text, or by a path "Ancestor > Node" when the same wording appears twice; a later change may target a node added earlier

輸入參數file必填notechanges必填

harvest

Keep what matters from this conversation

Keeps what matters from THIS conversation in the user's TabTree second brain: facts, decisions and lessons. Call it ONLY after you listed the items to the user in the conversation and they agreed — then once. Nothing is filed until the user accepts it in TabTree (a banner, on any of their devices). Use it when the user ends a conversation (thanks, "that's all", "ok bye") or right after a decision was made. Facts and decisions go to the "Company knowledge" map of ONE space (created if the space has none); lessons always go to the user's "🌱 Lessons" map in Personal. Never for tasks (use propose_changes or create_kanban). Never a password, key or token. If nothing is worth keeping, call it with nothing: true and tell the user so.

輸入參數itemsspacetitlenothing

fill_knowledge

Fill the company knowledge base

Fills the user's TabTree KNOWLEDGE BASE — the "Company knowledge" map of a space — with its objects: projects, products, topics, clients, people, the company and its brands, partners. Each entry gets a short DEFINITION (what TabTree's card prompts read as context), its other names and a few facts. Use it when the user asks to fill or update their knowledge base, for example from their second brain. An entry that already exists (same name or alias, any section) is UPDATED, never duplicated. Nothing is written until the user accepts it in TabTree: one banner per call, one click applies it all. 30 entries per call at most — send several calls for more. Never a password, key or token.

輸入參數spaceentries必填

card_prompt

Get a card's prompt

Reads ONE card of a TabTree kanban or mind map and returns the prompt TabTree's 🪄 builds for it — Role, Context (board, column, owner, dates, labels, the knowledge-base entries the card is about, relevant passages from the user's other maps in the same space), Task (the card, its spec, its acceptance criteria — and, when the reviewer sent the card back, their last request, first in the Context), Guardrails and Format (picked from the deliverable: spreadsheet, slides, email, code, research, document, plan). Use it when the user asks you to work on, do or prepare a card ("work on the card X"). Then do the work following that prompt, and send the result back with deliver_card. Read-only.

輸入參數card必填file必填kindlang

board_numbers

Read a board's numbers

Reads the numbers of ONE TabTree kanban board, computed by the same code as the app's 📊 Dashboard and 🏁 Sprint panel: cards per column; the running sprint (day, goal) and its burnup — done / scope, scope change since day 1, the pace and whether it will finish on time, day by day; what is blocking (cards marked Blocked, waiting on an open card, overdue, or still for 3 days; columns over their limit; work per person); the flow over 30 days (cycle time, ageing work in progress, a forecast range, cards at risk of missing their due date, labels); and what agents carry. Use it when the user asks how a board, a sprint or a project is going, what is blocking, or when it will be done — then act on it with propose_changes. Read-only.

輸入參數file必填

deliver_card

Deliver work on a card

Sends your finished work on a card back to TabTree, ON that card, for the user's approval: the deliverable becomes a 📄 entry under the card (its note holds your result, in Markdown), with optional next-step sub-tasks, and the card moves to the board's review column when it has one (e.g. "🛂 To validate") — or to the column you name, never Done on such a board, never Won or Lost on a sales pipeline (a human moves it there). Nothing is written until the user approves it in TabTree — one banner, one click, Cmd+Z undoes it. Use it after card_prompt, once the deliverable is ready. Never put a password, key or token in it.

輸入參數card必填file必填notetitleresult必填move_tosubtasks

版本歷史

8
  1. v1.22.0最新Nov 4, 2026
  2. v1.19.0Nov 3, 2026
  3. v1.14.0Nov 1, 2026
  4. v1.8.0Oct 26, 2026
  5. v1.7.0Oct 25, 2026
  6. v1.6.1Oct 23, 2026
  7. v1.4.0Oct 13, 2026
  8. v1.2.1Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Tabtree 整合