Skip to main content
Glama

LoreDocs v0.1.24

Your AI project's knowledge base. Organized, searchable, version-tracked.

LoreDocs gives Claude persistent access to your project documentation -- specs, guides, architecture decisions, reference docs -- so it never loses context between sessions. Works with Claude Code, Cowork, Cursor, OpenAI Codex, and Hermes Agent.

Install directly from Claude Code's plugin marketplace, or via PyPI: uvx loredocs

Quick Start

Prerequisites: uv (fast Python package manager).

# Install uv (one time)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and install
cd /path/to/loredocs
uv sync

For detailed installation instructions, see INSTALL.md.

Using the Claude Agent SDK directly? git clone the public repo and point the SDK's local-directory plugin loader at it -- the repo root is a self-contained plugin directory (.claude-plugin/plugin.json + .mcp.json). No separate SDK-installable bundle exists or is needed.

Related MCP server: brainMD

Using LoreDocs

Claude Code (Terminal)

claude --plugin-dir /path/to/loredocs

Or inside an existing session:

/plugin add /path/to/loredocs

Once loaded, Claude has access to all 48 LoreDocs MCP tools automatically. Ask Claude to "create a vault for this project" or "find the architecture doc" and it uses the tools on its own.

Cowork (Desktop App)

  1. Click + next to the prompt box

  2. Select Plugins > Add plugin

  3. Browse to the loredocs source folder

Shared Database Access: Cowork runs in a sandboxed VM. To access docs saved from Claude Code, ask Claude:

"Mount my ~/.loredocs folder"

How It Works

LoreDocs organizes knowledge into vaults -- named containers for related documents. Each vault can hold specs, guides, decisions, checklists, or any text you want Claude to remember.

~/.loredocs/loredocs.db          <-- SQLite database (metadata, search index)
~/.loredocs/vaults/<vault-id>/   <-- Document files on disk

Key concepts:

  • Vaults group related docs by project or topic

  • Documents are text files with metadata (tags, categories, priority, notes)

  • Version history tracks every change to every document

  • Full-text search via SQLite FTS5 finds anything instantly

  • Injection loads vault content into Claude's context on demand

Your Data is Always Available

LoreDocs works through MCP tools when they are available and falls back to bundled scripts automatically when they are not. Your vault documents are safe regardless of MCP status -- the same add, search, and retrieve operations work either way. You do not need to configure anything; the plugin skill handles the switch silently.

Verify Installation

After installing, verify LoreDocs is working by asking Claude:

"Run vault_list and show me the results."

If you see a list of vaults (or an empty list if this is your first time), LoreDocs is connected. If you get an error about missing tools, re-run uv sync and reload the plugin.

For the best experience, add the following snippet to your ~/.claude/CLAUDE.md (global) or your project's CLAUDE.md. This tells Claude how to use LoreDocs consistently across sessions.

## LoreDocs (persistent project knowledge)

At session start:
1. Call `vault_list` to see available knowledge vaults.
2. Call `vault_inject_summary` for any vaults relevant to the current project.
3. Use this context to understand project architecture, decisions, and reference docs.

During the session:
- If you create significant documentation, add it to LoreDocs with `vault_add_doc`.
- Tag documents for easy cross-vault discovery with `vault_tag_doc`.

At session end:
- If new docs were created or updated, ensure they are stored in LoreDocs for future sessions.

For Cowork users: Cowork does not run hooks automatically. Add instructions to call vault_list and vault_inject_summary at session start in your project CLAUDE.md.

Canonical Project Knowledge

In multi-agent environments, different tools and agents often create improvised mirrors of shared skill or configuration content -- playbooks, style guides, shared reference docs. Those mirrors drift. One agent updates the source; the other keeps reading the stale copy. Two agents in the same project end up operating from divergent knowledge with no visible signal that anything is wrong.

LoreDocs prevents this by making the vault the single canonical source that every agent reads. Instead of each agent loading a local file copy, every agent calls vault_inject_by_tag at session start and gets the same vault-managed version.

Store shared content (playbooks, team guidelines, shared specs) as vault documents rather than as local files that agents copy or mirror.

Agents load the content at session start:

vault_inject_by_tag: team-playbook

All agents -- regardless of surface (Claude Code, Cowork, CLI, or any future AI tool) -- call the same vault and receive the same current version. Updating the content requires editing the vault document once; all agents pick up the change on their next session start.

Local files (.claude/skills/, .agents/, or any surface-specific config) become pointers or bootstrap stubs only -- not the authoritative content. The vault is the source of truth.

Example: sharing a playbook across an agent team

# Session start for any agent on the team:
# 1. Inject the shared playbook by tag
vault_inject_by_tag("team-playbook")

# 2. Inject any project-specific reference docs
vault_inject_by_tag("project-architecture")

# Working context is now current -- no local file copies needed.

To store the shared content in the vault (one time, or on each update):

# Store (or update) the shared playbook:
vault_update_doc(vault="team-knowledge", doc_id="playbook-id", content=open("PLAYBOOK.md").read())

# Or add it fresh (path= reads directly from disk -- no need to load into context):
vault_add_doc(vault="team-knowledge", name="Team Playbook", path="/absolute/path/to/PLAYBOOK.md", tags=["team-playbook"])

Any agent that calls vault_inject_by_tag("team-playbook") reads the same document. No copies, no mirrors, no drift.

Plans: Free vs Pro

LoreDocs is local-first and free to use. Pro ($9/mo) removes the storage limits and unlocks semantic (meaning-based) retrieval. Everything runs on your machine on either plan -- Pro does not add any cloud component.

Free

Pro ($9/mo)

Vaults

3

Unlimited

Documents per vault

50

Unlimited

Storage

500 MB

Unlimited

Version history per document

5 versions

Unlimited

Full-text search (FTS5)

Yes

Yes

Core MCP tools (create, search, version, tag, inject, import/export)

Yes

Yes

Local-first, no cloud, no telemetry

Yes

Yes

Semantic search (vault_search semantic=true, vault_rebuild_index)

--

Yes

Embedding-based document relationships (vault_find_related)

Keyword co-occurrence only

Keyword + embedding auto-links

Cross-product session linking (vault_link_session + 2 more)

--

Yes (also requires LoreConvo Pro)

Upgrade to Pro -- $9/month

Free tier limits are enforced before writes; Pro removes them. Check your current tier and usage anytime with vault_tier_status. Activate a Pro license with vault_set_tier.

The Pro semantic features use a local embedding model (BGE-small-en-v1.5) and the LanceDB index -- still no data leaves your machine.

Features

  • Vault organization: Group docs by project with linked project metadata

  • Document versioning: Full history with rollback to any prior version

  • Tagging and categorization: Tag docs for cross-vault discovery

  • Priority levels: Mark docs as critical, high, normal, or low priority

  • Full-text search: Fast keyword search across all vaults and documents

  • Context injection: Load specific docs, tags, or vault summaries into Claude's context

  • Bulk operations: Import directories, bulk-tag, export manifests

  • Document linking: Connect related docs across vaults

  • Embedding-based document relationships (Pro): vault_find_related returns both keyword co-occurrence and embedding-based auto-links for Pro users. Uses BGE-small-en-v1.5, cosine >= 0.75, same-vault scoped. Embedding links are archived if you downgrade from Pro to Free.

  • Cross-product session linking (Pro): Automatically links vault documents to the most relevant LoreConvo sessions, and vice versa. Three tools: vault_link_session, vault_get_session_links, vault_get_linked_sessions. Requires both LoreDocs Pro and LoreConvo Pro.

  • Tier management: Free/Pro tiers with configurable limits

  • Local-first: SQLite database, no cloud dependency, zero API costs

MCP Tools

LoreDocs provides 48 MCP tools by default (49 with the notion extra installed; 50 with LOREDOCS_ENABLE_CAP_TOOLS=1 and the notion extra) organized by function:

Vault Management (8 tools)

Tool

What it does

vault_create

Create a new vault with name and description

vault_list

List all vaults with doc counts and sizes

vault_info

Get detailed vault information

vault_archive

Archive a vault (preserves data, hides from listing)

vault_delete

Permanently delete a vault and all its documents

vault_link_project

Link a vault to a project directory

vault_open_workspace

Open or create the vault scoped to a directory path

loredocs_onboard

Set up workspace with starter vaults on first install

Document Operations (10 tools)

Tool

What it does

vault_add_doc

Add a new document to a vault (inline content or from file path)

vault_update_doc

Update document content (creates version history)

vault_remove_doc

Remove a document from a vault

vault_get_doc

Retrieve a document with full content

vault_list_docs

List documents in a vault with filtering and sorting

vault_copy_doc

Copy a document to another vault

vault_move_doc

Move a document to another vault

vault_doc_history

View version history of a document

vault_doc_restore

Restore a document to a previous version

Search and Discovery (5 tools)

Tool

What it does

vault_search

Full-text search across all vaults

vault_search_by_tag

Find documents by tag across all vaults

vault_find_related

Discover documents related to a given doc (Pro only)

vault_suggest

Proactive suggestions for relevant docs to load

vault_rebuild_index

Rebuild the LanceDB semantic search index (Pro only; run once after installing Pro deps)

Organization (5 tools)

Tool

What it does

vault_tag_doc

Add tags to a document

vault_bulk_tag

Tag multiple documents at once

vault_categorize

Set document category (spec, guide, decision, etc.)

vault_set_priority

Set document priority level

vault_add_note

Add a note or annotation to a document

Context Injection (9 tools)

Tool

What it does

vault_inject

Load ranked vault documents into context, packed within a token budget

vault_inject_by_tag

Load all documents matching a tag, packed within a token budget

vault_inject_summary

Load a vault summary with doc titles and descriptions

vault_prime

Pre-load all vault documents by priority order (equivalent to vault_inject with no query)

vault_get_injection_cap

Get the configured token cap for a vault's injection tools

vault_set_injection_cap

Set a vault's injection token cap (requires LOREDOCS_ENABLE_CAP_TOOLS=1)

vault_get_session_token

Generate a per-session cache key for injection tools

vault_estimate_tokens

Estimate the token count an injection call would use before running it

