SoloMD

SoloMD

A free, open-source Markdown editor with a bundled MCP server (stdio, read-only): point Claude, Cursor, or any MCP client at your notes vault for local semantic search, read, and list. ~15MB, 5 platforms, MIT, local-first.

Category
访问服务器

README

SoloMD

The editor where agents live.

Latest release License: MIT Downloads Website

🌐 中文 · 日本語 · 한국어 · Deutsch · Français · Español · Português · Italiano · Polski · Nederlands · Türkçe · Svenska · Українська · 🪞 Gitee mirror → (faster downloads from China)

Download v4.0 · Launch post · How we built it · Website · Security

SoloMD editor

Your notes live in a folder. SoloMD is the editor on top — with a first-class agent surface inside the editor, and the MCP endpoint Claude Code / Cursor can drive from outside. Same .md files. Chat with your vault. Schedule recipes that run when you're not at the keyboard. Hand the same vault to any MCP client.

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.

Three 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. v4.0 adds --workspace path1 --workspace path2 federation — one MCP session, many vaults. Plus a solomd agent <prompt> CLI that hands off to Claude Code / Codex CLI with the MCP pre-wired.

The agent surface (v4.0). Right-side Agent Panel: streamed chat-with-vault, [[wikilink]] citations, tool-call cards inline, Insert / Copy buttons drop the reply into the active note. Plus declarative recipes as YAML in <workspace>/.solomd/agents/*.yml — cron / on-save / on-commit / on-tag-add / manual triggers. Every agent write lands on its own AutoGit branch you accept or reject before it touches main; write-cap default 5; refuses to start when the working tree is dirty; replayable trace.jsonl per run with read_agent_trace MCP tool.

Feature
Agent Panel (v4.0) Streamed chat-with-vault peer to Outline / Backlinks / Tags / History. Tool-call cards expand inline; reply Insert / Copy to active editor; run history persists as plain markdown under .solomd/agent-runs/.
Scheduled recipes (v4.0) YAML jobs in your vault. AutoGit branch sandbox + accept/reject UI before merge. Per-run write-cap (default 5, ceiling 50). 11-recipe cookbook ships in-tree.
Replayable trace (v4.0) trace.jsonl per step (prompt / model_call / tool_call / tool_result / git_commit). Replay-from-step rewinds and re-executes.
Workspace federation (v4.0) solomd-mcp --workspace path1 --workspace path2. One Claude Desktop session, many vaults. MCP profiles UI in Settings → Integrations.
Ollama first-class (v4.0) Auto-detect at localhost:11434. Three model presets (qwen2.5:1.5b/7b/14b). provider: local recipe alias for zero-cloud-cost autonomous loops.
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.
REST API (v4.0) Localhost only, token auth. Same surface as MCP for clients that don't speak MCP yet — Alfred / Raycast / n8n / your own scripts.
BYOK cost meter (v4.0) Per-provider running tokens-spent counter, opt-in. Settings → Integrations.
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

After installing SoloMD on macOS / Linux:

1. Chat with your vault. Open the right-side Agent Panel (⌘⇧P → "View: Toggle Agent Panel" if hidden). Streamed multi-turn against your notes; tool-call cards show every read/write inline. Reply too long? Insert drops it into the active note at the cursor (replaces selection); Copy to clipboard.

2. Schedule a recipe. Settings → Recipes → Browse cookbook. 11 starters ready: weekly review, daily summary, TODO extraction, translation pass, citation cleanup, CJK proofread agent, link-rot detector, frontmatter normalizer, outline-to-blog, refactor pass, weekly tag triage. Install one, edit the prompt, run it.

3. Drive the same vault from another LLM client. 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"]
    }
  }
}

Paste into Claude Desktop / Cursor / etc. For multi-vault federation, repeat --workspace:

"args": [
  "--workspace", "/Users/me/Documents/SoloMD",
  "--workspace", "/Users/me/Documents/work-notes"
]

4. Or hand a prompt to claude / codex CLI directly:

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: v4.0.0.

macOS — universal dmg (Apple Silicon + Intel, signed + notarized)

brew install --cask zhitongblog/solomd/solomd

Or download the dmg directly:

https://github.com/zhitongblog/solomd/releases/latest/download/SoloMD_4.0.0_universal.dmg

Or one-line shell install:

curl -fsSL https://solomd.app/install.sh | bash

Windows — x64

irm https://solomd.app/install.ps1 | iex
winget install solomd

Linux — x86_64 + aarch64

  • .AppImage (universal), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL) — both architectures from the releases page.
  • Arch users: solomd-bin on AUR.

iPad

App Store — same engine, native iPad UI.

Marketplaces & integrations

The bundled solomd-mcp server runs against any folder of Markdown files — you don't need to install SoloMD itself to drive your vault from Claude / Cursor / Cline / Continue / Zed. Install snippets for each:

Client Config snippet
Claude Desktop marketplace/client-docs/claude-desktop.md
Claude Code marketplace/client-docs/claude-code.md
Cursor marketplace/client-docs/cursor.md
Cline (VS Code) marketplace/client-docs/cline.md
Continue.dev marketplace/client-docs/continue.md
Zed marketplace/client-docs/zed.md

Available as:

  • Skill Pack — 11 reference Agent Recipes (weekly review, todo extract, link suggester, …) you can drop into <vault>/.solomd/agents/. Ships with every release.
  • Claude Code Skill — SKILL.md + install.sh that wires solomd-mcp into ~/.claude/mcp.json and exposes the 13 tools to Claude Code with patterns and starter recipes.
  • Smithery — smithery.yaml + Dockerfile at marketplace/smithery/ (submission pending).
  • Awesome MCP Servers — PR entries for the three biggest community indices (punkpeye/, appcypher/, wong2/awesome-mcp-servers, ~14k forks combined) at marketplace/awesome-mcp/.

Full overview + submission status: marketplace/README.md.

Compared

SoloMD v4.0 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
Inline Agent Panel ✅ v4.0 🟡 paid plugins (Smart Composer / Copilot) ❌ 🟡 external MCP only
Scheduled agent recipes ✅ v4.0 ❌ ❌ ❌
AutoGit branch sandbox + accept/reject ✅ v4.0 ❌ ❌ ❌
Replayable agent trace ✅ v4.0 ❌ ❌ ❌
Multi-workspace MCP federation ✅ v4.0 ❌ ❌ ❌
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.

Agent safety rails (v4.0). Every recipe run starts on its own AutoGit branch — your main stays untouched until you click Accept on the diff. Per-run write-cap (default 5, hard ceiling 50) prevents runaway loops. Recipe runner refuses to start when the working tree is dirty (no agent commit will ever sweep your work-in-progress). Path-traversal guards reject .. segments and absolute paths upfront in every Tauri / MCP / REST endpoint that accepts a user-supplied path.

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/. End-to-end test entry point: scripts/v4-self-test.sh (run with --with-release --with-ollama --with-ui for full coverage).

Contributing

Issues and PRs welcome — open one. For a sense of direction, see docs/roadmap.md. The v4.0 build log is at solomd.app/blog/v4-0-0-how-we-built-it/ — start there if you want to understand the engineering principles before sending a PR.

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 直接通过

<a href="https://solomd.app/#contact"><img src="web/public/contact/wechat.jpg" alt="WeChat — 智通" width="180" /></a>    <a href="https://t.me/SOLOMDAPP"><img src="web/public/contact/telegram.jpg" alt="Telegram @SOLOMDAPP" width="180" /></a>

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. </content> </invoke>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选