Semantic search and pattern discovery for Obsidian and markdown vaults.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Don't let your agent get lost in your knowledge base. Enzyme compiles 1,000+ documents into a concept graph in under 20 seconds. 8ms queries on device.
Website Β· Docs Β· Discord Β· Getting Started
Enzyme reads a knowledge base β markdown files, Obsidian vaults, Readwise exports, any text corpus β and compiles it into a concept graph. The graph captures the cross-cutting themes in your material as catalysts: pre-computed questions that an agent can search through instead of grepping through your files.
No conversation history needed. No runtime reasoning. The expensive work happens once at init. After that, queries run locally in ~8ms on an on-device embedding model.
On macOS you can also use Homebrew:
App plugins are optional and installed separately inside Claude Code or Codex:
The repo includes marketplace metadata at the root and the actual plugin bundle under plugins/enzyme/. That nested layout is intentional: Claude Code and Codex marketplaces discover installable plugins from repository subdirectories, while the root files point each marketplace at the shared bundle.
If you prefer MCP over the plugin, Enzyme ships a stdio MCP server that works with any MCP-compatible client (Claude Desktop, Cursor, etc):
The MCP server exposes init, petri, catalyze, and status tools β you can initialize and explore your vault entirely from the client without running CLI commands separately.
For agent-guided setup, install the runtime instructions from your markdown vault:
Then ask your agent: "Use Enzyme to inspect and initialize this vault." The skill will scan the workspace, confirm the setup stance, persist ~/.enzyme/config.toml, run enzyme init, and demonstrate petri/catalyze.
Terminal-only setup is also supported:
Enzyme reads the structure of your knowledge base β tags, links, folders, timestamps β and builds semantic clusters with temporal weight on every entity. From those clusters it generates catalysts: thematic questions that cut across your content and surface connections keyword search can't reach.
A search for "why we keep rewriting the auth layer" finds the ADR from six months ago, a retro note about scope creep, and a Readwise highlight on accidental complexity β even if none of those share keywords with the query.
enzyme catalyze "query" --target /path/to/other/repo. Enzyme prepares the target automatically on first use.enzyme petri renders a readable tree in an interactive terminal. When stdout is piped or captured, it emits JSON for tools like jq:
Each entity has catalysts spanning different eras β questions that cut across months of writing. These are what the agent searches through, not your raw text.
The query matched no keywords in the retro or the ADR. The catalyst bridged them β the retro talked about "scope creep" and the ADR talked about "separation of concerns," but the underlying tension was the same.
Most memory tools build understanding at runtime β they need conversation history before they know anything about your content. Enzyme works the other way: it extracts the conceptual structure from what already exists. The first agent conversation is as rich as the hundredth.
This matters when you're building on imported content (reading highlights, curated collections, research corpora). There's no cold start. The intelligence layer is ready from the moment the content is indexed.
.md corpus)--use-env-llm.No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/enzyme-3)<a href="https://allmcps.com/mcp/enzyme-3"><img src="https://allmcps.com/api/badge/enzyme-3?style=directory" alt="Enzyme on AllMCPs" /></a>