sparkwild722 downloadsConnect AI agents to your vault through a local MCP runtime for scoped recall, task tracking, source capture, and governed memory updates.
Tracekeeper is an Obsidian-native, local-first knowledge and AI-memory system. It lets explicitly connected AI agents recall scoped vault context and propose durable updates through a loopback-only, credential-protected MCP Runtime, while Obsidian remains the human workspace and the vault remains the source of truth.
Install Tracekeeper from the Obsidian Community Plugins directory:
For manual installation or release-candidate testing, install from the matching GitHub release:
main.js, manifest.json, and styles.css from the release whose tag matches the version in manifest.json.plugins/tracekeeper/ inside the vault's Obsidian configuration folder.AI assistants are useful for finding patterns, summarizing long conversations, and turning scattered material into structured knowledge. A personal vault still needs a human steward.
Tracekeeper keeps that boundary clear:
wiki/hubs/ directory is required.AI can help recall context, draft proposals, and prepare updates. You choose separate persistence policies for Memory and Wiki. Wiki defaults to task-batch review; its optional Auto-managed mode is limited to new notes and intact Tracekeeper relation regions.
Personal knowledge bases often fail in two opposite ways: conversations stay trapped in chat history, or automation writes too eagerly and pollutes the vault. Tracekeeper sits between those extremes.
Tracekeeper routes durable AI output according to explicit policy. Normal Wiki changes remain inspectable as task batches, user-body changes remain individual, and eligible Auto operations retain validation, identity, lifecycle, and conflict controls.
mcpServers JSON object containing the endpoint and authorization header; the JSON exists only in the current modal and is never stored by Tracekeeper.tracekeeper.* tool.Tracekeeper exposes a local Streamable HTTP MCP Runtime while desktop Obsidian is open. Production binds to exact 127.0.0.1, and every MCP resource request requires a credential belonging to one persistent Agent integration. The endpoint and client-native command never contain credentials. Supported clients discover Tracekeeper's local OAuth metadata, complete authorization-code + PKCE with RFC 8707 resource binding, and receive a per-Agent access token. Manual Bearer credentials use the same verifier, Session binding, revocation, and audit foundation.
Each Agent credential is an access gate bound to its integration and Session, not to untrusted clientInfo. OAuth and manual Bearer credentials are independently replaceable and revocable; replacing or revoking one closes its Sessions without changing other cards or Skill files. Successful requests still use the Runtime's fixed local-user capability set.
AI tools connect through tracekeeper.* MCP tools. The connection lets an assistant read selected vault context, build context packs, record bounded working notes, and submit memory updates according to your memory rules. Fresh installations use Global Review and Project Auto; you can select Review or Auto per scope. Eligible Auto operations create their own immutable MemoryRecord v2 entry under the canonical Global or Project Hub.
For shared use across Codex, Claude, OpenClaw, and other MCP clients, the companion Skill selects no_track, recall_only, or tracked_task. Tracked work starts once, recalls the narrowest useful context, finishes once with the returned task id, and reports whether closeout memory was saved, queued, suggested, or blocked. Recall results label Vault content as knowledge data rather than instructions, and structured MCP actions reduce client-side guesswork. See the Agent Workflow.
The connection is local-first:
Global long-term memory changes are review-gated by default. Wiki uses a separate rule: review each, review by task batch, auto-manage eligible new notes and intact relation regions, or ignore. Batch review is the default for fresh installs and upgrades without a stored Wiki rule. High-risk user-body changes are always separated for individual review.
The Wiki batch modal makes one displayed final confirmation authorize exact approval receipts and their governed applies; public MCP still cannot approve pending proposals. Existing approved Memory or legacy proposals continue to require explicit apply confirmation.
Project memory auto-saves by default as create-only entries under 01_knowledge/memory/projects/<project-key>/agents/<agent-type>/. On the first eligible write for an exactly identified repository, Tracekeeper safely creates the missing canonical project Hub with exclusive create semantics; ambiguous identities, occupied paths, and invalid existing Hubs remain fail-closed. Stable operation identity makes an exact retry reuse the same entry and rejects a changed payload instead of overwriting another operation. Every new entry links to the stable project Hub and, when present, verified Wiki or Source notes through Obsidian-native links. Wiki and Source relations are optional. Existing project memory.md files remain readable and catalogued but are not rewritten, split, or migrated automatically.
tracekeeper.recall remains a relevance-ranked selection. When an Agent needs complete global or project-memory enumeration, the canonical read-only tracekeeper.memory catalog lists current, history, conflict, review, and legacy metadata over one index generation without returning note bodies.
Tracekeeper reports Obsidian wikilink graph health through tracekeeper.lint. The lint output includes isolated notes, one-way leaf nodes, connected components, hub candidates, unresolved wikilinks, and missing recommended graph entry files.
The graph health profile is configured in the Tracekeeper settings:
off: graph structure is available for manual inspection only and is not added to lint.advisory: graph findings are reported as warnings and suggestions.strict: missing graph entry notes, missing recommended hubs, isolated notes, and unresolved graph links become lint errors.Graph health evaluates the semantic 01_knowledge/ graph, excluding operational records and Source parts from isolation/component counts. It never replaces Obsidian's graph; the view can copy path:01_knowledge for the official Graph View and does not write .obsidian/graph.json.
Tracekeeper is desktop-only because it hosts a local MCP Runtime. Every MCP resource request requires a valid credential for one persistent Agent integration. Public OAuth routes cannot dispatch tools. The Runtime validates Host, restricts browser-style CORS to Obsidian and loopback origins, enforces PKCE and exact loopback redirects, and rejects query-parameter credentials.
MCP writes are intentionally narrow:
The desktop plugin uses three local capabilities whose scope is visible and bounded:
Normal Agent configuration is owned by each client's official OAuth/MCP entry; Tracekeeper does not read or write cross-platform client configuration paths. Skill installation is a user-selected, previewed, and recoverable Vault-outside write; AI-assisted installation only supplies a local source and instructions until the destination is externally verified. Tokens, digests, authorization codes, PKCE verifiers, pending handles, token responses, and Authorization Headers never enter connection URLs, copied commands, AI instructions, Runtime logs, or Vault audit records.
This project is licensed under the MIT License.