Text editors > SoloMD
A lightweight, cross-platform Markdown editor with live preview, built with Tauri 2.
SoloMD
A markdown editor — and the bridge to your LLM.
🇨🇳 中文 README → · 🪞 Gitee mirror → (faster downloads from China)
Download · Website · Security · FAQ · 中文站点
Your notes live in a folder. SoloMD is the editor on top — and the MCP endpoint Claude Code, Codex CLI, and Cursor can drive directly. Same .md files, two ways in.
Built on Tauri 2 + Vue 3 + CodeMirror 6. Universal macOS dmg ~32 MB. Free, MIT, no subscription, no SoloMD-hosted servers. Your notes, AI keys, embeddings index, and git history all stay on your machine.
Two halves of one product
The editor. WYSIWYG live edit (Typora-style), tabs + split panes, KaTeX + Mermaid, image paste to _assets/, slideshow mode (⌘⌥P), Vim mode, Hunspell + CJK proofread, semantic search (⌘⇧F), wikilinks + backlinks, Pandoc export. CJK encodings (GBK / Big5 / Shift-JIS) auto-detected.
The endpoint. A bundled solomd-mcp binary exposes the same vault to any MCP client — 13 tools out of the box, including 5 SoloMD-only ones (autogit_log, autogit_diff, autogit_rollback, sync_status, share_url) that no other markdown server has. Plus a solomd agent <prompt> CLI that hands off to Claude Code / Codex CLI with the MCP pre-wired.
| Feature | |
|---|---|
| AI rewrite, BYOK | 14 providers — OpenAI · Claude · Gemini · DeepSeek · Qwen · GLM · Kimi · Doubao · SiliconFlow · OpenRouter · Mistral · Groq · xAI · Ollama. Direct vendor calls. Keys in OS keychain. |
| GitHub-backed sync | Push your vault to a private GitHub repo on every save. Optional E2EE (Argon2id + XChaCha20-Poly1305). GitLab / Gitea / any HTTPS git URL works too. |
| AutoGit per note | Every ⌘S is a commit in a local .git inside the workspace. libgit2 vendored, no system git needed. Never auto-pushed. |
| MCP server bundled | solomd-mcp ships in the install. 13 tools (8 generic + 5 SoloMD-only). stdio only, no network port. Read-only by default; --allow-write opt-in. |
| Cloud-folder mode | If your vault lives in ~/Library/Mobile Documents/... or ~/Dropbox/..., SoloMD detects it and adds cross-device session restore on top — the OS already does the file sync. |
| Public read-only share | Command palette → copy solomd.app/share/?repo=...&path=... link. Renders any file in your public GitHub repo, no SoloMD account needed to view. |
Use it from your LLM
After installing SoloMD on macOS / Linux:
# One-shot: print the MCP config snippet for your AI client.
solomd mcp-config
{
"mcpServers": {
"solomd": {
"command": "/Applications/SoloMD.app/Contents/Resources/solomd-mcp",
"args": ["--workspace", "/Users/me/Documents/SoloMD"]
}
}
}
Or just run an agent task end-to-end:
# Hands the prompt to claude / codex (whichever is on PATH) with
# solomd-mcp pre-wired, --allow-write enabled.
solomd agent "rewrite this week of dailies into a weekly review and commit it"
Path-traversal guarded; no network port; the LLM only sees what you point the workspace at.
Install
Latest release: v3.6.2.
macOS — universal dmg (Apple Silicon + Intel, notarized)
brew install --cask zhitongblog/solomd/solomd
Or download the dmg directly:
https://github.com/zhitongblog/solomd/releases/latest/download/SoloMD_3.6.2_universal.dmg
Or one-line shell install:
curl -fsSL https://solomd.app/install.sh | bash
Windows — x64
SoloMD_3.6.2_x64_en-US.msiSoloMD_3.6.2_x64-setup.exe(NSIS)SoloMD_3.6.2_x64-portable.zip— no installer
irm https://solomd.app/install.ps1 | iex
Linux — x86_64 + aarch64
.AppImage(universal),.deb(Debian/Ubuntu),.rpm(Fedora/RHEL) — both architectures from the releases page.
iPad
App Store — same engine, native iPad UI.
Compared
| SoloMD | Obsidian | Typora | Tolaria | |
|---|---|---|---|---|
| License | MIT | proprietary (free) | paid ($14.99) | AGPL |
| Stack | Tauri 2 (Rust + WebView) | Electron | Electron | Tauri 2 |
| Platforms | macOS · Win · Linux · iPad | macOS · Win · Linux · iOS · Android | macOS · Win · Linux | macOS · Linux |
| Installer | ~32 MB (mac) / ~10 MB (win) | ~120 MB | ~95 MB | ~25 MB |
| MCP server | ✅ bundled, 13 tools, 5 SoloMD-only | ❌ (community plugins) | ❌ | ✅ generic |
| Built-in AI rewrite | ✅ 14 BYOK providers | plugin only | ❌ | via external MCP |
| GitHub-backed sync | ✅ | ❌ (Obsidian Sync $96/yr) | ❌ | ❌ |
| End-to-end encryption | ✅ on your repo | ✅ on Obsidian's servers | ❌ | ❌ |
| Local RAG / semantic search | ✅ off by default | plugin only | ❌ | ❌ |
| Version history per note | ✅ AutoGit | plugin only | ❌ | ✅ |
| CJK encodings (GBK / Big5) | ✅ auto-detect | ❌ | ❌ | ❌ |
Detailed breakdowns: vs Obsidian · vs Typora · vs Tolaria · vs Marktext.
Privacy & security
Pure client-side. Your .md files stay in the folder you chose. API keys live in the OS keychain (macOS Keychain / Windows Credential Manager / Linux libsecret), never in localStorage or any config file. AI requests go direct from your machine to the provider you picked — no SoloMD relay. RAG embeddings and the AutoGit repo are local-only. The MCP server speaks stdio, never opens a network port. The whole codebase is MIT and auditable.
E2EE sync uses Argon2id (RFC9106 default params) → XChaCha20-Poly1305 with deterministic nonces and path-as-AAD. Plaintext stays on your devices; the remote sees only ciphertext. Failed sync.json parsing is fail-closed — refuses to push rather than degrading to plaintext (a v3.0.x audit fix).
Full writeup: https://solomd.app/security.
Build from source
Prereqs: Rust (stable), Node 18+, pnpm.
git clone https://github.com/zhitongblog/solomd.git
cd solomd/app
pnpm install
pnpm tauri dev # dev with hot reload
pnpm tauri build # release artifacts → src-tauri/target/release/bundle/
Linux additionally needs libdbus-1-dev for the keychain backend.
The MCP server is a separate crate at mcp-server/; the dev MCP harness used for end-to-end testing lives at dev-mcp/.
Contributing
Issues and PRs welcome — open one. For a sense of direction, see docs/roadmap.md.
Contact / 联系
One maintainer, two front doors. Async on GitHub Discussions. Real-time chat:
- Telegram (international): @SOLOMDAPP — release announcements + chat
- WeChat (中文): scan to add me — note "SoloMD" 注明 SoloMD 直接通过
License & credits
MIT © 2026 xiangdong li. SoloMD stands on Tauri 2, Vue 3, CodeMirror 6, markdown-it, KaTeX, Mermaid, libgit2, Pandoc, Hunspell, keyring-rs, and rmcp. Sponsor on GitHub Sponsors or via solomd.app/#sponsor.