Benchmarked against
the whole field.
Every number on this page comes from an open-source harness run on a real 1,955-note vault, 20 runs per query. Nothing here is a marketing estimate — clone the repo and verify each figure on your own vault.
The only Obsidian MCP server
with published numbers.
Measured against 5 popular servers on a real vault — 1,955 notes, 20 runs each. The harness is open source; run it on your own vault and verify every figure.
Latency is nice. Payload is the point.
The Obsidian Local REST API plugin returns full note content for every search hit — megabytes the model has to read. Seekstone returns short ranked excerpts. Same query, ~575× less to send.
| Metric | Seekstone | REST API plugin |
|---|---|---|
| Search payload, median | ~3 KB | ~1.75 MB |
| Context tokens per search | ~800 | ~459,000 |
| Warm search latency | 1.4–3.2 ms | 58–219 ms |
| Obsidian app required | No | Yes |
| Local REST API plugin required | No | Yes |
| Network calls | Zero | HTTP to localhost |
| Search matching | Fuzzy + prefix | Exact / plugin-dependent |
| Frontmatter write safety | Byte-identical | Varies |
REST and subprocess servers span 58–219 ms median search latency in the chart above; Seekstone's in-process index serves the same queries in 1.4–3.2 ms.
Run it yourself.
The harness lives in the Seekstone repo. It runs each query set against every adapter and reports cold (run 1) and warm (runs 2–N) distributions separately — a cheap warm number can't hide a brutal cold start.
- Vault1,955 notes, mixed frontmatter density — a real working vault, not a synthetic best case.
- Runs20 per query; warm latency reported as the median (p50).
- PayloadBytes measured on the actual MCP tool response, not an idealized excerpt.
- FieldCompared against obsidian-mcp-server, mcp-obsidian, obsidian-mcp-pro, mcpvault, and obsidian-mcp.
Where Seekstone isn't the answer.
No tool wins every axis. Here's where the trade-offs land — so you can decide with eyes open.
It keeps an index in memory.
Seekstone builds a small in-process search index (a few MB for a typical vault). If you run many MCP servers at once, that's real RAM the REST plugin offloads to the already-running Obsidian process.
The first query is the slow one.
Cold start warms the index in a few seconds. Every query after that is the millisecond latency you see above — but the very first call pays for the index build.
It's lexical, not semantic.
Search is fuzzy + prefix matching, not embedding-based semantic search. That's deliberate: no local model, no API key, no extra dependency — at the cost of pure meaning-based recall.