vault_get_server_capabilities

Report which injection/token-budget features this server build supports

Import/Export (5 tools)

Tool

What it does

vault_import_dir

Import a directory of files into a vault

vault_import_notion

Import Notion pages and databases into a vault (one-time, no live sync)

vault_import_notion_setup

Report Notion import readiness and how to enable it (read-only)

vault_export

Export a document to a file on disk

vault_export_manifest

Export vault metadata as a JSON manifest

Tool

What it does

vault_link_doc

Create a link between two documents

vault_unlink_doc

Remove a link between documents

Administration (4 tools)

Tool

What it does

vault_tier_status

Check current tier limits and usage

vault_set_tier

Set the active tier (free or pro)

get_license_tier

Check current tier and license key status

vault_verify

Check document version-history integrity, optionally repair

Tool

What it does

vault_link_session

Create a manual link from a LoreConvo session to a LoreDocs document

vault_get_session_links

Return LoreConvo sessions linked to a LoreDocs document

vault_get_linked_sessions

Return LoreDocs documents linked to a given LoreConvo session

Portable Project Workspace

LoreDocs and LoreConvo together form a portable project workspace for all of Claude -- session memory AND structured knowledge, entirely on your machine.

  • LoreConvo remembers what you discussed, decided, and left open (episodic + semantic memory)

  • LoreDocs stores the reference docs, specs, and guides Claude needs (durable knowledge)

Where cloud AI workspaces tie you to one ecosystem, LoreConvo + LoreDocs works across Claude Code, Cursor, OpenAI Codex, Hermes Agent, and Cowork. Both store data locally in SQLite. Neither sends anything to an external server.

Requirements

  • Python 3.10+

  • macOS or Linux

  • uv package manager

  • mcp and pydantic (auto-installed by uv sync)

Supported Storage Substrates

LoreDocs stores document content as plain files on disk. The durability guarantee depends on the filesystem substrate:

Vault root location

Support

Guarantee

Local disk (APFS, ext4, NTFS on a local volume)

Supported

Guarantee holds: a substrate that misreports writes can lose the most recent save, but can never destroy or corrupt a version already on disk.

Cloud-sync folder (Dropbox, iCloud Drive, OneDrive, Google Drive)

Best-effort

Newest save may be lost or resurrected by the sync client.

Network mount (SMB, NFS, sshfs)

Best-effort

Advisory locks may be no-ops, so concurrent clients can lose an update.

Container bind mount / WSL cross-OS path

Best-effort

Same guarantees as the underlying filesystem.

A one-time warning is emitted when a vault root is detected under a known cloud-sync directory. Suppress it with LOREDOCS_SUPPRESS_SUBSTRATE_WARNING=1.

The metadata.json file in each document directory is strictly derived from the SQLite database -- the database is the source of truth. Do not edit metadata.json directly; changes will be overwritten on the next document update.

Version History Integrity

LoreDocs v0.1.21+ includes version-storage integrity features:

  • Atomic writes: Every mutation uses temp + rename, never writing into a destination path. A crash or disk-full leaves existing data untouched.

  • Intent journal: Crash recovery via hash-guarded, idempotent replay.

  • Five-source allocator: Version numbers are monotonically increasing across content files, sidecars, DB counter, reset marker, and highwater.

  • Divergence detection: History loss, jump, rollback, and holes are detected and reported. Writes refuse on divergence; reads proceed with a divergence field flagging the issue.

  • Per-version sidecars: history/v{N}.meta.json records save time, author, session ID, change note, and operation type for each version.

  • Retention rotation: Free tier retains 5 versions per document; Pro retains 100. Oldest versions are rotated automatically (never renumbered).

  • vault_verify: A diagnostic tool that reports integrity issues and can perform additive-only repairs. Run vault_verify --pre-upgrade before upgrading LoreDocs to check for legacy vault anomalies.

Data and Privacy

LoreDocs is local-first. All data lives in ~/.loredocs/ on your machine.

  • Data collected: Document names, content, tags, categories, and vault names you provide when storing documents. No telemetry, usage analytics, or identifiers are collected automatically.

  • Storage: SQLite database at ~/.loredocs/loredocs.db; document files in ~/.loredocs/vaults/. No cloud storage. Override the root directory with the LOREDOCS_ROOT environment variable.

  • Third-party sharing: None. Data never leaves your machine.

  • Retention: Data is retained until you delete it via vault_remove_doc, vault_delete, or remove the database files manually. No automatic expiry.

  • Contact: info@labyrinthanalyticsconsulting.com

Full privacy policy: https://labyrinthanalyticsconsulting.com/privacy

Troubleshooting

MCP tools not showing up in Claude Code? Make sure you ran uv sync first. The virtual environment must exist with dependencies installed.

"No module named 'mcp'" error? The .mcp.json points to the virtual environment's Python. If you moved the folder, re-run uv sync.

Cowork can't see docs saved in Code? Ask Claude to "mount my ~/.loredocs folder" so Cowork can access the shared database.

Fallback Script (Direct DB Access)

If the MCP server is unreachable (e.g., in scheduled tasks or automation scripts), scripts/query_loredocs.py provides the same core operations directly against the SQLite database.

# List all vaults
python scripts/query_loredocs.py --list

# Show vault details and document manifest
python scripts/query_loredocs.py --info "My Project Docs"

# Search documents across all vaults
python scripts/query_loredocs.py --search "architecture"

# Add a document to a vault
python scripts/query_loredocs.py --add-doc \
    --vault "My Project Docs" \
    --name "Architecture Overview" \
    --file docs/architecture.md \
    --tags '["architecture", "design"]'

# Add a document from stdin
echo "# Quick Note" | python scripts/query_loredocs.py --add-doc \
    --vault "My Project Docs" \
    --name "Quick Note" \
    --stdin

The script auto-discovers the database at ~/.loredocs/loredocs.db (or pass --db-path explicitly). It writes the same schema as the MCP tools, including FTS indexing and on-disk file storage.

What's New

v0.1.24 (2026-09-01)

Fixed: Notion imports keep their structure

Imported Notion pages were losing all of their structure -- headings, bullet and numbered lists, to-do checkboxes, and code blocks all arrived as one flat wall of text, and quotes, callouts, and collapsible sections were dropped entirely. Imports now preserve headings at the right level, list markers, checked/unchecked to-do state, fenced code blocks with their language, quotes, callouts, and toggles.

Added: search tells you when its index is incomplete

Semantic search draws on an index that is built separately from your documents. If that index falls behind -- most commonly because documents were added while you were on the Free tier, where the index is not maintained -- searches kept returning confident results drawn from only the part of your library that had been indexed. Nothing indicated that anything was missing.

Searches now report their own coverage. When the index holds fewer documents than your vault does, results carry a warning naming the counts (for example, "covers 3 of 5 indexable documents in this scope") and telling you to run a rebuild. Documents with no extractable text are not counted against coverage, so an image-only file will not produce a warning that never goes away.

You can also check the index without running a search: on Pro, vault_tier_status now reports how many documents are indexed, how many are indexable, and whether the two are in sync.

Fixed: semantic index rebuilds are safer and show progress

Rebuilding the semantic search index used to delete the existing index first, so an interrupted rebuild could leave search empty. The rebuild now builds the new index in the background and swaps it in only when complete -- an interruption leaves your previous index untouched. Rebuilds also report progress as they go instead of sitting silent for a long time, and auto-discovered related documents now search within the right vault.

See the full changelog for the complete release history.

License

Business Source License 1.1 (BSL 1.1) - Labyrinth Analytics Consulting

Free for personal/non-commercial use (up to 3 vaults). Commercial use requires a paid license. Converts to Apache 2.0 on 2030-03-31. See LICENSE for details.

Available Tools

49 tools
get_license_tierGet License TierA

Return the current LoreDocs license tier and status.

Use this to confirm whether the Pro license key is loaded and valid.

Returns a dict with keys: is_pro -- bool, True if Pro tier is active mode -- "licensed" | "dev_bypass" | "free" | "invalid_key" product -- product name from the license payload (if licensed) exp -- expiry date or "never" (if licensed) email -- customer email (if licensed and present) error -- error message (if mode is "invalid_key") upgrade_url -- Stripe checkout link (present when not already Pro)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description takes on the full burden of behavioral disclosure. It thoroughly explains the return dict and all possible modes, including error handling and upgrade_url. While it doesn't explicitly state 'this is read-only', the consistent 'Return' language and lack of side-effect indications make the behavior sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and excellently structured. It opens with a clear purpose, includes a usage note, and lists return keys in a readable format. Every sentence and line adds value, and the organization makes it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is complete: it specifies the exact return dict, explains each key's meaning, and covers error scenarios. It also provides usage context, making it fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, which sets a baseline of 4. The description adds no parameter information because there are none, which is appropriate. The return structure is described instead, but that's covered under other dimensions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action and resource: 'Return the current LoreDocs license tier and status.' It also specifies a key use case: 'confirm whether the Pro license key is loaded and valid.' However, it does not explicitly differentiate this tool from sibling tools like vault_tier_status, so it doesn't earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a direct usage instruction: 'Use this to confirm whether the Pro license key is loaded and valid.' This gives clear contextual guidance for when to use the tool. It does not mention alternatives or when not to use it, which prevents a higher score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_server_infoGet Server InfoA

Return MCP compatibility status for this LoreDocs server.

Returns product version, installed mcp SDK version, tested version, and compatibility status. Useful for diagnosing version mismatches on running servers without requiring a restart.

