Storybloq
Ticket, handover and lesson records kept in a repo's .story/ folder for Claude Code and Codex
Self-hosted shared workspace of tables, docs and skills that agents read and change through reviewed proposals
Official · busabase TypeScript Local · Streamable HTTP DatabasesKnowledge and memoryProductivity
63 popularity score ★ 724 ↓ 363/wk
Opens the app, which asks before it adds the server.
claude mcp add --transport http busabase http://localhost:15419/api/mcp{
"mcpServers": {
"busabase": {
"url": "http://localhost:15419/api/mcp"
}
}
}{
"servers": {
"busabase": {
"type": "http",
"url": "http://localhost:15419/api/mcp"
}
}
}[mcp_servers.busabase]
url = "http://localhost:15419/api/mcp"gemini mcp add --scope user --transport http busabase http://localhost:15419/api/mcpBUSABASE_DATA_DIR |
Optional: Folder for the embedded database and files; defaults to ~/.busabase/data. |
|---|---|
PG_DATABASE_URL |
Optional: Use an external Postgres database instead of embedded PGlite. |
STORAGE_URL |
Optional: Use S3-compatible storage instead of local file storage. |
Busabase is a local-first workspace that several coding agents and people share. It holds Bases (typed tables with fields, views and records), Docs, Files, Drives, Skills, AirApps (small apps that run on workspace data) and other node types in one tree. You start the server on your own machine and agents reach it over MCP at `/api/mcp`, over a REST API, or through the `busabase-cli` client.
The point is that agent writes are not applied blindly. Tools such as `record_change_request`, `node_create` or `base_field_change_request` file a Change Request with a message, a field-level diff and an author; the permission level of the credential decides whether it merges at once or waits in an Inbox for a person. Read tools cover listing nodes and Bases, paging records, exact-field lookups, pattern search (`grep`) and relevance search (`search`), and reading files inside Skills and Drives. A playbook catalog (`playbooks_search`, `playbooks_get`) lets an agent look up a stored SKILL.md or prompt before it acts.
The MCP tool catalog is not a hand-written list: in v0.95.1 it is generated from the server's whole REST contract, with about 60 read-only GET tools alone, plus 19 task-level tools and a `busabase_guide` tool; endpoint tools that a task tool replaces, the dump/export session tools and `guides_list`/`guides_read` are withheld (apps/busabase/src/app/api/mcp/handler.ts and packages/busabase-contract/src/tasks/index.ts at v0.95.1). Tool annotations mark DELETE endpoints and `change_requests_close`, `webhooks_test_fire`, `forms_submit` and `onboarding_complete_bootstrap` as destructive.
By default it runs with an embedded PGlite database and local file storage under `~/.busabase/data/`, and needs no account. The same engine runs Busabase Cloud, a paid hosted service reached through a separate plugin.
Node.js with npx to run `npx busabase server` (or Docker for the busabase/busabase image, or the Desktop app for macOS, Windows or Linux). The server must be running before a client connects; it listens on http://localhost:15419 and serves MCP at `/api/mcp`. An MCP client that can connect to an HTTP endpoint. Optional: an external Postgres database or S3-compatible storage.
There is no stdio command: the MCP endpoint lives inside the running web server, so a client connects by URL. Only one process can open the same embedded PGlite database at a time. `record_query` returns at most 100 records per call and pages with a cursor. Archiving through `node_archive` or `record_change_request` delete is reversible, but `nodes_purge` permanently removes an already-archived node. The catalog is large (well over 60 tools), which some clients that cap or truncate tool lists handle poorly; the server lists `auth_verify`, `playbooks_search` and `playbooks_get` first for that reason. The open-source server holds a single workspace.
Suits a person or team running several coding agents (Claude Code, Codex, Cursor, Gemini CLI) who want them to share structured records, docs and skills on their own machine, with a human able to review what agents change. It writes, so it fits when you want an audit trail and review queue rather than direct edits. Pick something lighter if you only need an assistant to remember a few notes, since this is a whole web app with its own database. For a workspace hosted on Busabase Cloud, use the Busabase Claude Code plugin from busabase/skills, which connects to https://busabase.com/api/mcp with browser OAuth instead of a local server.
playbooks_searchplaybooks_getbusabase_guidenodes_listbases_listbases_getrecord_queryrecord_find_by_fieldgrepsearchnodes_read_linesnode_list_files_treesnode_get_file_treenode_files_listnode_file_readnode_files_change_requestbases_create_change_requestbases_create_bulk_change_requestrecord_change_requestrecord_bulk_update_change_requestbase_field_change_requestview_change_requestnode_createnodes_create_change_requestnode_archivenodes_purgelist_archivedchange_request_querychange_requests_getchange_request_reviewchange_request_mergechange_requests_closenode_permissionnode_shareforms_createforms_submit