Skip to main content
Glama

Tessera

PyPI version Downloads Tests Python License Website

Every AI conversation produces knowledge. When the session ends, it's gone. Tessera keeps it.

One knowledge base for Claude Desktop, with an HTTP API for scripts and automation. Runs locally. No API keys, no Docker, no data leaving your machine.

pip install project-tessera
tessera setup
# Done. Claude Desktop now has persistent memory + document search.

Why Tessera over alternatives

Tessera

Mem0

Basic Memory

mcp-memory-service

Works without API keys

Yes

No (needs OpenAI)

Yes

Partial

Works without Docker

Yes

No

Yes

No

Document search (40+ types)

Yes

No

Markdown only

No

ChatGPT integration (via tunnel)

Yes

No

No

No

Contradiction detection

Yes

No

No

No

Memory confidence scoring

Yes

No

No

No

Encrypted vault (AES-256)

Yes

No

No

No

HTTP API for non-MCP tools

58 endpoints

Yes

No

Yes

Auto-learning from conversations

Yes

Yes

No

No

MCP tools

58

~10

~15

24

The short version

Most memory tools store text and search it. Tessera does that, plus:

  • HTTP API: 58 REST endpoints let scripts, ChatGPT (via tunnel + Custom GPT Actions), and local LLMs read and write the same knowledge base.

  • Self-maintaining: finds contradictions between old and new memories, scores confidence by reinforcement frequency, flags stale knowledge, auto-merges near-duplicates.

  • Zero infrastructure: pip install and go. LanceDB and fastembed are embedded -- no Docker, no database server, no API keys.

  • Encrypted: set TESSERA_VAULT_KEY and all memories are AES-256-CBC encrypted at rest.


Related MCP server: MCP VectorStore Server

Architecture

How search works (query path)

    User asks: "What did we decide about the database?"
                            |
                            v
                +-----------------------+
                |    Query Processing   |
                |  Multi-angle decomp   |    "database decision"
                |  (2-4 perspectives)   |    "database", "decision"
                +-----------------------+    "decision about database"
                            |
              +-------------+-------------+
              |                           |
              v                           v
    +------------------+        +------------------+
    |  Vector Search   |        |  Keyword Search  |
    |  (LanceDB)       |        |  (FTS index)     |
    |  384-dim MiniLM  |        |  BM25 scoring    |
    +------------------+        +------------------+
              |                           |
              +-------------+-------------+
                            |
                            v
                +-----------------------+
                |      Reranking        |
                |  70% semantic weight  |    LinearCombinationReranker
                |  30% keyword weight   |    + version-aware scoring
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Result Assembly     |
                |  Dedup (content hash) |    2-pass deduplication
                |  Verdict labels       |    found / weak / none
                |  Cache (60s TTL)      |
                +-----------------------+
                            |
                            v
                    Top-K results with
                    confidence scores

How ingestion works (ingest path)

    Documents: .md .pdf .docx .xlsx .py .ts .go ...  (40+ types)
                            |
                            v
                +-----------------------+
                |   File Type Router    |
                |  Markdown, CSV, XLSX  |    Type-specific parsers
                |  Code, PDF, Images    |    with metadata extraction
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Chunking Engine     |
                |  1024 tokens/chunk    |    Sentence-boundary aware
                |  100 token overlap    |    Heading-preserving
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Local Embedding     |
                |  fastembed/ONNX       |    paraphrase-multilingual
                |  384 dimensions       |    MiniLM-L12-v2
                |  No API calls         |    101 languages
                +-----------------------+
                            |
              +-------------+-------------+
              |                           |
              v                           v
    +------------------+        +------------------+
    |    LanceDB       |        |     SQLite       |
    |  Vector storage  |        |  File metadata   |
    |  Columnar format |        |  Search analytics|
    |  Zero-config     |        |  Interaction log |
    +------------------+        +------------------+

System overview

                    +--------------------------------------------+
                    |              src/core.py                    |
                    |         58 orchestration functions          |
                    |   69 specialized modules, 31k LOC           |
                    +--------------------------------------------+
                     /                |                \
    +---------------+  +-------------------+  +--------------+
    | MCP Server    |  | HTTP API Server   |  | CLI          |
    | Claude Desktop|  | FastAPI + Swagger |  | 11 commands  |
    | 58 tools      |  | 58 endpoints      |  | setup, sync  |
    | stdio         |  | port 8394         |  | ingest, api  |
    +---------------+  +-------------------+  +--------------+
           |                    |                     |
           v                    v                     v
    +------------------------------------------------------------+
    |                    Storage Layer                            |
    |  LanceDB         SQLite           Filesystem               |
    |  (vectors)       (metadata,       (memories as .md,        |
    |                   analytics,       encrypted with           |
    |                   interactions)    AES-256-CBC)             |
    |                                                            |
    |  fastembed/ONNX: local embedding, no API keys              |
    |  101 languages, 384-dim vectors, ~220MB model              |
    +------------------------------------------------------------+

Get started

1. Install

pip install project-tessera

Or with uv:

uvx --from project-tessera tessera setup

2. Setup

tessera setup

Creates workspace config, downloads embedding model (~220MB, first time only), configures Claude Desktop.

3. Restart Claude Desktop

Ask Claude about your documents. It searches automatically.

Use with ChatGPT (Custom GPT Actions)

tessera api                     # Start REST API on localhost:8394
ngrok http 8394                 # Expose to the internet
# Then create a Custom GPT with the Actions spec from /chatgpt-actions/openapi.json

Full setup guide at http://127.0.0.1:8394/chatgpt-actions/setup. Swagger docs at http://127.0.0.1:8394/docs.


How it works

Hybrid search with reranking

Every search goes through four stages:

  1. Query decomposition -- the query is split into 2-4 search angles (core keywords, individual terms, reversed emphasis)

  2. Hybrid retrieval -- vector similarity (LanceDB) and keyword matching (FTS/BM25) run in parallel

  3. Reranking -- a LinearCombinationReranker merges the two result sets (70% semantic, 30% keyword weight)

  4. Verdict scoring -- each result gets a label: confident match (>= 45%), possible match (25-45%), or low relevance (< 25%)

When multiple versions of the same document exist, Tessera prefers the latest.

Cross-session memory

# Via MCP (Claude)
"Remember that we chose PostgreSQL for the production database"

# Via HTTP API (scripts, local LLMs, ChatGPT via tunnel)
curl -X POST http://127.0.0.1:8394/remember \
  -H "Content-Type: application/json" \
  -d '{"content": "Use PostgreSQL for production", "tags": ["db", "architecture"]}'

Each memory gets a category (decision, preference, or fact), is checked for duplicates against existing memories (cosine similarity, 0.92 threshold), and receives a confidence score -- weighted by repetition (35%), recency (25%), source diversity (20%), and category (20%). Set TESSERA_VAULT_KEY to encrypt all memories with AES-256-CBC.

Auto-learning

Tessera picks up decisions, preferences, and facts from your conversations without being asked. toggle_auto_learn turns it on or off; review_learned shows what it caught.

Contradiction detection

Memories contradict each other over time. Tessera finds them:

CONTRADICTION (HIGH severity):
  "We decided to use PostgreSQL" (2026-03-01)
  vs
  "Switched to MongoDB for the main database" (2026-03-10)

  The newer memory (2026-03-10) likely reflects the current state.

Works with both English and Korean negation patterns.

ChatGPT integration (requires tunnel)

ChatGPT can talk to Tessera through Custom GPT Actions, but since ChatGPT's servers need to reach your machine, you need a tunnel (ngrok, Cloudflare Tunnel, etc.) to expose your local API.

Requirements: Your computer must be on, the API server running, and the tunnel active. When any of these stop, ChatGPT loses access.

# 1. Start Tessera API + tunnel
tessera api
ngrok http 8394   # or: cloudflared tunnel --url http://localhost:8394

# 2. Get the OpenAPI spec for your Custom GPT
curl https://your-tunnel-url/chatgpt-actions/openapi.json?server_url=https://your-tunnel-url

# 3. Get the GPT instruction template
curl https://your-tunnel-url/chatgpt-actions/instructions

Create a Custom GPT, paste the instructions, import the OpenAPI spec as an Action.

You can also import past ChatGPT conversations to extract knowledge from them:

curl -X POST http://127.0.0.1:8394/import-conversations \
  -H "Content-Type: application/json" \
  -d '{"data": "<ChatGPT export JSON>", "source": "chatgpt"}'

Export as Obsidian vault (wikilinks), Markdown, CSV, or JSON:

curl http://127.0.0.1:8394/export?format=obsidian

Memory health

Each memory is healthy, stale (90+ days without reinforcement), or orphaned (no metadata, no category). The health report tells you what to clean up and tracks growth over time.

Plugin hooks

Run your own scripts when things happen:

# workspace.yaml
hooks:
  on_memory_created:
    - script: ./notify-slack.sh
  on_contradiction_found:
    - script: ./alert.py

7 event types: on_memory_created, on_memory_deleted, on_search, on_session_start, on_session_end, on_ingest_complete, on_contradiction_found.


Supported file types (40+)

Category

Extensions

Install

Documents

.md .txt .rst .csv

included

Office

.xlsx .docx .pdf

pip install project-tessera[xlsx,docx,pdf]

Code

.py .js .ts .tsx .jsx .java .go .rs .rb .php .c .cpp .h .swift .kt .sh .sql .cs .dart .r .lua .scala

included

Config

.json .yaml .yml .toml .xml .ini .cfg .env

included

Web

.html .htm .css .scss .less .svg

included

Images

.png .jpg .jpeg .webp .gif .bmp .tiff

pip install project-tessera[ocr]


MCP tools (58)

Tool

What it does

search_documents

Semantic + keyword hybrid search across all docs

unified_search

Search documents AND memories in one call

view_file_full

Full file view (CSV as table, XLSX per sheet)

read_file

Read any file's full content

list_sources

See what's indexed

Tool

What it does

remember

Save knowledge that persists across sessions

recall

Search past memories with date/category filters

learn

Save and immediately index new knowledge

list_memories

Browse saved memories

forget_memory

Delete a specific memory

export_memories

Batch export all memories as JSON

import_memories

Batch import memories from JSON

memory_tags

List all unique tags with counts

search_by_tag

Filter memories by specific tag

memory_categories

List auto-detected categories (decision/preference/fact)

search_by_category

Filter memories by category

find_similar

Find documents similar to a given file

knowledge_graph

Build a Mermaid diagram of document relationships

Tool

What it does

digest_conversation

Extract and save knowledge from the current session

toggle_auto_learn

Turn auto-learning on/off or check status

review_learned

Review recently auto-learned memories

session_interactions

View tool calls from current/past sessions

recent_sessions

Session history with interaction counts

Tool

What it does

decision_timeline

How your decisions changed over time, by topic

context_window

Pack the best context into a token budget

smart_suggest

Query suggestions based on your past searches

topic_map

Cluster memories by topic with Mermaid mindmap

knowledge_stats

Aggregate statistics (categories, tags, growth)

user_profile

Auto-built profile (language, preferences, expertise)

explore_connections

Show connections around a specific topic

Tool

What it does

deep_search

Breaks a query into 2-4 angles, searches each, merges best results

deep_recall

Multi-angle memory recall with verdict labels

detect_contradictions

Find conflicting memories with severity rating

memory_confidence

How reliable is each memory (repetition, recency, source diversity)

memory_health

Which memories are healthy, stale, or orphaned

list_plugin_hooks

See what hooks are registered

Tool

What it does

export_for_ai

Export memories in portable format

import_from_ai

Import memories from external sources

import_conversations

Extract knowledge from ChatGPT/Claude conversation exports

export_knowledge

Export as Obsidian (wikilinks), Markdown, CSV, or JSON

ChatGPT can connect via Custom GPT Actions (requires tunnel). See /chatgpt-actions/setup.

Tool

What it does

vault_status

Check AES-256 encryption status

migrate_data

Upgrade data from older schema versions

Tool

What it does

ingest_documents

Index documents (first-time or full rebuild)

sync_documents

Incremental sync (only changed files)

project_status

Recent changes per project

extract_decisions

Find past decisions from logs

audit_prd

Check PRD quality (13-section structure)

organize_files

Move, rename, archive files

suggest_cleanup

Detect backup files, empty dirs, misplaced files

tessera_status

Server health: tracked files, sync history, cache

health_check

Full workspace diagnostics

search_analytics

Search usage patterns, top queries, response times

check_document_freshness

Detect stale documents older than N days


HTTP API (58 endpoints)

pip install project-tessera[api]
tessera api  # http://127.0.0.1:8394

Swagger UI at http://127.0.0.1:8394/docs. Optional auth via TESSERA_API_KEY env var.

Method

Path

What it does

GET

/health

Health check

GET

/version

Version info

POST

/search

Semantic + keyword search

POST

/unified-search

Search docs + memories

POST

/remember

Save a memory

POST

/recall

Search memories with filters

POST

/learn

Save and index knowledge

GET

/memories

List memories

DELETE

/memories/{id}

Delete a memory

GET

/memories/categories

List categories

GET

/memories/search-by-category

Filter by category

GET

/memories/tags

List tags

GET

/memories/search-by-tag

Filter by tag

POST

/context-window