Returns dict with: product_name, product_version, mcp_installed, mcp_tested, mcp_accepted, status (ok|mismatch|undetermined|disabled|internal_error), note, error_detail (set only on internal_error).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It goes beyond a simple statement by detailing the return structure: product version, SDK version, tested version, compatibility status, and a dict with specific keys. It even explains the 'error_detail' field is set only on 'internal_error,' which is transparent about conditional behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: three sentences that lead with the main action, then a use-case note, then a structured list of return fields. Every sentence adds value, and the information is front-loaded. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description fully documents the return values, including possible statuses and when error_detail appears. It also communicates the operational context (diagnosing version mismatches) and the fact that no restart is needed. The tool is simple, and this description covers all necessary aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantics to explain. The baseline for 0 parameters is 4, and the description does not need to compensate. The empty schema is fully covered, and the description focuses on the output instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb and resource: 'Return MCP compatibility status for this LoreDocs server.' This clearly distinguishes it from vault-centric siblings and even the related vault_get_server_capabilities by focusing on version and compatibility. The purpose is unambiguous and immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states 'Useful for diagnosing version mismatches on running servers without requiring a restart,' which gives a clear, concrete use case. It does not explicitly mention alternatives or when not to use it, but the context is strong enough to guide selection. The phrase 'without requiring a restart' adds practical value.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loredocs_onboardOnboard LoreDocsA
Idempotent

Set up or update your LoreDocs workspace configuration.

Call once after installing LoreDocs to get a recommended vault structure. Call again to add new domains or agents -- existing data is never modified.

Creates:

  • A Config vault with a 'My LoreDocs Setup' reference doc (tagged authoritative)

  • One vault per domain in domains

  • One '[Name] Reports' vault per agent in agents

  • The reference doc is queryable: vault_search('my setup')

Args: name: Workspace or team name domains: Work areas, each becomes a vault (e.g. ['finance', 'research']) agents: Agent names, each gets a '[Name] Reports' vault tag_style: 'simple' (default) or 'detailed'

Vault tags: freeform strings on documents for cross-vault retrieval. Categories: reference, report, template, config, archive, general. Priority: authoritative, normal, draft, outdated.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
agentsNo
domainsNo
tag_styleNosimple

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (idempotentHint true, destructiveHint false), the description discloses that existing data is never modified, details what gets created, and notes the reference doc is queryable. This provides richer behavioral context than the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a lead sentence, call guidance, a bulleted list of creations, and parameter explanations. The additional tag/priority information is contextual and earns its place by explaining the created setup.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers usage, behavior, parameters, and created artifacts comprehensively. The only minor gap is that all parameters are optional in the schema, but the description does not clarify what happens when called with no arguments (e.g., whether only the Config vault is created).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description explains each parameter (name, domains, agents, tag_style) with examples and default values. It fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set up or update your LoreDocs workspace configuration' and enumerates the concrete artifacts created (Config vault, per-domain vaults, per-agent report vaults). This distinguishes it from sibling vault_* tools, which handle individual documents or vault operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is provided: 'Call once after installing LoreDocs to get a recommended vault structure. Call again to add new domains or agents -- existing data is never modified.' This tells the agent exactly when to invoke it and reassures about non-destructive behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_add_docAdd DocumentA

Add a text document to a vault with metadata (tags, category, priority, notes).

The document will be full-text indexed for search and stored with version tracking. Content can be provided inline (content parameter) or from a file path (path parameter). For binary files (PDF, DOCX, etc.), use vault_import_dir to import from a directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo
tagsNo
notesNo
vaultYes
contentNo
categoryNogeneral
filenameNo
priorityNonormal

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that documents are 'full-text indexed' and 'stored with version tracking', adding value beyond the annotations (all false). However, it does not clarify critical behavioral traits such as what happens if both content and path are supplied, whether existing documents with the same name are overwritten or versioned, or any permissions required. Annotations are minimal (all false), so the description carries more burden but still leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each conveying distinct information: purpose, indexing/versioning, content input options, and the binary-file alternative. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with a moderate parameter count and an output schema, the description provides the essential operational context: text-only, content via inline or path, metadata support, and the correct alternative for binaries. It falls short on parameter interplay (e.g., path vs content precedence) and what 'name' represents, but overall it equips an agent for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions content, path, and metadata fields (tags, category, priority, notes), but does not explain the role of 'name' vs 'filename', the relationship between content and path, or the vault parameter. With 9 parameters and zero schema descriptions, this partial coverage leaves ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Add a text document to a vault with metadata', a specific verb+resource statement. It also distinguishes from binary-file imports by pointing to vault_import_dir, making the scope (text documents) explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states when to use this tool vs alternatives: 'For binary files (PDF, DOCX, etc.), use vault_import_dir to import from a directory.' It also explains the two content input modes (inline content or file path), which guides usage choices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_add_noteAdd Document NoteA
Idempotent

Attach a contextual note to a document.

