vault-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VAULT_MCP_HOST | No | Host to bind the HTTP server to. Also settable via --host. | 127.0.0.1 |
| VAULT_MCP_HTTP | No | Set to true to serve streamable HTTP at /mcp instead of stdio. Also settable via --http. | false |
| VAULT_MCP_PORT | No | Port to bind the HTTP server to. Also settable via --port. | 8787 |
| VAULT_MCP_ROOT | No | Path to the vault root directory. Defaults to ~/Documents/seandavis. | ~/Documents/seandavis |
| VAULT_MCP_OAUTH_CLIENT_ID | No | OAuth client ID for OAuth authentication (used with --auth google/github). | |
| VAULT_MCP_OAUTH_CLIENT_SECRET | No | OAuth client secret for OAuth authentication (used with --auth google/github). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchC | Search the vault's markdown files. |
| read_noteA | Read a note by wiki-link name (e.g. 'icegate') or vault-relative path (e.g. 'notes/icegate.md'). Returns the resolved path and full content. |
| relatedA | Graph neighborhood of a note: resolved outgoing [[wiki-links]], unresolved link targets, backlinks (notes linking here), and up to 10 notes sharing frontmatter tags. |
| queryA | Run read-only SQL (DuckDB dialect; SELECT/WITH only) over the vault metadata index. The index is rebuilt from the files — it is never a source of truth. Schema: notes(path, name, title, type, tags VARCHAR[], aliases VARCHAR[], date, status, frontmatter JSON, modified TIMESTAMP, size, body /* full note text — SELECT specific columns, not * /) links(source / path /, target / wiki-link name as written */) Examples: SELECT type, count() FROM notes GROUP BY type ORDER BY 2 DESC SELECT path, title FROM notes WHERE list_contains(tags, 'memory') SELECT target, count() n FROM links GROUP BY target ORDER BY n DESC LIMIT 20 SELECT path, json_extract_string(frontmatter, '$.status') FROM notes WHERE type = 'projects' |
| recentB | Most recently modified notes, optionally filtered by type. |
| create_noteA | Create an atomic idea note in notes/ (one idea per note, template frontmatter enforced). Use for durable ideas/insights worth keeping — search first to avoid duplicating an existing note; link related notes in the content with [[wiki-links]]. Fails if the note already exists. |
| edit_noteA | Surgically correct an existing note by exact string replacement. old_text must occur exactly once in the note's current text — read_note first and copy the passage verbatim, adding surrounding lines if it is not unique. Works anywhere in the file, frontmatter included. Prefer this over update_note for corrections: it cannot drop text you did not quote. |
| rename_noteA | Rename a note to a new title. The file becomes slugify(new_title).md in the same directory, the first H1 heading is set to the new title, and [[wiki-links]] to the old name anywhere in the vault are rewritten to the new one (|alias and #heading forms preserved). Fails if a note with the target name already exists. Returns old_path, path, links_rewritten. |
| update_noteA | Rewrite a note's entire body. The frontmatter block is preserved verbatim (use edit_note to change frontmatter). Everything below it is replaced with content — read_note first and carry forward anything that should survive. For targeted corrections use edit_note instead. |
| add_inbox_itemA | Add an open action item to the vault inbox (the source of truth for all open action items). Use for tasks/follow-ups, not ideas or status. |
| append_dailyA | Append a timestamped entry to today's journal Log — for decisions, conclusions, work accomplished, and key insights as they happen. |
| refresh_indexA | Force a rebuild of the metadata index from the files on disk. Returns note and link counts. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/seandavi/vault-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server