Build token-budgeted context

GET

/decision-timeline

Decision evolution

GET

/smart-suggest

Query suggestions

GET

/topic-map

Topic clusters

GET

/knowledge-stats

Stats dashboard

POST

/batch

Multiple operations in one call

GET

/export

Export as Obsidian/MD/CSV/JSON

GET

/export-for-ai

Export memories in portable format

POST

/import-from-ai

Import memories from external sources

POST

/import-conversations

Import past conversations

POST

/migrate

Run data migration

GET

/vault-status

Encryption status

GET

/user-profile

User profile

GET

/status

Server status

GET

/health-check

Workspace diagnostics

POST

/deep-search

Multi-angle document search

POST

/deep-recall

Multi-angle memory recall

GET

/contradictions

Detect conflicting memories

GET

/memory-confidence

Memory reliability scores

GET

/memory-health

Memory health analytics

GET

/hooks

List plugin hooks

GET

/entity-search

Search entity knowledge graph

POST

/entity-graph

Mermaid diagram from entities

GET

/consolidation-candidates

Find similar memory clusters

POST

/consolidate

Merge similar memories

GET

/dashboard

Web dashboard (dark theme, entity graph, stats)

POST

/sleep-consolidate

Auto-merge near-duplicate memories

POST

/retention-policy

Flag old or low-quality memories

GET

/retention-summary

Age distribution and at-risk counts

GET

/adapters/{framework}

Setup code for LangChain, CrewAI, AutoGen

POST

/auto-curate

Classify, tag, deduplicate, and clean up memories

GET

/auto-insights

Trending topics, decision patterns, hidden connections

GET

/chatgpt-actions/openapi.json

OpenAPI spec for Custom GPT Actions

GET

/chatgpt-actions/instructions

GPT instruction template

GET

/chatgpt-actions/setup

ChatGPT integration setup guide

Quick examples

# Search documents
curl -X POST http://127.0.0.1:8394/search \
  -H "Content-Type: application/json" \
  -d '{"query": "database architecture", "top_k": 5}'

# Save a memory
curl -X POST http://127.0.0.1:8394/remember \
  -H "Content-Type: application/json" \
  -d '{"content": "Use PostgreSQL for production", "tags": ["db"]}'

# Export memories
curl http://127.0.0.1:8394/export-for-ai?target=chatgpt

# Batch (multiple operations, single request)
curl -X POST http://127.0.0.1:8394/batch \
  -H "Content-Type: application/json" \
  -d '{"operations": [{"method": "search", "params": {"query": "test"}}, {"method": "knowledge_stats"}]}'

CLI (11 commands)

tessera setup          # One-command setup (config + model download + Claude Desktop)
tessera init           # Interactive setup
tessera ingest         # Index all document sources
tessera sync           # Re-index changed files only
tessera serve          # Start MCP server (stdio)
tessera api            # Start HTTP API server (port 8394)
tessera migrate        # Upgrade data schema
tessera check          # Workspace health diagnostics
tessera status         # Project status summary
tessera install-mcp    # Configure Claude Desktop
tessera version        # Show version

Claude Desktop config

With uvx (recommended):

{
  "mcpServers": {
    "tessera": {
      "command": "uvx",
      "args": ["--from", "project-tessera", "tessera-mcp"]
    }
  }
}

With pip:

{
  "mcpServers": {
    "tessera": {
      "command": "tessera-mcp"
    }
  }
}

Config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json


Configuration

tessera setup creates workspace.yaml:

workspace:
  root: /Users/you/Documents
  name: my-workspace

sources:
  - path: .
    type: document

search:
  reranker_weight: 0.7     # Semantic vs keyword balance (0.0 = keyword only, 1.0 = vector only)
  max_top_k: 50            # Max results per search

ingestion:
  chunk_size: 1024         # Tokens per chunk
  chunk_overlap: 100       # Overlap between chunks

hooks:                      # Optional plugin hooks
  on_memory_created:
    - script: ./my-hook.sh

Or set TESSERA_WORKSPACE=/path/to/docs to skip config file entirely.

Environment variables:

  • TESSERA_API_KEY -- enable API authentication

  • TESSERA_VAULT_KEY -- enable AES-256 encryption for memories


Technical details

Component

Technology

Why

Vector store

LanceDB

Embedded columnar store. No server process, handles vector + metadata queries natively

Embeddings

fastembed/ONNX

Local inference, no API keys. paraphrase-multilingual-MiniLM-L12-v2 (384-dim, 101 languages)

Metadata

SQLite

File tracking, search analytics, interaction logging. Thread-safe with reentrant locks

Memory storage

Filesystem (.md)

Human-readable, git-friendly, encryptable. YAML frontmatter for metadata

Encryption

Pure Python AES-256-CBC

No OpenSSL dependency. PKCS7 padding, random IV per memory

HTTP API

FastAPI

Swagger docs, Pydantic validation, async-capable

MCP

FastMCP (stdio)

Standard MCP protocol for Claude Desktop

Numbers

Metric

Count

MCP tools

58

HTTP endpoints

58

CLI commands

11

Core modules

69

Lines of code

31,000+

Tests

1102

File types

40+


License

AGPL-3.0 -- see LICENSE.

Commercial licensing: bessl.framework@gmail.com

Available Tools

58 tools
assign_memory_projectB

Assign a memory to a project space. Use this to organize memories by project context (e.g., 'tessera', 'frontend-app', 'api-design').

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYes
projectYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an assignment/organization operation but doesn't clarify whether this creates new projects, modifies existing memory-project relationships, requires specific permissions, has side effects, or what happens on success/failure. For a tool that likely modifies data, this leaves significant behavioral questions unanswered.

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 perfectly concise with two sentences that each earn their place. The first states the core action, the second provides usage context with helpful examples. No wasted words, well-structured, and front-loaded with the essential information.

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?

Given the tool has an output schema (which handles return values), 2 parameters with 0% schema coverage, and no annotations, the description provides adequate but incomplete context. It covers the basic purpose and usage but lacks behavioral details about this likely-mutating operation. The presence of an output schema prevents this from being a lower score.

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 and only 2 parameters, the description adds meaningful context beyond the bare schema. It clarifies that 'project' represents a project space for organization and provides concrete examples ('tessera', 'frontend-app', 'api-design'), though it doesn't explain the 'memory_id' parameter or format requirements for either parameter.

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 purpose with a specific verb ('assign') and resource ('memory to a project space'), and provides concrete examples of project contexts. However, it doesn't explicitly differentiate this tool from potential sibling tools like 'memory_tags' or 'memory_categories' that might also organize memories, which prevents a perfect score.

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 when to use this tool ('to organize memories by project context') and provides helpful examples, but it doesn't explicitly state when NOT to use it or mention alternatives among the many sibling tools. The guidance is useful but incomplete.

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

audit_prdA

Audit a PRD file for quality and completeness against a 13-section structure. Checks section coverage, Mermaid syntax, wireframes, versioning, and changelog.

check_sprawl=True: Detect multiple versions of the same PRD (suggest archiving old ones) check_consistency=True: Check cross-PRD consistency for period selectors and tiers

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
check_sprawlNo
check_consistencyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It describes what the tool checks but lacks behavioral details such as whether it modifies files, requires specific permissions, outputs format, or handles errors. The description adds some context (e.g., what sprawl and consistency checks entail) but is insufficient for a mutation-like audit tool.

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 appropriately sized and front-loaded, with the first sentence covering the core purpose and checks. The second sentence details optional parameters efficiently. There is minimal waste, though it could be slightly more structured (e.g., bullet points for clarity).

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?

Given no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers purpose and parameter semantics but lacks behavioral transparency (e.g., mutation risks, output format). The output schema mitigates some gaps, but for an audit tool with potential file interactions, more context is needed.

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 compensate. It explains the semantics of check_sprawl ('detect multiple versions of the same PRD') and check_consistency ('check cross-PRD consistency for period selectors and tiers'), adding meaningful context beyond the schema's basic titles. However, it does not clarify file_path usage (e.g., format, supported file 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?

The description clearly states the tool's purpose with specific verbs ('audit', 'checks') and resources ('PRD file'), detailing what aspects are evaluated (quality, completeness, 13-section structure, coverage, Mermaid syntax, wireframes, versioning, changelog). It distinguishes from sibling tools by focusing on PRD-specific auditing rather than general document operations.

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 auditing PRD files but does not explicitly state when to use this tool versus alternatives (e.g., other document-checking siblings like check_document_freshness or detect_contradictions). It mentions optional checks (sprawl, consistency) but lacks guidance on prerequisites or exclusions.

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

check_document_freshnessA

Check for stale/outdated documents that haven't been modified recently. Returns a list grouped by project showing file names and days since last update. Use this proactively to suggest document reviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
days_thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool's function and output but lacks details on permissions, rate limits, error handling, or whether it's read-only or mutative. For a tool with no annotations, this leaves significant gaps in understanding its operational 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 front-loaded and efficient, consisting of two sentences that directly convey purpose, output, and usage without any wasted words. Every sentence adds value, making it easy to parse and understand quickly.

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 moderate complexity (1 parameter, no annotations, but with an output schema), the description is reasonably complete. It covers purpose, output format, and usage context. Since an output schema exists, it doesn't need to detail return values, but it could benefit from more behavioral details given the lack of annotations.

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 input schema has 1 parameter with 0% description coverage, so the description must compensate. It implies the parameter's role by mentioning 'days since last update' and 'stale/outdated documents that haven't been modified recently', which adds semantic meaning to the 'days_threshold' parameter beyond the schema's basic type and default value.

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 specific verbs ('check for stale/outdated documents') and resources ('documents'), distinguishing it from siblings like 'search_documents' or 'list_sources' by focusing on freshness rather than content or listing. It explicitly mentions the output format ('list grouped by project showing file names and days since last update'), which adds clarity.

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 ('proactively to suggest document reviews'), indicating its role in maintenance or review workflows. However, it does not explicitly state when not to use it or name alternatives among the many sibling tools, such as 'search_documents' for content-based queries, leaving some ambiguity.

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

context_windowA

Build an optimal context window for a query within a token budget. Retrieves relevant memories and documents, assembles them in priority order, and truncates to fit. Use this to prepare context for another AI tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
token_budgetNo
include_documentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behaviors: retrieves memories and documents, assembles in priority order, and truncates to fit token budget. However, it lacks details on how retrieval works (e.g., sources, recency), what 'optimal' means, error handling, or performance characteristics like rate limits.

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 core purpose, followed by a usage guideline. Every word earns its place with no redundancy or fluff, making it highly efficient and easy to parse.

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 (involves retrieval, assembly, truncation), no annotations, and an output schema (which handles return values), the description is reasonably complete. It covers the main workflow but could benefit from more behavioral details (e.g., retrieval methods, priority criteria). The output schema reduces the need to explain returns.

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 compensate. It explains the overall function (build context window for query with token budget) but doesn't detail individual parameters. However, with only 3 parameters (query, token_budget, include_documents), the high-level context is sufficient for basic understanding, though specifics like default values or boolean effects are missing.

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 purpose: 'Build an optimal context window for a query within a token budget.' It specifies the action (build), resource (context window), and key constraints (token budget). However, it doesn't explicitly differentiate from sibling tools like 'recall', 'deep_recall', or 'unified_search', which might have overlapping retrieval functions.

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 usage: 'Use this to prepare context for another AI tool.' This indicates it's a preparatory step rather than an end action. It doesn't specify when not to use it or name alternatives among siblings, but the guidance is practical and actionable.

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

decision_timelineB

Show decision timeline — how decisions evolved over time, grouped by topic. Detects when you changed your mind about something.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'detects when you changed your mind about something', which hints at analytical behavior, but does not clarify output format, data sources, permissions required, or any limitations. This leaves significant gaps in understanding how the tool operates.

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 concise and front-loaded, with two sentences that directly state the tool's function and an additional behavioral hint. There is no wasted text, and it efficiently communicates the core purpose without unnecessary elaboration.

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?

Given that there is an output schema (which handles return values), 0 parameters, and no annotations, the description is moderately complete. It explains what the tool does but lacks details on behavioral traits, usage context, or how it integrates with sibling tools. For a tool with analytical functions like detecting mind changes, more context would be beneficial.

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 input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description does not add parameter information, but since there are no parameters, this is acceptable. The baseline for 0 parameters is 4, as the description need not compensate for missing parameter details.

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 purpose: 'Show decision timeline — how decisions evolved over time, grouped by topic.' It specifies the verb ('show'), resource ('decision timeline'), and scope ('grouped by topic'). However, it does not explicitly differentiate from sibling tools like 'extract_decisions' or 'detect_contradictions', which may have overlapping functions, so it falls short of a perfect score.

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 no guidance on when to use this tool versus alternatives. It mentions detecting when you changed your mind, but does not specify prerequisites, exclusions, or compare it to similar tools like 'extract_decisions' or 'detect_contradictions'. This lack of contextual usage information limits its effectiveness for an AI agent.

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

deep_recallB

