obsidian-tc
reliquary-tc is a governed MCP server for Obsidian vaults: through discovery meta-tools, you can find, inspect, and invoke the full vault tool catalog under auth, ACLs, safety gates, and audit logging.
Discover tools: search the capability catalog by natural-language query with
find_capabilityand inspect a tool's schema, required scopes, and safety hints withdescribe_capability.Invoke any catalogued capability: call tools by name via
call_capability, which routes through the same authorization, ACL, HITL confirmation, idempotency, and rate-limit pipeline.Read and search vault content: read notes, run lexical/semantic/graph retrieval, get backlinks, and use standard
search/fetchfor deep-research clients.Write and edit notes: write, append, patch by heading/block, update frontmatter, and maintain tags and links.
Run gated destructive, bulk, execute, and admin operations: delete/move notes, bulk-set properties, execute commands, and add/reload vaults, subject to scopes and confirmations.
Use in-vault memory: episodes, decay, and forgetting stored inside the vault under the same ACL.
Apply governance: auth, folder ACLs, read-only kill switch, HITL confirmation on destructive ops, and audit logging.
Optionally reach Obsidian-only plugin features: Templater, Dataview, Tasks, Excalidraw, Git, and Remotely Save through the TC Bridge when configured.
Allows creating, reading, and updating Excalidraw diagrams stored in the vault.
Provides Git operations on the vault repository, including status, diff, log, staging, and commit.
Provides governed access to Obsidian vaults, allowing agents to read, write, search, and manage notes, attachments, properties, canvases, and vault metadata with folder ACLs, human-in-the-loop confirmation, and audit logging.
Uses Ollama as an embeddings backend to enable semantic and graph-seeded retrieval across vault notes.
Emits OpenTelemetry traces for tool calls, enabling distributed tracing and observability of server operations.
Exposes Prometheus metrics for monitoring server performance, tool usage, and health.
Reliquary-TC
Governed, agent-ready Obsidian vault access over MCP.
Formerly obsidian-tc. Renamed in 2.0. The obsidian-tc command, OBSIDIAN_TC_* variables,
obsidian-tc:// resource URIs, obsidian_tc_* metrics and an existing ~/.obsidian-tc folder all
keep working through 2.x; see Upgrading from obsidian-tc.
What it is
reliquary-tc is a governed, agent-ready Model Context Protocol
server for Obsidian vaults, for humans and agents alike. Instead of raw
filesystem access to years of notes, every tool call runs through one pipeline — auth, folder
ACLs, a read-only kill switch, HITL confirmation on destructive ops, and an audit log. It also
adds fused retrieval (full-text, vector, graph) and a memory tier — episodes, decay, forgetting —
living inside your vault under that same ACL.
A full tool surface across every domain (all visible by default; a smaller set with opt-in
profile: "core"), via a 3-tool discovery facade plus the standard search/fetch pair, listed in the
tool catalog. Pitch: docs/WHY.md.
Related MCP server: Synapse
60-second start
No install:
npx reliquary-tc /path/to/vaultEvery note tool and lexical search work immediately. Semantic search defaults to a bundled embedder — see When NOT to use for which install methods it reaches.
For multi-vault, auth, or ACLs, use a config file:
npm install -g reliquary-tc
reliquary-tc ./reliquary-tc.config.json # Node >= 24 or Bun >= 1.1The default local embedder is an opt-in install, so npm install -g reliquary-tc leaves it out. To use it,
install the same version: npm install -g @the-40-thieves/reliquary-tc-embedder-local@<same version> (drop -g
for a project install), or let reliquary-tc setup offer to. Ollama and hosted embedding providers need no
local embedder; without any embedder, semantic search is off and everything else still works.
Also ships as a Docker image, .mcpb bundle, and standalone binaries. More:
docs/QUICKSTART.md.
When NOT to use reliquary-tc
Honest guidance — this is a heavier product than most:
Smallest possible footprint, read-only access, or no MCP at all. A single trusted human over one vault, a read-only wrapper, or the Obsidian URI/Local REST API plugin may be all you need — see the full comparison.
Zero setup, source checkouts only. The vault is read off disk; semantic search defaults to a bundled offline embedder; npm/Docker need an explicit provider until published — see Embeddings.
Zero-config trades away auth/ACLs.
reliquary-tc /path/to/vaultboots with auth off, no folder ACL — fine only because it's local-only; governance is opt-in. Detail: SECURITY.md.Single-maintainer project.
Everything inside Obsidian, or vault-independent memory. See the comparison above.
Migrating from another MCP server: docs/CUTOVER.md.
How it compares
Most Obsidian MCP projects are vault-access servers, retrieval engines, or memory engines, rarely more than one. reliquary-tc is the only one we know of that is all three, with memory living in the vault under the same ACL as every other write. Full 9-project table and "where the others win".
Tools | Group | What it's for | |
reliquary-tc | full surface (3-tool facade) | all three | governed access + retrieval + in-vault memory |
18 | access | Obsidian's own built-in MCP server; one bearer key, no ACL | |
~35 | memory | entities/relations in a separate, portable markdown KB |
More
TC Bridge · Status · Architecture · The interface · Claude Code / Cursor / VS Code · Docs · Trademark · License · Contributing
TC Bridge: the companion Obsidian plugin
If you arrived here from Obsidian's plugin browser: the TC Bridge listing points here because the plugin lives in this repo, but it's a small optional bridge, not the server described above. It extends Local REST API with endpoints for Obsidian-only features (Templater, Dataview, Tasks, Excalidraw, Git, Remotely Save). Every filesystem-level feature works without it.
Install Local REST API first; TC Bridge reuses its bearer-token auth, desktop-only. The server is installed separately (60-second start); reaching the bridges needs
restApiUrl/restApiKeyin the vault config (step 6). That key is a vault root password — read the trust boundary first.Formerly "Reliquary-TC." Settings migrate on first load — details in packages/plugin/README.md.
Status
Shipped — v2.0.1, published to npm as provenance-signed packages, container image on GHCR. Milestones: Roadmap; releases: CHANGELOG.md.
Retrieval changes are measured, not asserted: a statistical ship rule gates every ranking change against a private golden set. Headline figures once on this README were withdrawn 2026-08-07 as unreproducible — full account and a public-corpus result since: docs/EVALUATION.md.
Architecture
Polyglot monorepo:
Package | Language | Purpose |
| TypeScript (Bun) | MCP layer, auth, routing, tools, plugin bridges |
| TypeScript | Companion Obsidian plugin extending Local REST API |
| TypeScript | Shared Zod schemas and types |
| Rust (napi-rs) | Optional acceleration, pure-JS fallback |
Dispatch-pipeline and package-layout detail: ARCHITECTURE.md.
Every capability is a governed tool with declared access scopes. Read tools (read_note,
search_vault, get_backlinks, ...) never mutate the vault. Write tools cover whole-note and
partial edits: write_note, append_note, patch_note (heading- and block-anchored edits),
update_frontmatter, tag and link maintenance. Separate scope classes gate delete and move
(delete_note, move_note), bulk operations (bulk_set_property), execute (execute_command)
and admin (add_vault, reload_vault). The complete, always-current list, grouped by access
scope and generated from the tool registry, is the
tool catalog.
The interface: five tools, every governed capability
By default the server advertises just five tools instead of a wall of 164: three meta-tools,
find_capability, describe_capability, call_capability (invoke by name, same pipeline as a
direct call), plus the standard search and fetch tools ChatGPT deep research needs. toolFacade.mode selects triad (default), domain or flat (a superseded auto also exists)
— boundary-only, no gate bypassed. Per-client advice: MCP clients.
Install in Claude Code, Cursor, VS Code
Claude Code plugin (launches npx -y reliquary-tc, asks for your config file path on enable):
claude plugin marketplace add The-40-Thieves/reliquary-tc
claude plugin install reliquary-tc@the-40-thievesGrok Build and Muse Code (1.4.0+) read the same marketplace; details in Installation.
Or by hand — Cursor (mcpServers) / VS Code (servers), same object:
{"command": "npx", "args": ["-y", "reliquary-tc"], "env": {"RELIQUARY_TC_CONFIG": "/ABS/config.json"}}.
A .mcpb bundle (bun run bundle) also installs into Claude Desktop / other MCPB hosts.
For claude.ai and ChatGPT (remote HTTP), see distribution.
Docs
docs/QUICKSTART.md — install to first governed write, ~5 min
docs/WHY.md / SECURITY.md — threat model, governance
docs/CUTOVER.md — migrating from another Obsidian MCP server
docs/EVALUATION.md — how retrieval changes are measured
ARCHITECTURE.md — dispatch pipeline, package layout
Docs site: https://reliquary-tc.the40thieves.io (full comparison under Getting Started)
Trademark
reliquary-tc is independent and community-built, not affiliated with or endorsed by Obsidian or its maker, Dynalist Inc. "Obsidian" is a Dynalist Inc. trademark, used only nominatively. Official app: obsidian.md.
License
Apache-2.0. See LICENSE, NOTICE and the licensing page. Releases up to 1.34.x stay AGPL-3.0-only. Contributors sign the CLA once and the DCO on every commit; see CONTRIBUTING.md.
Contributing
See CONTRIBUTING.md / Code of Conduct. Security: SECURITY.md.
Available Tools
3 toolscall_capabilityCall capabilityA
Invoke a capability by name with its arguments. Routes into the same authorization, ACL, HITL, idempotency, and rate-limit pipeline as a direct tool call, so every safety gate applies and the target's own schema validates the arguments.
Inputs: args (required), name (required).
describe_capabilityDescribe capabilityARead-only
Return the full input schema, required scopes, and safety hints (read-only / destructive) for a single capability by name.
Inputs: name (required).
find_capabilityFind capabilityARead-only
Search this server's full tool catalog by natural-language query and return the best-matching capabilities (name + one-line summary). Use it to discover which tool to call, then describe_capability for its schema and call_capability to run it. To enumerate the whole caller-visible catalog grouped by domain instead of searching it, read the obsidian-tc://catalog resource.
Inputs: limit (required), query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: find_capability discovers, describe_capability inspects, call_capability executes. There is no overlap or ambiguity between them.
All three tools follow the same verb_noun snake_case pattern with a consistent capability-related noun. The naming is uniform and predictable.
Three tools is well-scoped for a capability routing server; each tool covers one essential step in the discover-describe-invoke workflow. No redundant tools exist.
The tool set covers the full workflow of finding, understanding, and calling a capability, with catalog enumeration handled via a resource. There are no obvious missing operations for the server's stated purpose.
Maintenance
Related MCP Connectors
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Hosted MCP server for Obsidian Sync vaults: read, search, edit notes. Not affiliated with Obsidian.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceThe most feature-complete MCP server for Obsidian vaults. 23 tools and 3 resources for search, read, write, tags, link analysis, graph traversal, and canvas support.41103 npm34MIT
- AlicenseAqualityDmaintenanceMCP server that connects any AI to your Obsidian vault. Save articles from your phone, search across notes, build a compounding knowledge base. 15 tools, three transport modes (stdio, HTTP, cloud), zero-install Google Drive OAuth onboarding.1511 npmMIT
- AlicenseAqualityDmaintenanceSemantic search over 4.6 million text chunks from 20,000+ classical philosophy and humanities works (pre-1928). Covers Aristotle, Plato, Kant, Hegel, Nietzsche and hundreds more. Multilingual: English, German, Latin, French, Italian, Greek, Russian.33MIT
- AlicenseAqualityBmaintenanceProvides access to 61 public digital libraries through a single unified interface, enabling users to search and retrieve information from academic papers, books, legal records, and more using natural language.1153 npm3MIT