Notes help you and your AI assistant understand when/how to use this document.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide key behavioral hints (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description does not contradict these and adds a note on the intended use of notes, but it does not disclose whether notes are appended, replaced, or how repeated calls behave beyond the annotations. With annotations covering safety, the description adds minimal extra transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with exactly two sentences. It front-loads the action and adds a purposeful explanatory sentence without any redundant fluff. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (two string params) and has an output schema, so the description need not explain return values. However, it leaves ambiguity around whether notes overwrite existing notes or are appended, and it does not specify the doc_id format. These gaps prevent it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It gives some hint about the 'notes' parameter ('contextual note... when/how to use this document') but does not clarify 'doc_id' or the expected format/structure of notes. This is insufficient for fully understanding the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Attach a contextual note to a document.' This specifies the verb (attach), resource (document), and distinguishes it from sibling tools like vault_add_doc or vault_tag_doc. The second sentence provides additional context about the note's purpose, reinforcing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the purpose of notes ('help you and your AI assistant understand when/how to use this document') but does not explicitly state when to use this tool versus alternatives or any exclusions. Usage is implied rather than stated, so it falls short of clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_archiveArchive VaultA
Idempotent

Archive a vault (soft delete). Archived vaults are hidden from vault_list by default but can be restored.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds valuable behavioral context beyond annotations: soft delete, hidden from default vault_list, and restorable. This complements the idempotentHint and destructiveHint annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the essential action and key side effects without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema and annotations, the description covers the most important user-visible behavior. It could mention how to restore, but that is not essential for selecting/invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero schema description coverage, the description should explain what the 'vault' parameter accepts (ID, name, path). It does not go beyond the schema's basic title, leaving ambiguity for an agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Archive' plus resource 'vault' and clarifies it's a soft delete. It clearly distinguishes from permanent deletion tools like vault_delete by stating archived vaults can be restored.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for soft deletion) and notes that archived vaults are hidden from vault_list by default, providing context. It does not explicitly name an alternative like vault_delete for permanent deletion but the implication is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_bulk_tagBulk Tag DocumentsA
Idempotent

Apply tag changes to multiple documents at once.

Useful for organizing a batch of documents after import or reclassification.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idsYes
add_tagsNo
remove_tagsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds no additional behavioral detail (e.g., how add/remove interact, whether existing tags are affected). The bar is lower given annotations, but the description adds minimal context beyond what annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The first sentence states the core function, the second gives a usage scenario. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with output schema, the description is too thin. It omits parameter semantics and the relationship between add_tags and remove_tags. While the output schema covers return values, the input side is severely under-documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full burden for explaining parameters. It fails to mention doc_ids, add_tags, or remove_tags. The agent gets no guidance on how to structure the bulk operation or what each field means.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource+scope: 'Apply tag changes to multiple documents at once.' This clearly distinguishes it from the sibling tool 'vault_tag_doc' (which is singular) and immediately conveys the batch nature of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence provides concrete context: 'Useful for organizing a batch of documents after import or reclassification.' This tells the agent when to reach for this tool, although it doesn't explicitly mention alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_categorizeCategorize DocumentA
Idempotent

Set a document's category (general, reference, config, report, template, archive, imported).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
categoryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is known. The description adds no additional behavioral context such as overwriting behavior, permission requirements, or side effects. It merely restates the action without going beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is direct and front-loaded, containing no filler. It efficiently conveys the tool's purpose and the allowed values without excess verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter setter with annotations and an output schema, the description is largely adequate. It covers the core function, though it omits nuanced details like whether an existing category is overwritten. Given the low complexity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists the category enum values (which is redundant with the schema) but does not explain the doc_id parameter or clarify the parameter semantics beyond what the schema names. Minimal additional meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Set a document's category' and lists all allowed categories, making it specific and distinguishable from sibling tools like vault_tag_doc (tags) and vault_set_priority (priority). It precisely identifies the resource and the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for categorizing documents but provides no explicit guidance on when to use this tool versus alternatives (e.g., tagging or setting priority). It lacks exclusions or alternatives, so usage context is only implied by the category list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_copy_docCopy DocumentA

Copy a document from one vault to another, including all metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
target_vaultYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, so the tool is known to be a non-destructive mutation. The description adds the useful detail that all metadata is copied, but does not disclose behavior like whether an existing document in the target vault is overwritten or idempotency (annotations already say idempotentHint=false). No contradiction between annotations and description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that starts with the action verb and packs in the source, destination, and scope. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a relatively simple tool with two parameters and an existing output schema, the description covers the core intent and metadata handling. It does not explain edge cases like behavior if doc_id does not exist or if target_vault is invalid, but annotations and output schema partially compensate. Overall, adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only indirectly maps 'doc_id' to 'a document' and 'target_vault' to 'another vault'. It does not explain parameter formats, constraints, or behavior (e.g., whether target_vault must exist). The param names are self-explanatory, but the description adds minimal semantic value beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation (copy), the resource (a document), and the scope (from one vault to another, including all metadata). It distinguishes itself from siblings like vault_move_doc by specifying 'copy' rather than 'move'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a duplicate copy is needed while preserving the original. However, it does not explicitly mention alternatives like vault_move_doc or provide when-not-to-use guidance. The context is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_createCreate VaultA

Create a new knowledge vault for organizing project documents.

A vault is a container for related documents -- like a project folder with superpowers (search, tags, versioning). You can link a vault to one or more Claude Projects, but vaults are independent and can serve multiple projects.

Returns the new vault's ID and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
tagsNo
descriptionNo
linked_projectsNo
response_formatNojson

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the core behavior (creation) and the return value (ID and metadata), adding context about vault independence and project linking. However, it doesn't mention potential side effects, permissions, or behavior on duplicate names, and the annotations provide no positive safety signals (all false), so the description carries the burden but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short paragraphs that are front-loaded with the core purpose, followed by a brief explanation of the vault concept and the return value. Every sentence contributes value, with no filler or excessive detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the core concept and return value, which is good given the output schema. However, with five parameters and zero schema descriptions, the lack of parameter explanation leaves the tool only partially documented. It also doesn't address usage boundaries with related vault tools, though the simple create operation reduces the need for extensive context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% parameter descriptions, so the description must compensate. It adds meaning only to 'name' (implied) and 'linked_projects' (via the linking explanation), but ignores 'tags', 'description', and 'response_format', leaving the agent to guess their semantics from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a new knowledge vault') and the resource being created. It explains what a vault is, effectively distinguishing this tool from the many related vault_* operations that operate on documents or sessions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: to create a vault that can be linked to Claude Projects, emphasizing that vaults are independent and reusable. It doesn't explicitly say when not to use it or name alternatives, but the purpose is unambiguous enough that an agent can infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_deleteDelete VaultA
Destructive

Permanently delete a vault and ALL its documents. This cannot be undone.

You must set confirm=true to proceed. Consider using vault_archive instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description discloses that the action is permanent ('cannot be undone'), affects ALL documents, and requires explicit confirmation via confirm=true. This adds crucial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences. Each sentence earns its place: what happens, a critical warning, and a required condition plus an alternative. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a destructive tool: it covers purpose, irreversibility, the confirmation requirement, and points to a safer alternative. Given the output schema exists, it doesn't need to explain return values. The agent has all necessary context to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning. It explains the confirm parameter's role ('must set confirm=true to proceed'), which is essential and not obvious from the schema alone. However, it provides no additional detail about the vault parameter format, so it doesn't fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Permanently delete a vault and ALL its documents.' This is specific with a verb and resource, and it distinguishes itself from siblings by emphasizing permanent deletion and the alternative 'vault_archive'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Consider using vault_archive instead,' providing an alternative for non-permanent needs, and states the required condition 'You must set confirm=true to proceed.' It could be improved by explicitly saying when not to use, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_doc_historyView Document HistoryA
Read-onlyIdempotent

View the version history for a document.

Every time a document's content is updated, the previous version is saved automatically. Use vault_doc_restore to revert to an earlier version.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds useful context about automatic version saving, which is beyond annotations. However, it does not detail other behaviors like whether it returns metadata or content diffs, which the annotations do not explicitly cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the purpose, adds one contextual fact, and names the alternative. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has an output schema, and annotations cover safety. The description explains the automatic versioning behavior and points to restore for reverting. It omits details like whether history is ordered or includes timestamps, but the output schema likely covers that. Sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only implies that 'doc_id' refers to a document but does not explicitly explain how to obtain it, its format, or that it identifies the document whose history is viewed. This adds minimal meaning beyond the schema's 'Doc Id' title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'View the version history for a document' with a specific verb and resource. It distinguishes itself from sibling tools like vault_doc_restore (revert) and vault_get_doc (current content), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context: when a document is updated, previous versions are saved automatically. It also names the alternative for reverting (vault_doc_restore), giving clear guidance on when to use this tool versus the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_doc_restoreRestore Document VersionA

Restore a document to a previous version.

The current version is saved to history first, then the specified version becomes the new current version.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
versionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnly=false and destructive=false. The description adds valuable behavior: current version is saved to history first, then the specified version becomes current. This clarifies that existing data is preserved before change, going beyond annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the purpose, the second adds behavioral context. No filler or redundancy. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values are covered. Tool complexity is low, but the description lacks parameter semantics and guidance on when to use this over siblings. It provides adequate behavioral context but has clear informational gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not explain doc_id or version. The phrase 'previous version' implies the version parameter, but there is no detail on version numbering, format, or doc_id identification. This fails to compensate for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Restore' with resource 'document version', clearly distinguishing it from siblings like vault_doc_history (view history) and vault_update_doc (edit current content). The purpose is immediately obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but gives no explicit when-to-use or alternatives. Implied use is rollback to a previous version, but it does not reference sibling tools like vault_doc_history for selecting a version or exclude alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_estimate_tokensEstimate Injection TokensA
Read-onlyIdempotent

Preview the token count of a vault injection without injecting documents.

Returns estimated token counts for each document (up to 500) so you can choose an appropriate max_tokens value before calling vault_inject. Uses tiktoken if available; falls back to char-based estimation.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
vault_nameYes
max_single_doc_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description reinforces no side effects by saying 'without injecting documents'. It adds useful behavioral details such as the 500-document limit and the estimation approach (tiktoken with fallback to char-based), which go beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two sentences, front-loaded with the main purpose, and contains no redundant phrases. It efficiently communicates the core function and key limitations without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a clear overall purpose and mentions the 500-document limit and return of per-document token counts, but leaves parameter semantics entirely unexplained. With an output schema present, return values are partially covered, yet the lack of parameter context makes the tool not fully self-contained for a new agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fails to explain the three parameters. It mentions 'max_tokens' as an output use case, but the actual parameter is 'max_single_doc_tokens', and there is no explanation for 'vault_name' or 'query'. This is a significant gap for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb 'Preview' and resource 'token count of a vault injection', clearly distinguishing it from the injection operation. It also states 'without injecting documents' to differentiate from the actual injection tool, and mentions the 500-document limit, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the tool is used 'before calling vault_inject' to choose an appropriate max_tokens value, providing clear context for when to use it. It does not list exclusions or alternatives, but the reference to vault_inject serves as a direct sibling comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_exportExport VaultA
Idempotent

Export all documents from a vault to a local directory.

Copies the original files (not extracted text) to the specified directory. Useful for backing up or sharing vault contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes
directoryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive and idempotent behavior. The description adds valuable detail that goes beyond annotations: it copies original files rather than extracted text, and exports all documents. It does not mention overwrite behavior or directory creation, but the annotation profile reduces the need for more.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences: it states the action, clarifies the copy behavior, and indicates a use case. It is front-loaded with the essential purpose and contains no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (two parameters) and has an output schema, so return values are already covered. The description covers the core functionality, the type of data copied, and typical use cases. It could mention whether the directory must pre-exist or if structures are preserved, but overall it is sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate. It implicitly maps parameters by saying 'from a vault to a local directory,' which clarifies vault and directory roles. However, it does not define parameter formats, accepted values, or path conventions, leaving a gap that a more detailed description could fill.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Export all documents from a vault to a local directory.' It distinguishes from siblings like vault_export_manifest by specifying 'Copies the original files (not extracted text)' and 'all documents,' which separates it from manifest or single-doc export tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use the tool: 'Useful for backing up or sharing vault contents.' However, it does not explicitly exclude alternatives or mention when not to use it, such as when only a manifest is needed (vault_export_manifest). This is a clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_export_manifestExport Vault ManifestB
Read-onlyIdempotent

Export a complete manifest of a vault's contents.

Returns vault metadata, document list with tags and categories, tag frequency index, category counts, and link count. Use the json format for machine-readable output. Use the markdown format for human-readable summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes
formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about the returned contents (tag frequency index, category counts, link count), which is useful. However, it does not disclose any potential pitfalls, prerequisites (e.g., session token), or edge cases, so it adds only moderate behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: one opening purpose sentence, a bullet-like list of returned content, and two short sentences on format selection. Every sentence adds value and the most critical information is front-loaded. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is fairly complete for a read-only export tool: it covers purpose, return contents, and format options. The presence of an output schema reduces the need to explain return value structures. It lacks differentiation from sibling tools and any caveats, but given the output schema and annotations, it provides sufficient context for an agent to invoke it correctly in most situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It does address the 'format' parameter by explaining json vs markdown outputs. The 'vault' parameter is not explained, but it is self-evident from the tool name and the phrase 'a vault's contents.' Thus, the description partially compensates but leaves the vault parameter underspecified, justifying a mid-range score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Export a complete manifest of a vault's contents' and enumerates the returned data (vault metadata, document list, tag frequency index, etc.). It uses a specific verb and resource, making the purpose clear. However, it does not explicitly differentiate from sibling tools like vault_export, which could be similar, so it falls short of a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides format guidance ('Use the json format for machine-readable output. Use the markdown format for human-readable summaries.') but offers no guidance on when to choose this tool over alternatives such as vault_export or vault_list_docs. There is no explicit when/when-not or mention of alternative tools, making this a weak dimension.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_get_docGet DocumentA
Read-onlyIdempotent

Retrieve a document's metadata and optionally its text content.

Use include_content=false to get just the metadata without loading the full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
include_contentNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is clear. The description adds behavioral nuance about the include_content option and its performance implication (loading the full text), which is not in the annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the core purpose, the second gives a specific usage tip. No unnecessary words, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with 3 parameters and an output schema. The description covers the main behavior and the optional content parameter; annotations handle safety. It doesn't mention response_format, but the schema's enum provides that information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining include_content's effect ('to get just the metadata without loading the full text'). doc_id is inferable from the tool name, and response_format has enum values, so the description adds meaningful value for the key boolean parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Retrieve' and the resource 'document's metadata and optionally its text content', clearly distinguishing it from tools like vault_list_docs or vault_search. It clearly states the tool's primary function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context that this tool retrieves a single document and gives explicit advice on when to set include_content=false to avoid loading the full text. It doesn't name alternative tools or exclusions, but the context is understandable without them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_get_injection_capGet Injection CapA
Read-onlyIdempotent

Return the stored per-vault injection token cap (or 'not set' if none).

If not set, the server falls back to LOREDOCS_INJECTION_CAP_TOKENS env var, then LOREDOCS_INJECTION_DEFAULT_CAP_TOKENS (default 100000).

ParametersJSON Schema
NameRequiredDescriptionDefault
vault_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and idempotent hints, so the safety profile is known. The description adds valuable behavior: the fallback chain to environment variables and the default cap, plus the 'not set' return condition. This goes beyond what annotations cover and helps the agent predict outcomes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action and including only essential fallback details. Every sentence earns its place, with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with one parameter and an output schema, the description explains the main behavior (return cap, 'not set' case, fallback chain). It is complete for typical usage, though it does not discuss error handling for invalid vault names, which may be covered by the output schema or error messages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It mentions 'per-vault' which implies vault_name identifies a specific vault, but it does not explicitly define the parameter or explain edge cases (e.g., nonexistent vault). Since the parameter is simple and self-explanatory from the tool name, a score of 3 is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Return the stored per-vault injection token cap (or 'not set' if none).' This uses a specific verb ('return') plus resource ('per-vault injection token cap') and distinguishes it from sibling tools that handle injection or configuration differently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when the tool is used: to retrieve the stored cap for a specific vault, including fallback behavior when unset. However, it does not explicitly name alternatives or state when not to use it, though the purpose is specific enough to make usage obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_get_linked_sessionsGet Linked SessionsA

Return LoreDocs documents linked to a given LoreConvo session.

Queries the LoreDocs cross_product_links table for links where the session is the source or target. Returns both auto and manual links. Requires Pro tier for auto-links.

Args: session_id -- LoreConvo session UUID limit -- max results (default 5)

Returns same structure as vault_get_session_links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
session_idYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the underlying table, source/target behavior, auto/manual link handling, Pro tier requirement, and return structure reference. It could be more explicit about failure behavior or non-Pro behavior, but overall it provides meaningful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a purpose sentence, a short behavioral paragraph, an Args list, and a return reference. Every sentence adds useful information without redundancy or bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only 2 parameters, no annotations, and no output schema, the description covers the essential ground: purpose, data source, link types, Pro tier constraint, parameter semantics, and return structure via a reference to vault_get_session_links. Minor gaps remain around error handling and non-Pro behavior, but the core context is solid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description fully compensates by explaining both parameters: session_id is a LoreConvo session UUID, and limit is max results with a default of 5. This adds clear meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Return LoreDocs documents linked to a given LoreConvo session.' It clearly distinguishes this from sibling tools like vault_get_session_links by explaining it queries the cross_product_links table and returns both auto and manual links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by explaining what the tool does and the Pro tier requirement for auto-links, but it does not explicitly state when to use this tool vs. alternatives like vault_get_session_links. There is no direct 'use this when...' or 'instead of...' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_get_server_capabilitiesGet Server CapabilitiesA
Read-onlyIdempotent

Return a summary of this LoreDocs server's injection capabilities and token estimation settings.

Useful for diagnosing injection behavior or verifying which features are active.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds behavioral context by specifying exactly what the summary includes (injection capabilities and token estimation settings) and why it would be used (diagnostics, feature verification). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, with the main action and scope in the first sentence and a brief use case in the second. No fluff or redundancy; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the zero parameters, rich annotations, and presence of an output schema, the description fully covers what the tool does and when to use it. The simplicity is appropriate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

This tool has zero parameters, so the baseline is 4. There is nothing to document beyond schema, and the description correctly focuses on the tool's purpose rather than parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return a summary') and names the exact resource ('LoreDocs server's injection capabilities and token estimation settings'). It clearly distinguishes this from sibling tools like vault_get_injection_cap and vault_estimate_tokens by presenting a consolidated overview rather than a specific value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states it is 'Useful for diagnosing injection behavior or verifying which features are active,' which gives clear context for when to call it. However, it does not mention when not to use it or explicitly point to alternatives, so it falls short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_get_session_tokenGet Session TokenA

Generate a fresh session token (UUID4) for use with vault_inject / vault_prime.

Pass the returned token as session_token in subsequent injection calls so the per-session cache can scope cached results to this conversation. Cache hits are valid until any document in the vault is updated.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only provide false hints for readOnly, idempotent, and destructive, leaving the description to explain behavior. It does so by disclosing that the token is a fresh UUID4, that it scopes per-session cache, and that cache validity ends when any vault document is updated. This adds meaningful behavioral context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each with a clear role: generation, usage instruction, and cache validity. No wasted words; all information is front-loaded and directly relevant. It is exceptionally concise while covering purpose and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there are no parameters and the tool relies on an output schema (not shown), the description covers the essential context: what the token is, how to use it, and when it becomes invalid. It leaves no significant gaps for the agent's decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is trivially complete. The description correctly mentions no parameters but explains how the return value should be used (passed as session_token), which is useful additional semantics. Baseline for 0 params is 4, and the description meets it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Generate a fresh session token (UUID4) for use with vault_inject / vault_prime.' This is a specific verb (generate) with a concrete resource (session token) and its intended downstream use, distinguishing it from sibling tools like vault_link_session or vault_get_server_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs when to use the token: 'Pass the returned token as session_token in subsequent injection calls' and ties the usage to vault_inject/vault_prime. It provides clear context for why this tool is needed (scoping cache to a conversation), effectively guiding the agent on when to call it relative to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_import_dirImport DirectoryA

Bulk import all supported files from a directory into a vault.

Imports text files, PDFs, Word docs, Excel files, PowerPoints, and more. Each file becomes a separate document with text extracted for search indexing. Files over 30MB are skipped. Hidden files (starting with .) are skipped.

Supports Obsidian vaults: subdirectories are traversed recursively by default (set recursive=False for single-level import). Markdown files with YAML frontmatter tags (tags: [a, b] or block-list style) have those tags merged into the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
vaultYes
categoryNoimported
directoryYes
recursiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (all false, no safety hints), the description adds valuable behavioral details: files over 30MB are skipped, hidden files are skipped, subdirectories are traversed recursively by default, and YAML frontmatter tags are merged into documents. This gives the agent a good sense of what will happen during import, though it doesn't clarify behavior for existing documents or partial failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear purpose statement followed by relevant bullet-like behavior details. Every sentence adds value, no fluff, and it's front-loaded with the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk import tool with 5 parameters and an output schema, the description covers key aspects: supported formats, size limits, hidden files, recursion, and frontmatter handling. It doesn't explain the 'category' parameter or what happens on naming conflicts, but these are minor gaps given the output schema exists and the description is otherwise informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It clarifies 'directory' (the source path) and 'recursive' (set recursive=False for single-level) and partially describes tag handling via frontmatter. However, 'vault' and 'category' are not explained, and the 'tags' parameter's meaning (likely tags applied to all imported docs) is ambiguous—it might be confused with frontmatter tags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Bulk import all supported files from a directory into a vault,' using a specific verb (import), resource (directory into vault), and scope (bulk). It also lists supported file types and clearly distinguishes itself from siblings like vault_add_doc (single file) or vault_import_notion (Notion-specific).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: when you need to bulk import files from a directory into a vault. It mentions recursive traversal and the ability to set recursive=False for single-level imports. However, it doesn't explicitly mention alternatives or when not to use it (e.g., for single-file import), but the purpose is unambiguous enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_import_notionImport from NotionA
Idempotent

Import Notion pages and databases into a LoreDocs vault.

Uses the import-once-and-own model: pages are fetched once and stored as LoreDocs documents. No live sync dependency.

Token is read from the NOTION_TOKEN environment variable or OS keychain -- it is NEVER passed as a parameter, so it never appears in MCP tool-call logs.

vault accepts a vault ID (stable across renames, preferred for automation) or a vault name (case-insensitive, for interactive use).

page_ids and database_ids accept Notion UUIDs (32 hex chars without dashes or 36 chars with dashes). Both null/omitted = rejected (at least one required).

continuation_token: opaque token from a prior call's return value. When provided, omit page_ids/database_ids/vault/checkpoint_file to resume. The token encodes the vault's primary-key UUID -- recreation under the same name invalidates the token.

Block depth is capped at LOREDOCS_NOTION_MAX_BLOCK_DEPTH (default 10). Pages hitting the cap are listed in truncated_pages in the return value.

MCP host cancellation may leave a partial checkpoint. Use the continuation_token from the last successful response to resume, or run a fresh import (deduplication prevents re-import of already-committed pages).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
vaultYes
resumeNo
categoryNoreference
page_idsNo
max_pagesNo
database_idsNo
checkpoint_fileNo
continuation_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, idempotent, non-destructive operation. The description adds substantial behavioral context: token is read from environment/keychain and never passed as a parameter, vault ID is stable vs name case-insensitive, UUID formats are specified, continuation token semantics and invalidation are explained, block depth cap produces truncated_pages, and MCP host cancellation may leave partial checkpoints with a resumption path. There is no contradiction with annotations; in fact, the deduplication note reinforces idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is multi-paragraph and fairly long, but it is well structured. It opens with the core purpose and then dedicates paragraphs to token handling, vault identification, ID formats, continuation tokens, block depth cap, and cancellation behavior. Every sentence adds value, though a few details (e.g., 'Both null/omitted = rejected') could be phrased more succinctly. Overall, the length is appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity—9 parameters, external token retrieval, resumption, cancellation handling, and block depth limits—the description covers a remarkable amount of context: security (token logging), input validation (UUID format), error handling (truncated_pages, partial checkpoints), and deduplication. It does omit explanations for several parameters and assumes familiarity with Notion IDs, but since an output schema exists, return values are likely documented elsewhere. This is nearly complete but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It explains vault, page_ids, database_ids, and continuation_token in detail, and checkpoint_file is referred to indirectly. However, four key parameters—tags, category, max_pages, and resume—are completely unexplained. For a 9-parameter tool, leaving 4+ parameters undocumented in both schema and description is a significant gap that forces the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Import Notion pages and databases into a LoreDocs vault.' The verb 'import' is specific, and both the source (Notion pages/databases) and destination (LoreDocs vault) are named. This distinguishes it from sibling tools like vault_import_dir (local directory import) and vault_import_notion_setup (setup, not import).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it explains the import-once-and-own model and explicitly states 'No live sync dependency,' which serves as a when-not-to-use signal for users needing live sync. It also gives practical guidance on vault identification (ID vs name) and required page_ids/database_ids. However, it never names alternative tools (e.g., vault_import_dir or a hypothetical sync tool), so it stops short of fully explicit exclusions/alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_import_notion_setupNotion Import SetupA
Read-onlyIdempotent

Report Notion import readiness and how to enable it. Read-only. Does not install or modify any packages.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with "Read-only." It adds value beyond the annotations by explicitly stating "Does not install or modify any packages," which clarifies that the tool avoids any side effects beyond reading, a useful detail for agents concerned about system changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two short sentences that front-load the core purpose. Every word earns its place, with no filler or redundancy. The structure is efficient and immediately understandable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (no parameters, no output schema, read-only annotations), the description is fully sufficient. It explains what the tool does, emphasizes its non-invasive nature, and the sibling list clarifies how it differs from `vault_import_notion`. No additional context is needed for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema description coverage is 100% by default. The description does not need to explain parameter meanings, and the baseline of 4 is appropriate for a zero-parameter tool since no additional semantic guidance is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: "Report Notion import readiness and how to enable it." This specifies a verb (report) and a resource (Notion import readiness), and it distinguishes this tool from the sibling `vault_import_notion`, which actually performs the import.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a preflight diagnostic by noting "Read-only" and "Does not install or modify any packages," which strongly suggests it should be used before the actual import. However, it does not explicitly name alternatives or state when not to use it, leaving the guidance somewhat implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_infoGet Vault InfoB
Read-onlyIdempotent

Get detailed information about a vault, including its full document manifest.

Accepts either a vault ID or vault name.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds that the tool returns a document manifest, which is useful output context. However, it does not disclose any additional behavioral traits beyond what annotations provide, so it only modestly enhances transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no unnecessary words. It front-loads the purpose and includes a helpful input note, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so the description doesn't need to detail return values. It covers the core purpose but omits response_format semantics and explicit usage context, which are relevant to fully leveraging the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the 'vault' parameter by clarifying it accepts either an ID or name, which is helpful for a schema with 0% coverage. However, it completely ignores the 'response_format' parameter, leaving a gap. The partial compensation earns a middle score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Get detailed information about a vault') and specific resource ('vault') with a concrete output detail ('full document manifest'). This distinguishes it from mutation tools, though it doesn't explicitly differentiate from similar read tools like vault_list_docs or vault_export_manifest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only mentions input flexibility ('Accepts either a vault ID or vault name') but provides no guidance on when to use this tool versus alternatives. No exclusions or alternative tool references are given, leaving the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_injectInject Vault DocumentsA
Read-onlyIdempotent

