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 集成