FeatureBoard · MCP server · v0.16.12

The project board your agent actually drives.

FeatureBoard is an MCP server. Point Claude — or Cursor, or any client that speaks stdio MCP — at it and the agent gets a real board: a queue to pull from, work packets that say what "done" means, worktrees and verified commits, checks that run in the background, and an audit trail of everything it did. The board itself is plain markdown on your disk.

Which means two things most agent tooling gets wrong. Your tracker is a diffable text file you can commit next to the code it describes — no database, no export button, nothing to lose if you stop paying. And the agent is never staring at an empty queue: when the board runs dry it proposes the next wave from the project's own goal instead of stopping to ask.

Updated October 30, 2026 · v0.16.12 · ✅ Supported · support@featureboard.ai · release notes

Scroll
0MCP tools
0in Essential-tools mode
0.13.0current release
0tests green
0bytes of your data leave the machine
What you get

Thirteen domains. One server.

You install once; which tools appear is a setting, not a package choice.

Storage

Markdown you own

The board is featurelist.md, buglist.md and a project pad — readable, greppable, diffable, and yours. Put them in the repo and a code review shows the ticket that asked for the change. No database, no vendor round-trip, no lock-in.

Board UX

A real UI, not a wall of JSON

One call renders the full kanban board, analytics dashboard and timeline as a live artifact you can click — status changes, filters, charts — while the agent keeps working the same board underneath.

Never idle

A queue that refills itself

An empty board is where autonomous work usually dies. FeatureBoard steers from the project's stated goal: it proposes the next wave, sizes it to the machine, and hands each lane a work packet with scope, definition of done, and the files that matter.

Trust

Verified diffs, measured metrics

Commits carry the ticket. Background checks run on every check-in without spending model tokens. Drift audits score what shipped against what was asked for, so "done" is a finding rather than a claim.

Concurrency

Two agents, one board, no collisions

Atomic ticket claims arbitrate the race two sessions would otherwise lose silently; worktree leases stop one lane reclaiming another's; a stale-lock reaper clears what a crashed run left behind. Measured at two live sessions, 100 waves over 40 tickets, zero overlap.

New in 0.11

Agent mail

Two machines on one board can finally talk without a human relaying it in chat. Directives, notices and questions travel in an append-only log that git merges by union, and the far side can auto-run the narrow, allowlisted class of directive that is safe — surfacing everything else for a person instead of guessing.

Memory

It remembers between sessions

A knowledge base with upsert-by-topic learnings, research briefs, hybrid RAG search over the board and its docs, and a work log that feeds velocity. The next session starts from what the last one found out, not from zero.

Beyond code

CRM, site, media, demos

Leads, companies, contacts and contracts; a customer portal and customer-linked tickets; generated media with version history; a website you can scaffold, edit and deploy. The board is where the work is tracked, so the work does not have to be code.

Licensing

Free for personal work

Personal and public projects are free, forever. Commercial use is $9.99 per seat per month, or $99.99 a year, self-serve, with a 24-hour trial — and the board keeps working on your files either way.

The workflows

321 endpoints. Six loops.

Individually these are tools. In practice they are six loops, in this order, and an agent that knows the loops needs very little steering.

Something needs doing

An ask arrives — in chat, from a customer, from a bug report. It gets captured as a ticket rather than lived in the conversation: validated against what the board already knows, decomposed if it is really five tickets, and bulk-imported if it came from a backlog somewhere else. When the board empties, steering proposes the next wave from the project goal instead of idling.

capture_askadd_featurelog_bugvalidate_feedbackdecompose_featureadd_features_bulkimport_taskssteer_project

Plan a wave and dispatch it

The agent asks for the next wave rather than picking tickets by eye: the board sizes it to the machine, claims every ticket it serves so a sibling session cannot take the same one, and hands each lane a work packet — scope, definition of done, git targets, relevant knowledge-base docs and code files. Estimates and a token budget come with it, so a wave is a plan with a budget attached.

next_wavenext_taskget_work_packetestimate_workplan_budgetdaily_planrecord_dispatchcreate_worktree

Do the work, and leave evidence

Status moves stamp ownership. Commits carry the ticket id and a real diff. Static checks spawn in the background so the agent can take the next ticket immediately and collect the result between them, and CI failures come back as filed bugs rather than a red dot nobody looked at. Review comments live on the ticket, addressed to a person by name.

set_statuscommit_featurestart_checksget_check_resultsci_followupopen_pull_requestmerge_back_worktreerequest_review

Two machines, one board

A second machine joins the board and immediately knows who holds what. Tickets are claimed atomically and hand-offs travel with the baton — the note, the branch, the files already touched — so the receiving session continues instead of re-deriving. What is not about a ticket travels as agent mail, and the directives that are safe and verifiable can run themselves on the far box.

join_projectteam_statushand_off_ticketaccept_handoffsend_agent_messageread_agent_inboxrun_agent_directivesfb_locks

Prove it actually happened

Acceptance criteria get checked off one at a time. Drift audits compare the shipped code against the ticket that asked for it and produce a remediation list you can work through. Test runs, coverage by product and regressions are recorded per ticket, and closing a sprint reports what was shipped against what it cost.

check_acceptancedrift_startdrift_reportdrift_remediateget_ticket_difflog_test_runcoverage_by_productclose_sprint

Ship it, and turn it into revenue

Releases are packed, tagged and published with their asset set intact. On the other side of the same board: leads become companies, companies get accounts and agreements, their bugs become tickets you can prioritise by who is waiting, and licensing tracks the seats. One board, from the ask to the invoice.

publish_releasedeploy_siteadd_leadconvert_leadlink_customer_ticketcompany_priority_ticketsgenerate_contractadd_seats
Install

One server package. Three ways in.

Node.js 18 or newer; nothing else to provision, no account to create before it runs.

Recommended

Claude Cowork & Claude Desktop

Open the bundle and press Install. One file ships the MCP server plus the behaviours: auto-boarding substantive requests, and the daily-plan dispatch skill.

Claude Code

Claude Code

Upload the plugin in Customize → Plugins and it syncs into every Claude Code session. Same server, same board, same files.

Everything else

Cursor, Grok, any stdio MCP client

The plain zip: unpack it, point your client's MCP config at server/index.js, done.

Already installed? The server checks for updates itself and tells you when a newer release is out — check_updates reads /releases/latest.json, which is published from the same build as the downloads above.
Reference

Every tool, all 321 of them

Generated from the server's own registrations, so this list is the tool surface rather than a description of it. Expand any tool for the description the agent itself reads — those descriptions are the API: they are what tells a model when to reach for hand_off_ticket instead of send_agent_message.

read-only never writes · write changes the board, the repo or the world · essential present in the trimmed core tool set. The same reference lives in the repo as docs/TOOLS.md.

Give an agent a board to work from.

Free for personal and public work — install it and let the queue fill itself.