Load ranked vault documents into conversation context with token-budget enforcement.

Documents are ranked by FTS5 relevance (when query is provided) and priority weight, then packed greedily until the effective token cap is reached.

Args: vault_name: Vault name or ID. query: Optional FTS5 search query to rank documents by relevance. max_tokens: Hard token budget. Overrides vault DB cap. Effective cap = max_tokens * safety_factor. cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict' (error if any doc exceeds cap). session_token: Optional opaque string used as per-session cache key. max_single_doc_tokens: Truncate individual documents to this many tokens. 0 = no per-doc limit. safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
max_tokensNo
vault_nameYes
cap_behaviorNobest_effort
safety_factorNo
session_tokenNo
max_single_doc_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations already declaring readOnly, idempotent, and non-destructive behavior, the description adds substantial details: ranking algorithm, greedy packing, effective cap calculation, cap_behavior modes, per-session caching, and per-doc truncation. These go well beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a crisp one-line summary, a concise explanatory paragraph, and a clear Args list. Every sentence carries meaningful information with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters and complex ranking/budget behavior, the description covers all key aspects: selection criteria, token budget enforcement, caching, and truncation. The presence of an output schema obviates the need to describe return values, so the description is complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema itself has no descriptions (0% coverage), but the description's Args block fully explains every parameter, including max_tokens overriding vault DB cap, safety_factor's default and effect, cap_behavior's two modalities, session_token as a cache key, and max_single_doc_tokens truncation semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Load ranked vault documents') and resource ('into conversation context') with a clear purpose ('token-budget enforcement'). It distinguishes from siblings like vault_inject_by_tag and vault_inject_summary by emphasizing ranking by FTS5 relevance and priority.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (when ranked injection with token budgeting is needed) but does not explicitly mention alternatives or exclusion scenarios. It implies use cases but lacks direct 'use this instead of X' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_inject_by_tagInject Documents by TagA
Read-onlyIdempotent

