llm-wiki-mcp
Provides tools for reading and writing plain-markdown notes in an Obsidian-style vault, including searching, reading notes with YAML frontmatter, listing recently modified notes, appending/creating notes, and resolving wiki-links and backlinks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@llm-wiki-mcpsearch the wiki for "retrieval augmented generation""
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
llm-wiki-mcp
An MCP server for a plain-markdown "LLM wiki" vault — a knowledge base of notes with YAML
frontmatter and Obsidian-style [[wiki-links]], maintained by an LLM librarian. No Obsidian
app or plugin required: the server reads the files directly, so it works headless and
unattended.
Tools
Tool | Access | What it does |
| read | Case-insensitive full-text + filename search; filename/title matches rank above body matches. |
| read | One note: parsed YAML frontmatter, parse error (if any), and markdown body. |
| read | The n most recently modified notes, newest first (ISO 8601 UTC). |
| gated write |
|
| read | Outbound |
Related MCP server: kObsidian MCP
Safety model
Path traversal is blocked. Every path resolves inside the vault root or the call fails — absolute paths,
..segments, and symlink escapes included.Writes are append/create only. There is no overwrite, no delete, and no rename.
createrefuses existing files;appendrefuses missing ones.dry_run=truepreviews without touching disk.raw/is immutable. The vault's source-material directory rejects all writes.Only
.mdfiles are writable.Malformed notes degrade cleanly. Broken YAML frontmatter comes back as a
frontmatter_errorstring with the body intact — never a traceback.Links in code don't count.
[[links]]inside code fences and inline code are ignored by the link graph (they're examples, not references).
Setup
Requires Python 3.11+ and uv.
git clone <this-repo> llm-wiki-mcp
cd llm-wiki-mcp
uv syncPoint the server at your vault (the directory that contains wiki/):
# PowerShell
$env:LLM_WIKI_VAULT = "C:\path\to\your\vault"
# bash
export LLM_WIKI_VAULT=/path/to/your/vaultRun it standalone (stdio transport):
uv run llm-wiki-mcpRegister with Claude Code
claude mcp add llm-wiki -e LLM_WIKI_VAULT="C:\path\to\your\vault" -- uv run --directory "C:\path\to\llm-wiki-mcp" llm-wiki-mcpThen in any Claude Code session: "search the wiki for X", "read wiki/concepts/foo.md", "append a journal line to wiki/log.md".
The gardener (scheduled agent)
llm-wiki-gardener is a Claude agent (built on claude-agent-sdk) that tends the vault
through this MCP server. Its entire tool surface is the five tools above — no shell, no
direct file access. Each pass lints recent notes against the vault's conventions, flags
orphans and broken links, proposes crystallization candidates, and files ONE dated report
note at wiki/journal/gardener/YYYY-MM-DD.md via the gated write_note. It never edits
existing notes.
uv run llm-wiki-gardener --vault /path/to/vault # one pass
uv run llm-wiki-gardener --vault /path/to/vault --dry-run # preview, no writeAuthentication rides the local Claude Code CLI login. To run weekly on Windows:
schtasks /create /tn llm-wiki-gardener /sc weekly /d SUN /st 21:00 /tr "uv run --directory C:\path\to\llm-wiki-mcp llm-wiki-gardener --vault C:\path\to\vault"Development
uv run pytest # test suite runs against a synthetic fixture vault (tests/fixtures/vault)
uv run ruff check . # lint
uv run ruff format . # formatThe fixture vault is fully synthetic — no real notes, names, or content. Keep it that way.
Design notes
Prior art (what exists, what we adopted, why this was built anyway) is documented in
docs/prior-art.md.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server for managing Obsidian-style note vaults, providing tools for full-text search, note creation, and backlink tracking. It enables users to navigate, structure, and update their personal knowledge base through natural language.Last updated9MIT
- AlicenseAqualityAmaintenanceFilesystem first MCP server for Obsidian vaults with an LLM-Wiki layer on top.Last updated661186Apache 2.0
- Alicense-qualityCmaintenanceMCP server that implements Karpathy's LLM Wiki pattern for Obsidian vaults, enabling persistent knowledge storage and BM25 search across AI sessions.Last updated91MIT
- AlicenseAqualityAmaintenanceA generic Markdown vault MCP server with FTS5 full-text search, semantic vector search, frontmatter-aware indexing, incremental reindexing, and non-markdown attachment support that exposes search, read, write, and edit tools.Last updated2524MIT
Related MCP Connectors
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GMRoadlander/llm-wiki-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server