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.9MIT
- AlicenseAqualityAmaintenanceFilesystem first MCP server for Obsidian vaults with an LLM-Wiki layer on top.66887Apache 2.0
- 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.3831MIT
- FlicenseAqualityAmaintenanceA filesystem-based MCP server for Obsidian vaults that enables LLMs to browse, search, read, write, and edit Markdown notes directly on disk without requiring Obsidian to be running.61,1531
Related MCP Connectors
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
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