om
Provides tools for managing and querying an Obsidian-compatible vault, including searching notes, reading/writing markdown with double links and tags, renaming with automatic backlink updates, and exploring the note graph.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@omsearch notes for "plugin system" and show backlinks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
om — Plugin-based Knowledge Base (Rewritten from Foam)
Cut the 66 modules of Super Brain v4 down to just the knowledge base core, rewritten on top of Foam, and plugin-based the DeepSeek Harness way:
Obsidian compatible — your vault is the knowledge base: plain markdown files +
[[wikilinks]]+#tags+ frontmatterZero dependencies — only uses Node's built-in
node:sqlite(FTS5 full-text search, built-in Chinese tokenization)Plugin-based — the core exposes a stable interface, users write their own plugins to extend (commands / MCP tools / events / index extractors)
AI-ready — MCP stdio server, directly callable from Claude Code / Cursor
Inspired by Foam (MIT): the wikilink parsing semantics and graph model are deeply inspired by it. This project is an independent rewrite (zero dependencies, no runtime dependencies), not a code fork.
Quick Start
cd ~/om
./core/cli.js init demo # 初始化(demo 已有示例笔记)
./core/cli.js scan --vault demo # 建索引
./core/cli.js search 图谱 --vault demo
./core/cli.js rename 图谱 知识图谱 --vault demo # 重命名,全库双链自动更新
./core/cli.js deadlinks --vault demo # 死链检查
./core/cli.js orphans --vault demo # 孤岛笔记
./core/cli.js daily --vault demo # 今日笔记
./core/cli.js graph 插件系统 --vault demo
./core/cli.js backlinks 记忆系统 --vault demo
./core/cli.js tags --vault demoDaily usage: cd <your-vault> && om search xxx (after npm link, the om command is available globally).
Related MCP server: mcp-vault-reader
MCP Integration (Claude Code)
// ~/.claude.json 的 mcpServers
{
"om": {
"command": "node",
"args": ["/data/data/com.termux/files/home/om/core/cli.js", "mcp", "--vault", "/path/to/vault"]
}
}Built-in tools: search_notes / read_note / create_note / update_note / rename_note / delete_note / backlinks / graph_bfs / list_notes / list_tags, plus tools registered by plugins.
Architecture
vault/ 你的 Obsidian 库(文件即真身)
.om/config.json 配置(插件开关等)
.om/index.db SQLite 索引(可随时删除重建)
.om/plugins/ 你的插件放这里
om/
core/
vault.js 解析 frontmatter / [[双链]] / ![[嵌入]] / #标签
tokenize.js 中文分词(CJK 单字+双字)+ FTS 查询构造
db.js / indexer.js SQLite 索引 + 增量扫描
graph.js 图谱查询(邻居 / backlinks / BFS)
context.js 插件上下文(全部暴露接口)
plugins.js 插件加载器(dsh 式)
cli.js / mcp.js CLI 与 MCP stdio 服务器
plugins/ 内置示例插件(recent / todos)Plugin Authoring Guide (Exposing the Interface)
A plugin = a JS file (ESM), default export { name, version, description, activate(ctx) }.
Drop it in <vault>/.om/plugins/my-plugin.js, restart any om command and it takes effect. Set "plugins": {"my-plugin": false} in config.json to disable it.
Two quick commands:
om plugin create my-plugin # 生成插件模板
om plugin install https://github.com/xxx/om-plugin-repo # 从 git 仓库安装(仓库根目录需含 index.js)activate(ctx) gives you the full API:
Interface | Description |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Raw SQLite handle (advanced) |
| vault path / plugin name |
Minimal Plugin Example
// <vault>/.om/plugins/hello.js
export default {
name: 'hello',
activate(ctx) {
ctx.commands.register('hello', async () => `你好,库里有 ${ctx.db.prepare('SELECT COUNT(*) c FROM notes').get().c} 篇笔记`);
},
};$ om hello --vault demo
你好,库里有 5 篇笔记Full examples in plugins/recent.js (commands + tools + storage + events) and plugins/todos.js (frontmatter / tag queries).
Testing
cd ~/om && node --testCoverage: tokenization / vault parsing / indexing & incremental updates / graph / full plugin API / MCP end-to-end protocol.
Differences from Super Brain v4
Super Brain v4 | om | |
Modules | 66 | 10 core files + plugins |
Architecture | 6-channel cognitive neural system | pure knowledge base + dsh-style plugins |
Storage | multiple custom stores | Obsidian-compatible markdown (files are the source of truth) |
Dependencies | npm + pip + daemon | zero dependencies ( |
Extensibility | not programmable | exposes interfaces, users write plugins |
Known Limitations (Honest Disclosure)
Search is literal matching (FTS5 + Chinese single/double-character tokenization), not semantic search; synonym/concept search requires plugins or an external vector service
update_noteautomatically preserves the original frontmatter when updating the body; to overwrite the whole file, pass the---frontmatter along with itRenaming (
rename/rename_note) automatically updates wikilinks pointing to it across the vault, but does not rewrite plain-text mentions in other filesSingle-process design, no distributed/multi-device sync (the vault itself is plain files, so you can sync it yourself with git)
The index is a filesystem snapshot; after external editor changes, run
om scan(orom watch) to refresh
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Shared Markdown notes for MCP-compatible AI tools.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Markdown notes in folders, with files, that your AI assistant can read, write and organise.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to manage a personal markdown-based knowledge base with natural language interactions. Supports creating, searching, updating, and organizing notes across categories like people, recipes, meetings, and procedures.111-
- AlicenseAqualityDmaintenanceEnables AI assistants to search, read, and traverse Markdown note vaults (Obsidian-compatible) with full-text search, backlinks, knowledge graphs, and a persistent memory system for cross-session context.168 npm4MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to list, search, read, and append to Markdown notes through MCP tool calls, making it easy to interact with a second brain folder.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to access and manage a personal markdown knowledge base stored in Cloudflare R2. Provides tools for listing, reading, writing, searching (full-text and semantic), and following backlinks between notes.2 npm3MIT