Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
VAULT_PATH, DATA_DIR, EMBEDDING_PRESET, EMBEDDING_MODEL, EMBEDDING_PROVIDER, OLLAMA_BASE_URL, OLLAMA_EMBEDDING_DIM, OLLAMA_NUM_CTX, OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL, OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL, OBSIDIAN_BRAIN_NO_WATCH, OBSIDIAN_BRAIN_NO_CATCHUP, OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS, OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS, OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS, OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS, OBSIDIAN_BRAIN_CONFIG_DIR, OBSIDIAN_BRAIN_DEBUG, OBSIDIAN_BRAIN_LOG_FORMATYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain",
"server"
],
"env": {
"VAULT_PATH": "your-value",
"DATA_DIR": "your-value",
"EMBEDDING_PRESET": "your-value",
"EMBEDDING_MODEL": "your-value",
"EMBEDDING_PROVIDER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_EMBEDDING_DIM": "your-value",
"OLLAMA_NUM_CTX": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_NO_WATCH": "your-value",
"OBSIDIAN_BRAIN_NO_CATCHUP": "your-value",
"OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "your-value",
"OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "your-value",
"OBSIDIAN_BRAIN_CONFIG_DIR": "your-value",
"OBSIDIAN_BRAIN_DEBUG": "your-value",
"OBSIDIAN_BRAIN_LOG_FORMAT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add obsidian-brain --env VAULT_PATH=your-value --env DATA_DIR=your-value --env EMBEDDING_PRESET=your-value --env EMBEDDING_MODEL=your-value --env EMBEDDING_PROVIDER=your-value --env OLLAMA_BASE_URL=your-value --env OLLAMA_EMBEDDING_DIM=your-value --env OLLAMA_NUM_CTX=your-value --env OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL=your-value --env OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL=your-value --env OBSIDIAN_BRAIN_NO_WATCH=your-value --env OBSIDIAN_BRAIN_NO_CATCHUP=your-value --env OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS=your-value --env OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS=your-value --env OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS=your-value --env OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS=your-value --env OBSIDIAN_BRAIN_CONFIG_DIR=your-value --env OBSIDIAN_BRAIN_DEBUG=your-value --env OBSIDIAN_BRAIN_LOG_FORMAT=your-value -- npx -y obsidian-brain serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain",
"server"
],
"env": {
"VAULT_PATH": "your-value",
"DATA_DIR": "your-value",
"EMBEDDING_PRESET": "your-value",
"EMBEDDING_MODEL": "your-value",
"EMBEDDING_PROVIDER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_EMBEDDING_DIM": "your-value",
"OLLAMA_NUM_CTX": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_NO_WATCH": "your-value",
"OBSIDIAN_BRAIN_NO_CATCHUP": "your-value",
"OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "your-value",
"OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "your-value",
"OBSIDIAN_BRAIN_CONFIG_DIR": "your-value",
"OBSIDIAN_BRAIN_DEBUG": "your-value",
"OBSIDIAN_BRAIN_LOG_FORMAT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"obsidian-brain": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"obsidian-brain",
"server"
],
"env": {
"VAULT_PATH": "your-value",
"DATA_DIR": "your-value",
"EMBEDDING_PRESET": "your-value",
"EMBEDDING_MODEL": "your-value",
"EMBEDDING_PROVIDER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_EMBEDDING_DIM": "your-value",
"OLLAMA_NUM_CTX": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL": "your-value",
"OBSIDIAN_BRAIN_NO_WATCH": "your-value",
"OBSIDIAN_BRAIN_NO_CATCHUP": "your-value",
"OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "your-value",
"OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "your-value",
"OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "your-value",
"OBSIDIAN_BRAIN_CONFIG_DIR": "your-value",
"OBSIDIAN_BRAIN_DEBUG": "your-value",
"OBSIDIAN_BRAIN_LOG_FORMAT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
DATA_DIR envEMBEDDING_PRESET envEMBEDDING_MODEL envEMBEDDING_PROVIDER envOLLAMA_BASE_URL envOLLAMA_EMBEDDING_DIM envOLLAMA_NUM_CTX envOBSIDIAN_BRAIN_OLLAMA_AUTO_PULL envOBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL envOBSIDIAN_BRAIN_NO_WATCH envOBSIDIAN_BRAIN_NO_CATCHUP envOBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS envOBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS envOBSIDIAN_BRAIN_TOOL_TIMEOUT_MS envOBSIDIAN_BRAIN_MAX_CHUNK_TOKENS envOBSIDIAN_BRAIN_CONFIG_DIR envOBSIDIAN_BRAIN_DEBUG envOBSIDIAN_BRAIN_LOG_FORMAT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account sweir1, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: VAULT_PATH
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.7.24) reached the registry 6 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A standalone Node MCP server that gives Claude (and any other MCP client) semantic search + knowledge graph + vault editing over an Obsidian vault. Runs as one local stdio process — no plugin, no HTTP bridge, no API key, nothing hosted. Your vault content never leaves your machine.
📖 Full docs → [sweir1.github.io/obsidian-brain](https://sweir1.github.io/obsidian-brain/)
Companion plugin →
sweir1/obsidian-brain-plugin(optional — unlocksactive_note,dataview_query,base_query)
Contents — Why · Quick start · What you get · How it works · Companion plugin · Troubleshooting · Recent releases
.md files directly from disk. Obsidian can be closed; your vault is just a folder.qwen3-embedding:0.6b, nomic-embed-text, bge-m3, etc. with one env var./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/sweir1/obsidian-brain/main/scripts/install.sh)"
Installs Homebrew + Node 20+ if you don't already have them, adds the /usr/local/bin symlinks that Claude Desktop needs, merges obsidian-brain into your claude_desktop_config.json, opens the Full Disk Access pane for you to toggle Claude on, and relaunches Claude. You'll be asked for your macOS password once (for Homebrew + the symlinks) and your vault path once. Everything else is automatic. Audit what it does: scripts/install.sh.
Requires Node 20+ and an Obsidian vault (or any folder of .md files — Obsidian itself is optional).
Wire obsidian-brain into your MCP client. Example for Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "obsidian-brain": { "command": "npx", "args": ["-y", "obsidian-brain@latest", "server"], "env": { "VAULT_PATH": "/absolute/path/to/your/vault" } } } }
Quit Claude Desktop (⌘Q on macOS) and relaunch. That's it.
[!NOTE]
On first boot the server auto-indexes your vault and downloads a ~34 MB embedding model. Tools may take 30–60 s to appear in the client. Subsequent boots are instant.
[!TIP]
Not a developer? The macOS walkthrough covers Homebrew, Node, the GUI-app PATH fix, and Full Disk Access step-by-step.
For every other MCP client (Claude Code, Cursor, VS Code, Jan, Windsurf, Cline, Zed, LM Studio, JetBrains AI, Opencode, Codex CLI, Gemini CLI, Warp): see Install in your MCP client.
→ Full env-var reference: Configuration → Model / preset / Ollama details: Embedding model → Migrating from aaronsb's plugin: Migration guide
18 MCP tools grouped by intent:
search, list_notes, read_notefind_connections, find_path_between, detect_themes, rank_notescreate_note, edit_note, apply_edit_preview, link_notes, move_note, delete_noteactive_note, dataview_query, base_queryreindex, index_status→ Arguments, examples, and response shapes: Tool reference
flowchart LR
Client[" MCP Client Claude Desktop · Claude Code Cursor · Jan · Windsurf · ..."]
subgraph OB ["obsidian-brain (Node process)"] direction TB SQL[" SQLite index nodes · edges FTS5 · vec0 embeddings"] Vault[" Vault on disk your .md files"] Vault -->|"parse + embed"| SQL SQL -.->|"writes"| Vault end
Client <-->|"stdio JSON-RPC"| OB
Retrieval and writes both go through a SQLite index: reads are microsecond-cheap, writes land on disk immediately and incrementally re-index the affected file. Embeddings are chunk-level (heading-aware recursive chunker preserving code + LaTeX blocks), and search's default hybrid mode fuses chunk-level semantic rank with FTS5 BM25 via Reciprocal Rank Fusion.
→ Deeper write-up — why stdio, why SQLite, why local embeddings: Architecture → Live watcher behaviour + debounces: Live updates → Scheduled reindex (macOS launchd / Linux systemd): Scheduled indexing (macOS) · (Linux)
An optional Obsidian plugin at sweir1/obsidian-brain-plugin exposes live Obsidian runtime state — active editor, Dataview results, Bases rows — over a localhost HTTP endpoint. When installed and Obsidian is running, active_note, dataview_query, and base_query light up. Install via BRAT with repo ID sweir1/obsidian-brain-plugin.
Ship plugin and server at the same major.minor — server v1.7.x pairs with plugin v1.7.x. Patch-version drift is fine.
→ Security model, capability handshake, Dataview / Bases feature coverage: Companion plugin
Four most common:
~/Library/Logs/Claude/mcp-server-obsidian-brain.log. Fix: npm install -g obsidian-brain@latest, quit Claude (⌘Q), relaunch.better-sqlite3 built against a different Node ABI. Fix: PATH=/opt/homebrew/bin:$PATH npm rebuild -g better-sqlite3.VAULT_PATH is unset. Set it in the env block of your client config or shell.rm -rf ~/.npm/_npx, then restart your client. Keeping @latest in your config prevents this.→ Full troubleshooting guide (watcher not firing, stale index, running multiple clients, timeouts, embedding-dim mismatch, log locations): docs/troubleshooting.md
ollama pull + docs/test polish→ Full changelog: docs/CHANGELOG.md · Forward plan: docs/roadmap.md · Build from source: docs/development.md
Thanks to obra/knowledge-graph and aaronsb/obsidian-mcp-plugin for the ideas and code this project draws on. Also Xenova/transformers.js (local embeddings), graphology (graph analytics), and sqlite-vec (vector search in SQLite).
apple-notes-brain — sibling MCP server for Apple Notes on macOS: read, write, and search with full Markdown round-trip in both directions.Apache License 2.0 — Copyright 2026 sweir1.