enquire-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| obsidian_list_notesA | List notes in the vault. Filter by tag, folder, or modified-since date. Returns title, path, frontmatter, tags, and mtime — newest first. |
| obsidian_read_noteA | Read a note by relative path or by title (filename without .md). Default |
| obsidian_resolve_wikilinkA | Resolve an Obsidian [[wikilink]] (or ![[embed]]) to a vault file. Handles aliases (Note|alias), sections (Note#Heading), block refs (Note^block), and ../-relative paths. |
| obsidian_get_recent_editsA | List notes ordered by most recent modification. Useful for picking up where work was left off. |
| obsidian_stale_notesA | List notes not edited in N days (forgetting-aware staleness), oldest first. Use to surface facts that may be outdated before relying on them, or to pick notes to refresh. Cheap mtime-only scan; returns path / title / mtime / age_days. |
| obsidian_get_backlinksA | List every note in the vault that links (or embeds) the target note. Returns ranked hits with snippets and link kind (wikilink/embed/mixed). |
| obsidian_list_tagsA | List every unique tag in the vault with usage counts (frontmatter vs inline). Sorted by count desc. |
| obsidian_dataview_queryA | Run a Dataview-style query. Grammar: (LIST | TABLE col1, col2) FROM ("folder" | #tag) [WHERE pred (AND|OR pred)*] [SORT field [ASC|DESC]] [LIMIT n]. Operators: =, !=, contains, like (SQL-LIKE wildcard with *, escape with *). Special fields: file.name, file.path, file.mtime, file.tags. Other identifiers read frontmatter. No expressions, FLATTEN, GROUP BY, or joins — see docs/api.md for the unsupported set. |
| obsidian_get_unresolved_wikilinksA | Find every [[wikilink]] (and ![[embed]]) in the vault whose target does not resolve to a file. Useful as a vault-hygiene utility — broken links, typos, notes you intended to create. |
| obsidian_get_outbound_linksA | List every link this note points to — wikilinks and (optionally) embeds, with each one's resolution status. Symmetric counterpart to obsidian_get_backlinks. |
| obsidian_validate_note_proposalA | Lint a draft note BEFORE writing. Closes the #1 LLM-write pain: AI generates structurally-broken notes (bad YAML, fake wikilinks, inconsistent tags). This tool parses the proposed YAML, resolves every [[wikilink]] against the live vault (broken/resolved with did-you-mean), pre-classifies every tag (existing vs new), and checks for path/title collisions. Returns errors (blocking) + warnings (non-blocking) + per-link/tag diagnostics. Always available — does NOT require --enable-write. Recommended workflow: validate → fix → obsidian_create_note. |
| obsidian_find_similarA | Given a note, return up to N other notes that are 'related' — by tag overlap (Jaccard), title 3-gram overlap, shared outbound links, and co-backlinks. Score is a weighted sum of those four signals; each is also returned individually so the caller can re-rank. No embeddings, no native deps — pure structural retrieval over the existing vault graph. Runs O(N) over the whole vault per call; for vaults >5k notes prefer batching. v3.10: each result also carries |
| obsidian_get_note_neighborsA | Return a note's immediate graph neighborhood in one call: outbound wikilinks (resolved), inbound backlinks (with count), and tag-cluster siblings (notes sharing ≥1 tag, excluding outbound/inbound). Replaces the read_note → backlinks → outbound → resolve_wikilink chain with a single round-trip — designed for RAG-style 'give the LLM enough context to reason about THIS note'. |
| obsidian_statsA | Vault-wide summary: total notes, total bytes, average note length, recently-modified count (last 7 days), orphan notes (no inbound + no outbound), broken wikilink count, total tag count, and top-N tags by frequency. Cheap (one pass over the cached parse). Useful as the first call in a session so the LLM has structural context before issuing targeted reads. |
| obsidian_lint_wikiA | Comprehensive vault-hygiene check inspired by Karpathy's LLM-Wiki gist (gist.github.com/karpathy/442a6bf555914893e9891c11519de94f). Returns five buckets of findings in one call: orphans (no inbound + no outbound), broken wikilinks, stub pages (under N words), stale pages (frontmatter |
| obsidian_open_questionsA | Walks every note for lines matching deferred-thinking markers — |
| obsidian_paper_auditA | For each note tagged |
| obsidian_find_pathA | Multi-hop graph traversal: BFS from |
| obsidian_open_in_uiA | Returns an |
| obsidian_list_canvasesA | Lists |
| obsidian_get_communitiesA | v3.4.0 — Computes structural communities over the vault's wikilink graph via greedy modularity optimization (single-phase Louvain). Returns |
| obsidian_list_basesA | v3.2.0 — Lists |
| obsidian_read_baseA | v3.2.0 — Parses a |
| obsidian_query_baseA | v3.2.0 (extended in v3.5.0) — Runs a |
| obsidian_read_canvasA | Parses one |
| obsidian_list_pdfsA | Lists |
| obsidian_read_pdfA | Extracts plain text from one PDF, returning per-page text + a |
| obsidian_ocr_pdfA | Runs Tesseract OCR over each page of an image-only / scanned PDF, returning per-page text + per-page confidence + mean confidence + the same shape as |
| obsidian_hyde_searchA | v3.1.0 — HyDE retrieval (Gao et al 2023). Caller agent generates a synthetic answer to its own question, passes it as |
| obsidian_searchA | The default search tool for v2.0. Auto-detects every available retrieval signal — BM25 via FTS5 (if |
| obsidian_chat_thread_readA | Parse a note's |
| obsidian_context_packA | Given a question, retrieve the top relevant notes (via hybrid search), gather backlinks summaries + optionally recent dailies, deduplicate, pack to a token budget, return a single ready-to-paste markdown bundle. Saves the agent ~5 separate tool calls; produces a coherent context blob you can paste into any AI chat. |
| obsidian_frontmatter_getA | Return parsed YAML frontmatter for a note. With |
| obsidian_frontmatter_searchA | Find every note where frontmatter. matches a predicate. Useful as a precursor to bulk frontmatter_set: 'find all notes with status:draft and set their status to published'. Predicates are exclusive: pass exactly one of |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_recent_edits | Use obsidian_get_recent_edits + obsidian_read_note to summarize what was worked on recently. |
| review_tag | Pull every note with a given tag and surface the open questions / unresolved threads. |
| find_orphans | Identify notes with no inbound links — candidates for archiving or wiring up. |
| weekly_review | Aggregate the last 7 days of vault edits and surface what shipped, what's open, what's stuck. |
| extract_todos | Surface every TODO / FIXME / QUESTION across the vault, grouped by note. |
| process_inbox | For every note in an inbox folder, propose where it should live and which existing notes link to it. |
| consolidate_tags | Surface near-duplicate or inconsistently-cased tags (#productivity vs #productive vs #Productivity) and propose unifications. |
| find_duplicates | Walk the vault for clusters of structurally similar notes (same tags, overlapping titles, shared backlinks) — candidates for merge. |
| lint_wiki | Run Karpathy's lint workflow over the vault — orchestrate obsidian_lint_wiki + obsidian_open_questions + obsidian_paper_audit, surface every actionable issue, propose fixes the agent can apply via the existing write tools after validate_note_proposal. Read-only — proposes only, never modifies. |
| monthly_review | 30-day version of `weekly_review` — aggregates a month of vault activity, identifies themes, and surfaces what stalled. |
| search_with_query_expansion | Higher-recall retrieval: paraphrase the query 3-5 ways, call obsidian_search per paraphrase, fuse results. Boosts recall on terse / ambiguous queries by 5-15 NDCG@10 over a single-pass search. Pure agent-side orchestration — no server-side LLM calls. |
| vault_synth | Karpathy LLM-Wiki ingest workflow: take raw source(s), extract entities/concepts/claims, decide which existing notes to update vs which new wiki pages to create, then propose drafts. The agent decides; this prompt sequences the calls. Cites every claim with the source location for trust. |
| vault_wiki_compile | The LLM-Wiki maintenance step: scan the vault for new/updated notes since last compile, regenerate the top-level `index.md` (table of contents + concept clusters) and append to `log.md` (a chronological compile-log). Run weekly or after a batch ingest. Idempotent. |
| vault_lint_extended | Beyond the structural lint of `obsidian_lint_wiki`: this prompt sequences a deeper inspection — contradictions across notes (semantic search for opposing claims), stale claims (notes with date references > 6mo old), missing cross-references (notes that mention an entity by name without `[[wikilinking]]` to its wiki page). |
| vault_capture | Mem.ai-style 'write don't organize' UX: the user pastes a thought; we file it intelligently. Auto-detect destination (today's daily note vs new wiki page vs append to most-relevant existing note via hybrid search) and propose a diff for user approval before writing. |
| vault_persona_search | Khoj-style agent persona pattern: scope retrieval to a folder + apply a persona-specific lens to the response. Useful when you want 'research-assistant' behavior over `Research/` distinct from 'editor' over `Drafts/`. Pure prompt template — orchestrates existing search tools with a fixed scope/instructions. |
| vault_automation_setup | Walks you through creating a cron'd vault query whose results land as a daily note or get appended to a digest. Bridges enquire-mcp tools + the host's `scheduled-tasks` MCP (or any cron tool the agent has access to). Pure orchestration — no server-side state. |
| vault_research | Multi-hop research workflow: break a complex question into 3-5 atomic sub-questions, retrieve per sub-question, synthesize a final answer with cited claims. Closes the gap to agentic-RAG patterns (sub-question decomposition + ReAct) without forcing the server to make LLM calls — the agent handles the decomposition. |
| vault_synthesis_page | Takes a topic the user already has scattered notes about and produces a single consolidated wiki page that cites every contributing note. Karpathy LLM-Wiki **synthesis** loop (vs `vault_synth` which is the *ingest* loop). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| vault-info | Root path, note count, write-enabled flag, and limits for the connected vault. |
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/oomkapwn/enquire-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server