Load all documents matching any of the given tags into the current conversation context.

Documents matching any of the provided tags are fetched, ranked by priority weight and recency, then packed greedily within the token cap.

Args: vault_name: Vault name or ID. tags: List of tags to match (OR semantics: any matching tag includes the doc). max_tokens: Hard token budget. Effective cap = max_tokens * safety_factor. cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict'. session_token: Optional opaque string used as per-session cache key. max_single_doc_tokens: Truncate individual documents to this many tokens. safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYes
max_tokensNo
vault_nameYes
cap_behaviorNobest_effort
safety_factorNo
session_tokenNo
max_single_doc_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides rich behavioral detail beyond annotations: ranking by priority weight and recency, greedy packing within token cap, effective cap = max_tokens * safety_factor, cap_behavior modes (best_effort vs strict), truncation via max_single_doc_tokens, and per-session caching via session_token. This goes well beyond the readOnly/idempotent annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a concise one-sentence summary first, followed by a brief behavior explanation, then a clear Args block. It is slightly long but every part is necessary given the schema lacks descriptions. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core complexity: selection logic, ranking, packing, token caps, safety_factor, truncation, and session caching. However, it does not clarify what 'strict' cap_behavior actually does (does it fail or just inject nothing?) nor edge cases like empty results. Otherwise quite complete, with an output schema present to cover return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description's Args block thoroughly explains all 7 parameters, including semantics (OR logic for tags, defaults for safety_factor and cap_behavior, purpose of session_token). This fully compensates for the absent schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource+scope: 'Load all documents matching any of the given tags into the current conversation context.' This clearly distinguishes it from siblings like vault_search_by_tag (which searches but does not inject) and vault_inject (general injection without tag focus).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its use case clearly: when you need to inject documents based on tags. It does not explicitly name alternatives or state exclusions, but the context is unambiguous given the 'by_tag' suffix and the clear action. It just misses explicit 'use when' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_inject_summaryInject Vault SummaryA
Read-onlyIdempotent

Generate a summary overview of a vault's contents for conversation orientation.

Lists all documents with their categories, tags, priorities, and notes. Useful at the start of a conversation to understand what knowledge is available.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the specific output content (categories, tags, priorities, notes) and the orientation purpose, but does not disclose additional behaviors like potential response size or vault resolution details. It adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main action, and each sentence provides meaningful information without redundancy. It is appropriately concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the low schema coverage, the description covers the tool's purpose, the content of its output, and the appropriate usage context. With an output schema present and strong annotations, the description does not need to elaborate on return values or safety, making it complete for this straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'vault' parameter, and the description does not compensate by explaining the expected format (e.g., name vs. ID). The only hint is 'a vault's contents,' which is insufficient for a parameter lacking schema-level documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a summary overview of a vault's contents and lists documents with categories, tags, priorities, and notes. However, it does not explicitly differentiate from sibling tools like vault_list_docs or vault_inject, relying instead on the phrase 'for conversation orientation' to imply its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context by stating 'Useful at the start of a conversation,' which clearly indicates when to use it. It does not mention when not to use it or offer alternatives such as vault_list_docs or vault_inject_by_tag, but the usage guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_listList VaultsA
Read-onlyIdempotent

List all knowledge vaults with summary stats (document count, total size, last modified).

Use this to see what vaults exist and find the one you need.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown
include_archivedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so safety is covered. The description adds value by disclosing that the tool lists all vaults and returns summary statistics, which is meaningful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and purpose, zero filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with robust annotations and an output schema, the description is nearly complete. The only minor gap is that 'all knowledge vaults' could be misleading given the include_archived parameter defaults to false, but this is discoverable from the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain either parameter. The input schema only provides names, defaults, and an enum for response_format; agents must infer that include_archived controls whether archived vaults are included in 'all' and that response_format changes the output serialization.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('all knowledge vaults') and adds the key detail of summary stats (document count, total size, last modified). This clearly distinguishes it from sibling tools like vault_list_docs, which list documents rather than vaults.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to see what vaults exist and find the one you need,' giving clear context for when to invoke it. It doesn't name alternatives or exclusions, but the intended use case is obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_list_docsList DocumentsA
Read-onlyIdempotent

List documents in a vault with sorting and filtering options.

Supports sorting by name, date, size, or category. Filter by category or tag to narrow results.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo
limitNo
vaultYes
offsetNo
sort_byNoupdated_at
categoryNo
sort_orderNodesc
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds only functional details already present in the schema (sorting/filtering) and does not disclose additional behaviors like default sort order, pagination behavior, or limitations. It provides no extra transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with no filler or repetition. It front-loads the core purpose and then lists the key options efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered. The description covers the main purpose and filtering/sorting options, but it omits details like default sort order, pagination behavior, and response format selection. For a tool with 8 parameters, this is adequate but not complete for advanced usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries a heavier burden. It does mention sortable fields (name, date, size, category) and filterable properties (category, tag), which helps map to the sort_by, category, and tag parameters. However, it does not explain the allowed enum values, defaults, limit/offset pagination, or response_format semantics, leaving some parameters under-explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'list' and the resource 'documents in a vault', clearly distinguishing it from sibling search tools. Mentioning sorting and filtering options further clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the tool is for listing documents with sorting/filtering options, which is sufficient context for most use cases. However, it does not explicitly state when to prefer this over alternatives like vault_search or vault_get_doc, so it misses the highest tier of guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_move_docMove DocumentA

Move a document to a different vault. Removes it from the source vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
target_vaultYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state readOnlyHint=false and destructiveHint=false. The description adds critical behavior—the document is removed from the source vault—which is not directly implied by the annotations. This clarifies the mutation effect, though it omits details about permissions or failure scenarios.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two short sentences that front-load the action and resource, with a second sentence adding the critical removal detail. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and an output schema, the description covers the core behavior adequately. However, it does not address edge cases like moving to the same vault, permission requirements, or how to handle non-existent documents, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions for the two parameters, and the tool description does not elaborate on doc_id or target_vault beyond their names. The phrase 'different vault' hints at target_vault's role, but no format, identifier type, or usage details are provided, leaving the agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Move'), the resource ('a document'), and the destination ('a different vault'). It also explicitly notes that it removes the document from the source vault, which distinguishes it from vault_copy_doc and other sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The removal clause implies a key difference from copying, but the description does not explicitly name alternatives or provide exclusion criteria. It lacks guidance such as 'use instead of copy when you want to remove the source' or 'do not use for archiving.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_open_workspaceOpen Workspace VaultA
Idempotent

