SiYuan
Block-based local-first knowledge base whose Go kernel ships a 30-plus tool MCP server and HTTP API.
SiYuan is a privacy-first personal knowledge manager with block-level references, databases, daily notes, and an SQL query layer, available as desktop, mobile, and a Docker-served kernel. The kernel exposes an HTTP API (API.md) and an in-kernel MCP server (kernel/mcp) with tools for notebooks, documents, blocks, search, SQL, attributes, assets, export, sync, and even web search. Core is free and AGPL; sync and some features are paid.
- you want block references and databases like Notion, stored locally, with an agent that can query them by SQL
- you run a Docker kernel on your NAS and want daily notes written by an agent from the terminal
- AGPL-3.0
- Since v3.7.0 the Docker image needs an explicit serve subcommand
- Official cloud sync and some features are paid; third-party S3/WebDAV sync needs PRO Features
- Docker web UI is protected only by the access auth code unless OIDC is set
Last activity Sep 3, 2026. Fit: adaptable 2, operable 3.
Editions
Free · Free open source
PRO Features · $64 lifetime closed source
- HostedOpen the hosted app
Subscription · $148 per year closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only10 things to edit
Docker serve mode is env-driven: SIYUAN_WORKSPACE_PATH, SIYUAN_ACCESS_AUTH_CODE (or SIYUAN_ACCESS_AUTH_CODE_BYPASS), SIYUAN_LANG, PUID and PGID, and an OIDC block (SIYUAN_OIDC_ENABLED, SIYUAN_OIDC_PROVIDER, SIYUAN_OIDC_REDIRECT_URL) that replaces the lock-screen code. The README carries docker-compose, Unraid, and TrueNAS examples. Desktop settings live in the UI.
- Env vars
SIYUAN_WORKSPACE_PATHSIYUAN_ACCESS_AUTH_CODESIYUAN_ACCESS_AUTH_CODE_BYPASSSIYUAN_OIDC_ENABLEDSIYUAN_OIDC_PROVIDERSIYUAN_OIDC_REDIRECT_URLSIYUAN_LANGPUIDPGID- Config files
docker-compose.yml- Prompt files
- none
- Accounts you need
- OpenAI (optional, AI writing)SiYuan account (paid sync and PRO features)S3 or WebDAV provider (PRO third-party sync)
Source
- github.com/siyuan-note/siyuan
- AGPL-3.0 license
- Last commit Sep 3, 2026
- 46,138 stars
Operable: what an agent can drive
Interface
OfficialMCP serverpublished by the builderlocal
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
- Docs
- github.com/siyuan-note/siyuan/tree/master/kernel/mcp
- Tools
notebookdocumentblocksearchsqlattrtagbookmarkdailynotedatabaseassetfileimageexportimporthistorysynctemplateinboxtodo_writerefoutlinerepoworkspacesystemweb_fetchweb_searchquestionskill
Reach
Partial coverage. 9 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Notebooks and documents | Reachable | kernel/mcp/tools notebook.go, document.go |
| Block-level read, insert, update, and move | Reachable | block.go |
| Search and SQL queries | Reachable | search.go, sql.go |
| Attributes, tags, bookmarks, and references | Reachable | attr.go, tag.go, bookmark.go, ref.go |
| Daily notes and templates | Reachable | dailynote.go, template.go |
| Databases (attribute views) | Reachable | database.go |
| Assets, files, and images | Reachable | asset.go, file.go, image.go |
| Export, import, history, and snapshots | Reachable | export.go, import.go, history.go, repo.go |
| Sync and workspace management | Reachable | sync.go, workspace.go, system.go |
| Plugins and marketplace, AI writing UI | Not reachable | no plugin tool in kernel/mcp/tools; AI writing is a UI feature over the OpenAI API |
Code stack
- Languages
- GoTypeScript
- Frameworks
- ElectronGin
- Package manager
- go modules, pnpm
- Database
- SQLite
- Hosting target
- binarydocker
- Built
- Mixed (recorded, never ranked)
Model stack
- Providers
- OpenAI API (AI writing and chat)
- Models
- none
- Keys you need
- none
- Prompts live in
- none
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: desktop app from app stores and installers; Docker serves the same kernel with a web UI | 70% |
| executionModel | AI writing and Q/A through OpenAI API; MCP tools include web_search and question; notes work without a model | 75% |
| operability | kernel/mcp/tools in the repo with 30-plus tool files; tagline 'From thought to insight, with agents' | 90% |
| effort | README Docker section names SIYUAN_* env vars | 90% |
| editions | b3log.org/siyuan/en/pricing.html: core free, PRO Features $64 lifetime, Subscription $148/year | 85% |
| active | pushedAt 2026-09-03 | – |
| provenance | AGENTS.md at root; project from 2020 | 40% |
| reach | 85% |
Open questions
- Is the level native rather than official? The Builder now leads with agents but the app predates them
- Does the MCP server require the paid tier for any tool (sync, web_search)?
Sources
- github.com/siyuan-note/siyuan sourcing:notes-knowledge:curated
- b3log.org/siyuan/en/pricing.html analysis
- github.com/siyuan-note/siyuan/tree/master/kernel/mcp/tools analysis