Search memories using multiple query angles for better recall. Like deep_search but for memories. Decomposes the query into multiple perspectives and merges results. Each result includes a confidence verdict. Use when recall misses relevant memories.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
sinceNo
untilNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'decomposes the query into multiple perspectives and merges results' and that 'Each result includes a confidence verdict,' which adds some behavioral context. However, it lacks details on permissions, rate limits, error handling, or what 'confidence verdict' entails, leaving gaps for a tool with 5 parameters and an output schema.

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 concise and front-loaded, with the core purpose stated first. All sentences are relevant, explaining the method and usage. However, it could be slightly more structured by separating usage guidelines into a distinct part, but it's efficient with zero waste.

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?

Given the tool's complexity (5 parameters, no annotations, but with an output schema), the description is somewhat complete. It explains the purpose and method but lacks details on parameters, behavioral traits, and how the output schema relates. The output schema reduces the need to explain return values, but more context on usage and limitations would improve completeness.

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 doesn't mention any parameters explicitly, such as 'query,' 'top_k,' or date filters. While it implies query usage through 'Search memories,' it adds no semantic details beyond what the schema titles provide. With 5 parameters and no schema descriptions, this is a minimal baseline 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 purpose: 'Search memories using multiple query angles for better recall.' It specifies the verb ('search'), resource ('memories'), and method ('multiple query angles'). However, it doesn't explicitly distinguish it from sibling tools like 'recall' or 'deep_search' beyond mentioning 'Like deep_search but for memories,' which is somewhat helpful but not fully differentiating.

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: 'Use when recall misses relevant memories.' This indicates when to prefer this tool over alternatives like 'recall.' It also mentions 'Like deep_search but for memories,' hinting at a comparison. However, it doesn't explicitly state when not to use it or list all relevant alternatives, such as 'list_memories' or 'search_by_category.'

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

detect_contradictionsA

Detect contradictions among your stored memories. Finds decisions, preferences, or facts that conflict with each other. Shows severity (HIGH/MEDIUM) and which memory is newer. Use periodically to keep your knowledge base consistent.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are provided, so the description carries the full burden. It discloses behavioral traits: the tool finds conflicts, shows severity (HIGH/MEDIUM), and indicates which memory is newer. However, it lacks details on permissions, rate limits, or what 'stored memories' entail. The description adds value but doesn't fully compensate for the absence of 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 appropriately sized with three sentences: purpose, details, and usage guidance. Each sentence adds value without redundancy. It's front-loaded with the core function. Minor improvement could be made by tightening phrasing, but it's efficient overall.

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 (moderate, as it analyzes contradictions), no annotations, an empty input schema, and an output schema (which handles return values), the description is reasonably complete. It covers purpose, behavior, and usage, though it could elaborate more on scope or limitations. The output schema reduces the need for return value details.

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?

There are 0 parameters, and schema description coverage is 100%, so the baseline is high. The description doesn't need to explain parameters, but it implies the tool operates on all stored memories without filtering. This adds slight context beyond the empty schema, justifying a score above the baseline.

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 purpose: 'Detect contradictions among your stored memories' with specific examples (decisions, preferences, facts). It distinguishes itself from siblings by focusing on contradiction detection rather than listing, searching, or managing memories. However, it doesn't explicitly contrast with tools like 'audit_prd' or 'suggest_cleanup' that might involve consistency checks.

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 usage: 'Use periodically to keep your knowledge base consistent,' implying it's a maintenance tool. It doesn't specify when not to use it or name alternatives, but the periodic guidance is helpful. No explicit exclusions or comparisons to siblings like 'audit_prd' are given.

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

digest_conversationA

Digest the current conversation: extract decisions, preferences, and facts from this session's interactions and save them as memories automatically. Call this at the end of a conversation to preserve important knowledge. You can also pass a summary text to extract facts from.

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior2/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 behavioral disclosure. It mentions automatic saving and extraction scope, but lacks details on permissions needed, rate limits, error conditions, or what 'save them as memories' entails operationally. For a tool that modifies memory state, this is a significant gap in 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 perfectly concise and front-loaded. The first sentence establishes the core purpose, the second provides primary usage timing, and the third adds parameter context. Every sentence earns its place with no redundant information.

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 moderate complexity (memory creation/updating), no annotations, and the presence of an output schema, the description covers purpose and usage well but lacks behavioral details about the mutation operation. The output schema reduces the need to describe return values, but more transparency about the write operation would improve completeness.

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 description adds meaningful context for the single parameter: 'You can also pass a summary text to extract facts from.' This explains the optional 'summary' parameter's purpose beyond the schema's basic type information. With 0% schema description coverage and only one parameter, the description effectively compensates by clarifying when and why to use this 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 with specific verbs ('digest', 'extract', 'save') and resources ('conversation', 'decisions, preferences, and facts', 'memories'). It distinguishes from siblings like 'extract_decisions' by covering broader extraction and automatic saving, and from 'remember' by focusing on session-level digestion rather than general memory creation.

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 usage guidelines: 'Call this at the end of a conversation to preserve important knowledge.' It also offers an alternative usage scenario: 'You can also pass a summary text to extract facts from.' This clearly indicates when and how to use the tool versus other memory-related siblings.

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

explore_connectionsB