Open (or create) a vault scoped to a workspace directory.

If a vault is already linked to this directory path, returns it. Otherwise, creates a new vault named after the directory and records the workspace_path so future calls return the same vault.

This mirrors how MemClaw scopes memory to workspaces -- lower friction than naming vaults manually. Named vaults remain available for users who prefer explicit management.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNo
workspace_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include idempotentHint=true, and the description adds specific behavioral detail: if a vault is already linked to the directory path, it returns it; otherwise it creates a new vault and records workspace_path for future calls. This goes beyond the generic idempotency annotation. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with three short paragraphs, each serving a purpose: core action, behavior, and rationale. It is not overly verbose, though the third paragraph could be trimmed. Every sentence adds value, making it concise for the information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core workflow, idempotent behavior, and use case, which is sufficient for the tool's complexity. An output schema exists, so the description need not explain return values. The description is complete enough for an agent to select and invoke the tool correctly, though it lacks edge-case handling details (e.g., invalid paths).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains workspace_path's role implicitly ('vault scoped to a workspace directory', 'records the workspace_path'), but the optional 'description' parameter is not mentioned at all. The description adds meaning for the key parameter but does not fully cover the second parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Open (or create) a vault scoped to a workspace directory.' This is specific, with a clear verb (open/create), resource (vault), and scope (workspace directory). It also distinguishes from siblings by contrasting with named vaults, noting that named vaults remain available for explicit management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: for workspace-scoped vaults with lower friction, vs. named vaults via vault_create. It explicitly states 'This mirrors how MemClaw scopes memory to workspaces -- lower friction than naming vaults manually' and mentions named vaults remain available. However, it does not explicitly say 'use this instead of vault_create', so it's clear but slightly indirect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_primePrime Vault ContextA
Read-onlyIdempotent

Pre-load all vault documents into the current session by priority order.

Equivalent to vault_inject with no query: loads all documents ordered by priority weight (authoritative first), then by recency. Use at session start to orient yourself on all knowledge available in a vault.

Args: vault_name: Vault name or ID. max_tokens: Hard token budget. Effective cap = max_tokens * safety_factor. cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict' (error if cap exceeded). session_token: Optional opaque string used as per-session cache key. max_single_doc_tokens: Truncate individual documents to this many tokens. safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

ParametersJSON Schema
NameRequiredDescriptionDefault
max_tokensNo
vault_nameYes
cap_behaviorNobest_effort
safety_factorNo
session_tokenNo
max_single_doc_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive. The description adds crucial behavioral context: priority ordering (authoritative first, then recency), token budget calculation (max_tokens * safety_factor), cap_behavior semantics ('best_effort' vs 'strict'), per-session caching via session_token, and per-document truncation. This goes beyond annotations and gives the agent a realistic model of tool behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-sentence summary, a comparison to vault_inject, a usage note, and a compact Args block. Every sentence provides necessary information, and the parameter list is essential given the lack of schema descriptions. It is appropriately sized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six parameters, no schema descriptions, and a complex token-budget behavior, the description covers all essential aspects: purpose, ordering, usage timing, parameter semantics, and edge-case behavior (cap_behavior). An output schema exists, so return-value details are not needed. The description is sufficient for correct invocation and selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are completely absent (0% coverage), so the description carries the full burden. It compensates thoroughly by defining each parameter: vault_name, max_tokens, cap_behavior, session_token, max_single_doc_tokens, and safety_factor (including default). This adds meaning far beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Pre-load all vault documents into the current session by priority order.' It clearly distinguishes from vault_inject by specifying it's equivalent to vault_inject with no query and by noting the ordering logic. This makes it easy to differentiate from siblings like vault_inject and vault_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use at session start to orient yourself on all knowledge available in a vault.' It also frames the tool in relation to vault_inject, giving an alternative reference point. This provides clear when-to-use guidance and a comparison to a sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_rebuild_indexRebuild Semantic IndexA
Idempotent

Rebuild the LanceDB semantic search index from all stored documents. Pro only.

Run this after first installing the Pro deps (pip install loredocs[pro]) or after restoring from backup. The index is kept in sync automatically for new documents added after install, but existing documents require a one-time rebuild to become searchable semantically.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a write operation and idempotent, but the description adds useful context: it explains the automatic sync behavior for new documents, the one-time rebuild requirement for existing ones, and the Pro-only restriction. It does not mention operational details like confirmation or runtime, but the annotation coverage lowers the bar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and is concise, using only three short sentences. Each sentence earns its place by explaining the what, when, and background context without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description thoroughly covers the purpose and timing of the rebuild, and with an output schema present return values are not needed. However, it omits any guidance on the 'confirm' parameter, which defaults to false and could cause an invocation to be a no-op or fail if not set. This is a crucial gap for an otherwise simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'confirm' is not mentioned in the description, and the schema has no description for it. With schema coverage at 0%, the description should compensate, but it leaves the agent without guidance on whether confirm must be true for the rebuild to proceed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Rebuild') and resource ('LanceDB semantic search index from all stored documents'), which fully defines the tool's purpose. It is distinct from sibling search and document management tools, and the 'Pro only' note adds a unique constraint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use scenarios: after installing Pro deps or after restoring from backup. It also provides a when-not-to-use cue by noting that new documents are auto-synced, so the rebuild is only needed for existing documents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_remove_docRemove DocumentA
Idempotent

Soft-delete a document. The document is hidden but can be recovered.

For permanent deletion, use vault_delete to remove the entire vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the operation is non-destructive (destructiveHint: false) and idempotent (idempotentHint: true). The description adds valuable context that the document is 'hidden but can be recovered', which goes beyond the annotations. No contradiction found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two sentences with no redundant information. The key action is front-loaded, and the alternative tool is mentioned efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter soft-delete tool with an output schema, the description covers the core behavior and key alternative. It could mention that the document remains recoverable via a restore tool, but the provided context is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the only parameter, 'doc_id', and the description does not explain it. While the parameter name is self-explanatory, the description fails to compensate for the missing schema documentation, leaving the agent to infer the parameter's meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('soft-delete a document') and resource, and explicitly distinguishes from the sibling 'vault_delete' for permanent deletion. It resolves the ambiguity of the title 'Remove Document' by specifying the non-destructive nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names 'vault_delete' as the alternative for permanent deletion, providing a clear when-not-to-use case. However, it does not mention when to use 'vault_doc_restore' for recovery, which would be a helpful additional guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_search_by_tagSearch by TagA
Read-onlyIdempotent

Find all documents with a specific tag, across one vault or all vaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
vaultNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the vault scoping behavior ('one vault or all vaults'), which is useful. However, it does not disclose details like return format, sorting, or pagination, so the added value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that immediately conveys the action, resource, and scope with no filler. Front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool, the description covers the main purpose and scoping. An output schema exists, so return values needn't be explained. It lacks explicit guidance on when to prefer this over vault_search, but given the simple nature, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains 'tag' and 'vault' semantics ('with a specific tag' and 'one vault or all vaults'), but does not explain the 'response_format' parameter. Since tag and vault are the primary parameters, this is adequate but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds all documents with a specific tag, using the verb 'find' and resource 'documents'. It further specifies scope ('across one vault or all vaults'), which distinguishes it from general search (vault_search) and tag-based injection tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use this when you need to find documents by tag. It mentions vault scoping but does not explicitly compare with alternatives (e.g., vault_search for full-text search) or state when not to use it. There is no explicit when/when-not guidance, but the core use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_set_prioritySet Document PriorityA
Idempotent

Mark a document's priority/status: authoritative, normal, draft, or outdated.

'authoritative' means this document is the source of truth. 'outdated' flags the document as no longer current.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
priorityYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, covering the primary safety profile. The description adds semantic context for two enum values but does not describe behavior such as whether the existing priority is overwritten or any side effects. With annotations handling the key behavioral traits, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two short sentences that state the purpose and then clarify the two most ambiguous enum values. Every sentence earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple setter with two parameters and an existing output schema, the description adequately conveys the tool's action and clarifies important terms. It could mention that setting priority replaces the existing value, but given the low complexity and that the output schema is available, the description is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It defines 'authoritative' and 'outdated' but leaves 'normal', 'draft', and doc_id undocumented. This partial compensation is insufficient for fully understanding all parameters, though the undefined values are somewhat self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Mark' and identifies the resource as 'a document's priority/status', which clearly distinguishes this tool from siblings like tagging or categorization. It lists the four possible values, making the scope explicit. The slight ambiguity of 'priority/status' is resolved by the enumerated values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for setting document priority/status and clarifies the meaning of 'authoritative' and 'outdated', which helps decide when this tool is appropriate. However, it does not explicitly state when to use it over alternatives, nor does it provide any exclusions or 'use instead' references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_set_tierSet License TierA
Idempotent

Activate a tier (free or pro) for LoreDocs.

