| name | markdown-vault-query |
| description | Search and retrieve read-only local Markdown vault knowledge-base content with file and line citations. |
| category | provider:markdown-vault |
| provider_type | markdown-vault |
| instance_required | true |
| triggers | ["markdown vault","obsidian vault","knowledge base","internal docs","team notes","runbook","design doc","wiki","文档库","知识库","内部文档","笔记库"] |
| use_when | ["User asks a question that should be answered from a configured Markdown knowledge base.","User asks to search or cite local Markdown, Obsidian-style notes, internal docs, runbooks, or team notes.","User references a vault path, note name, heading, tag, or wikilink."] |
| avoid_when | ["User asks a general public factual question with no knowledge-base or document intent.","User wants to edit, create, move, or delete vault notes.","User asks to operate the Obsidian desktop app."] |
| examples | ["Search the knowledge base for deployment rollback steps","What do our internal docs say about incident severity?","查一下知识库里关于发布审批的说明","Open the vault note docs/runbook.md lines 20-60"] |
| related | ["markdown","knowledge-base","obsidian"] |
| tool_search_name | markdown_vault_search |
| tool_search_description | Search Markdown vault files directly. Use only for knowledge-base, internal-doc, runbook, wiki, or vault-note intent. Pass LLM-expanded keywords when available. Returns evidence only: cited file paths, heading paths, line ranges, snippets, bounded text, matched keywords, tags, and context-budget status. Never copy result blocks or Source lines into the final answer; synthesize them. |
| tool_search_entrypoint | scripts/search.py:handler |
| tool_search_groups | ["markdown-vault","knowledge"] |
| tool_search_capability_class | provider:markdown-vault |
| tool_search_priority | 100 |
| tool_search_parameters | {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Original user question or natural-language query."
},
"keywords": {
"type": "array",
"description": "Optional LLM-expanded search keywords, including entities, synonyms, English/Chinese variants, and typo corrections.",
"items": {
"type": "string"
},
"default": []
},
"limit": {
"type": "integer",
"description": "Maximum result count. Defaults to 12 and is capped by the tool.",
"default": 12
},
"path_filter": {
"type": "string",
"description": "Optional vault-relative path substring to narrow results. Omit for ordinary knowledge-base questions. Use only when the user explicitly names a vault-relative directory/file path or when narrowing from a previous search result's path field. Do not infer this from product names, provider names, instance names, knowledge-base names, or topic words."
},
"tag_filter": {
"type": "string",
"description": "Optional tag name without '#', or comma-separated tags, to narrow results."
}
},
"required": ["query"]
}
|
| tool_get_name | markdown_vault_get |
| tool_get_description | Read a safe line range from one Markdown vault file by vault-relative path. Use after search when the answer needs more surrounding context. The returned Markdown is evidence only; never paste retrieved headings, Source lines, or whole chunks as the final answer. |
| tool_get_entrypoint | scripts/get.py:handler |
| tool_get_groups | ["markdown-vault","knowledge"] |
| tool_get_capability_class | provider:markdown-vault |
| tool_get_priority | 110 |
| tool_get_parameters | {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Vault-relative Markdown file path. Absolute paths and path traversal are rejected."
},
"start_line": {
"type": "integer",
"description": "Optional 1-based start line. Defaults to the first line."
},
"end_line": {
"type": "integer",
"description": "Optional 1-based inclusive end line. Defaults to a bounded window."
}
},
"required": ["path"]
}
|