The open-source workspace you host yourself
Pages, databases and realtime collaboration on your own server or right on your computer, with a built-in MCP server so Claude and other AI assistants can search, read and edit your workspace, only after you approve them.
Everything a team wiki and project tracker needs
Write docs, plan work and keep a knowledge base in one place, without handing your data to someone else's cloud.
Pages and a block editor
Nested pages, slash commands, markdown shortcuts, callouts, LaTeX, Mermaid diagrams, columns, embeds, comments, links between pages with a graph of how they connect, and full page history.
Databases where every row is a page
Table, board, calendar, gallery, list, timeline, chart and form views, with relations, formulas, rollups, filters and row templates.
Dashboards
Numbers, charts and lists from several databases on one page, kept up to date as rows change and worked out from the rows each reader may see. Drag widgets into place, and click a number or bar to see the rows behind it.
Realtime and offline
Edit the same page together with live cursors. Pages you opened keep working without a connection and sync when you are back.
Built for AI assistants
Connect Claude or any MCP client over OAuth 2.1. Optional AI writing, AI properties and agents, with Anthropic, OpenAI, Google or a local model.
An AI chat that remembers
Ask questions over the pages you can read and get answers with sources. It keeps short notes about you after asking, which you see, change or turn off, and follows the skills your team writes.
Automations and reminders
When a row is added, changes or a date passes: set values, notify people, call a webhook or run an agent. Date reminders, repeating templates and calendar subscriptions.
Bring your pages from Notion, Obsidian or Trello
Import a Notion Markdown & CSV export, an Obsidian vault, a Trello board's JSON export, Word documents, Markdown files or a CSV. Export pages as Markdown or PDF, and whole workspaces as a ZIP.
Ready for a team
Teamspaces, page and property permissions, guests, SSO with OIDC and SAML, SCIM, two-step verification, passkeys and an audit log.
Search that finds it
Pages show up while you type, found by their words and, with an embeddings model, by meaning, attached PDFs and Word documents included. Japanese and Chinese words are found inside a sentence.
A tidy workspace
Workspace health lists broken links, pages nothing links to, empty and long-untouched pages, and pages that say nearly the same thing, many with a one-click fix.
In 16 languages
The app, emails and templates in English, Turkish, German, Japanese, Arabic and eleven more. Arabic, Hebrew and Persian lay it out right to left, and every paragraph follows its own text's direction.
Let AI assistants work in your workspace, on your terms
Leafdesk has a remote MCP server at /mcp. Claude, Claude Code, Codex
and other MCP clients connect over OAuth 2.1 and can search, read, create and update pages and
database rows, and the changes show up live for everyone on the page.
- You approve every app on a consent screen, read-only or read-write.
- Revoke access any time in My account → Connected apps.
- Nothing is lost: a version is saved before every AI edit, and page history shows which app changed what.
- Keep or undo, block by block: a page an assistant changed shows which blocks it touched, and you keep or undo each one.
- Your edits stay yours: an app can change one block instead of the whole page, and can ask to write only if nobody edited the page since it read it.
- Permissions still apply: an assistant only sees what the person who approved it can see.
- One memory of you: every assistant you connect reads and keeps the same short notes about you as the AI chat, each showing which assistant kept it, and none while you have the memory off.
Agents that work on your database rows
An agent is an AI helper with instructions of its own. Add the “Run an agent” action to a database automation, and every new or changed row gets sorted, answered or checked, with the agent's reasons in a comment. Owners can also ask one for a task over the REST API or MCP.
- It sees only what you share: each agent is a guest of its own, and never gets full access.
- Its work is signed: changes, comments and page history show the agent's name.
- Your other tools, with your say: connect any MCP server (Slack, GitHub, a CRM) and pick which tools an agent may use. Reading runs at once; anything that changes data waits for an owner's approval in the inbox. Signed events from those services can start an agent too.
- It learns, with your review: an agent proposes notes for its memory, and only the ones an owner keeps go with its later runs. Give it your team's skills to follow.
- Every run is kept for 30 days, step by step, with the tokens it used, and a monthly token limit stops an agent that spends too much.
- Owners stay in charge: only owners create agents and add them to automations, and access an automation gave is taken back once it no longer runs them.
A desktop app, with or without a server
Run Leafdesk on your own computer with nothing to set up, or open your team's server in a window of its own.
- No server needed: choose On this computer and Leafdesk runs inside the app, with a database of its own. Your pages and files stay on the computer.
- Backed up every day into one file per workspace, in a folder you choose, such as one iCloud Drive or Dropbox keeps in sync.
- Room to grow: a backup restores on any Leafdesk, so the workspace moves to a server when a team joins.
- Or connect to your server, and your team's workspace opens in a window of its own, with links to other sites opening in your browser.
The latest release on GitHub. The macOS app is signed and notarized, and the apps update themselves. The Windows installer isn't signed yet, so Windows warns the first time: choose More info, then Run anyway.
Up and running on your server in a minute
For a team, one docker compose up on your own server. Leafdesk and
PostgreSQL run side by side, your pages and files stay with you, and everyone signs in from the
browser, the desktop app or their phone.
mkdir leafdesk && cd leafdesk
curl -fsSLO https://raw.githubusercontent.com/esmworks/leafdesk/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/esmworks/leafdesk/main/.env.example -o .env
# set BETTER_AUTH_SECRET in .env to the output of: openssl rand -base64 32
# and POSTGRES_PASSWORD to the output of: openssl rand -hex 24
docker compose up -d
Then open http://localhost:3000 and create an account. The quick start guide covers versions, upgrades, S3 storage, email and running behind a domain.
Questions
Short answers. The README has the details.
Is Leafdesk free?
Yes. Leafdesk is open source under the AGPL-3.0 license, with no paid tier and no limits on pages, members or storage. You only pay for the server you run it on, if you use one.
Do I need a server?
Not for yourself. In the desktop app, On this computer runs Leafdesk on your Mac, Windows or Linux computer with nothing to set up, and backs it up every day. It is for one person on one computer: for a team, or to reach it from your phone, run it on a server with Docker and restore a backup there.
Can I move my workspace from Notion?
Export your Notion pages or workspace as Markdown & CSV with subpages, and import the ZIP. Pages keep their tree, databases come in with their column types, and images and attachments are uploaded.
Which AI assistants can connect?
Any client that speaks the Model Context Protocol with OAuth, such as Claude, Claude Code and Codex. The built-in AI writing, AI properties, chat and agents work with Anthropic, OpenAI, Google, OpenAI-compatible servers, or a local model with Ollama or LM Studio, and stay off until you set up a provider.
Does the AI chat remember things about me?
Only what you tell it, and it asks before keeping a note (unless you let it act on its own): short notes such as your role or how you like answers, kept per workspace in your own database. You see, change and delete them under Memory, and you or the workspace's owners can turn the memory off. AI assistants you connect over MCP share the same notes. Agents' notes wait for an owner's review before they count.
Where is my data stored?
In your own PostgreSQL database, with uploaded files on disk or in S3-compatible storage you choose; with the desktop app on your computer, in the app's own folder there. Leafdesk doesn't send your pages anywhere else unless you turn on an AI provider.
Which languages does it support?
The interface is in 16 languages (English, Turkish, German, Spanish, French, Italian, Portuguese, Polish, Russian, Ukrainian, Arabic, Hebrew, Persian, Japanese, Korean and Chinese), taken from the browser or chosen in My account, and emails go out in each recipient's language. Arabic, Hebrew and Persian lay it out right to left, and each paragraph of a page follows the direction of its own text. Search finds Japanese and Chinese words inside a sentence and Korean words with a particle attached, and quick add reads dates written in your language. Only Turkish has been checked by a native speaker so far; corrections are welcome.
Run your own workspace
Download the app, try it with Docker, star the project, or open an issue with what you need.