mcp-markdown-vault
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (SSE mode only) | 3000 |
| OLLAMA_URL | No | Set to enable Ollama embeddings | |
| VAULT_PATH | No | Markdown vault directory | /vault |
| OLLAMA_MODEL | No | Ollama embedding model name | nomic-embed-text |
| OLLAMA_DIMENSIONS | No | Ollama embedding vector dimensions | 768 |
| MCP_TRANSPORT_TYPE | No | Transport mode: 'stdio' (single client) or 'sse' (multi-client HTTP) | stdio |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vaultB | Manage vault notes. Vault scope: general markdown notes vault. Actions: list (browse notes), read (full note), create/update/delete (whole-file writes), stat (metadata), create_from_template (scaffold from template). For search strategy and conventions, read vault://overview. |
| editA | Edit notes safely. Vault scope: general markdown notes vault. Supports AST edits by heading/block ID, freeform line/string replacement, frontmatter_set metadata merges, batch operations (max 50), and dryRun=true unified diff previews. Read vault://overview for editing strategy and conventions. TIPS: Always use dryRun=true before destructive operations (delete, replace). Use bulk_read for reading 2+ files. Use view.outline before heading-specific edits when unsure of heading names. string_replace requires exact literal match including whitespace/newlines. |
| viewB | Read and search markdown notes. Vault scope: general markdown notes vault. Actions: search (heading-aware fragment retrieval with TF-IDF + proximity), semantic_search (vector + lexical hybrid for conceptual queries), global_search (cross-vault exact-match grep), outline (file or directory structure tree), read (full file or single section by heading), frontmatter_get (parse YAML frontmatter), bulk_read (read multiple files/headings in one call), backlinks (find all notes linking to a given path). |
| workflowC | Manage optional agent workflow state for this vault (general markdown notes vault): status, transition, history, reset. Typical flow: search → open_note → save → done; read vault://overview for usage guidance. |
| systemA | System administration for this vault (general markdown notes vault). Actions: status (indexing/backlinks/workflow health), reindex (async rebuild), overview (folder tree), overview_status (meta/overview.md state), prepare_overview (gather evidence), save_overview (persist host-written overview). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| rebuild-overview | Guides the host LLM through the assisted overview flow: gather evidence, generate prose, save, and verify. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| vault-overview | Complete vault context: live stats, overview, and conventions (frontmatter schema, tags, naming). |
| vault-stats | Live vault statistics as JSON. |
TDQS
Scored across 5 tools
The view and vault tools both expose read operations (view.read and vault.read) with overlapping semantics, and the edit tool overlaps with vault.update in that both can write content to notes. The system and workflow tools also have a 'status' action each, which could be confused despite different scopes. An agent must read descriptions carefully to choose correctly, and the boundaries remain fuzzy for common tasks like reading or updating a note.
All tool names use a consistent snake_case pattern, and the internal actions are consistently named with single lowercase words. The only slight inconsistency is that there is no shared verb_noun pattern across tools—they are domain-oriented nouns with action parameters—but within this design, naming is predictable.
Five tools for a markdown vault server is a well-scoped, compact surface. Each tool covers a distinct domain (system, view, edit, vault, workflow), and no tool appears redundant in count.
The toolset provides full CRUD (vault.create/read/update/delete), search, backlinks, frontmatter handling, templates, system administration, and workflow management. This covers the lifecycle of markdown notes and vault operations without obvious gaps.