Pro tier removes all vault, document, storage, and version limits. After purchasing a Pro license, set LOREDOCS_PRO= in your environment and restart the server, then call this tool with tier='pro' to persist the Pro tier. Reverting to tier='free' re-enables limits (but does not delete any existing data that exceeds the limits -- it only blocks new writes).

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond annotations by disclosing a key side effect: 'Reverting to tier='free' re-enables limits (but does not delete any existing data that exceeds the limits -- it only blocks new writes)'. This is important behavioral context. Annotations already cover idempotency and non-destructiveness, and the description adds the specific limit behavior and environment requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs with active, front-loaded language. The first sentence clearly states the core purpose, and each subsequent sentence adds necessary context (purchase process, environment variable, side effects). It is slightly longer than strictly necessary but every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (license activation, environment prerequisites, and side effects), the description covers the workflow, prerequisites, and behavioral consequences. An output schema exists, so return values do not need to be explained. The only minor gap is the absence of explicit error conditions, but this is not critical for a setting tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'tier' has 0% schema description coverage, but the description explicitly states the two valid values ('pro' and 'free') and what each does ('Pro tier removes all vault, document, storage, and version limits'; 'free re-enables limits'). This effectively compensates for the missing schema documentation, though it does not formally enumerate the values as an enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with 'Activate a tier (free or pro) for LoreDocs', which clearly states the verb (activate), resource (license tier), and scope. It distinguishes itself from sibling tools like vault_tier_status and get_license_tier, which are read-only status/retrieval tools, whereas this tool changes the tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit prerequisites ('After purchasing a Pro license, set LOREDOCS_PRO=<your-license-key> in your environment and restart the server') and a step-by-step usage path ('then call this tool with tier='pro' to persist'). It explains when to use it for upgrading and downgrading, though it does not explicitly state when not to use it (e.g., before license purchase), but that is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_suggestGet Document SuggestionsA
Read-onlyIdempotent

Get suggestions for documents that may need attention.

Surfaces documents that are undocumented (no notes), unorganized (no tags), or isolated (no links to other documents). Use to guide housekeeping work or to discover documents that haven't been connected to the broader graph.

Optionally scope to a single vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
vaultNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false. The description adds behavioral context beyond those annotations by explaining what 'needs attention' means (no notes, no tags, no links) and that vault scoping is optional. This helps the agent understand the tool's selection logic without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-sentence summary, followed by two concise sentences that elaborate on criteria and usage. It contains no redundant or extraneous information, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two optional params, output schema present, annotations provided), the description is nearly complete. It covers purpose, usage, and vault scoping. The 'limit' behavior is not described, but the default in the schema and the output schema itself reduce the need for further detail. Overall, it is a well-rounded and useful description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'vault' parameter ('Optionally scope to a single vault') but does not explain 'limit', which is only defined by its default value in the schema. While 'limit' is reasonably self-explanatory, the description does not fully cover parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get suggestions') and resource ('documents'), and clearly defines the criteria (undocumented, unorganized, isolated) that distinguish it from sibling tools like vault_search. It immediately conveys what the tool does and what makes it unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool: 'to guide housekeeping work or to discover documents that haven't been connected to the broader graph.' This provides clear context for use, though it does not explicitly name alternative tools or exclusion criteria. It is specific enough to guide selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_tag_docTag DocumentA
Idempotent

Add or remove tags on a document.

You can add and remove tags in a single operation. Tags are case-sensitive strings. Duplicates are automatically removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
add_tagsNo
remove_tagsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true and destructiveHint=false, so the description adds value by disclosing case-sensitivity and automatic duplicate removal. These details go beyond the structured annotations and help predict tool behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences that immediately state the purpose, capability, and key behavioral constraints. No filler or redundant information; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter mutation tool with an output schema, the description covers the essential actions and two important behavioral rules. It lacks edge cases like empty arrays, but these are not critical for such a straightforward operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the parameter names (doc_id, add_tags, remove_tags) are self-explanatory. The description's mention of adding/removing tags partially maps to these params, but it doesn't explicitly explain array nature or nullability, relying on the schema to carry that weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add or remove tags on a document' with a specific verb and resource, distinguishing it from siblings like vault_bulk_tag (bulk operation) and vault_search_by_tag (search). It precisely captures the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by noting that tags can be added and removed in a single operation, which tells the user about combined capability. However, it does not explicitly contrast with alternatives or mention when not to use this tool, keeping it one step below full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_tier_statusGet Tier StatusA
Read-onlyIdempotent

Show current tier (Free or Pro) and usage vs. limits.

Displays how many vaults and how much storage are in use, with percentages against Free tier limits. Useful before hitting a limit to know how close you are, or to confirm Pro tier is active after upgrading.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a safe read-only operation (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds concrete behavioral details about what is reported (vault count, storage usage, percentages against Free tier limits), which goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: a two-sentence opening that states the core purpose, followed by a brief usage note. Every sentence adds value, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple read-only tool with one optional parameter, an output schema, and clear annotations. The description fully covers what the tool does, what it reports, and when it is useful. There are no significant gaps given the tool's simplicity and the presence of the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter, response_format, with an enum (markdown/json) and a default value, making it self-explanatory. The description does not explain this parameter, but the schema fully covers its semantics. Given low schema description coverage (0%), a baseline of 3 is appropriate because the parameter is inherently clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Show') and resource ('current tier and usage vs. limits'). It distinguishes itself from siblings like vault_set_tier (which sets a tier) and get_license_tier (which likely retrieves license details) by focusing on usage vs. limits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'Useful before hitting a limit to know how close you are, or to confirm Pro tier is active after upgrading.' It explains when to use the tool but does not explicitly mention when not to use it or name alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vault_update_docUpdate DocumentA

Update a document's content or metadata.

If content changes, the previous version is saved automatically in the version history. You can restore old versions with vault_doc_restore.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
tagsNo
notesNo
doc_idYes
contentNo
categoryNo
priorityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate this is a non-readonly, non-destructive operation. The description adds valuable behavioral context: content changes automatically save a previous version to history and old versions can be restored via vault_doc_restore. This goes beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the purpose, the second adds key behavioral detail about version history. Every word earns its place, and it is perfectly sized for its content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters with 0% schema coverage, but the description covers the core update behavior and the important versioning nuance. It lacks explicit guidance on parameter semantics and when to use specialized sibling tools, but the output schema and annotations cover some gaps. Overall, it is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only mentions 'content or metadata' without specifying which metadata fields (name, tags, notes, category, priority) are available or that doc_id is required. This provides minimal help for parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates a document's content or metadata, which is a specific verb+resource combination. It effectively distinguishes from siblings like vault_doc_restore (restoring) and vault_copy_doc (copying).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (updating content or metadata) but does not explicitly mention alternatives for metadata-only updates (e.g., vault_tag_doc, vault_set_priority). It does point to vault_doc_restore for restoring versions, though not as a direct alternative for updating.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 49 tool updatesv0.1.19
    • First observedget_license_tier
    • First observedget_server_info
    • First observedloredocs_onboard
    • First observedvault_add_doc
    • First observedvault_add_note
    • First observedvault_archive
    • First observedvault_bulk_tag
    • First observedvault_categorize
    • First observedvault_copy_doc
    • First observedvault_create
    • First observedvault_delete
    • First observedvault_doc_history
    • First observedvault_doc_restore
    • First observedvault_estimate_tokens
    • First observedvault_export
    • First observedvault_export_manifest
    • First observedvault_find_related
    • First observedvault_get_doc
    • First observedvault_get_injection_cap
    • First observedvault_get_linked_sessions
    • First observedvault_get_server_capabilities
    • First observedvault_get_session_links
    • First observedvault_get_session_token
    • First observedvault_import_dir
    • First observedvault_import_notion
    • First observedvault_import_notion_setup
    • First observedvault_info
    • First observedvault_inject
    • First observedvault_inject_by_tag
    • First observedvault_inject_summary
    • First observedvault_link_doc
    • First observedvault_link_project
    • First observedvault_link_session
    • First observedvault_list
    • First observedvault_list_docs
    • First observedvault_move_doc
    • First observedvault_open_workspace
    • First observedvault_prime
    • First observedvault_rebuild_index
    • First observedvault_remove_doc
    • First observedvault_search
    • First observedvault_search_by_tag
    • First observedvault_set_priority
    • First observedvault_set_tier
    • First observedvault_suggest
    • First observedvault_tag_doc
    • First observedvault_tier_status
    • First observedvault_unlink_doc
    • First observedvault_update_doc

TDQS

A3.6/5.0
Disambiguation3/5

Several clusters of tools have overlapping purposes: injection tools (vault_inject, vault_prime, vault_inject_by_tag, vault_inject_summary), status tools (vault_tier_status, get_license_tier, get_server_info, vault_get_server_capabilities), and session-link tools (vault_get_session_links vs vault_get_linked_sessions). Detailed descriptions generally differentiate them, but redundancy (e.g., vault_inject with no query is equivalent to vault_prime) creates a real misselection risk.

Naming Consistency4/5

The vast majority of tools follow a consistent vault_verb_noun pattern (vault_add_doc, vault_list_docs, vault_delete). Minor deviations include get_license_tier, get_server_info, and loredocs_onboard breaking the prefix pattern, and the session-link names being confusingly similar.

Tool Count2/5

49 tools is excessive for a document/vault management server. Many utilities are overly granular (vault_get_injection_cap, vault_estimate_tokens, vault_get_server_capabilities, get_server_info) and could be consolidated, burdening discovery and selection.

Completeness4/5

The surface covers core CRUD for vaults and documents, search, tagging, linking, import/export, injection, and tier management. Notable gaps include no permanent deletion API for individual documents (only soft delete) and no vault rename/update operation.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    A
    maintenance
    MCP-native knowledge base for AI agents — vault-scoped docs, tables, and files, git-versioned, with hybrid search (BM25 + pgvector dense + reranker) and an event stream so external consolidators / gardeners stay decoupled.
    50
    157
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first markdown vault with a built-in MCP server (streamable HTTP). 16 tools and 2 resources for Claude Code / Desktop / Cursor: read/write/search plus context_for_query, find_orphans, weekly_digest, compare_notes, semantic_outline. Per-folder agent permissions, LanceDB vectors, local Xenova ONNX embedder swappable to Ollama. Single Bun binary. AGPL.
    33
    AGPL 3.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Local-first, file-based memory layer for AI agents — one shared Markdown vault across Claude, Codex, Gemini, Cursor and any MCP client. Provides read/write memory tools with an audit trail, per-agent trust levels, and Git sync; no cloud and no lock-in.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Persistent memory layer for MCP-compatible AI agents. Implements save/recall/search over a local SQLite session store via 14 MCP tools. Auto-loads relevant context at session start. No cloud dependency. Works with Claude, Cursor, Codex, Hermes Agent. Free (50 sessions) / Pro ($8/mo).
    33
    10
    Business Source 1.1

Latest Blog Posts

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/labyrinth-analytics/loredocs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server