Most vault servers register one tool per operation, and the whole schema block is on the wire before the agent has done anything; Nexus registers two and hands out the rest on request, which is why it works with a small local model as well as with Claude. The trade is a contract you have to respect — every call needs `memory` and `goal`, and calls without them are rejected outright, so brief the agent before you point it at your notes.
An Obsidian plugin that puts your vault behind MCP. Nexus is the successor to Claudesidian, and legacy installs in `.obsidian/plugins/claudesidian-mcp/` still work. It exposes exactly two tools to MCP clients — `toolManager_getTools` for discovery and `toolManager_useTools` for execution — so a client loads schemas for the agents it actually needs instead of the whole catalogue up front. Every `useTools` call carries `workspaceId`, `sessionId`, `memory` and `goal` at the top level, which is what keeps a long task coherent across calls. Notes stay in the vault.
- Two tools instead of a catalogue: `toolManager_getTools` returns schemas for what you name — `"--help"` for the agent list, `"storage"` for one agent, `"storage list"` for a single tool's full argument schema — and `toolManager_useTools` runs them
- Vault file work through the `storage` and `content` agents: `storage list`, `storage move`, `content read`, `content write`. Several commands batch into one `useTools` call, separated by a top-level comma; commas inside a quoted value stay literal
- Workspace memory and project state that survive a session ending — `memory load-workspace` and `memory create-state` carry the active task, active files and next steps
- Web pages saved into the vault as Markdown with `web capture-markdown`, one of the few features that also works on mobile
- Native chat inside Obsidian on desktop and mobile, with live voice, read-aloud and audio and video generation, using provider keys you supply
- A shell path with no MCP config at all: the `nexus` command talks to the same local socket `connector.js` uses — `nexus tools` to discover, `nexus use` to run one, `nexus vaults` and `nexus doctor` when something is off. `--memory` and `--goal` are required on every `use`
- Transport flags for text that shells mangle: any value-taking flag has a `--<flag>-stdin` and `--<flag>-file` form, so Markdown, YAML frontmatter and wikilinks arrive intact
- Desktop-only extras that skip loading on mobile instead of erroring: semantic search, adaptive search, PDF and audio ingestion, and Python analysis over the vault's CSV and Excel files
Obsidian with the Nexus plugin enabled, and Node.js v18 or newer for anything outside Obsidian. Install `manifest.json`, `styles.css` and `main.js` into `.obsidian/plugins/nexus/`. `connector.js` does not ship with the community release — generate it from Nexus settings → Get started → External agents, then point the client at `node /path/to/Vault/.obsidian/plugins/nexus/connector.js`. Obsidian has to be open for that vault, because the bridge connects to the live process over a unix socket on macOS and Linux or a named pipe on Windows. MCP clients, the local CLI and semantic search are desktop-only. The plugin makes no network calls on its own: provider APIs are contacted only after you enter that provider's key and use it, and there is no telemetry.
One command — npx -y nexus
