Knowledge base library: ingest, index, and search documents. Provides MCP server for knowledge base queries and management.
Lore provides 6 well-named, read-only tools with clear descriptions (avg 150 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the source code, critical for LLM planning. Pagination is present but the 'pagination' object structure is opaque (no nested schema visible). Error handling and recovery guidance are absent. Tool names follow verb_noun convention (lore_search, lore_read_topic) and are action-oriented, which is strong. Parameter descriptions are present but generic (e.g., 'optional topic filter' lacks context on when to use it). No tool annotations (readOnlyHint, etc.) despite all being read-only.
Returns a knowledge base overview including document/chunk counts, topics, languages, and source types.
List source documents with metadata. Filter by topic, title (case-insensitive substring), author, or language. Use source paths with lore_read_doc.
List all topics, sorted alphabetically by default. Use topic names as filters in lore_search or as the argument to lore_read_topic.
Read a document's chunks in order. Accepts partial paths: "readme.md", "docs/api", or full source paths. Returns candidates if multiple documents match.
Read chunks for a topic in document order. Prefer over lore_search for systematic topic coverage. Use offset to paginate. Topic name resolution: exact match, then case-insensitive, then substring ("auth" matches "Authentication"). Use lore_list_topics to see topic names.
Full-text BM25 search with English stemming ("install" matches "installed", "installer"). `total` reflects index-level matches; source filter and `max_per_source` reduce the page in memory, so a page may be shorter than `limit`.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., topic names from lore_list_topics, chunk content from lore_read_topic). This forces agents to guess response structure.
Pagination parameter is an opaque object with no nested schema. LLMs cannot determine valid fields (offset vs cursor? limit vs page_size?). Pagination structure must be explicitly defined.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'topic not found', 'invalid query syntax'). Agents cannot self-correct on errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Tool annotations missing. All 6 tools are read-only (no side effects), but readOnlyHint is not set. This prevents agents from understanding safety properties and optimizing retry logic.
Parameter descriptions are generic ('optional topic filter'). They lack context on when to use filters, what values are valid, or how filters interact. Descriptions should guide LLM selection.