Hybrid retrieval over Obsidian vaults and markdown corpora with grounded answers, MCP server, and agent-native output. Combines BM25 + semantic search + reranker with graph-aware ranking.
Talon provides three well-named, read-only tools with clear verb-noun naming (talon_search, talon_read, talon_related). All tools have substantive descriptions (100-200 chars) explaining WHAT they do and WHEN to use them. Input schemas are present with typed parameters and descriptions. However, output schemas are not documented in the source code, the agent contract file shows only input definitions. Parameter descriptions are good but lack explicit constraints (e.g., limit ranges, depth bounds). No error handling guidance is visible. All three tools are read-only (low risk), but descriptions could better explain failure modes and recovery paths.
Read a vault note by path or Obsidian reference. Use after search when you need source text, exact wording, or a section body.
Find ranked related notes from links, backlinks, shared sources, common neighbors, and graph communities. Use for deliberate graph/provenance exploration from a known note.
Search the Obsidian vault for notes relevant to a query, with hybrid retrieval and graph-aware refinement. Use for explicit lookup beyond automatic recall. Default search excludes scopes configured with `default = false` such as `raw/`, `archive/`, or `private/`; pass `scopeAll: true` or an explicit `scope` when looking for recall-injected paths from those scopes. Returns compact agent JSON with ranked plain-path results; synthesize answers yourself or call the CLI `talon ask` only when you specifically want Talon's smaller built-in answer model.
Output schemas not documented. Agent cannot plan downstream calls or extract structured data without knowing what fields to expect from search, read, or related results.
Parameter constraints missing. 'limit' and 'depth' parameters lack min/max bounds; 'fromLine' and 'maxLines' lack range guidance. LLMs may pass absurd values (limit=999999, depth=100).
No error handling guidance. Descriptions do not explain what happens on invalid scope, missing path, or malformed query. LLM has no recovery path if a call fails.
talon_search description mentions 'compact agent JSON' and 'ranked plain-path results' but does not document the actual response structure (fields, types, ordering).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
talon_read 'raw' parameter lacks explanation of what 'raw' means (no formatting applied? no markdown parsing?). Ambiguous boolean flags invite misuse.