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-based note-taking with a hosted MCP server. Your notes serve you and your AI.
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 npm2MIT
- FlicenseNot gradedqualityCmaintenanceEnables reading, writing, searching, and managing Obsidian vault notes through MCP tools and prompts, allowing AI agents to interact with local knowledge bases.-
- 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.-