Show connections for a specific document or concept in the knowledge graph. Returns related documents, shared topics, and a focused Mermaid subgraph.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 behavioral disclosure. It mentions the tool returns specific outputs (related documents, shared topics, Mermaid subgraph), which is helpful, but lacks details on permissions, rate limits, side effects, or error conditions. For a tool that likely queries a knowledge graph, this leaves significant behavioral 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 a single, well-structured sentence that efficiently conveys the core functionality and output. It's front-loaded with the main action and resource, with no wasted words or redundant information.

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 has an output schema (which should document return values), the description adequately covers the basic purpose and output types. However, with no annotations and 0% schema description coverage, it could benefit from more behavioral context and parameter guidance to be fully complete for a knowledge graph query 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?

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation in the schema. The description implies 'query' is used to specify the document or concept, but doesn't explain format or constraints. It doesn't mention 'top_k' at all. This provides minimal semantic value beyond the schema's basic structure, meeting the baseline for partial compensation.

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 action ('Show connections') and resource ('specific document or concept in the knowledge graph'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_similar', 'topic_map', or 'knowledge_graph' that might also explore relationships, so it doesn't reach the highest score.

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 no guidance on when to use this tool versus alternatives like 'find_similar' or 'topic_map'. It mentions the output includes 'related documents, shared topics, and a focused Mermaid subgraph', but this doesn't help the agent decide when this tool is appropriate compared to other exploration tools in the sibling list.

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

export_for_aiA

Export memories for use in another AI tool. Supported targets: 'chatgpt' (ChatGPT memory JSON), 'gemini' (Gemini context format), 'standard' (Tessera interchange format). Use this when migrating knowledge to another AI platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNochatgpt

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool exports memories for AI platform use, which implies read-only behavior, but doesn't specify permissions needed, rate limits, or what exactly gets exported (e.g., format details, scope). It adds some context about migration purpose but lacks comprehensive behavioral details.

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 zero waste: the first explains what the tool does and lists targets, the second provides clear usage guidance. It's appropriately sized and front-loaded with essential information.

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 1 parameter with low schema coverage and an output schema present, the description is reasonably complete. It covers purpose, usage, and parameter meaning, but lacks details on behavioral aspects like permissions or export scope. The output schema likely handles return values, so the description doesn't need to explain those.

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 input schema has 1 parameter with 0% description coverage. The description compensates by explaining the 'target' parameter's purpose and listing the three supported values ('chatgpt', 'gemini', 'standard'), which adds meaningful semantics beyond the bare schema. However, it doesn't detail default behavior or format specifics.

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 ('Export') and resource ('memories'), specifying it's for use in another AI tool. It distinguishes from siblings like 'export_knowledge' or 'export_memories' by focusing on AI platform migration formats rather than general exports.

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 states when to use this tool: 'Use this when migrating knowledge to another AI platform.' It provides clear alternatives by listing supported targets ('chatgpt', 'gemini', 'standard'), helping the agent choose the appropriate format for the specific migration scenario.

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

export_knowledgeA

Export all your knowledge in various formats. Supported formats: 'markdown' (default), 'obsidian' (with wikilinks and frontmatter), 'csv' (spreadsheet-compatible), 'json' (machine-readable). Use 'obsidian' to import into Obsidian vaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only covers format options and basic usage. It lacks details on permissions, rate limits, output behavior (though output schema exists), or whether this is a read-only or destructive operation, leaving significant behavioral 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 front-loaded with the core purpose, followed by specific format details and a usage tip for 'obsidian'. Every sentence adds value without redundancy, making it 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 1 parameter with no schema descriptions and an output schema present, the description adequately covers parameter semantics and tool purpose. However, it lacks behavioral details like authentication or side effects, which are important for a tool that exports data.

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 schema has 0% description coverage, but the description compensates by explaining the 'format' parameter's semantics, listing supported formats and their purposes. It adds meaningful context beyond the bare schema, though it could detail default behavior more explicitly.

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 ('Export all your knowledge') and resource ('knowledge'), distinguishing it from siblings like 'export_memories' or 'export_for_ai' by specifying comprehensive export of all knowledge rather than subsets or specialized formats.

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 on when to use specific formats (e.g., 'obsidian' for Obsidian vaults), but does not explicitly state when not to use this tool versus alternatives like 'export_memories' or 'export_for_ai', leaving some ambiguity about tool selection.

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

export_memoriesA

Export all saved memories as JSON for backup or transfer. Returns a JSON string with all memories and their metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool returns a JSON string with all memories and metadata, which is useful behavioral context. However, it lacks details on potential side effects, permissions needed, or performance considerations like data size or timeouts, leaving some gaps in 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 sentences that are front-loaded with the core action and purpose, followed by output details. Every word adds value without redundancy, making it highly efficient and well-structured for quick understanding.

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 simplicity (0 parameters, no annotations, but has an output schema), the description is complete. It explains what the tool does, its purpose, and the return format, which aligns with the output schema. No additional information is needed for effective use in this context.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter details, focusing instead on the tool's purpose and output. This meets the baseline for zero parameters, but a perfect score would require explicit mention of the lack of 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 specific action ('Export') and resource ('all saved memories'), and distinguishes it from siblings like 'list_memories' by specifying the output format and purpose ('as JSON for backup or transfer'). It provides a complete picture of what the tool does beyond just listing.

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 purpose ('for backup or transfer'), which gives clear context for when to use this tool. However, it does not mention when not to use it or name specific alternatives among siblings, such as 'export_for_ai' or 'export_knowledge', which could provide more precise guidance.

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

extract_decisionsC

Extract decisions from session logs and decision logs. Call automatically when asked about past decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNo
sinceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'extract' and 'call automatically,' but doesn't disclose behavioral traits like permissions needed, rate limits, whether it's read-only or mutative, or what the extraction entails (e.g., format, scope). This is inadequate for a tool with no annotation coverage.

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 concise with two sentences, front-loading the core purpose. However, the second sentence ('Call automatically...') is somewhat vague and could be more precise, slightly reducing efficiency.

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?

Given no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It states the purpose and basic usage but lacks details on parameters, behavioral traits, and differentiation from siblings. The output schema helps, but more context is needed for effective use.

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 adds no information about parameters like 'project_id' or 'since'—not explaining what they mean, how they affect extraction, or their optional nature. With 2 parameters and no schema descriptions, this leaves semantics unclear.

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 purpose: 'Extract decisions from session logs and decision logs.' It specifies the verb ('extract') and resources ('session logs and decision logs'), making it easy to understand what the tool does. However, it doesn't differentiate from sibling tools like 'decision_timeline' or 'recall', which might have overlapping functions.

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 minimal guidance: 'Call automatically when asked about past decisions.' This implies usage context but lacks explicit when-to-use vs. alternatives, prerequisites, or exclusions. No comparison to siblings like 'decision_timeline' or 'recall' is made, leaving gaps in selection criteria.

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

find_similarB

Find documents similar to a given document. Returns related documents ranked by similarity. Use this when users ask 'what else is related to this document'.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
top_kNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool returns 'related documents ranked by similarity,' which is helpful, but lacks critical details: it doesn't specify what similarity metric is used, whether results are paginated, if there are rate limits, or what authentication/permissions are required. For a tool with no annotation coverage, this leaves significant behavioral 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 extremely concise and front-loaded: two sentences with zero wasted words. The first sentence states the purpose and outcome, and the second provides usage guidance. Every sentence earns its place by adding distinct 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?

Given that an output schema exists (which likely defines the return structure), the description doesn't need to detail return values. However, with no annotations, 2 parameters (one required), and 0% schema coverage, the description is incomplete: it lacks parameter semantics, behavioral details like error handling, and differentiation from siblings. It's minimally adequate but has clear 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%, meaning parameter titles ('Source Path', 'Top K') provide minimal semantic information. The description adds no parameter-specific details—it doesn't explain what 'source_path' should contain (e.g., file path, document ID) or how 'top_k' affects results beyond the default. With low schema coverage, the description fails to compensate, leaving parameters largely unexplained.

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 purpose: 'Find documents similar to a given document. Returns related documents ranked by similarity.' It specifies the verb ('find'), resource ('documents'), and outcome ('ranked by similarity'). However, it doesn't explicitly differentiate from sibling tools like 'search_documents' or 'explore_connections' that might also find related content.

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 guidance: 'Use this when users ask 'what else is related to this document'.' This gives a clear context for when to invoke the tool. However, it doesn't mention when NOT to use it or name specific alternatives among the many sibling tools.

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

forget_memoryA

Delete a specific memory by filename (without .md extension). Use list_memories first to find the memory to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions deletion behavior but lacks details on permissions, confirmation, reversibility, or error handling. The description adds minimal behavioral context beyond the basic destructive action.

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 zero waste - first states purpose, second provides usage guidance. Every word serves a clear function, and the information is front-loaded appropriately.

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?

For a destructive tool with no annotations and 1 parameter, the description covers basic purpose and usage but lacks details on permissions, side effects, or error cases. The existence of an output schema helps, but more behavioral context would be beneficial.

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 0% schema description coverage, the description compensates by explaining the parameter meaning ('filename without .md extension'), adding value beyond the bare schema. However, it doesn't provide format examples or constraints, leaving some 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 clearly states the specific action ('Delete a specific memory') and resource ('by filename'), distinguishing it from sibling tools like list_memories or export_memories. It uses precise language that leaves no ambiguity about the tool's function.

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 explicitly provides when to use this tool ('Delete a specific memory') and includes a prerequisite step ('Use list_memories first to find the memory to delete'), offering clear guidance on proper usage sequence without alternatives needed.

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

health_checkB

Run a comprehensive health check on the Tessera workspace. Checks: config validity, dependencies, index status, stale documents, zero-result query patterns. Returns actionable recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool 'checks' various aspects and 'returns actionable recommendations', but does not specify whether it performs read-only operations, requires permissions, has side effects, or details rate limits or performance impacts. This leaves significant gaps for a tool with no annotation coverage.

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 highly concise and well-structured, consisting of a single sentence that efficiently conveys the tool's function, scope, and output. Every word earns its place, with no wasted information, making it easy to understand at a glance.

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?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description does not need to explain inputs or return values. However, as a diagnostic tool with no annotations, it lacks details on behavioral aspects like execution time, error handling, or integration with sibling tools, leaving some contextual gaps despite the structured data support.

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 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description does not need to add parameter information, and it appropriately focuses on the tool's purpose and output without redundant details, earning a baseline score of 4 for zero-parameter tools.

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 purpose as running a comprehensive health check on the Tessera workspace, specifying what it checks (config validity, dependencies, index status, stale documents, zero-result query patterns) and what it returns (actionable recommendations). However, it does not explicitly differentiate from sibling tools like 'tessera_status' or 'memory_health', which might have overlapping functions, so it lacks sibling differentiation.

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 no guidance on when to use this tool versus alternatives. It does not mention prerequisites, timing, or exclusions, and with many sibling tools (e.g., 'tessera_status', 'memory_health', 'project_status'), there is no indication of how this tool differs in usage context.

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

import_conversationsA

Import past conversations from ChatGPT, Claude, or Gemini exports. Paste the exported JSON data and specify the source: 'chatgpt', 'claude', 'gemini', or 'text'. Tessera extracts decisions, preferences, and facts from the conversations. Use this to recover knowledge from past AI interactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
sourceNochatgpt

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?

No annotations are provided, so the description carries the full burden. It discloses that the tool extracts decisions, preferences, and facts, which adds behavioral context beyond basic import functionality. However, it lacks details on permissions, rate limits, error handling, or what happens to the imported data (e.g., storage location, indexing).

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 core purpose, followed by usage instructions and benefits. Every sentence earns its place: the first defines the action, the second explains parameters, the third describes processing, and the fourth states the use case. No 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?

Given the tool's moderate complexity (importing and processing external data), no annotations, and the presence of an output schema, the description is mostly complete. It covers purpose, parameters, and processing outcome, but could benefit from mentioning authentication needs, data limits, or output format since the output schema is not described here.

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 both parameters: 'data' as 'exported JSON data' to paste and 'source' with enumerated values ('chatgpt', 'claude', 'gemini', 'text'). This adds meaningful semantics beyond the bare schema, though it could specify JSON structure or validation rules.

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 specific verbs ('import', 'extracts') and resources ('conversations from ChatGPT, Claude, or Gemini exports'). It distinguishes from siblings by focusing on importing external conversation data, unlike tools like 'import_memories' or 'import_from_ai' which may handle different data types or sources.

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 ('to recover knowledge from past AI interactions') and specifies the supported sources. However, it does not explicitly state when NOT to use it or mention alternatives like 'import_memories' or 'import_from_ai' for comparison.

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

import_from_aiB

Import memories from another AI tool. Paste the exported JSON data and specify the source: 'chatgpt', 'gemini', or 'standard'. Memories will be automatically categorized and stored in Tessera.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
sourceNochatgpt

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions that 'memories will be automatically categorized and stored in Tessera', which adds some behavioral context about the outcome. However, it lacks details on permissions, error handling, rate limits, or what happens if the data format is invalid, leaving significant gaps for a mutation tool.

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 efficiently conveys the action, parameters, and outcome without any wasted words. It is front-loaded with the core purpose and includes essential details concisely.

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?

Given that there is an output schema (which reduces the need to describe return values) but no annotations and low schema coverage, the description is moderately complete. It covers the basic operation and parameters but lacks depth on behavioral aspects like error handling or side effects, which are important for an import 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%, so the description must compensate. It adds meaning by explaining that 'data' should be 'exported JSON data' and 'source' specifies the AI tool, which clarifies the parameters beyond the schema. However, it doesn't detail the JSON structure, validation rules, or default behavior for 'source', leaving some ambiguity.

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 verb ('import') and resource ('memories') with the source ('from another AI tool'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'import_memories' or 'import_conversations', which might handle similar imports but from different sources or formats.

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 by specifying the source options ('chatgpt', 'gemini', or 'standard'), but it doesn't provide explicit guidance on when to use this tool versus alternatives like 'import_memories' or 'import_conversations'. No exclusions or prerequisites are mentioned.

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

import_memoriesB

Import memories from a JSON string (batch import). Format: [{"content": "...", "tags": ["..."], "source": "..."}]. Use export_memories to get the expected format.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'batch import' and references an export tool for format, but lacks critical details: whether this operation overwrites existing memories, requires specific permissions, has rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in 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 highly concise and front-loaded, consisting of two sentences that directly convey the tool's purpose and usage without any wasted words. Every sentence earns its place by providing essential information about the operation and format reference.

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?

Given the tool has an output schema (which reduces the need to describe return values) but no annotations and low schema coverage, the description is moderately complete. It covers the basic purpose and format, but lacks details on behavioral traits, error handling, and parameter semantics, making it adequate but with clear gaps for a mutation 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 input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds value by specifying the parameter 'data' should be a JSON string in a particular format and referencing 'export_memories' for examples. However, it doesn't explain the semantics of fields like 'content', 'tags', or 'source', or provide validation rules, leaving gaps in understanding.

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 purpose: 'Import memories from a JSON string (batch import).' It specifies the verb ('import'), resource ('memories'), and scope ('batch import'), distinguishing it from sibling tools like 'export_memories' or 'list_memories'. However, it doesn't explicitly differentiate from 'import_conversations' or 'import_from_ai', which are similar import operations.

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 by referencing 'export_memories to get the expected format,' indicating it's for batch imports of memories in a specific JSON structure. It implies usage for data migration or restoration scenarios. However, it doesn't explicitly state when not to use it or compare it to alternatives like 'import_conversations'.

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

ingest_documentsA

Index (or re-index) all workspace documents into the vector store. Run this when setting up Tessera for the first time, or when you want to rebuild the entire index from scratch. Optionally pass specific directory paths to index only those.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that this is a potentially heavy operation ('rebuild the entire index from scratch') and mentions optional directory filtering. However, it lacks details on permissions needed, rate limits, whether it's destructive to existing data, or expected runtime/confirmation 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?

Three sentences with zero waste: first states core purpose, second gives usage guidelines, third explains parameter usage. Front-loaded with the main action, each sentence earns its place by adding distinct value.

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 1 parameter with no schema descriptions but an output schema exists, the description is reasonably complete. It covers purpose, usage, and parameter intent. However, as a tool that likely performs significant processing, more behavioral context (e.g., idempotency, side effects) would enhance completeness, though the output schema may cover return values.

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?

Parameter count is 1 with 0% schema description coverage. The description adds meaningful semantics: 'Optionally pass specific directory paths to index only those,' explaining that 'paths' parameter controls scoping (full vs. partial indexing). This compensates well for the lack of schema descriptions, though it doesn't specify path format or constraints.

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 verb ('index or re-index') and resource ('all workspace documents into the vector store'), specifying it's for Tessera. It distinguishes from siblings like 'sync_documents' or 'search_documents' by emphasizing full workspace indexing rather than incremental sync or search 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?

Explicitly states when to use: 'when setting up Tessera for the first time, or when you want to rebuild the entire index from scratch.' Also mentions an alternative usage pattern: 'Optionally pass specific directory paths to index only those,' providing clear context for partial vs. full indexing.

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

knowledge_graphA

Build a knowledge graph from indexed documents showing relationships between concepts, decisions, and entities. Returns a Mermaid diagram of the document relationships.

scope: 'project' (single project) or 'all' (entire workspace) max_nodes: limit the number of nodes in the graph (default 30)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
projectNo
scopeNoall
max_nodesNo

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the output format ('Mermaid diagram') and default values for parameters, but lacks details on permissions, rate limits, error conditions, or how the graph is generated (e.g., algorithm, data sources). This is a significant gap for a tool with complex functionality.

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 core purpose in the first sentence, followed by parameter details in a concise list. Every sentence adds value without redundancy, making it efficient and easy to parse.

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?

Given the tool's complexity (building knowledge graphs) and the presence of an output schema (which handles return values), the description is moderately complete. It covers purpose and some parameters but lacks behavioral details like permissions or limitations, which are critical for such a tool. With no annotations, this leaves gaps in understanding how to use it effectively.

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 compensate. It adds meaningful context for 'scope' (explaining 'project' vs. 'all') and 'max_nodes' (default and purpose), but does not cover 'query' or 'project' parameters. Since 2 out of 4 parameters are explained, this partially compensates for the schema gap, though not fully.

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 specific verbs ('Build a knowledge graph') and resources ('from indexed documents'), specifying what it shows ('relationships between concepts, decisions, and entities') and what it returns ('a Mermaid diagram of the document relationships'). It distinguishes itself from sibling tools like 'topic_map' or 'explore_connections' by focusing on document-based relationship visualization.

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 through the mention of 'scope' (project vs. all) and 'max_nodes', suggesting when to adjust parameters, but does not explicitly state when to use this tool versus alternatives like 'topic_map' or 'explore_connections'. No prerequisites or exclusions are provided, leaving usage context somewhat vague.

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

knowledge_statsB

Get knowledge statistics — total memories, category breakdown, tag distribution, growth by month, and date range. A dashboard overview of everything Tessera knows.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what data is retrieved (statistics like total memories, category breakdown) but lacks details on permissions required, rate limits, response format, or potential side effects. For a read-only tool with zero annotation coverage, this leaves significant gaps in understanding its operational 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 concise and front-loaded, with two sentences that efficiently convey the tool's purpose and scope. Every sentence adds value: the first lists specific statistics, and the second provides context as a dashboard overview. There is no redundant or extraneous information.

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 (a read-only statistical summary with 0 parameters), the description is reasonably complete. It outlines the types of statistics returned, and since an output schema exists, it does not need to detail return values. However, without annotations, it could benefit from more behavioral context, such as data freshness or access constraints, to fully inform usage.

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 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description does not need to add parameter semantics, and it appropriately avoids discussing parameters, focusing instead on the output scope. This meets the baseline expectation for a parameterless tool.

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 purpose with a specific verb ('Get') and resource ('knowledge statistics'), listing concrete metrics like total memories, category breakdown, tag distribution, growth by month, and date range. However, it does not explicitly distinguish this from sibling tools like 'provenance_stats' or 'memory_health', which might also provide statistical insights, leaving some ambiguity in differentiation.

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 no guidance on when to use this tool versus alternatives. It mentions 'A dashboard overview of everything Tessera knows,' which implies a broad summary context, but does not specify prerequisites, exclusions, or compare it to other tools like 'provenance_stats' or 'search_analytics' that might offer overlapping or complementary functionality.

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

learnA

Auto-learn: save new knowledge and immediately index it for search. Use this to capture insights, patterns, or facts discovered during conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
tagsNo
sourceNoauto-learn

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?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that knowledge is 'immediately indexed for search', which is useful behavioral context. However, it doesn't address important aspects like whether this is a write operation (implied but not stated), what permissions are needed, whether there are rate limits, what happens on duplicate content, or what the indexing process entails. For a tool that presumably modifies persistent storage, this is inadequate.

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 perfectly concise with two sentences that each earn their place. The first sentence states the core functionality, and the second provides usage context. There's zero wasted language, and the information is front-loaded appropriately.

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 an output schema (which reduces the need to describe return values), no annotations, and relatively simple parameters. The description covers the basic purpose and usage context adequately but lacks important behavioral details for a write operation and provides no parameter guidance. Given the output schema exists, the description is minimally complete but could be significantly improved.

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 schema provides no parameter documentation. The description doesn't mention any parameters at all, failing to explain what 'content', 'tags', or 'source' should contain or their significance. However, with only 3 parameters and one required, the baseline is 3 since the tool is relatively simple despite the lack of parameter guidance in the description.

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 purpose with specific verbs ('save new knowledge', 'index it for search') and identifies the resource ('knowledge'). It distinguishes from siblings by focusing on immediate indexing of discovered insights, unlike tools like 'remember' or 'list_memories'. However, it doesn't explicitly contrast with all similar tools like 'import_memories' or 'ingest_documents'.

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 ('to capture insights, patterns, or facts discovered during conversation'), which helps differentiate it from bulk import or search tools. It doesn't explicitly state when NOT to use it or name specific alternatives, but the context is sufficiently clear for typical usage scenarios.

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

list_memoriesB

List saved memories with optional filtering. Use to browse what Tessera has remembered across sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions 'optional filtering' and 'browse across sessions', it doesn't address key aspects like whether this is a read-only operation, pagination behavior (implied by the 'limit' parameter but not explained), rate limits, authentication requirements, or what constitutes a 'memory' in this context. The description provides minimal behavioral context beyond the basic purpose.

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 appropriately concise with two sentences that are front-loaded with the core purpose. Every word earns its place: the first sentence states what the tool does, and the second provides usage context without redundancy or 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?

Given that there's an output schema (which handles return values), no annotations, and low schema coverage for the single parameter, the description is moderately complete. It covers the basic purpose and usage but lacks details on filtering mechanics, behavioral traits, and parameter specifics. For a tool with one parameter and output schema, it's adequate but has clear gaps in guidance and transparency.

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 mentions 'optional filtering' but doesn't specify what filtering options exist or how they work. The input schema has one parameter ('limit') with 0% schema description coverage, and the description doesn't explain what 'limit' controls or its default value. Since schema coverage is low, the description should compensate more for parameter semantics but only adds vague context about filtering.

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 purpose: 'List saved memories with optional filtering' specifies the verb (list) and resource (memories), and 'browse what Tessera has remembered across sessions' adds helpful context about scope. However, it doesn't explicitly differentiate from sibling tools like 'recall', 'deep_recall', or 'unified_search', which may also involve memory retrieval.

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 provides implied usage guidance with 'Use to browse what Tessera has remembered across sessions', suggesting this is for general browsing rather than targeted recall. However, it doesn't explicitly state when to use this tool versus alternatives like 'recall' or 'search_by_tag', nor does it mention any prerequisites or exclusions.

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

list_plugin_hooksA

List all registered plugin hooks. Shows which events have hooks attached and what scripts/functions will be called. Configure hooks in workspace.yaml under 'hooks:' section.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (listing hooks and their details) and hints at configuration context, but does not disclose traits like whether it requires specific permissions, has rate limits, or what the output format entails. It adds some value but lacks comprehensive behavioral details.

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 core purpose in the first sentence, followed by additional details in a second sentence. Both sentences earn their place by providing essential information without waste, making it 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 complexity (simple listing with no parameters) and the presence of an output schema (which likely covers return values), the description is mostly complete. It explains what the tool does and provides configuration context, but could benefit from more behavioral transparency, such as permissions or output specifics, to be fully comprehensive.

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 0 parameters, and schema description coverage is 100%, so the baseline is 4. The description does not need to add parameter information, as there are none to document, and it appropriately focuses on the tool's function without redundancy.

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 ('List') and resource ('all registered plugin hooks'), and distinguishes it from sibling tools by specifying what it shows ('which events have hooks attached and what scripts/functions will be called'). It avoids tautology by not merely repeating the tool name.

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 ('List all registered plugin hooks') and includes a configuration note ('Configure hooks in workspace.yaml under 'hooks:' section'), which implies usage for setup or verification. However, it does not explicitly state when not to use it or name alternatives among siblings, such as for managing hooks versus listing them.

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

list_projectsB

List all project spaces with memory counts, latest activity, and top tags. Shows how knowledge is distributed across projects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it describes what information is returned, it doesn't address important behavioral aspects like whether this is a read-only operation, if there are rate limits, how results are sorted or paginated, or what permissions might be required. The description only covers output content, not operational 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 perfectly concise with two sentences that each add value. The first sentence specifies exactly what the tool returns, and the second provides higher-level context about knowledge distribution. There's no wasted language 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?

Given that the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description provides good contextual completeness. It explains what information is returned and the purpose of that information. The main gap is lack of behavioral context, but with an output schema handling return values, the description focuses appropriately on the 'why' rather than the 'what' of outputs.

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 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on what the tool returns, which is valuable context for a parameterless operation.

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 verb 'List' and resource 'project spaces' with specific details about what information is included (memory counts, latest activity, top tags). It distinguishes the tool's purpose well, though it doesn't explicitly differentiate from potential sibling tools like 'project_status' or 'knowledge_stats' that might provide related information.

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 no guidance on when to use this tool versus alternatives. With siblings like 'project_status', 'knowledge_stats', and 'list_sources' available, there's no indication of when this specific listing tool is appropriate versus other project or knowledge-related tools.

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

list_sourcesB

List all indexed source files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'List all indexed source files' implies a read-only operation but doesn't specify format, pagination, sorting, or what 'indexed' means operationally. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence with zero wasted words. It's appropriately sized for a simple listing tool and front-loads the essential information without unnecessary elaboration.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete for its complexity level. However, with no annotations and many similar sibling tools, it could benefit from slightly more context about what constitutes 'indexed source files' versus other document types in the system.

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 0 parameters with 100% schema description coverage, so the schema fully documents the absence of parameters. The description appropriately doesn't waste space discussing parameters that don't exist, earning a baseline 4 for parameter semantics.

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 action ('List') and resource ('all indexed source files'), providing specific verb+resource. However, it doesn't differentiate from sibling tools like 'list_memories', 'list_projects', or 'list_plugin_hooks', which follow similar naming patterns for different resources.

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 no guidance on when to use this tool versus alternatives. With many sibling tools like 'search_documents', 'unified_search', and 'find_similar' that might retrieve source-related information, there's no indication of when this specific listing tool is appropriate versus those search/filtering tools.

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

memory_categoriesA

List all memory categories with counts. Categories are auto-detected: decision, preference, fact, reference, context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

With no annotations provided, the description carries the full burden. It discloses that categories are auto-detected and lists the specific types (decision, preference, fact, reference, context), which is useful behavioral context. However, it doesn't mention output format, pagination, sorting, or any limitations like rate limits or permissions required.

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, efficient sentence that directly states the tool's purpose and key details (auto-detected categories). It's front-loaded with the main action and includes no redundant information, making it appropriately sized for a zero-parameter tool.

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 (0 parameters, output schema exists), the description is reasonably complete. It explains what the tool does and the nature of the categories. With an output schema present, the description doesn't need to detail return values, and the lack of annotations is less critical for this read-only listing operation.

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 0 parameters, and schema description coverage is 100%. The description appropriately doesn't discuss parameters, as none exist. This meets the baseline for tools with no parameters, where minimal discussion is expected.

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 verb ('List') and resource ('memory categories'), and specifies that counts are included. It distinguishes this from other memory-related tools by focusing on categories rather than individual memories or searches. However, it doesn't explicitly differentiate from all sibling tools like 'memory_tags' or 'search_by_category'.

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?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention when this tool is appropriate compared to similar tools like 'memory_tags', 'search_by_category', or 'knowledge_stats', nor does it specify prerequisites or exclusions.

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

memory_confidenceA

Analyze confidence scores for all memories. Rates each memory based on repetition (confirmed by other memories), source diversity, recency, and category stability. Returns high-confidence memories you can trust and low-confidence ones that may need review.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it analyzes based on specific criteria (repetition, source diversity, recency, category stability) and returns categorized results (high-confidence vs. low-confidence memories). However, it omits details like rate limits or authentication needs.

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 core purpose in the first sentence and efficiently adds details in the second. Every sentence earns its place by clarifying the analysis method and output, with zero 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?

Given the tool's complexity (analyzing multiple confidence factors), no annotations, and the presence of an output schema (which handles return values), the description is complete enough. It covers the purpose, methodology, and output categories without needing to detail parameters or return formats.

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 0 parameters with 100% schema description coverage, so no parameter information is needed. The description adds value by explaining the analysis criteria and output categories, justifying a score above the baseline of 3 for such cases.

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 specific verbs ('analyze confidence scores', 'rates each memory') and resources ('all memories'), distinguishing it from siblings like 'list_memories' or 'memory_health' by focusing on confidence evaluation rather than listing or health metrics.

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 analyzing memory confidence but does not explicitly state when to use this tool versus alternatives like 'audit_prd' or 'detect_contradictions'. It provides some context (e.g., 'may need review') but lacks clear exclusions or named alternatives.

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

memory_healthA

Analyze memory health: classify all memories as healthy, stale (90+ days old), or orphaned (minimal metadata). Returns a health score, breakdown, recommendations for cleanup, and growth statistics over time.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the analysis behavior and output structure, but lacks details on permissions needed, rate limits, whether it's read-only or mutative, or any side effects. For a tool with no annotations, this leaves significant behavioral 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 a single, dense sentence that efficiently covers purpose, classification, and outputs without waste. It's front-loaded with the core function ('Analyze memory health') and uses clear, structured language.

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 0 parameters, 100% schema coverage, and an output schema (implied by 'Has output schema: true'), the description is mostly complete. It outlines the analysis scope and return values, though it could benefit from more behavioral context (e.g., read-only vs. mutative) to compensate for lack of annotations.

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 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add param info, but that's appropriate here. Baseline is 4 for zero parameters, as it avoids redundancy.

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: 'Analyze memory health' with specific classification criteria (healthy, stale, orphaned) and output components (health score, breakdown, recommendations, growth statistics). It distinguishes from siblings like 'health_check' (generic) and 'suggest_cleanup' (focused on cleanup only) by specifying memory-specific analysis.

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?

No explicit guidance on when to use this tool versus alternatives is provided. It doesn't mention when to choose it over 'health_check' (general health) or 'suggest_cleanup' (cleanup-focused), nor does it specify prerequisites or exclusions. Usage is implied through its description but not articulated.

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

memory_lineageA

Trace the provenance lineage of a memory — where it came from, which session created it, and what parent memories it was derived from.

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYes

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does but lacks details on permissions, rate limits, response format, or potential side effects, which are critical for a tool that traces data lineage.

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, efficient sentence that front-loads the key action ('trace the provenance lineage') and details without any wasted words, making it easy for an agent to parse quickly.

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?

Given the tool's complexity (tracing lineage), no annotations, and an output schema present, the description is minimally adequate. It explains the purpose but lacks behavioral and usage details that would help the agent operate it effectively in context.

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 input schema has 0% description coverage, but the description compensates by implying the 'memory_id' parameter is used to trace lineage. Since there is only one parameter, the baseline is 4, as the description adds meaningful context 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 clearly states the tool's purpose with specific verbs ('trace', 'created', 'derived') and resources ('provenance lineage of a memory'), distinguishing it from siblings like 'list_memories' or 'memory_confidence' by focusing on lineage tracing rather than listing or assessing memories.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare to similar tools like 'provenance_stats' or 'session_interactions', leaving the agent to infer usage context.

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

memory_tagsA

List all unique tags across saved memories with their counts. Useful for browsing memory categories.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but provides minimal behavioral disclosure. It mentions the tool lists tags with counts, but doesn't describe format, ordering, pagination, permissions needed, or whether this is a read-only operation (though implied by 'List'). For a tool with zero annotation coverage, this is insufficient.

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 with zero waste. First sentence states purpose and scope, second provides usage context. Every word earns its place, and the most important information (what the tool does) is front-loaded.

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?

Given the tool has zero parameters, 100% schema coverage, and an output schema exists (so return values are documented elsewhere), the description is reasonably complete. However, for a tool with no annotations, it should provide more behavioral context about what 'List' entails (format, limitations, etc.) to be fully complete.

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, and schema description coverage is 100% (empty schema is fully described). The description appropriately doesn't discuss parameters since none exist. Baseline for zero parameters with complete schema coverage is 4.

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 ('List all unique tags'), the resource ('across saved memories'), and includes additional context ('with their counts'). It distinguishes this tool from siblings like 'search_by_tag' (which likely filters memories by tag) and 'memory_categories' (which might handle different categorization).

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 ('Useful for browsing memory categories'), indicating it's for exploratory analysis rather than targeted search. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the many sibling tools.

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

migrate_dataA

Migrate Tessera data to the latest schema version. Creates a backup before migration. Use dry_run=True to preview changes. Handles v0.6.x through v1.0.0 data format upgrades.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/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 behavioral disclosure. It effectively describes key behaviors: creates a backup before migration (safety measure), supports dry-run mode for previewing changes, and handles specific version upgrades. However, it doesn't mention potential risks, time requirements, or authentication needs.

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 perfectly front-loaded with the core purpose in the first sentence, followed by important behavioral details and usage guidance. Every sentence earns its place: backup creation, dry-run usage, and version scope are all essential information with zero 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?

Given that this is a potentially destructive migration tool with no annotations but with an output schema, the description provides good coverage of purpose, behavior, and parameter usage. It could be more complete by mentioning authentication requirements or potential data loss risks, but the presence of an output schema means return values are documented elsewhere.

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 for the single parameter, the description fully compensates by explaining the purpose and usage of the 'dry_run' parameter: 'Use dry_run=True to preview changes.' This adds crucial semantic meaning beyond the bare schema. The description doesn't mention default values or other parameter details, but with only one parameter, this is sufficient.

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 ('Migrate Tessera data'), target resource ('latest schema version'), and scope ('v0.6.x through v1.0.0 data format upgrades'). It distinguishes itself from siblings by focusing on data migration rather than search, import/export, or status 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?

The description explicitly provides when-to-use guidance: 'Use dry_run=True to preview changes' indicates an alternative mode of operation. It also implies when to use this tool (for schema upgrades) versus other tools that handle different operations like import/export or search.

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

organize_filesA

Organize files in the workspace. action: 'move', 'archive', 'rename', 'list'. Always call suggest_cleanup first and get user confirmation before organizing.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
pathYes
destinationNo
new_nameNo
recursiveNo

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?

With no annotations provided, the description carries the full burden. It discloses the prerequisite workflow (call suggest_cleanup first) and need for user confirmation, which are important behavioral constraints. However, it doesn't describe what 'organize' actually does for each action type, potential side effects, error conditions, or authentication requirements.

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 appropriately concise with two sentences. The first sentence states the purpose and action types, while the second provides critical usage guidelines. No wasted words, though it could be slightly more structured by separating action types from the core purpose.

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?

Given 5 parameters with 0% schema coverage and no annotations, the description is incomplete. It explains the workflow prerequisites well but doesn't cover parameter meanings, return values (though output schema exists), or the actual behavior of different actions. For a multi-action file manipulation tool, this leaves significant 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 compensate. It only mentions the 'action' parameter with its possible values, leaving 4 other parameters (path, destination, new_name, recursive) completely unexplained. The description adds minimal value beyond what the bare schema provides.

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 purpose: 'Organize files in the workspace' with specific actions listed ('move', 'archive', 'rename', 'list'). It distinguishes itself from sibling tools like 'suggest_cleanup' by being the execution tool, but doesn't explicitly differentiate from other file-related tools like 'read_file' or 'view_file_full'.

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 usage guidance: 'Always call suggest_cleanup first and get user confirmation before organizing.' This gives clear prerequisites and when-not-to-use guidance (without prior cleanup suggestion and user confirmation). It also references the sibling tool 'suggest_cleanup' as an alternative/precursor.

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

project_statusA

Get project status including HANDOFF.md, recent changes, and file statistics. Call automatically when asked about project status.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNo

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves status information, implying a read-only operation, but does not specify behavioral traits like permissions needed, rate limits, or whether it's safe to call frequently. The description adds some context about what data is included but lacks details on how it behaves or any constraints.

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 appropriately sized and front-loaded, consisting of two concise sentences that directly state the tool's purpose and usage guidelines without any wasted words. Every sentence earns its place by providing essential information 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?

Given the tool has an output schema (which reduces the need to describe return values) and no annotations, the description covers the basic purpose and usage but lacks details on parameters and behavioral aspects. It is complete enough for a simple status retrieval tool but has gaps in parameter explanation and behavioral transparency, making it adequate but with clear room for improvement.

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 input schema has 1 parameter with 0% description coverage, and the tool description does not mention any parameters. Since schema coverage is low, the description does not compensate by explaining the 'project_id' parameter's purpose or usage. With no parameter information in the description, it meets the baseline for minimal viability but does not add value beyond the schema.

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 purpose with specific details: 'Get project status including HANDOFF.md, recent changes, and file statistics.' It specifies the verb 'Get' and the resource 'project status' along with the specific components retrieved. However, it does not explicitly differentiate from sibling tools like 'list_projects' or 'project_status' alternatives, keeping it from a perfect score.

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: 'Call automatically when asked about project status.' This gives explicit guidance on when to use the tool, indicating it's triggered by user inquiries about project status. However, it does not mention when not to use it or name specific alternatives among siblings, such as 'list_projects' for listing projects without detailed status.

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

provenance_statsA

Get aggregate provenance statistics — how many memories have provenance, breakdown by source type and session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it implies a read-only operation ('Get'), it lacks details on permissions, rate limits, response format, or potential side effects, which is inadequate for a tool with no annotation coverage.

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, efficient sentence that front-loads the core purpose ('Get aggregate provenance statistics') and elaborates with specific details, with no wasted words or redundancy.

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?

Given the tool's complexity (statistical aggregation), no annotations, and an output schema (which handles return values), the description is partially complete. It specifies the statistics scope but lacks behavioral context like permissions or limitations, making it minimally adequate.

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 0 parameters with 100% schema description coverage, so no parameter information is needed. The description adds value by explaining what statistics are returned (e.g., 'breakdown by source type and session'), which goes beyond the empty input 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 clearly states the tool's purpose with a specific verb ('Get') and resource ('aggregate provenance statistics'), and it distinguishes itself from siblings by focusing on provenance-specific metrics (e.g., 'how many memories have provenance, breakdown by source type and session'), unlike tools like 'knowledge_stats' or 'memory_health'.

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 no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare it to similar tools like 'knowledge_stats' or 'memory_health', leaving the agent to infer usage context.

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

read_fileB

Read file contents by absolute path.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool reads files but doesn't mention permissions needed, error handling (e.g., for non-existent paths), output format, or any side effects. This leaves significant gaps in understanding how the tool behaves in practice.

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, efficient sentence with zero wasted words. It's front-loaded with the core purpose and avoids unnecessary elaboration, making it easy to parse quickly.

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?

For a simple read operation with one parameter and an output schema (which handles return values), the description is minimally adequate. However, the lack of annotations and incomplete parameter guidance means it doesn't fully prepare an agent for real-world use, especially regarding error cases or permissions.

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 minimal value beyond the input schema, which has 0% description coverage. It clarifies that 'file_path' should be an absolute path, but doesn't explain path format, supported filesystems, or constraints. Given the low schema coverage, this partial compensation earns a baseline 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 action ('Read file contents') and target resource ('by absolute path'), making the tool's purpose immediately understandable. It doesn't differentiate from sibling tools like 'view_file_full', but the verb+resource combination is specific enough for basic understanding.

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 no guidance on when to use this tool versus alternatives like 'view_file_full' (a sibling tool). There's no mention of prerequisites, limitations, or comparative context, leaving the agent with minimal usage direction.

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

recallA

Search past memories from previous sessions. Call this when the user asks 'what did I say about...', 'do you remember...', or references past conversations.

Supports time filters (since/until as ISO date, e.g. '2026-03-01') and category filter (decision/preference/fact).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
sinceNo
untilNo
categoryNo
projectNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/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 behavioral disclosure. It describes the search functionality and filtering capabilities but doesn't mention important behavioral aspects like whether this is a read-only operation, what permissions are needed, how results are ranked, or what happens when no matches are found. The description adds some context but leaves significant behavioral questions unanswered.

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 efficiently structured with two sentences that each earn their place: the first establishes purpose and usage context, the second explains parameter capabilities. There's no wasted text, and the most important information (what the tool does and when to use it) comes first.

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 (6 parameters, 1 required), no annotations, and the presence of an output schema, the description does a good job covering the essentials. It explains the core functionality, when to use it, and key parameter behaviors. The output schema means return values don't need explanation, but more behavioral context would improve completeness for a search tool with multiple filtering options.

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 well by explaining the semantics of key parameters: it clarifies that 'since/until' are time filters using ISO dates and that 'category' accepts specific values (decision/preference/fact). However, it doesn't explain the 'query', 'top_k', or 'project' parameters, leaving some parameter semantics undocumented.

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 ('Search') and resource ('past memories from previous sessions'). It distinguishes from siblings by focusing on conversational memory recall rather than document search, analytics, or memory management operations present in the sibling list.

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 usage guidance with concrete examples ('when the user asks 'what did I say about...', 'do you remember...', or references past conversations'). This gives clear context for when to invoke this tool versus alternatives like search_documents, deep_search, or unified_search from the sibling list.

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

recent_sessionsA

View summary of recent sessions — when they started, ended, and how many tool calls were made. Useful for understanding usage patterns over time.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates this is a read-only operation ('View summary') but doesn't specify authentication requirements, rate limits, pagination behavior, or what happens when no sessions exist. The description is minimal and lacks important operational context that would help an agent use the tool effectively.

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 perfectly concise with two sentences that each earn their place. The first sentence states the core functionality, and the second provides valuable context about when the tool is useful. There's no wasted language 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?

Given the tool's simple nature (one optional parameter, output schema exists), the description is reasonably complete. The output schema will document return values, so the description doesn't need to explain them. However, for a tool with no annotations, more behavioral context would be beneficial to fully understand operational constraints and expectations.

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 description mentions no parameters, and the input schema has only one optional parameter ('limit') with 0% schema description coverage. Since there are effectively 0 parameters described in either the schema or description, the baseline score is 4. The description doesn't need to compensate for missing parameter documentation since no parameters are essential for tool operation.

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 purpose: 'View summary of recent sessions' with specific details about what information is provided (start time, end time, tool call count). It distinguishes itself from sibling tools by focusing on session summaries rather than memory management, document processing, or other functions. However, it doesn't explicitly differentiate from potential similar session-related tools like 'session_interactions' or 'session_prime'.

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 provides implied usage context by stating it's 'useful for understanding usage patterns over time,' suggesting when this tool would be appropriate. However, it doesn't explicitly state when to use this tool versus alternatives like 'session_interactions' or 'session_prime' (both sibling tools), nor does it mention any prerequisites or exclusions for usage.

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

rememberA

Save a piece of knowledge for cross-session persistence. Use this when the user says 'remember this' or when important decisions, preferences, or facts should be preserved across conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
tagsNo
projectNo

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the tool's core function (saving for persistence) and typical use cases, but lacks details on implementation specifics like storage limits, retrieval mechanisms, error conditions, or authentication requirements. It adds basic context but leaves significant behavioral aspects undocumented.

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 appropriately sized and front-loaded: the first sentence states the core purpose, and the second provides usage guidelines. Both sentences earn their place with no wasted words, making it efficient and well-structured for quick understanding.

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?

Given the tool's moderate complexity (3 parameters, 1 required), no annotations, 0% schema coverage, but with an output schema present, the description is partially complete. It covers the 'what' and 'when' adequately but lacks details on parameters, behavioral constraints, and error handling. The output schema may help with return values, but the description doesn't fully compensate for the missing annotation and parameter documentation.

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 documentation. It doesn't mention any parameters explicitly, though it implies 'content' through 'piece of knowledge' and hints at organization through 'important decisions, preferences, or facts.' However, it doesn't explain the purpose of 'tags' or 'project' parameters, leaving them undocumented. The description adds minimal semantic value beyond the bare schema.

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 purpose: 'Save a piece of knowledge for cross-session persistence.' It specifies the verb ('save') and resource ('knowledge'), but doesn't explicitly differentiate it from sibling tools like 'learn' or 'recall' that might also handle knowledge storage or retrieval.

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: 'Use this when the user says 'remember this' or when important decisions, preferences, or facts should be preserved across conversations.' This gives specific triggers and scenarios, though it doesn't explicitly mention when NOT to use it or name alternatives like 'learn' or 'recall' from the sibling list.

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

review_learnedC

Review recently auto-learned memories. Shows memories created by auto-extract, digest, or session summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'shows' memories, implying a read-only operation, but doesn't clarify aspects like pagination, sorting, authentication needs, rate limits, or what 'recently' means. The description is minimal and lacks critical behavioral details for a tool with an output schema.

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 concise and front-loaded, consisting of two sentences that directly address the tool's purpose. There's no wasted language, though it could be more informative without sacrificing brevity.

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?

Given the tool has an output schema, the description doesn't need to explain return values, but it lacks context for a read operation with one parameter. It specifies the memory sources but omits details like time frames or ordering, making it incomplete for guiding effective use despite the output schema's presence.

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 input schema has one parameter ('limit') with 0% description coverage, and the tool description adds no parameter information. Since there's only one parameter, the baseline is 4, but the description fails to explain what 'limit' controls (e.g., number of memories returned) or its impact, so it doesn't fully compensate for the schema gap.

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 purpose: 'Review recently auto-learned memories' specifies the verb (review) and resource (memories), and 'Shows memories created by auto-extract, digest, or session summary' elaborates on the source of these memories. It distinguishes the tool from siblings like 'list_memories' by focusing on auto-learned content, though it doesn't explicitly contrast with all similar tools.

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 no guidance on when to use this tool versus alternatives. It mentions the source of memories (auto-extract, digest, session summary) but doesn't specify contexts, prerequisites, or exclusions, nor does it reference sibling tools like 'list_memories' or 'deep_recall' for comparison.

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

search_analyticsB

Show search usage analytics: total queries, top queries, zero-result queries, response times, and daily trends. Use for understanding search patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool shows (analytics metrics) but doesn't disclose behavioral traits like whether it's read-only (implied by 'Show' but not explicit), authentication needs, rate limits, data freshness, or output format. For an analytics tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves operationally.

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 appropriately sized and front-loaded: the first sentence clearly states the purpose and key metrics, and the second sentence provides usage guidance. Both sentences earn their place by adding value. It's efficient with zero waste, though it could be slightly more structured (e.g., separating purpose from parameters).

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?

Given the tool's moderate complexity (analytics reporting), no annotations, 1 parameter with low schema coverage, but with an output schema present, the description is partially complete. It explains what the tool does and its use case, but lacks details on behavioral aspects (e.g., read-only nature, data scope) and parameter meaning. The output schema likely covers return values, so that gap is mitigated, but overall completeness is adequate with clear room for improvement.

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 input schema has 1 parameter ('days') with 0% schema description coverage (no description in schema). The tool description doesn't mention any parameters or add meaning beyond what the schema provides. With low schema coverage, the description fails to compensate by explaining the 'days' parameter's role (e.g., time range for analytics). However, since there's only 1 parameter, the baseline is slightly higher, but the lack of parameter semantics in the description limits its helpfulness.

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 purpose: 'Show search usage analytics' followed by specific metrics (total queries, top queries, etc.). It uses a specific verb ('Show') and resource ('search usage analytics'), making the purpose explicit. However, it doesn't distinguish this from potential sibling tools like 'search_documents' or 'unified_search', which might also involve search functionality but serve different purposes.

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 provides implied usage guidance: 'Use for understanding search patterns.' This gives context about when to use the tool (for analytics/insights into search behavior). However, it doesn't explicitly state when not to use it or name alternatives among the many sibling tools (e.g., how this differs from 'search_documents' or 'knowledge_stats'). The guidance is helpful but lacks specificity about tool selection.

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

search_by_categoryA

Search memories by category (e.g. 'decision', 'preference', 'fact'). Use memory_categories first to see available categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
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?

No annotations are provided, so the description carries full burden. It mentions the need to check available categories first, which is useful context about prerequisites. However, it doesn't disclose behavioral traits like whether this is a read-only operation, what the search returns, performance characteristics, or error conditions.

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 perfectly concise with two sentences that each serve a clear purpose: the first states what the tool does, the second provides essential usage guidance. There's zero wasted text and it's front-loaded with the core functionality.

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?

Given that there's an output schema (which handles return values), no annotations, and only one parameter with 0% schema coverage, the description provides basic but incomplete context. It covers the purpose and prerequisite, but lacks behavioral details about how the search works, what results to expect, or error handling.

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 schema provides no parameter documentation. The description adds some semantic meaning by explaining that 'category' should be values like 'decision', 'preference', or 'fact', and references 'memory_categories' for available options. However, it doesn't fully document the parameter's format, constraints, or examples beyond the brief mention.

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 purpose: 'Search memories by category' with examples of categories. It specifies the resource (memories) and action (search), but doesn't distinguish it from sibling tools like 'search_by_tag' or 'unified_search' beyond mentioning the category parameter.

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 guidance: 'Use memory_categories first to see available categories.' This tells the agent when to use this tool (after checking categories) and references a specific sibling tool. However, it doesn't mention when NOT to use it or alternatives like 'search_by_tag' or 'unified_search'.

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

search_by_tagA

Search memories by a specific tag. Use memory_tags first to see available tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the search functionality but lacks details on permissions, rate limits, output format, or error handling. For a search tool with no annotation coverage, this is a significant gap in transparency about how the tool behaves beyond its basic purpose.

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 and front-loaded: two sentences with zero waste. The first sentence states the core purpose, and the second provides essential usage guidance. Every word earns its place, making it easy to parse and understand quickly.

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?

Given the tool's low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is somewhat complete. It covers purpose and basic usage but lacks behavioral details like permissions or error handling. For a simple search tool, this is adequate but has clear gaps in transparency.

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 input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by specifying that the 'tag' parameter is used to 'search memories by a specific tag,' which clarifies the parameter's role. However, it doesn't provide details on tag format, case sensitivity, or examples, leaving some ambiguity.

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 purpose: 'Search memories by a specific tag.' It specifies the verb ('Search') and resource ('memories'), and distinguishes the action (searching by tag) from general searching. However, it doesn't explicitly differentiate from sibling tools like 'search_by_category' or 'unified_search' beyond the 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 provides clear usage guidance: 'Use memory_tags first to see available tags.' This indicates a prerequisite step and suggests when to use this tool (after checking available tags). It doesn't explicitly state when not to use it or name alternatives, but the guidance is practical and context-aware.

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

search_documentsA

Hybrid (semantic + keyword) search across indexed workspace documents (PRDs, decision logs, session logs, etc.). Call this tool first when the user asks about project-related content.

Filter by project ID or doc_type (prd, session_log, decision_log, document).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
projectNo
doc_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the hybrid search approach and filtering options but lacks critical behavioral details: it doesn't specify whether this is a read-only operation, what permissions are required, how results are returned (e.g., format, pagination), or any rate limits. For a search tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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 appropriately sized with two sentences: the first states purpose and usage guidance, the second details filtering options. It's front-loaded with key information and avoids unnecessary fluff, though it could be slightly more structured (e.g., bullet points for filters).

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?

Given the tool's moderate complexity (search with 4 parameters), no annotations, and an output schema (which reduces need to explain returns), the description is partially complete. It covers purpose, usage, and some parameter semantics but lacks behavioral transparency details (e.g., safety, performance). The presence of an output schema helps, but gaps remain for adequate agent understanding.

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 adds meaning by explaining that 'project' filters by project ID and 'doc_type' filters by specific document types (prd, session_log, decision_log, document), which clarifies two of the four parameters. However, it doesn't explain 'query' (though it's self-evident) or 'top_k' (number of results), leaving some parameters inadequately documented.

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 performs 'Hybrid (semantic + keyword) search across indexed workspace documents' and lists specific document types (PRDs, decision logs, session logs, etc.). This provides a specific verb ('search') and resource ('indexed workspace documents'), though it doesn't explicitly differentiate from sibling tools like 'deep_search' or 'unified_search' beyond the hybrid approach mention.

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 states 'Call this tool first when the user asks about project-related content,' providing clear when-to-use guidance. It also mentions filtering capabilities (by project ID or doc_type), which helps define its scope relative to other search tools in the sibling list.

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

session_interactionsB

View what happened in the current or past sessions. Shows tool calls, queries, and results — useful for reviewing what was discussed and decided.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 behavioral disclosure. It mentions the tool shows 'tool calls, queries, and results' but doesn't specify format, pagination behavior (despite a 'limit' parameter), whether it's read-only, or any performance characteristics. For a tool with 2 parameters and output schema, this leaves significant behavioral gaps.

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 efficiently structured in two sentences: the first states the core functionality, the second adds the use case. There's no wasted text, and it's appropriately front-loaded with the main purpose. It could be slightly more concise by integrating the use case into the first sentence.

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?

Given the tool's moderate complexity (2 parameters, output schema exists), the description provides a clear purpose but lacks parameter explanations and detailed behavioral context. The existence of an output schema means the description doesn't need to explain return values, but it should still address how the tool behaves with its parameters. This is minimally adequate but has clear gaps.

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 schema provides no parameter descriptions. The tool description doesn't mention either parameter ('session_id' or 'limit'), so it adds no semantic information beyond what's inferred from the schema's property names and defaults. With 2 parameters completely undocumented, this meets the baseline for adequate but incomplete coverage.

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 purpose: 'View what happened in the current or past sessions' with specific details about what it shows ('tool calls, queries, and results'). It distinguishes itself from siblings like 'recent_sessions' by focusing on session content rather than session listings. However, it doesn't explicitly contrast with other content-review tools like 'digest_conversation' or 'decision_timeline'.

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 provides implied usage context ('useful for reviewing what was discussed and decided'), which suggests when to use it. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the many sibling tools. For example, it doesn't clarify whether this is better than 'digest_conversation' for certain review tasks.

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

session_primeA

Get a session-start context briefing with recent decisions, preferences, active topics, and last session summary. Call this at the beginning of a conversation to prime your context with the user's recent knowledge.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the tool as a read operation ('Get a session-start context briefing'), which implies non-destructive behavior, but lacks details on permissions, rate limits, or response format. It adds some context about priming at conversation start, but behavioral traits are minimally covered.

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 core purpose in the first sentence and usage guidance in the second, with no wasted words. Every sentence adds value, making it efficient and well-structured for quick understanding.

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 moderate complexity (1 parameter, no annotations, but has output schema), the description covers purpose and usage well. However, it lacks details on the 'days' parameter and behavioral aspects like response format, though the output schema mitigates some of this. It's mostly complete but has minor gaps.

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 and 1 parameter, the description does not mention the 'days' parameter at all. However, since there is only one optional parameter with a default, the tool can be used without it, and the description's focus on context priming compensates partially. Baseline is 4 for 0 parameters, but the lack of param info slightly reduces it from 5.

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 specific verbs ('Get a session-start context briefing') and resources ('recent decisions, preferences, active topics, and last session summary'), distinguishing it from siblings like 'recent_sessions' or 'user_profile' by focusing on priming context at conversation start.

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 explicitly states when to use this tool ('Call this at the beginning of a conversation to prime your context') and provides a clear alternative context ('with the user's recent knowledge'), guiding the agent on timing and purpose without ambiguity.

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

smart_suggestB

Get personalized query suggestions based on your past searches and memories. Analyzes patterns to recommend what you might want to explore next.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_suggestionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/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 behavioral disclosure. It mentions the tool analyzes patterns and provides personalized suggestions, but doesn't disclose important behavioral traits like whether this requires authentication, how it accesses past searches/memories, potential rate limits, privacy implications, or what happens when no suggestions are available. The description is insufficient for a tool that presumably accesses user data.

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 perfectly concise with two focused sentences that each earn their place. The first sentence states the core functionality, and the second explains the value proposition. There's zero wasted language or redundancy.

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?

Given the tool's moderate complexity (personalized recommendations based on user data), no annotations, and an output schema that presumably documents return values, the description is incomplete. It doesn't address authentication needs, data access patterns, error conditions, or the nature of the suggestions. The output schema reduces the need to describe return values, but other behavioral aspects remain undocumented.

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 input schema has 0% description coverage, providing only a parameter name and type. The description doesn't mention any parameters at all, so it adds no semantic information beyond what the bare schema provides. With only one optional parameter and an output schema present, this is minimally adequate but leaves the 'max_suggestions' parameter completely unexplained in natural language.

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 purpose: 'Get personalized query suggestions based on your past searches and memories' with the specific verb 'Get' and resource 'personalized query suggestions'. It distinguishes itself from siblings like 'search_documents' or 'unified_search' by focusing on personalized recommendations rather than direct searching. However, it doesn't explicitly contrast with similar tools like 'suggest_cleanup' or 'explore_connections'.

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 ('based on your past searches and memories') and suggests when to use it ('recommend what you might want to explore next'), but doesn't provide explicit guidance on when to choose this tool over alternatives like 'suggest_cleanup' or 'explore_connections'. No exclusions or prerequisites are mentioned.

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

suggest_cleanupB

Generate cleanup suggestions for the workspace. Detects root-level files, backup files, large files, empty directories. Call this tool first when cleanup is requested.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what the tool detects, it doesn't describe how suggestions are generated, whether they're actionable, what permissions are needed, or what the output format looks like. For a tool that analyzes workspace content, more behavioral context would be helpful.

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 with just two sentences that efficiently convey the tool's purpose and primary usage guideline. Every word earns its place, and the information is front-loaded with the core functionality stated first.

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?

Given that there's an output schema (which means return values are documented elsewhere), the description covers the basic purpose and usage timing adequately. However, for a tool that analyzes workspace content, more context about what constitutes 'cleanup suggestions' and how they're presented would be beneficial, especially with no annotations and an undocumented parameter.

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 input schema has 1 parameter with 0% description coverage, and the tool description provides no information about the 'path' parameter. The description doesn't explain what the path parameter does, whether it's optional (it has default: null), or how it affects the cleanup suggestions. With low schema coverage, the description fails to compensate for the undocumented parameter.

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 purpose: 'Generate cleanup suggestions for the workspace' with specific detection targets (root-level files, backup files, large files, empty directories). It distinguishes from siblings by focusing on cleanup suggestions rather than other operations like search, import, or organization. However, it doesn't explicitly differentiate from 'organize_files' which might have some overlap.

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 guidance on when to use this tool: 'Call this tool first when cleanup is requested.' This gives clear context for its primary use case. However, it doesn't specify when NOT to use it or mention alternatives among the many sibling tools, particularly 'organize_files' which might be relevant for file management.

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

sync_documentsA

Incrementally sync the index with your workspace. Only processes new, changed, or deleted files since the last sync. Much faster than full ingestion. Run this when you've updated some documents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/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 behavioral disclosure. It effectively describes key traits: it's an incremental operation (not full), processes only new/changed/deleted files, is performance-optimized ('Much faster'), and triggers based on document updates. However, it doesn't mention potential side effects, error conditions, or authentication needs, leaving some behavioral aspects uncovered.

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 highly concise and front-loaded, with three sentences that each add value: the first explains the incremental sync operation, the second highlights performance benefits, and the third provides usage guidance. There is no wasted text 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?

Given the tool's complexity (a sync operation with performance implications), no annotations, and an output schema present (which handles return values), the description is mostly complete. It covers purpose, usage, and key behavioral traits but lacks details on error handling, side effects, or prerequisites, which could be important for safe invocation.

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 0 parameters with 100% schema description coverage, so the baseline is 4. The description adds no parameter-specific information (as there are none), which is appropriate and doesn't detract from the score.

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 specific verbs ('sync', 'processes') and resources ('index', 'workspace', 'files'), and distinguishes it from the sibling tool 'ingest_documents' by emphasizing incremental vs. full processing. It explicitly mentions the scope of operations (new, changed, or deleted files since last sync).

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 guidance on when to use this tool ('Run this when you've updated some documents') and contrasts it with an alternative approach ('Much faster than full ingestion'), helping the agent choose between this and sibling tools like 'ingest_documents' for document updates.

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

tessera_statusA

Show Tessera server health: tracked files, sync history, index size, cache stats, and watcher status. Call this when asked about server status or troubleshooting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only operation by using 'show,' but doesn't disclose behavioral traits like permissions needed, rate limits, or response format. The description adds value by listing what health metrics are included, but lacks details on execution constraints.

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?

It is front-loaded with the core purpose in the first sentence and includes a usage guideline in the second, with zero wasted words. Each sentence earns its place by providing essential information 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?

Given the tool's simplicity (0 parameters, output schema exists), the description is complete enough for its purpose. It covers what the tool does and when to use it, though it could benefit from more behavioral context, which is mitigated by the output schema handling return values.

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 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add param info, but this is acceptable given the absence of inputs, warranting a baseline score above minimum viable.

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 verb ('show') and resource ('Tessera server health'), listing concrete components like tracked files, sync history, index size, cache stats, and watcher status. It distinguishes from siblings by focusing on server-level diagnostics rather than memory, search, or project 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?

It explicitly states when to use the tool: 'when asked about server status or troubleshooting.' This provides clear context for invocation, distinguishing it from other health-related tools like 'health_check' or 'memory_health' by specifying server-level focus.

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

toggle_auto_learnA

Toggle or check auto-learning status. When enabled, Tessera automatically extracts decisions, preferences, and facts from conversations. Call without arguments to check status.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/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 behavioral disclosure. It explains that enabling auto-learning causes Tessera to 'automatically extract decisions, preferences, and facts from conversations,' which adds useful context about what the feature does. However, it doesn't mention potential side effects, permissions needed, or rate limits, leaving some behavioral aspects unclear.

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 core purpose, followed by specific usage instructions. Both sentences earn their place by providing essential information without redundancy, 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 that there is an output schema (which handles return values), no annotations, and a simple parameter structure, the description is reasonably complete. It covers purpose, usage, and parameter behavior adequately, though additional details on error conditions or system impacts could enhance completeness for a toggle operation.

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 schema description coverage is 0%, so the description must compensate. It effectively explains the parameter semantics: the 'enabled' parameter is optional (call without arguments to check status), and when provided, it toggles the auto-learning status. This adds meaningful context beyond the bare schema, though it could specify what 'null' means more explicitly.

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 specific verbs ('toggle or check') and resource ('auto-learning status'), and distinguishes it from siblings by specifying its unique function of managing Tessera's auto-learning feature, which none of the listed sibling tools address.

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 provides explicit guidance on when to use the tool: 'Call without arguments to check status' indicates the default behavior, and the presence of an 'enabled' parameter implies it can be used to toggle the status. This clearly differentiates it from alternatives like 'learn' or 'extract_decisions' which perform different functions.

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

topic_mapB

Generate a topic map showing how your knowledge is organized. Clusters memories by shared keywords and shows topic distribution. Use format='mermaid' for a visual Mermaid mindmap diagram.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNotext

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool generates a topic map and clusters memories, but doesn't disclose behavioral traits like whether it's read-only or mutative, authentication needs, rate limits, or what the output looks like beyond the format hint. The description adds minimal context beyond the basic action.

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 appropriately sized and front-loaded: two sentences with zero waste. The first sentence states the purpose, and the second provides specific parameter guidance. Every sentence earns its place without redundancy.

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?

Given the tool has an output schema (which handles return values), the description's job is reduced. However, with no annotations and minimal parameter coverage, it lacks completeness in behavioral context (e.g., safety, performance). It adequately covers purpose and one parameter, but for a tool that likely involves data processing, more disclosure would be helpful.

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 input schema has 1 parameter with 0% description coverage, and the description compensates by explaining the 'output_format' parameter: 'Use format='mermaid' for a visual Mermaid mindmap diagram.' This adds meaning beyond the schema, clarifying that 'mermaid' is a valid value for visual output, though it doesn't detail other possible formats or defaults.

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 purpose: 'Generate a topic map showing how your knowledge is organized. Clusters memories by shared keywords and shows topic distribution.' It specifies the verb ('generate'), resource ('topic map'), and what it does (clusters memories by keywords, shows distribution). However, it doesn't explicitly differentiate from siblings like 'knowledge_graph' or 'explore_connections', which might have overlapping functions.

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 provides some implied usage guidance: 'Use format='mermaid' for a visual Mermaid mindmap diagram.' This suggests when to use a specific parameter value for visual output. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'knowledge_graph' or 'explore_connections'), and doesn't mention prerequisites or exclusions.

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

user_profileB

View your user profile — preferences, decisions, top topics, language preference, tool usage patterns, and knowledge areas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 behavioral disclosure. While 'View' implies a read-only operation, it doesn't specify authentication requirements, data freshness, rate limits, or what happens when no profile exists. For a tool accessing personal user data with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence that front-loads the core action ('View your user profile') followed by a comprehensive but concise list of data categories. Every element earns its place by specifying what information the user can expect to see. There's no wasted language or redundancy.

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?

Given that the tool has zero parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete for its purpose. However, as a data retrieval tool with no annotations, it should ideally mention whether this returns real-time or cached data, authentication requirements, or data format. The existence of an output schema reduces but doesn't eliminate the need for some behavioral context.

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, and schema description coverage is 100% (empty schema is fully described as having no parameters). The description appropriately doesn't discuss parameters since none exist. It earns a 4 because it correctly focuses on what the tool returns rather than trying to explain non-existent inputs.

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 purpose with 'View your user profile' and lists specific data categories (preferences, decisions, top topics, etc.). It distinguishes itself from sibling tools by focusing on personal user data rather than system operations or content management. However, it doesn't explicitly differentiate from potential similar tools like 'session_interactions' or 'recent_sessions' that might also contain user data.

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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or when other tools might be more suitable. Among the many sibling tools, there's no indication of how this fits into a workflow or when it should be selected over similar tools that might access user data.

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

vault_statusA

Check vault encryption status. When TESSERA_VAULT_KEY is set, memories are encrypted at rest using AES-256-CBC. All encryption is local — no cloud, no external services.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

With no annotations provided, the description carries full burden and adds valuable behavioral context: it discloses that encryption uses AES-256-CBC, is local-only (no cloud/external services), and operates at rest. This clarifies security and operational traits beyond basic functionality.

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 core purpose in the first sentence, followed by concise technical details (encryption method and locality) that add necessary context without waste, making every sentence earn 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 simplicity (0 parameters, output schema exists), the description is nearly complete: it explains what the tool does and key behavioral aspects. A slight deduction as it doesn't hint at output format or potential status states, though the output schema may cover this.

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 0 parameters with 100% schema description coverage, so no parameter information is needed. The description appropriately avoids redundant details, earning a baseline score above 3 for not over-explaining nonexistent inputs.

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 ('Check') and resource ('vault encryption status'), distinguishing it from siblings like 'tessera_status' or 'memory_health' by focusing on encryption rather than general system or memory health.

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?

Usage is implied through the description of encryption conditions ('When TESSERA_VAULT_KEY is set'), but there's no explicit guidance on when to use this tool versus alternatives or what scenarios warrant checking vault status, leaving some ambiguity.

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

view_file_fullA

Return full contents of a file as a structured view. CSV → markdown table, XLSX → tables per sheet, MD → raw text, DOCX → paragraphs. Use when the user wants to see the complete file, not just search results.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the tool's behavior by describing output transformations per file type, which is valuable. However, it lacks details on error handling, file size limits, or authentication needs, leaving gaps for a mutation-like read operation.

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: first explains the tool's function with specific examples, second provides usage guidance. Every word earns its place, with no redundancy or fluff, making it highly 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?

Given 1 parameter, no annotations, and an output schema exists (so return values needn't be explained), the description is mostly complete. It covers purpose, usage, and behavioral traits, but could improve by addressing potential errors or limitations for a file-reading 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?

Schema description coverage is 0%, but the description compensates by implying the single parameter 'file_path' is used to locate the file for content extraction. It doesn't detail path formats or constraints, but for a tool with 0 parameters documented in schema, this adds meaningful context 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 clearly states the verb ('Return full contents') and resource ('a file'), specifying it provides a 'structured view' and listing exact format conversions (CSV→markdown table, XLSX→tables per sheet, MD→raw text, DOCX→paragraphs). It distinguishes from sibling 'read_file' by emphasizing 'complete file' versus 'not just search results'.

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 states 'Use when the user wants to see the complete file, not just search results,' providing clear when-to-use guidance. It implies an alternative (search-based tools) without naming specifics, but the context is sufficient for agent decision-making.

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. 20 tool updatesv1.0.1
    • Addedassign_memory_project
    • Addeddeep_recall
    • Addeddeep_search
    • Addeddetect_contradictions
    • Addedexport_for_ai
    • Addedexport_knowledge
    • Addedimport_conversations
    • Addedimport_from_ai
    • Addedlist_plugin_hooks
    • Addedlist_projects
    • Addedmemory_confidence
    • Addedmemory_health
    • Addedmemory_lineage
    • Addedmigrate_data
    • Addedprovenance_stats
    • Changedrecall1 field changed
      • addedInput schema / properties / project
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Project"
        +}
    • Changedremember1 field changed
      • addedInput schema / properties / project
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Project"
        +}
    • Addedsession_prime
    • Addeduser_profile
    • Addedvault_status
  2. 40 tool updatesv1.0.0
    • Addedaudit_prd
    • Addedcheck_document_freshness
    • Addedcontext_window
    • Addeddecision_timeline
    • Addeddigest_conversation
    • Addedexplore_connections
    • Addedexport_memories
    • Addedextract_decisions
    • Addedfind_similar
    • Addedforget_memory
    • Addedhealth_check
    • Addedimport_memories
    • Addedingest_documents
    • Addedknowledge_graph
    • Addedknowledge_stats
    • Addedlearn
    • Addedlist_memories
    • Addedlist_sources
    • Addedmemory_categories
    • Addedmemory_tags
    • Addedorganize_files
    • Addedproject_status
    • Addedread_file
    • Addedrecall
    • Addedrecent_sessions
    • Addedremember
    • Addedreview_learned
    • Addedsearch_analytics
    • Addedsearch_by_category
    • Addedsearch_by_tag
    • Addedsearch_documents
    • Addedsession_interactions
    • Addedsmart_suggest
    • Addedsuggest_cleanup
    • Addedsync_documents
    • Addedtessera_status
    • Addedtoggle_auto_learn
    • Addedtopic_map
    • Addedunified_search
    • Addedview_file_full

TDQS

B3.3/5.0
Disambiguation2/5

Many tools have overlapping purposes that could cause confusion. For example, deep_search and deep_recall both perform multi-angle searches but target documents vs. memories, while unified_search combines both; search_documents, search_by_category, search_by_tag, and find_similar all search with different filters; and export_for_ai, export_knowledge, and export_memories all export data in various formats. The descriptions help clarify, but the sheer number of overlapping tools makes disambiguation challenging.

Naming Consistency4/5

Tool names follow a consistent snake_case pattern throughout, with clear verb_noun structures (e.g., assign_memory_project, audit_prd, check_document_freshness). There are minor deviations like context_window (noun_noun) and health_check (noun_verb), but overall the naming is predictable and readable.

Tool Count2/5

With 58 tools, the count is excessive for a knowledge management server, leading to bloat and potential confusion. Many tools could be consolidated (e.g., multiple export/search variants) without losing functionality. This overwhelms the scope and makes the toolset feel heavy and difficult to navigate.

Completeness5/5

The toolset provides comprehensive coverage for knowledge management, including ingestion (import/ingest), storage (remember/assign), retrieval (search/recall), analysis (detect_contradictions/knowledge_graph), export (various formats), and maintenance (health_check/cleanup). It supports full CRUD operations on memories and documents, with no obvious gaps in the domain's lifecycle.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that transforms codebases into knowledge graphs using Neo4J, enabling AI assistants to understand code structure, relationships, and metrics for more context-aware assistance.
    27
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides advanced document search and processing capabilities through vector stores, including PDF processing, semantic search, web search integration, and file operations. Enables users to create searchable document collections and retrieve relevant information using natural language queries.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time indexing and semantic search of local documents (PDF, Word, text, Markdown, RTF) using vector embeddings and local LLMs. Monitors folders for changes and provides natural language search capabilities through Claude Desktop integration.
    21
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Turns Claude Desktop into a personal document question-answering system using local vector search. Index PDF, TXT, and Markdown documents into collections and get answers based strictly on your documents with zero hallucination.
    12
    -

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/besslframework-stack/project-tessera'

If you have feedback or need assistance with the MCP directory API, please join our Discord server