Document
Long-form writing with structure that survives — the canonical version of what your team decided and why.
PlanAct is the shared surface between your agentic system and your team. Claude writes topics, boards and tasks straight into it over MCP — you open documents, slides and boards that are already current.
Self-hosted on your own Postgres Semantic search runs locally Your content never leaves your box
The loop
Most tools make you choose: a database your agents can write to, or a workspace your team can actually read. PlanAct is both ends of the same object.
Claude Code, a scheduled job, or your own service calls the MCP tools — creating a topic, moving a card, closing a task.
create_topic · update_taskOne Postgres row, embedded with a local model and indexed with pgvector — versioned, permissioned, searchable by meaning.
postgres · pgvectorThe same topic opens as a document to read, slides to present, or a board to plan against. Nothing to sync, nothing to refresh.
document · slides · boardThe return arrow matters as much as the first one — what you write is what the agent reads next.
The visualise half
A topic isn't locked to a format. The same content your agents maintain renders as a document to read, slides to present, or a board to plan against — grouped into stores your team defines.
Long-form writing with structure that survives — the canonical version of what your team decided and why.
The same topic as a deck when you have to present it — and export to PDF when someone asks for the file.
Columns and cards when the topic is work in motion, with projects and tasks alongside the thinking behind them.
The update half · MCP
PlanAct speaks Model Context Protocol over a public HTTPS URL — so Claude Code connects with a single command. No tunnel, no bridge process, no export step. The same topics, the same search, the same permissions your team sees.
https://api.planact.ai/mcp
HTTPS · token-authenticated
# point Claude Code at your PlanAct workspace $ claude mcp add --transport http planact \ https://api.planact.ai/mcp \ --header "Authorization: Bearer $TOKEN" # that's it — the tools show up in the next session $ claude > what did we decide about billing in Q3? search_topics(q: "billing decision Q3") → 3 topics · ranked by meaning, not keywords
Semantic search
Every topic is embedded with a local model and indexed in Postgres with pgvector. Search matches on meaning, so the answer surfaces even when nobody used your words.
Returns & goodwill policy
"…beyond the standard window, support can approve a credit at their discretion…"
Billing escalation runbook
"…when a customer disputes a charge outside the refund period…"
Q2 support retro
"…the 30-day cutoff caused the most friction of anything we shipped…"
Built for organisations
Four levels, enforced everywhere — the REST API, the UI, and every MCP call. Nothing is bolted on after the fact.
01
Creates organisations and their first admins. One account, held by you.
02
The tenant boundary. Stores, topics, projects and members all live inside one.
03
Adds people with a password — no email round-trip needed to get a team started.
04
Reads and writes within their org, through the UI or their own MCP connection.
Let your agentic system keep the knowledge current — and open a document, a deck or a board whenever you want to know where things stand. On infrastructure you control.