TDZ C64 Knowledge
This MCP server provides a comprehensive knowledge management and analysis platform for Commodore 64 documentation, offering 92 tools for ingestion, search, AI-powered insights, visualization, and more.
Document Management: Add, organize, and remove PDFs, text, Markdown, HTML, Excel files, and scraped web content. Bulk operations, duplicate detection, metadata extraction, backup, and restore are supported.
Advanced Search & Retrieval: Full-text (FTS5), semantic, hybrid, fuzzy, and faceted searches. Search within tables, code, figures, and progressively refine results. RAG-based question answering with citations, similar document discovery, and natural language query translation.
AI-Powered Content Analysis: Automatically extract entities (hardware, memory addresses, instructions, people, etc.), their relationships, and co-occurrence. Auto-generate tags, summaries (brief/detailed/bullet), and compare documents. Detect anomalies in monitored content.
Knowledge Graph & Topic Modeling: Build interactive knowledge graphs, compute PageRank, detect communities, find paths, and visualize. Train LDA, NMF, and BERTopic models; cluster documents with K-Means, DBSCAN, HDBSCAN; generate word clouds and other visualizations.
Temporal Analysis: Extract events (releases, milestones) from documents, build interactive timelines, search events by date, and retrieve historical context.
Figure & OCR Tools: Extract text from embedded images in PDFs and search within figures, memory maps, and diagrams.
Web Content Management: Recursively scrape websites, re-scrape pages for updates, and monitor all scraped content for changes and anomalies.
Export & System Utilities: Export documents, entities, and results to CSV, JSON, or Markdown. Perform health checks, view knowledge base statistics, and manage tags by category.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TDZ C64 KnowledgeSearch for VIC-II sprite registers and their memory addresses"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TDZ C64 Knowledge
MCP server for managing and searching Commodore 64 documentation. Ingest PDFs, text, Markdown, HTML, Excel, and web pages into a searchable knowledge base accessible via Claude Code or other MCP clients.
🚀 Quick Start
# 1. Install
python -m venv .venv
.venv\Scripts\activate
pip install -e .
# 2. Configure Claude Code
claude mcp add tdz-c64-knowledge -- .venv\Scripts\python.exe server.py
# 3. Add documents
.venv\Scripts\python.exe cli.py add-folder "C:\c64docs" --tags reference --recursive
# 4. Search via Claude Code
# Ask: "Search the C64 docs for VIC-II sprite registers"See QUICKSTART.md for detailed setup.
Related MCP server: ragi
Features
Search & Retrieval
FTS5 full-text search - 480x faster queries (50ms vs 24s)
Semantic search - Find by meaning, not keywords (e.g., "movable objects" → "sprites")
RAG question answering - Answer questions by synthesizing docs with citations
Fuzzy search - Typo tolerance ("VIC2" → "VIC-II", "asembly" → "assembly")
Progressive refinement - Search within results to narrow down
Hybrid search - Combines keyword + semantic with configurable weighting
Similarity search - Discover related documentation automatically
Query preprocessing - NLTK stemming and stopword removal
Smart tagging - AI-powered tag suggestions by category
Table/code search - Search extracted tables and code blocks
Document Management
Multi-format - PDF, TXT, MD, HTML, Excel, web scraping, and (optional
markitdownextra) DOCX, PPTX, EPUB, CSV, JSON, XML - install withpip install -e ".[markitdown]"; disable at runtime withTDZ_MARKITDOWN=0even when installed. PDF and ZIP (HVSC SID archives) never route through markitdown - seedocs/ARCHITECTURE.md's "Extending File Type Support" for why.Duplicate detection - Content-based deduplication
Chunked retrieval - Get specific sections without loading entire docs
Metadata extraction - Author, subject, page numbers
Persistent index - Documents stay indexed between sessions
AI-Powered Features
Entity extraction - Extract hardware, memory addresses, instructions, concepts (5000x faster with C64 regex patterns)
Relationship mapping - Co-occurrence analysis with distance-based strength scoring
Document comparison - Side-by-side analysis with similarity scores
Natural language query translation - Parse queries into structured search parameters
Anomaly detection - ML-based baseline learning for URL-sourced content (3400+ docs/second)
Temporal analysis - Event detection, timeline construction, historical context (5 event types, 8 date formats)
Advanced visualizations - 3D knowledge graphs, hierarchical bundling, Sankey flow diagrams
Wiki Export (NEW in v2.23.15)
Static HTML wiki - Export entire knowledge base to browsable website
Document similarity map - 2D visualization using UMAP/t-SNE dimensionality reduction
Interactive timeline - Horizontal scrollable timeline with zoom levels and event filters
Knowledge graph - D3.js force-directed graph (178 entities, 20 relationships)
Enhanced UI - Explanation boxes, prominent ASK AI button, file type detection
Clickable clusters - Browse k-means clusters with linked documents
No server required - Pure client-side JavaScript, works offline
Full-text search - Fuse.js powered search across all content
See WIKI_EXPORT_GUIDE.md for usage
REST API (Optional)
18 endpoints - Full CRUD, search, analytics, export
OpenAPI/Swagger docs - Interactive API at
/api/docsAPI authentication - Secure via X-API-Key header
See docs/REST_API.md for details
Performance
Scalability - Tested to 5,000+ documents
Concurrent throughput - 5,712 queries/sec (10 workers)
Lazy loading - 100k+ document support
Search caching - 50-100x speedup for repeated queries
Installation (Windows)
Prerequisites
Python 3.10+ - https://python.org (check "Add Python to PATH")
uv (recommended) or pip:
pip install uv
Setup
cd C:\Users\YourName\mcp-servers\tdz-c64-knowledge
# Using uv (faster)
uv venv
.venv\Scripts\activate
uv pip install mcp pypdf rank-bm25 nltk
# Or using pip
python -m venv .venv
.venv\Scripts\activate
pip install mcp pypdf rank-bm25 nltk
# Test
python server.py # Press Ctrl+C to stopConfiguration
Claude Code
claude mcp add tdz-c64-knowledge -- C:\path\.venv\Scripts\python.exe C:\path\server.pyOr add to .claude/settings.json:
{
"mcpServers": {
"tdz-c64-knowledge": {
"command": "C:\\path\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\server.py"],
"env": {
"TDZ_DATA_DIR": "C:\\c64-knowledge-data"
}
}
}
}Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"tdz-c64-knowledge": {
"command": "C:\\path\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\server.py"],
"env": {
"TDZ_DATA_DIR": "C:\\c64-knowledge-data"
}
}
}
}Environment Variables
Variable | Description | Default |
| Database directory |
|
|
|
|
| Bind address for the HTTP transport |
|
| Port for the HTTP transport |
|
| Comma-separated API keys; shared with the REST API. Required to bind the HTTP transport off loopback | (unset) |
|
|
|
|
| (unset) |
| Set to |
|
| Enable FTS5 search (recommended) |
|
| Enable semantic search |
|
| Sentence-transformers model |
|
| Enable BM25 fallback |
|
| Enable NLTK preprocessing |
|
| Enable fuzzy search |
|
| Fuzzy similarity (0-100) |
|
| Enable OCR for scanned PDFs |
|
| Tesseract exe or its directory, when not on PATH | (unset) |
| Max cached results |
|
| Cache TTL (seconds) |
|
| Document directory whitelist | None |
| Words per encoder window when building embeddings (0 = whole chunk, no windowing) |
|
| Word overlap between consecutive embedding windows |
|
| Token budget for |
|
|
|
|
| Rank-fusion damping constant for |
|
| Rerank hybrid/semantic results with a cross-encoder |
|
| Cross-encoder model for reranking |
|
| First-stage candidates fed to the reranker |
|
| Check |
|
| Max characters per cited source shown to the grounding check |
|
| Use a local NLI cross-encoder for claim verification instead of a second LLM call |
|
| Cross-encoder model for NLI-based claim verification |
|
| Max input tokens for the NLI model |
|
Search Features
FTS5 Full-Text Search (Recommended)
Enable with USE_FTS5=1 for maximum performance:
480x faster than BM25
Native SQLite BM25 ranking
Porter stemming tokenizer
Semantic Search
Enable with USE_SEMANTIC_SEARCH=1:
Meaning-based search (e.g., "movable objects" finds "sprites")
FAISS vector similarity with sentence-transformers
~7-16ms per query after embeddings built
Pre-build embeddings:
pip install sentence-transformers faiss-cpu
Phrase Search
Use double quotes for exact phrases:
search_docs(query='"VIC-II chip" registers')Fuzzy Search
Handles typos automatically with USE_FUZZY_SEARCH=1:
"VIC-I" → "VIC-II" (83% similarity)
"grafics" → "graphics" (88% similarity)
Configurable threshold (default: 80%)
OCR for Scanned PDFs
Automatic with USE_OCR=1:
Detects scanned PDFs (< 100 chars extracted)
Uses Tesseract OCR
Install:
pip install pytesseract pdf2image Pillow+ Tesseract binary~1-2 seconds per page
Temporal Analysis & Visualizations
Extract events, construct timelines, and visualize knowledge graphs.
Event Detection
Automatically detect significant events in documents:
5 Event Types - Product releases, company milestones, technical innovations, cultural events, version updates
8 Date Formats - Full dates, month-year, year ranges, decades, parenthetical dates
Confidence Scoring - Pattern matching with proximity-based confidence (0.0-1.0)
Entity Association - Automatically link entities to events
# Extract events from a document
result = kb.extract_document_events('doc_id', min_confidence=0.7)
# Returns: event_count, filtered_count, stored_count, events listTimeline Construction
Build chronological timelines with flexible querying:
Automatic Timeline Building - Chronologically sorted by date (YYYYMMDD integer sort)
Category Organization - Group by decade-type combinations (e.g., "1980s-release")
Importance Levels - 1-5 scale based on confidence
Date Range Filtering - Query events by year range, type, importance
# Build timeline from events
timeline_result = kb.build_timeline(min_confidence=0.5)
# Query timeline
timeline = kb.get_timeline(start_year=1980, end_year=1989, min_importance=3)
# Get historical context
context = kb.get_historical_context(year=1982, context_years=2)Interactive Visualizations
Generate interactive HTML visualizations with Plotly and NetworkX:
Timeline Visualizations:
Interactive Timeline - Horizontal timeline with zoom/pan, color-coded by event type
Event Network - Spring layout showing event relationships
Trend Charts - Multi-subplot dashboard (bar chart, stacked area, cumulative line)
Advanced Graph Visualizations:
3D Knowledge Graph - Interactive 3D entity-relationship graph with rotation controls
Hierarchical Bundling - Circular layout with curved edges bundled through center
Sankey Diagrams - Topic flow over time (decade or year grouping)
# Generate visualizations
kb.visualize_timeline(start_year=1980, end_year=1990, output_path="timeline.html")
kb.visualize_knowledge_graph_3d(max_entities=50, output_path="graph_3d.html")
kb.visualize_hierarchical_bundling(max_entities=30, output_path="bundling.html")
kb.visualize_topic_flow_sankey(time_period='decade', output_path="flow.html")MCP Tools for Timeline
4 timeline-specific MCP tools:
extract_document_events- Extract and store events from documentsget_timeline- Query chronological timeline with filterssearch_events_by_date- Search events by date range and typeget_historical_context- Get events around a specific year
See PHASE3_TEMPORAL_ANALYSIS.md for complete documentation.
Tools
95 MCP tools organized by category. Key tools listed below.
Search Tools
search_docs - Full-text search
search_docs(query="SID register", max_results=5, tags=["sid"])semantic_search - Meaning-based search
semantic_search(query="How do sprites work?", max_results=5)hybrid_search - Combined keyword + semantic
hybrid_search(query="SID chip", semantic_weight=0.7, max_results=10)answer_question - RAG-based Q&A with citations
answer_question(
question="How do I program sprites on the VIC-II?",
max_sources=5,
search_mode="auto"
)search_figures - Search text OCR'd out of document figures
search_figures(query="raster interrupt", max_results=10)Finds content that exists only inside images - memory-map diagrams, register tables, pinout drawings - which plain document search cannot reach. Requires a figure-OCR pass first (see below).
Figure OCR Tools
Ingest-time OCR only runs on PDFs detected as entirely scanned. A normal text PDF gets its text layer indexed while its embedded figures are never read - and in C64 documentation those figures are often where the reference data actually lives. These tools run a background batch pass over PDFs already in the knowledge base, extracting each embedded image and OCRing it into searchable text stored separately from the document's own text.
batch_ocr_figures - Queue the whole knowledge base
batch_ocr_figures(limit=50, reprocess=false)Returns immediately; work proceeds on the background worker.
ocr_document_figures - Queue one document
ocr_document_figures(doc_id="89d0943d6009")figure_ocr_status - Coverage and pending-job report
figure_ocr_status()get_document_figures - List one document's figures with OCR text
get_document_figures(doc_id="89d0943d6009", with_text_only=true)Requires PyMuPDF, Tesseract, and USE_OCR=1. Note this path does not
need Poppler - it rasterizes with PyMuPDF rather than pdf2image, unlike the
scanned-page OCR fallback. figure_ocr_status reports exactly what is missing
if the feature is unavailable. If Tesseract is installed but not on PATH,
point TESSERACT_PATH at the executable or its directory. Tuning:
TDZ_FIGURE_MIN_WIDTH, TDZ_FIGURE_MIN_HEIGHT (ignore images too small to be
figures) and TDZ_FIGURE_MIN_CHARS (discard OCR noise).
By default only embedded images are read. Typeset manuals usually draw their
schematics, memory maps and timing diagrams as vector paths, which embed no
image at all - set TDZ_FIGURE_RASTERIZE_PAGES=1 to also render each page's
drawing regions (at TDZ_FIGURE_RASTER_DPI, default 200) and OCR those. Only
the clustered drawing regions are rendered, never the whole page: a full-page
render would OCR the body text a second time on top of what the PDF's own text
layer already contributed. Clusters covering more than
TDZ_FIGURE_RASTER_MAX_AREA (default 0.9) of the page are treated as borders
and skipped. Each row records its source (embedded or vector).
Rasterizing is much more expensive per page, so pair it with
TDZ_FIGURE_OCR_WORKERS (default 1): OCR blocks in a tesseract subprocess
rather than in Python, so a pool scales roughly with core count.
fuzzy_search - Typo-tolerant search
fuzzy_search(query="VIC2 asembly", similarity_threshold=80)search_within_results - Progressive refinement
# Broad search, then refine
results = search_docs(query="VIC-II", max_results=50)
refined = search_within_results(results, "sprite collision", max_results=5)find_similar - Find related documents
find_similar(doc_id="abc123", max_results=5)Document Management
add_document - Add a file
add_document(
filepath="C:/docs/c64_ref.pdf",
title="C64 Programmer's Reference",
tags=["reference", "memory-map"]
)add_documents_bulk - Bulk import
add_documents_bulk(
directory="C:/c64docs",
pattern="**/*.{pdf,txt}",
tags=["reference"],
recursive=true
)list_docs - List all documents
get_chunk - Get specific chunk
get_chunk(doc_id="abc123", chunk_id=5)remove_document - Remove a document
remove_documents_bulk - Bulk remove by IDs or tags
remove_documents_bulk(tags=["outdated"])check_updates - Check for file changes
check_updates(auto_update=false)URL Scraping
scrape_url - Scrape documentation website
scrape_url(
url="https://www.c64-wiki.com/wiki/VIC",
tags=["wiki"],
depth=2,
threads=5
)rescrape_document - Re-scrape for updates
rescrape_document(doc_id="abc123", force=false)check_url_updates - Check all scraped docs
check_url_updates(auto_rescrape=false, check_structure=true)AI & Analytics
extract_entities - Extract named entities
extract_entities(doc_id="abc123", confidence_threshold=0.6)search_entities - Search across entities
search_entities(query="VIC-II", entity_types=["hardware"])get_entity_analytics - Comprehensive entity statistics
extract_entity_relationships - Extract co-occurrences
extract_entity_relationships(doc_id="abc123", min_strength=0.3)search_entity_pair - Find docs with entity pair
search_entity_pair(entity1="VIC-II", entity2="sprite")compare_documents - Side-by-side comparison
compare_documents(doc_id_1="abc", doc_id_2="def", comparison_type="full")suggest_tags - AI-powered tag suggestions
suggest_tags(doc_id="abc123", confidence_threshold=0.6)get_tags_by_category - Browse tags by category
translate_query - Parse natural language queries
translate_query(query="find sprites on VIC-II chip")Export Tools
export_entities - Export to CSV/JSON
export_entities(format="csv", output_path="entities.csv", min_confidence=0.7)export_relationships - Export relationships
export_relationships(format="json", output_path="rels.json", min_strength=0.5)System
kb_stats - Knowledge base statistics
health_check - System diagnostics
Data Storage
SQLite database with 22 tables:
documents - Document metadata
chunks - Chunked content (1500 words, 200 overlap)
document_tables - Extracted PDF tables
document_code_blocks - Detected code blocks
document_entities - Extracted entities
entity_relationships - Co-occurrence tracking
Plus: summaries, extraction_jobs, monitoring_history, etc.
Benefits:
Lazy loading (metadata at startup, chunks on-demand)
ACID transactions
Scalable to 100k+ documents
FTS5 full-text indexes
Default location: ~/.tdz-c64-knowledge or TDZ_DATA_DIR
Usage Examples
Ask Claude Code:
"Search the C64 docs for SID voice registers"
"What does the memory map say about $D400?"
"Find information about sprite multiplexing"
"Add C:/docs/mapping_the_c64.pdf with tags memory-map, reference"
"How do I program raster interrupts on the VIC-II?" (uses RAG)
Suggested Tags
Organize docs with consistent tags:
reference,memory-map,basic,assemblysid,vic-ii,cia,kernalhardware,disk,graphics,sound
Troubleshooting
"pypdf not installed" - Run: pip install pypdf rank-bm25
"mcp module not found" - Run: pip install mcp
Server not responding - Use Python from virtual environment, not system Python
PDF extraction issues - Use OCR or add plain text version
BM25 issues - Check logs in TDZ_DATA_DIR/server.log, try USE_BM25=0
Development
Testing
pip install -e ".[dev]"
# Run all tests
pytest test_card_updates.py test_pdf_viewer.py -v
# With coverage
pytest test_card_updates.py -v --cov=server --cov-report=termTest Coverage:
test_card_updates.py- Card upsert/supersede semantics and chunk cleanup on removetest_pdf_viewer.py- PDF viewer support (requires PyMuPDF)
A larger suite (35 files) lives under archive/tests/ but is not currently wired into CI. CI
itself only runs test_card_updates.py; test_pdf_viewer.py is included above for local runs
but requires PyMuPDF (pip install -e ".[dev]" covers it).
CI/CD
GitHub Actions workflow tests on Python 3.10/3.11/3.12 across Windows/Linux/macOS with Ruff code quality checks.
Documentation
Core Documentation
README.md (this file) - Installation, features, tools, usage
QUICKSTART.md - Fast setup guide (5 minutes)
ARCHITECTURE.md - Technical deep dive, database schema, algorithms
CONTEXT.md - Project status, quick stats, version history
CLAUDE.md - Quick reference for Claude Code integration
CHANGELOG.md - Complete version history
Feature Documentation
Browse docs/ for detailed guides on specific features:
API & Integration:
REST API - FastAPI REST server (18 endpoints)
AI-Powered Features:
Entity Extraction - Extract hardware, memory addresses, instructions
Anomaly Detection - ML-based URL content monitoring
Summarization - AI-powered document summarization
Data Sources:
Web Scraping - Scrape documentation websites
Web Monitoring - Track URL-sourced content changes
Setup & Deployment:
Deployment Guide - Production deployment
Docker Setup - Docker configuration
Environment Setup - Environment variables
Poppler Setup - Poppler installation for PDFs
User Interfaces:
GUI Guide - Streamlit web interface
Development:
Testing Guide - Test suite and CI/CD
Examples - Usage examples and performance analysis
Monitoring Setup - Scheduled monitoring configuration
Roadmap - Future improvements and features
Version History
v2.23.0 - RAG Question Answering & Advanced Search (Phase 2 Complete)
RAG-based answer_question with citations
Fuzzy search with rapidfuzz
Progressive search refinement
Smart tagging system
v2.22.0 - Search Improvements (Phase 1 Complete)
Enhanced entity analytics
C64-specific regex patterns (5000x faster)
Performance optimizations
v2.21.0 - Anomaly Detection
ML-based baseline learning
1500x performance improvement
v2.18.0 - REST API & Background Processing
FastAPI REST server (18 endpoints)
Background entity extraction
v2.15.0+ - Entity Intelligence
Entity extraction, relationships, analytics
See CONTEXT.md for complete version history.
License
MIT License - Use freely for your retro computing projects!
Available Tools
83 toolsadd_documentC
Add a PDF or text file to the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | Full path to the PDF or text file | |
| title | No | Document title (optional, defaults to filename) | |
| tags | No | Tags for categorization (e.g., 'memory-map', 'sid', 'basic', 'assembly') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It states 'add' but does not explain side effects (e.g., triggers entity extraction, overwrites existing, requires permissions) or return behavior, which is insufficient for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and three parameters, the description should hint at what the tool returns (e.g., document ID or success message) and address edge cases like duplicate handling or file size limits. It lacks these details, making it incomplete for a file-adding tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds marginal value by confirming file types (PDF/text) matching the schema's 'Full path to PDF or text file', but it does not elaborate on how title and tags are used or provide additional semantic context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add' and the resource 'PDF or text file to the knowledge base', distinguishing it from siblings like add_documents_bulk (bulk) and scrape_url (from URL). However, it does not explicitly indicate it handles single documents only, which could be inferred but is not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as add_documents_bulk or scrape_url. No mention of prerequisites like file existence or permissions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_documents_bulkA
Add multiple documents from a directory at once. Supports glob patterns for file matching.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to search for documents | |
| pattern | No | Glob pattern (default: **/*.{pdf,txt}) | **/*.{pdf,txt} |
| tags | No | Tags to apply to all documents (optional) | |
| recursive | No | Search subdirectories (default: true) | |
| skip_duplicates | No | Skip files with duplicate content (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the action (adding documents) and a feature (glob patterns). There is no mention of whether the operation is reversible, permission requirements, or potential side effects. Given the lack of annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences that convey the core functionality without extraneous details. Every word earns its place, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has 5 parameters, no output schema, and no annotations, the description is moderately complete. It covers the primary operation and a key feature but lacks details on return values, error scenarios, or performance considerations for bulk operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds minimal value beyond the schema, merely restating the glob pattern feature. It does not provide additional context for parameters like 'tags' or 'skip_duplicates' that isn't already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'add' and resource 'multiple documents from a directory'. It also highlights a key feature 'Supports glob patterns for file matching'. This effectively distinguishes it from the sibling 'add_document' tool, which likely handles single documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for bulk adding from a directory but does not explicitly state when to use this tool versus alternatives like 'add_document'. There is no mention of when not to use it or any prerequisites. Guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_graph_pagerankB
Calculate PageRank scores for entities in the knowledge graph. PageRank identifies the most 'important' or 'central' entities based on their connections. Higher scores indicate entities that are more connected and influential in the knowledge network.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter graph to specific entity types (optional) | |
| min_occurrences | No | Minimum entity occurrences (default: 2) | |
| top_n | No | Number of top entities to return (default: 20) | |
| alpha | No | Damping parameter for PageRank (default: 0.85) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should disclose behavioral traits. Only mentions it calculates scores, nothing about side effects (read-only), permissions, or performance implications. For a graph analysis tool, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no filler. All words add value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description does not specify return format (list of entities with scores?). Lacks details on result structure, which is critical for a computation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for all 4 parameters. Description adds conceptual value (explaining PageRank importance) but no additional parameter-level details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb-resource pair ('Calculate PageRank scores for entities') and states purpose (identify important entities). However, does not distinguish from sibling tool 'calculate_graph_centrality' which may overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like calculate_graph_centrality or other analytics tools. Missing context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
answer_questionA
Answer questions about C64 documentation using RAG (Retrieval-Augmented Generation). Synthesizes information from multiple sources with citations. Returns answer text with source references and confidence score.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question to answer about C64 documentation | |
| max_sources | No | Maximum number of documentation sources to use for context (default: 5) | |
| search_mode | No | Search strategy to use (default: auto for intelligent selection) | auto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: RAG-based synthesis from multiple sources, and returns answer text with source references and confidence score. It sufficiently explains what the tool does, though it could mention potential limitations like accuracy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff; first sentence states purpose and method, second covers output. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, method, and output details (answer text, source references, confidence score). No output schema is present, but the description compensates. Adequate for a QA tool with 3 well-documented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context about using RAG, synthesizing from multiple sources, and returning citations/confidence, which enriches understanding beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Answer questions about C64 documentation using RAG', specifying a specific verb and resource. It distinguishes itself from sibling search tools by mentioning RAG and synthesis from multiple sources with citations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for answering questions with citations, but does not explicitly state when to use it over alternatives like search_docs or semantic_search, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_tag_allA
Bulk auto-tag multiple documents using AI. Analyzes content and suggests relevant tags for all documents (or subset). Useful for initial organization or re-tagging collections. Can skip already-tagged documents and limit processing count. Requires LLM configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| confidence_threshold | No | Minimum confidence to accept tag (0.0-1.0, default: 0.7) | |
| max_tags | No | Maximum tags per document (default: 10) | |
| append | No | If true, append to existing tags; if false, replace (default: true) | |
| skip_tagged | No | If true, skip documents that already have tags (default: true) | |
| max_docs | No | Maximum number of documents to process (optional, for testing or rate limiting) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses AI analysis and LLM requirement, but does not explicitly confirm that tags are written to documents (though implied by 'auto-tag'). No mention of performance impacts, rate limits, or nondestructive nature. With no annotations, description carries full burden, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is four sentences, each carrying essential information. No filler or redundancy. Front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description adequately explains what the tool does and its options. However, it does not describe what the tool returns (e.g., count of tagged documents) and assumes prior knowledge of LLM configuration. Minor gap for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides 100% coverage for all 5 parameters with detailed descriptions. The description adds no additional parameter-specific meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it performs bulk auto-tagging using AI, analyzing content and suggesting tags for multiple documents. Distinguishes from siblings like auto_tag_document by specifying 'Bulk' and 'multiple documents'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: initial organization or re-tagging collections, and notes ability to skip already-tagged and limit count. Lacks explicit when-not-to-use or alternative tool references, but overall guides appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_tag_documentA
Automatically generate tags for a document using AI analysis. Analyzes document content and suggests relevant tags across categories: hardware (sid, vic-ii), programming (assembly, basic), document type (tutorial, reference), and difficulty level (beginner, advanced). Requires LLM configuration (set LLM_PROVIDER and API key).
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to tag | |
| confidence_threshold | No | Minimum confidence to accept tag (0.0-1.0, default: 0.7) | |
| max_tags | No | Maximum number of tags to suggest (default: 10) | |
| append | No | If true, append to existing tags; if false, replace (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses the use of AI analysis and the need for LLM config, but does not explain whether tags are saved, return format, or side effects like modifying the document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, with the first sentence stating the core purpose and the second adding relevant details. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify what the tool returns (e.g., list of tags, success status). It only says 'suggests relevant tags' without specifying output format or if tags are persisted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions. The tool description adds extra context about the categories of tags, which the schema lacks, thus providing additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: automatically generate tags for a document using AI analysis. It specifies the types of tags (hardware, programming, etc.) and distinguishes from siblings like auto_tag_all by focusing on a single document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a prerequisite (LLM configuration) but does not explicitly state when to use this tool versus alternatives like suggest_tags. There is no guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_knowledge_graphB
Build a knowledge graph from entities and relationships in the C64 knowledge base. The graph represents entities as nodes and their relationships as weighted edges. Use this to understand the structure of knowledge and find connections between concepts.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter to specific entity types (e.g., ['person', 'product', 'hardware']). Omit for all types. | |
| min_occurrences | No | Minimum entity occurrences to include (default: 2) | |
| min_relationship_strength | No | Minimum relationship strength 0.0-1.0 (default: 0.3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It does not disclose whether the graph is built on-the-fly, cached, or modifies underlying data. It also omits potential side effects, permissions needed, or performance implications. This is a significant gap for a tool that likely requires computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and free of extraneous information. Every word contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex (3 parameters, no output schema) but the description does not explain what the output looks like (e.g., format, structure of nodes and edges). Agents need to know the return value to use results. This is a serious omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% – all three parameters are described in the input schema. The description does not add any meaning beyond the schema's descriptions (e.g., 'entity_types' is already explained). It meets the baseline expectation but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool constructs a knowledge graph from entities and relationships, and explains the graph representation (nodes and weighted edges). This clearly distinguishes it from sibling tools that analyze or compute metrics on graphs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests using the tool to understand knowledge structure and find connections, but does not specify when to prefer this over alternatives like analyze_graph_pagerank or detect_graph_communities. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_graph_centralityA
Calculate centrality measures for entities in the knowledge graph. Returns betweenness, closeness, and degree centrality. These measures identify entities that bridge different parts of the graph, are close to all others, or have many connections.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter graph to specific entity types (optional) | |
| min_occurrences | No | Minimum entity occurrences (default: 2) | |
| top_n | No | Number of top entities per measure (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It states the output (returns three centrality measures), but does not mention if the tool is read-only, any preconditions (e.g., graph must be built), or performance implications. Partially adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences, no filler. Front-loaded with purpose, then details. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 optional parameters and no output schema, the description covers the essential behavior (what it computes and returns). Minor gap: does not mention prerequisite that a graph must exist, but otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions (100% coverage), so the description adds little beyond restating the output. The baseline of 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'calculate' and resource 'centrality measures for entities in the knowledge graph'. Specifically names the three measures (betweenness, closeness, degree), distinguishing it from sibling tools like 'analyze_graph_pagerank' or 'compute_graph_metrics'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains what the measures identify ('entities that bridge different parts...'), giving implicit usage context, but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_updatesA
Check all indexed documents for updates. Detects files that have been modified since indexing and optionally re-indexes them automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| auto_update | No | Automatically re-index changed documents (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the tool detects modified files and can automatically re-index them. However, it lacks detail on whether the check operation is purely read-only or has side effects, what 'detects' means in terms of scanning, and any permission requirements. Since no annotations are provided, the description falls short of fully disclosing behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences with no extraneous information. It front-loads the core purpose and follows with the optional behavior, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers the main functionality and the key option. It lacks some detail on the detection process, but overall it provides sufficient context for an agent to understand what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'auto_update' is fully described in the schema with a default and description. The tool description adds little beyond the schema, merely restating the optional re-indexing behavior. Baseline 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks all indexed documents for updates and optionally re-indexes them. It uses specific verbs ('check', 'detects', 're-indexes') and identifies the resource ('indexed documents'). It distinguishes itself from sibling tools like 'check_url_updates' by specifying 'all indexed documents'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives. With many sibling tools like 'add_document', 'remove_document', and 'rescrape_document', the description does not indicate when checking for updates is appropriate or when other tools should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_url_updatesB
Check all URL-sourced documents for updates by comparing Last-Modified headers. Detects when source URLs have been modified since last scrape.
| Name | Required | Description | Default |
|---|---|---|---|
| auto_rescrape | No | Automatically re-scrape changed URLs (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description explains the detection mechanism (comparing Last-Modified headers) but does not detail what happens after detection (e.g., whether it triggers rescraping automatically, status reporting, or side effects like updating internal state). With no annotations, the burden is higher; partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences packed with essential information: purpose, method, and detection capability. No redundant words; well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no mention of return value (e.g., what data is returned, whether it's a list of updated documents or a boolean). Missing details on behavior when auto_rescrape is enabled, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with a clear description of 'auto_rescrape'. The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it checks all URL-sourced documents for updates using Last-Modified headers. The verb 'check' and resource 'URL-sourced documents' are specific and distinguish from sibling tools like 'check_updates' (likely different resource) and 'scrape_url' (action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'check_updates' or 'rescrape_document'. Does not specify prerequisites or when not to use it. Implied usage from purpose but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cluster_documents_dbscanA
Cluster documents using DBSCAN (density-based) algorithm. Automatically discovers clusters and identifies outliers. Does not require specifying number of clusters.
| Name | Required | Description | Default |
|---|---|---|---|
| eps | No | Maximum distance between samples (default: 0.5) | |
| min_samples | No | Minimum samples in neighborhood (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description discloses that the tool discovers clusters and identifies outliers, and that it's density-based. It does not mention any side effects, performance, or prerequisites for using the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Every word adds value. Very concise and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain what the tool returns (e.g., cluster assignments, outlier flags). Given the complexity of clustering, more detail on output would be helpful. However, it covers the algorithmic behavior adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for eps and min_samples. The description adds algorithmic context but no additional meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it clusters documents using DBSCAN, mentions density-based, automatic cluster discovery, and outlier identification. It distinguishes from sibling like cluster_documents_kmeans by noting it doesn't require specifying number of clusters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a key differentiator (no need to specify number of clusters) which implies when to use over kmeans. However, it doesn't explicitly state when not to use or mention alternatives like HDBSCAN, though sibling list includes multiple clustering methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cluster_documents_hdbscanB
Cluster documents using HDBSCAN (hierarchical density-based) algorithm. Advanced clustering that handles varying densities. Automatically discovers clusters and outliers.
| Name | Required | Description | Default |
|---|---|---|---|
| min_cluster_size | No | Minimum samples per cluster (default: 5) | |
| min_samples | No | Minimum samples in neighborhood (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden. It notes 'automatically discovers clusters and outliers' but omits details like computational cost, parameter sensitivity, or pre-processing requirements (e.g., need for document embeddings).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two effective sentences: first defines the tool, second lists advantages. It is concise without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is adequate but lacks critical context such as required input format (e.g., embeddings), output structure, or prerequisites. It covers the core purpose but is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond what the schema already provides for min_cluster_size and min_samples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Cluster documents using HDBSCAN' and highlights key features (handles varying densities, discovers clusters and outliers), but does not explicitly differentiate from sibling tools like dbscan or kmeans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use HDBSCAN versus its alternatives (e.g., DBSCAN, k-means). The description mentions 'advanced clustering' and 'handles varying densities' but does not give concrete scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cluster_documents_kmeansC
Cluster documents using K-Means algorithm on embeddings. Partitions documents into K clusters. Returns cluster assignments and silhouette score.
| Name | Required | Description | Default |
|---|---|---|---|
| num_clusters | No | Number of clusters (default: 10) | |
| random_state | No | Random seed (default: 42) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the return of assignments and silhouette score, but it does not state whether the operation mutates data, requires pre-existing embeddings, or how the input documents are selected. This is insufficient for an agent assessing side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are concise and front-loaded with the core purpose. However, it could incorporate additional details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain the return format and prerequisites. It fails to mention that embeddings must exist or what 'documents' refers to. The agent lacks key context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond the schema, which already describes the two optional parameters with defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it clusters documents using K-Means on embeddings, partitions into K clusters, and returns assignments and silhouette score. However, it does not differentiate from sibling clustering tools like DBSCAN or HDBSCAN, which are also present on the server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use K-Means versus other clustering algorithms, nor any prerequisites or exclusions. The description is purely functional without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_documentsA
Compare two documents side-by-side with similarity scoring, metadata diff, content diff, and entity comparison. Perfect for finding differences between document versions, comparing related documents, or analyzing document similarity. Returns comprehensive comparison with cosine similarity score (0.0-1.0).
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id_1 | Yes | First document ID to compare | |
| doc_id_2 | Yes | Second document ID to compare | |
| comparison_type | No | Type of comparison: 'full' (all), 'metadata' (metadata + entities), 'content' (metadata + similarity + diff) | full |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states that the tool returns a comparison with a cosine similarity score, indicating a read-only operation. However, it does not explicitly confirm non-destructive behavior, mention authentication needs, or describe any side effects. The lack of explicit read-only assertion is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with three sentences. The first sentence states the core action, the second provides use cases, and the third mentions the output format. Every sentence adds value without redundancy. It is well-structured and front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-faceted comparison) and the absence of annotations and output schema, the description only partially covers what the agent needs. It explains the comparison types and output metric but does not detail the full return structure (e.g., format of diffs, entity lists). The description provides sufficient context for basic use but lacks completeness for advanced understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 3 parameters (100% coverage). The tool description does not add substantial new meaning beyond summarizing the comparison types. For instance, the schema already explains the 'comparison_type' enum values. With full schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool compares two documents side-by-side with specific features (similarity scoring, metadata diff, content diff, entity comparison). It clearly identifies the action (compare documents) and the output (comprehensive comparison with cosine similarity). This distinguishes it from siblings like 'find_similar' which only finds similar documents without detailed comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear use cases: 'finding differences between document versions, comparing related documents, or analyzing document similarity.' However, it does not explicitly state when to avoid this tool or mention alternatives among siblings (e.g., 'find_similar' or 'get_summary'), leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_graph_metricsA
Compute comprehensive graph analysis metrics including PageRank (importance), betweenness centrality (bridge nodes), degree centrality (connections), and community detection. Returns detailed metrics for all entities and graph-level statistics. Metrics are stored in the database for later retrieval.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter graph to specific entity types | |
| min_occurrences | No | Minimum entity occurrences for graph building | |
| min_relationship_strength | No | Minimum relationship strength | |
| store_results | No | Store computed metrics to database |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that metrics are stored in the database if store_results is true, but does not explicitly state that this is a write operation or mention other behavioral traits like performance impact, rate limits, or whether the tool modifies existing data. With no annotations, more transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each serving a purpose: stating what metrics are computed, describing the return value, and noting storage behavior. It is concise without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description states 'Returns detailed metrics for all entities and graph-level statistics' which is adequate but vague. It does not specify the format or structure of the returned metrics. A more detailed explanation of the output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are fully described in the input schema (100% coverage). The description does not add any additional meaning or context beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes comprehensive graph metrics including PageRank, betweenness centrality, degree centrality, and community detection. It specifies return of detailed metrics for all entities and graph-level statistics, and distinguishes from siblings like analyze_graph_pagerank or calculate_graph_centrality which likely compute single metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like analyze_graph_pagerank or calculate_graph_centrality. The description does not mention prerequisites, trade-offs, or scenarios where a simpler tool would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_backupA
Create a backup of the knowledge base. Backs up database and embeddings to a zip file. Use this regularly for data safety and before making major changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dest_dir | Yes | Destination directory for backup | |
| compress | No | Whether to compress backup to zip file (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions that a backup is created and compressed to a zip file, but does not specify if it overwrites existing backups, required permissions, or any side effects. Basic behavior is clear but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with purpose, and each sentence adds value. No wasted words; highly concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers purpose, usage advice, and basic behavior. It could include what happens if the backup file already exists, but overall it is sufficiently complete for a simple backup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for both parameters. The description adds minimal value beyond the schema, only tying 'zip file' to the compress parameter. Baseline 3 is appropriate as the schema already documents parameters well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool creates a backup of the knowledge base, including database and embeddings to a zip file. However, it does not differentiate from the sibling tool 'restore_backup' or other backup-related tools, leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use this regularly for data safety and before making major changes.' This guides the agent on when to invoke the tool, but lacks guidance on when not to use or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_anomaliesA
Detect anomalies in URL monitoring history. Analyzes patterns to identify unusual update frequencies, performance degradation, or unexpected content changes. Returns anomalies with severity scores (normal/minor/moderate/critical) based on learned baselines.
| Name | Required | Description | Default |
|---|---|---|---|
| min_severity | No | Minimum severity level to include ('normal', 'minor', 'moderate', 'critical', default: 'moderate') | moderate |
| days | No | Number of days of history to analyze (default: 7) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States it analyzes patterns and returns severity scores based on learned baselines, but does not disclose if it modifies data, requires specific permissions, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and result. No extraneous information; efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains return values (severity scores). Lacks mention of read-only nature or prerequisites, but overall adequate for a simple detection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, providing clear parameter details. Description adds context about severity scores and analysis but does not significantly augment schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies detecting anomalies in URL monitoring history, analyzing patterns for unusual frequencies, performance degradation, or content changes. Distinguished from siblings as no other tool mentions anomaly detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus alternatives. Implies use for URL monitoring analysis but lacks contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_graph_communitiesB
Detect communities (clusters) in the knowledge graph. Communities are groups of entities that are more densely connected to each other than to the rest of the graph. This helps identify topic clusters and thematic groupings.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter graph to specific entity types (optional) | |
| min_occurrences | No | Minimum entity occurrences (default: 2) | |
| algorithm | No | Detection algorithm: 'louvain' (best for large graphs), 'label_propagation' (fast), or 'greedy_modularity' | louvain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only defines communities but does not mention whether the tool is read-only, performance implications, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema and annotations; description does not specify return value or behavior details. Minimal contextual completeness for a tool with these inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all three parameters with descriptions (100% coverage). The description adds no extra meaning beyond high-level context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it detects communities/clusters in the knowledge graph and explains what communities are. However, it does not differentiate from sibling tools like 'detect_anomalies' or 'calculate_graph_centrality'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for identifying topic clusters but provides no explicit guidance on when to use this tool vs. alternatives, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
entity_statsB
Get statistics about extracted entities in the knowledge base. Shows breakdown by type, top entities, and documents with most entities. Useful for understanding the knowledge base content.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_type | No | Filter statistics by entity type (optional, shows all types if omitted) |
TDQS
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 does not disclose behavioral traits such as read-only nature, computational cost, or potential side effects. The description only states what it shows, not how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The primary function is stated first, followed by a brief use case. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one optional parameter, no output schema), the description is adequate but does not explain the return format or structure. For a stats tool, it could specify what the output looks like (e.g., JSON with counts).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described optional enum parameter. The description adds no additional meaning beyond the schema, simply restating that it shows breakdown by type. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves statistics about extracted entities, including breakdown by type, top entities, and documents with most entities. The verb 'Get' and resource 'statistics about extracted entities' are specific, and it distinguishes from sibling tools like 'get_top_entities' and 'kb_stats'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says 'Useful for understanding the knowledge base content,' which is vague. No explicit guidance on when to use this tool versus alternatives like 'get_entity_analytics' or 'kb_stats', nor any mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_documents_bulkA
Export metadata for multiple documents in JSON, CSV, or Markdown format. Useful for creating reports, backups, or sharing document lists.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_ids | No | List of document IDs to export (optional, defaults to all or filtered by tags) | |
| tags | No | Export documents with any of these tags (optional) | |
| format | No | Export format (default: json) | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing the disclosure burden on the description. The description implies a read operation ('export metadata') but does not explicitly state safety, side effects, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the main action, no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not describe the output structure, return type (file, string, etc.), or any pagination/limitations, leaving the agent uncertain about what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the tool description adds minimal new parameter meaning. It mentions available formats (matching the schema enum) but does not clarify what 'metadata' includes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports metadata for multiple documents in three formats (JSON, CSV, Markdown), distinguishing it from sibling export tools that handle entities, relationships, or other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives use cases ('reports, backups, sharing document lists') but does not explicitly differentiate this tool from alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_entitiesA
Export all extracted entities to CSV or JSON format. Includes entity text, type, confidence scores, document counts, and occurrence counts. Useful for data analysis, reporting, or importing into other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format: 'csv' or 'json' | csv |
| entity_types | No | Filter by entity types (e.g., ['hardware', 'instruction']). Leave empty for all types. | |
| min_confidence | No | Minimum confidence threshold (0.0-1.0) | |
| output_path | No | Optional file path to save export (if not provided, returns as string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description lacks details on output behavior (e.g., returns string vs saves file), potential data size limits, or side effects. Only states what it exports, not how.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: action/format, content, usage. No filler, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers purpose and parameters but omits important context like output structure, export limits, or behavior when output_path is omitted. Missing detail for a potentially large dataset export.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions (format, entity_types, min_confidence, output_path). Description adds no extra parameter insight beyond listing exported fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it exports entities to CSV or JSON, lists included fields (text, type, confidence, etc.), and distinguishes from sibling extract/export tools by specifying entity data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides use cases (data analysis, reporting, importing) but fails to explicitly differentiate from sibling export tools like export_relationships or export_results, or advise when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_relationshipsA
Export all entity relationships to CSV or JSON format. Includes entity pairs, types, relationship strength scores (0.0-1.0), and document counts. Perfect for network analysis, visualization, or data export.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format: 'csv' or 'json' | csv |
| min_strength | No | Minimum relationship strength (0.0-1.0) | |
| entity_types | No | Filter by entity types (applies to either entity in pair). Leave empty for all types. | |
| output_path | No | Optional file path to save export (if not provided, returns as string) |
TDQS
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 tool as an export operation (likely read-only) but does not explicitly state that it is non-destructive, nor does it discuss side effects, limits (e.g., large data volume), or performance characteristics. The description provides basic behavior but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, with no wasted words. The first sentence states the core action and output, the second provides included data fields, and the third suggests use cases. It is front-loaded and efficiently communicates essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description covers the main purpose, output formats, filtering options, and file saving. It is largely complete for a straightforward export tool. However, it could mention potential size limitations or that it exports 'all' relationships, which might be implicit but important for large datasets. The absence of output schema is acceptable as the description implies the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the existing schema descriptions; it merely restates that format can be 'csv' or 'json', min_strength ranges from 0.0 to 1.0, entity_types filters, and output_path is optional. No additional context is provided for nuanced use, so the score remains at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (export), resource (entity relationships), and output formats (CSV or JSON). It lists included data (entity pairs, types, strength scores, document counts) and provides a use case (network analysis, visualization, data export), effectively distinguishing it from sibling export tools like export_entities or export_documents_bulk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'perfect for network analysis, visualization, or data export,' giving some usage context. However, it does not mention when not to use it, nor does it guide the agent to compare with alternatives like get_entity_relationships or export_entities. This lack of exclusions and alternative selection guidance leaves room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_resultsA
Export search results to various formats (markdown, json, html). Use this to save search results for offline use, sharing, or creating custom reference guides.
| Name | Required | Description | Default |
|---|---|---|---|
| results | Yes | Search results array (from any search method) | |
| format | No | Export format | markdown |
| query | No | Optional query string to include in export |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It correctly implies a read-only export operation, but does not explicitly state that no data is modified, or detail any permissions or constraints, which is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and contains no redundant or irrelevant information. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 parameters and no output schema, the description covers the basics of purpose and use cases. However, it lacks information about the return format or potential errors, which would be beneficial given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with clear parameter descriptions. The tool description adds no additional semantic value beyond what the schema provides, so a score of 3 is appropriate as the schema already explains the parameters sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports search results to markdown, json, or html formats. It specifies the verb 'export' and the resource 'search results', which is distinct from sibling export tools that handle documents or entities directly, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides use cases ('save for offline use, sharing, or creating custom reference guides') but does not compare to alternative export tools like export_documents_bulk or export_entities, which limits guidance on when to prefer this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_document_eventsB
Extract temporal events from a document (product releases, company milestones, technical innovations, cultural events). Detects event patterns and dates, then stores to database.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to extract events from | |
| min_confidence | No | Minimum confidence threshold (0.0-1.0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral traits. It discloses the tool stores to database (a write operation), but lacks details on whether it is destructive, permissions needed, rate limits, or error handling. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (24 words), front-loads the main action, and includes illustrative examples. Every phrase is informative with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a clear purpose, the description omits critical context: no output schema, so the return type (e.g., job ID or status) is unspecified. No mention of side effects, prerequisites, or performance impact. Incomplete for a mutation tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters well-described. The description does not add extra meaning beyond the schema (e.g., does not elaborate on doc_id or min_confidence). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: extracting temporal events (with concrete examples like product releases, milestones) from a document. This distinguishes it from siblings like 'extract_entities' (which extracts named entities) and 'search_events_by_date' (which queries already extracted events).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, such as 'search_events_by_date' for querying events or other extraction tools. No explicit when-to-use, when-not-to-use, or references to siblings are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_entitiesA
Extract named entities from a C64 document using AI. Identifies hardware (SID, VIC-II, CIA, 6502), memory addresses ($D000), assembly instructions (LDA, STA), people, companies, products, and technical concepts. Returns entities with type, confidence score, and context. Requires LLM configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to extract entities from | |
| confidence_threshold | No | Minimum confidence to include entity (0.0-1.0, default: 0.6) | |
| force_regenerate | No | Force re-extraction even if entities already exist (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description hints at caching via 'force_regenerate' parameter and mentions AI usage, but does not disclose read/write behavior, side effects, or rate limits. Behavioral traits are partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main action, efficient and no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists. Description mentions return fields (type, confidence, context) but omits structure details (e.g., nested objects, arrays). For a complex AI extraction tool, more output specification is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds general context about entity types and output structure but does not add meaningful parameter-specific semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it extracts named entities from C64 documents, lists specific entity categories (hardware, memory addresses, etc.), and mentions output fields (type, confidence, context). It distinguishes from siblings like extract_entities_bulk and extract_entity_relationships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Notes 'Requires LLM configuration' but does not explicitly state when to use this tool vs. alternatives (e.g., bulk extraction, queueing). Lacks explicit 'when not to use' or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_entities_bulkA
Bulk extract entities from multiple documents in the knowledge base. Processes documents in batch, skips documents that already have entities (unless force_regenerate). Returns statistics about processed documents and extracted entities.
| Name | Required | Description | Default |
|---|---|---|---|
| confidence_threshold | No | Minimum confidence to include entity (0.0-1.0, default: 0.6) | |
| force_regenerate | No | Force re-extraction even if entities already exist (default: false) | |
| max_docs | No | Maximum number of documents to process (optional, for testing) | |
| skip_existing | No | Skip documents that already have entities (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states batch processing and skipping behavior, which are useful, but does not disclose whether entities are persisted, any destructive actions, or rate limits. The description is adequate but leaves some behavioral aspects implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and contains no redundant information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (all described in schema) and no output schema, the description covers the overall behavior (batch processing, skipping logic) and return type (statistics). It is complete enough for an agent to understand the tool's function, though specific statistics format is not detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds limited value beyond the schema. It reinforces the skip existing and force regenerate logic but does not provide additional parameter context beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'extract' and resource 'entities from multiple documents', distinguishing it from single-document extraction tools like 'extract_entities' by emphasizing 'bulk' and 'batch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that it processes documents in batch and skips documents with existing entities unless force_regenerate is set, providing good context. However, it does not explicitly compare with siblings like 'extract_entities' or 'queue_entity_extraction' for when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_entity_relationshipsA
Extract co-occurrence relationships between entities in a document. Analyzes how entities appear together (e.g., VIC-II + raster interrupt, SID + sound programming). Returns entity pairs with relationship strength and context snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to extract relationships from | |
| min_confidence | No | Minimum confidence threshold for entities (0.0-1.0, default: 0.6) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes the operation (extraction) and return types, which is adequate. However, it does not mention any potential side effects, resource usage, or behavioral constraints beyond the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences front-loaded with purpose, followed by an example and output summary. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers the return type (entity pairs with strength and context). Parameters are clear. The tool is not overly complex (2 simple params), so the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (doc_id, min_confidence) are already described in the schema. The description adds context about the output but does not add new meaning to the input parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('extract co-occurrence relationships'), the resource ('entities in a document'), and the output ('entity pairs with relationship strength and context snippets'). It distinguishes from sibling tools like 'extract_entities' or 'search_entity_pair' by focusing on co-occurrence relationships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to analyze how entities co-appear in a document). It does not explicitly state when not to use or provide alternatives, but the context of sibling tools and the clear purpose implies appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faceted_searchB
Search with faceted filtering. Filter results by hardware components (SID, VIC-II, CIA, etc.), assembly instructions (LDA, STA, etc.), or memory registers ($D000, etc.). Great for narrowing down search results to specific technical domains.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| facet_filters | No | Facet filters as dict of facet_type -> list of values. Example: {'hardware': ['SID', 'VIC-II'], 'instruction': ['LDA', 'STA']} | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only describes filtering capability without mentioning read-only nature, side effects, result format, or pagination. The description is too minimal for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (three sentences) and to the point, with no redundant information. It could be slightly more structured (e.g., listing parameters explicitly), but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits return value information (no output schema), does not mention max_results and tags parameters, and lacks details on behavior like default limit or sorting. Given the tool has 4 parameters and nested objects, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage (baseline 3), the description adds value by giving concrete examples of facet types and values (e.g., SID, LDA, $D000) that go beyond the schema's generic example. However, it does not cover other parameters like max_results or tags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for searching with faceted filtering and provides concrete examples of filter types (hardware, assembly instructions, memory registers). However, it does not explicitly differentiate from sibling search tools like fuzzy_search or semantic_search, so clarity is strong but not fully distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for narrowing down to specific technical domains, but lacks explicit guidance on when to use this tool versus alternatives. No exclusions or when-not-to-use scenarios are mentioned, leaving the agent to infer context from the examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_by_referenceA
Find documents by cross-reference. Search for documents containing specific memory addresses ($D020), register offsets (VIC+0, SID+4), or page references (page 156). Great for tracking how specific registers or memory locations are documented.
| Name | Required | Description | Default |
|---|---|---|---|
| ref_type | Yes | Type of reference to search for | |
| ref_value | Yes | The reference value (e.g., '$D020', 'VIC+0', '156') | |
| max_results | No | Maximum number of results (default: 10) |
TDQS
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. It only states the core function without mentioning read-only nature, side effects, or any constraints. For a search tool, the lack of explicit read-only indication or response format is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core function, the second adds examples and context. Information is front-loaded and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at return format or result details. It does not mention what the output looks like (e.g., list of documents, highlighted matches). While the tool is simple, missing output behavior reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by providing concrete examples for ref_value ('$D020', 'VIC+0', '156'), which clarifies the expected format beyond the schema's descriptions. This helps an AI agent correctly format inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 by cross-reference.' It provides specific examples (memory addresses, register offsets, page references), which distinguishes it from general search tools like search_docs or fuzzy_search, making the purpose concrete and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contextualizes usage with 'Great for tracking how specific registers or memory locations are documented,' indicating when this tool is appropriate. However, it does not explicitly compare to sibling tools or state when not to use it, but the focus on technical cross-references is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_entity_pathA
Find the shortest path between two entities in the knowledge graph. Shows how entities are connected through intermediate relationships. Useful for understanding conceptual connections and knowledge pathways.
| Name | Required | Description | Default |
|---|---|---|---|
| entity1 | Yes | Source entity name | |
| entity2 | Yes | Target entity name | |
| min_occurrences | No | Minimum entity occurrences for graph (default: 2) |
TDQS
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 states the tool finds the shortest path, indicating a read operation, but it does not disclose behavioral traits like what happens if no path exists, performance constraints, or the return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: purpose, explanation, and use case. It is front-loaded with the core action and has no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains purpose and typical use, but it lacks details on output format, error handling, or prerequisites (e.g., entity existence). Given the tool's complexity and lack of output schema, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description mentions entity1 and entity2 in context but adds no additional meaning beyond the schema (e.g., source/target entity names). With high coverage, the baseline is 3, and the description does not elevate it further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds the shortest path between two entities in a knowledge graph, showing connections through intermediate relationships. This is specific and distinct from sibling tools like 'find_related_entities' or 'get_entity_relationships'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it's 'useful for understanding conceptual connections and knowledge pathways,' which implies when to use it, but it does not explicitly specify when not to use it or how it differs from alternatives such as 'find_related_entities', 'get_entity_relationships', or 'search_entity_pair'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similarA
Find documents similar to a given document. Uses semantic embeddings if available, falls back to TF-IDF. Great for discovering related content.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to find similar documents for | |
| chunk_id | No | Optional chunk ID (if omitted, uses entire document) | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses algorithmic behavior: uses semantic embeddings with TF-IDF fallback. With no annotations, this provides meaningful context. Does not cover potential side effects or limitations, but sufficient for a read-only search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. Purpose is front-loaded, algorithm explanation is concise, and use case is stated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description does not mention return format or data structure. However, the tool is straightforward and the algorithm details provide adequate context for an agent to understand its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are fully described in the input schema (100% coverage). The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Find documents similar to a given document' with verb and resource. Contrasts with siblings like semantic_search by mentioning the algorithmic approach (embeddings/TF-IDF).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for 'discovering related content' but lacks explicit guidance on when to use this tool over alternatives like semantic_search or fuzzy_search. No exclusions or when-not-to-use mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fuzzy_searchB
Search with typo tolerance using fuzzy string matching. Handles misspellings and variations like 'VIC2' → 'VIC-II', 'asembly' → 'assembly', '6052' → '6502'. Returns exact matches first, then fuzzy matches if needed.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (may contain typos) | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) | |
| similarity_threshold | No | Minimum similarity score 0-100 (default: 80). Lower values are more forgiving of typos. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It notes that exact matches come before fuzzy matches, which is helpful, but omits details on performance, authorization needs, or behavior on no matches. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two sentences to convey purpose, examples, and ordering of results. No wasted words, and key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema, so description should compensate by specifying return format. It mentions 'returns exact matches first, then fuzzy matches' but does not describe what those matches look like (e.g., document IDs, scores, content). Leaves gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds examples for the query and explains similarity_threshold, but does not enhance understanding of max_results or tags beyond the schema. Meets minimal expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states fuzzy string matching with typo tolerance and gives concrete examples, making the purpose clear. However, it does not explicitly differentiate from sibling search tools like semantic_search or hybrid_search, which reduces clarity in distinguishing when to use this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when typos are expected but provides no explicit guidance on when to use versus alternatives, nor does it mention when not to use. No prerequisite or context for selection is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_topic_heatmapA
Generate heatmap showing document-topic probability matrix. Visualizes which topics are most prominent in which documents.
| Name | Required | Description | Default |
|---|---|---|---|
| model_type | Yes | Topic model type | |
| output_path | Yes | Path to save the heatmap image (PNG) | |
| max_topics | No | Maximum number of topics to include (default: 20) | |
| max_documents | No | Maximum number of documents to include (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose side effects, permissions, or whether it modifies data. It only mentions the visualization output, lacking behavioral context needed for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, clear and concise. No redundant information; front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main output (heatmap image) but does not specify return value (e.g., success message or path). Lacks detail on what happens after generation, but adequate for a simple visualization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are described in the schema (100% coverage). The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a heatmap of document-topic probabilities, differing from sibling tools like generate_topic_wordcloud which produces a word cloud.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied that it's for visualizing topic distributions across documents, but no explicit guidance on when to use versus alternatives like other visualization or clustering tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_topic_wordcloudB
Generate word cloud visualization for a topic. Creates an image file showing the most important words in a topic with size proportional to their weights.
| Name | Required | Description | Default |
|---|---|---|---|
| topic_id | Yes | Topic ID to visualize | |
| output_path | Yes | Path to save the word cloud image (PNG) | |
| width | No | Image width in pixels (default: 800) | |
| height | No | Image height in pixels (default: 400) | |
| background_color | No | Background color (default: 'white') | white |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral traits such as file handling (overwrite? permissions?) or performance implications. Only states it creates an image file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, direct and efficient. Front-loads purpose in first sentence, adds detail in second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing details about return value (e.g., file path or status), and no explanation of output format. Sibling tools exist but no comparison.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions in schema cover all 5 parameters with defaults. Description does not add additional semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates a word cloud visualization for a topic, specifying it creates an image file with word size proportional to weight. Differentiates from sibling tool generate_topic_heatmap which generates a heatmap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over alternatives like generate_topic_heatmap. Lacks usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chunkA
Get the full content of a specific document chunk. Use after search_docs to read more context.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID from search results | |
| chunk_id | Yes | Chunk ID from search results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes a read operation ('Get the full content'), implying no side effects, but does not explicitly state idempotency or safety traits. Lacks annotations, so description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with two parameters and no output schema, the description covers purpose and usage hint. Could mention return format or error handling, but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description does not add extra meaning beyond the schema, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'Get the full content' and the resource 'specific document chunk'. Distinguishes from siblings by referencing 'search_docs' for context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use after search_docs', providing clear context. Does not include when not to use or alternative tools, but the connection to a sibling is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cluster_documentsA
Get all documents in a specific cluster, including distances from centroid. Shows which documents are grouped together.
| Name | Required | Description | Default |
|---|---|---|---|
| cluster_id | Yes | Cluster ID | |
| algorithm | No | Clustering algorithm: 'kmeans', 'dbscan', or 'hdbscan' (optional) | |
| max_results | No | Maximum documents to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions output content (documents and distances) but fails to disclose side effects, idempotency, error handling, or performance behavior. For a read operation, basic traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with core action. Highly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately explains return content (documents and distances). Could mention default for max_results or algorithm optionality, but schema covers that. Reasonably complete for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. Description adds context about output (distances from centroid) but does not clarify parameter usage beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get all documents in a specific cluster' with specific verb and resource. Adds detail about including distances from centroid. Distinguishes from sibling cluster creation tools (e.g., cluster_documents_kmeans) and visualization tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage after clustering to examine results, but no explicit when-to-use or when-not-to-use compared to alternatives. Lacks guidance on prerequisites or when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentB
Get the full content of a document by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states a read operation but omits behavior on missing IDs, error handling, rate limits, or permission requirements. This leaves the agent uninformed about side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb and resource. Every word earns its place. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval with one parameter, the description is minimally adequate. However, it does not describe the return format (e.g., plain text, structured JSON) or differentiate from similar tools, which is important given the large number of siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond 'full content' and the schema's 'Document ID'. No extra context about doc_id format or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get), resource (full content of a document), and method (by ID). It is specific enough to distinguish from siblings like list_docs or get_summary, but could be more precise about what 'full content' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_summary, list_docs, or search_docs. The agent receives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_topicsA
Get topics assigned to a specific document, including probabilities and top words for each topic. Shows which topics the document belongs to.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID | |
| model_type | No | Topic model type: 'lda', 'nmf', or 'bertopic' (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description mentions it returns probabilities and top words, adding behavioral context beyond the schema. However, with no annotations, more details (e.g., that it is read-only) would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, front-loaded with key information, no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately explains what is returned, but lacks mention of dependencies (e.g., requirement for a trained topic model). For a tool with no output schema, more detail on the response structure would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions are clear. The description adds context about what the tool returns but does not add meaning beyond the schema for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Get', resource 'topics for a specific document', and what is returned (probabilities and top words). Distinguishes from siblings like list_docs or search_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like cluster_documents_* or generate_topic_heatmap. Does not mention prerequisites such as needing a trained topic model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_analyticsB
Get comprehensive entity analytics for dashboard visualization. Provides entity distribution by type, top entities by document count, relationship statistics, top entity relationships, and extraction timeline trends over time.
| Name | Required | Description | Default |
|---|---|---|---|
| time_range_days | No | Number of days to include in timeline analysis (default: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes the behavioral output (distribution, top entities, relationships, timeline trends), but omits details like data freshness, pagination, or performance implications. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence establishes purpose, second lists deliverables. Every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists output categories but lacks details on structure, format, or how results relate to each other. Given no output schema, more context on the returned data would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description adds no information about the time_range_days parameter beyond what the schema already provides. Baseline score of 3 is appropriate as schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides entity analytics for dashboard visualization, listing specific outputs like entity distribution, top entities, and relationship statistics. It distinguishes its comprehensive nature from siblings like entity_stats or get_timeline, but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as entity_stats or search_analytics. The description does not mention prerequisites, when not to use it, or provide context for selecting among many analytics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_communityA
Get all entities in the same community as the specified entity. Communities are groups of closely related entities detected through graph analysis. Returns community ID, member count, and list of community members with their types.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_text | Yes | Entity to find community for (e.g., 'SID') | |
| max_members | No | Maximum number of community members to return |
TDQS
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 communities are detected through graph analysis but does not disclose side effects, read-only nature, or performance implications. The description does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose. It is efficient and contains no extraneous information, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions what is returned (community ID, member count, list of members). It covers the basic usage scenario adequately for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema; it only states what the tool returns, not how parameters affect behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get all entities in the same community') and specifies the resource ('the specified entity'). It also explains what communities are and distinguishes from sibling tools like detect_graph_communities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving community members but does not provide explicit guidance on when to use this tool versus alternatives like find_related_entities or entity_stats. No when-not-to-use or prerequisite information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_metricsA
Retrieve stored graph metrics for a specific entity. Returns PageRank score, betweenness centrality, degree centrality, community ID, entity type, and computation timestamp. Useful for understanding an entity's importance and role in the knowledge graph.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_text | Yes | Entity to retrieve metrics for (e.g., 'VIC-II', 'SID', 'Commodore 64') | |
| metric_types | No | Specific metrics to retrieve. Leave empty for all metrics. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description explains it retrieves stored metrics (read-only) and lists returned fields, but it omits behavioral details such as what happens if the entity does not exist, potential errors, or if any computation is triggered. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise and to the point. It front-loads the primary action and lists key return values. No wasted words, though it could be slightly more structured with bullet points or clearer separation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers the return values (PageRank, betweenness, etc.). It does not mention error handling or missing entity behavior, but for a simple retrieval tool, the core information is present and sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the schema already documents parameters. The description mentions the metrics list but does not add significant semantic detail beyond what the enum and description in the schema provide. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves stored graph metrics for a specific entity and lists the metrics returned. It distinguishes from sibling tools that compute or analyze metrics (e.g., calculate_graph_centrality, detect_graph_communities) by specifying that this tool accesses precomputed values, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests using the tool to understand entity importance and role, but it does not provide explicit guidance on when to use this tool over siblings like analyze_graph_pagerank or get_entity_analytics. No when-not or alternative listing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_relationshipsA
Get all entities related to a specific entity. Shows which other entities frequently co-occur with the target entity, sorted by relationship strength. Great for discovering related concepts, hardware, and techniques.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_text | Yes | The entity to find relationships for (e.g., 'VIC-II', 'SID', 'LDA') | |
| min_strength | No | Minimum relationship strength (0.0-1.0, default: 0.0) | |
| max_results | No | Maximum number of related entities to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It explains the tool returns co-occurring entities sorted by strength, which is helpful but lacks details on whether the operation is read-only or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three effective sentences: first states the action, second adds sorting detail, third gives a use case. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the response contains (e.g., entity names, strength scores, sorting direction). It omits these details, leaving the agent to infer the output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already explains each parameter adequately. The description adds minimal semantic value beyond mentioning 'frequently co-occur', which is not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves entities related to a specific entity, sorted by relationship strength. It provides examples of entity values (e.g., 'VIC-II'). However, it does not differentiate from the sibling tool 'find_related_entities', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is suitable for discovering related concepts, hardware, and techniques, but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extraction_jobsA
Get all entity extraction jobs with optional status filtering. Shows job queue, running jobs, completed extractions, and failed jobs. Useful for monitoring background extraction progress across all documents.
| Name | Required | Description | Default |
|---|---|---|---|
| status_filter | No | Filter by status: 'queued', 'running', 'completed', or 'failed'. Leave empty for all jobs. | |
| limit | No | Maximum number of jobs to return (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses that the tool shows various job states but lacks details on pagination (though limit parameter exists), rate limits, or authentication requirements. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the action verb first. No redundancy, each sentence adds value: first states the operation, second explains the output and use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description explains the categories of jobs returned, which helps the agent understand what to expect. It could mention the structure of each job object but is adequate for a list monitoring tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% as both parameters have descriptions. The description does not add additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all entity extraction jobs with optional status filtering, and lists the types of jobs shown (queued, running, completed, failed). It differentiates from sibling tools like get_extraction_status by focusing on the full job list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monitoring extraction progress but does not explicitly state when not to use it or provide alternatives. Sibling tools like get_extraction_status or queue_entity_extraction are not mentioned for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extraction_statusA
Get the entity extraction status for a document. Shows whether entities exist, extraction job status (queued/running/completed/failed), timestamps, and error messages if any. Use this to check if extraction is complete before querying entities.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to check extraction status for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description compensates by disclosing the status values (queued/running/completed/failed) and that it includes timestamps and error messages. It does not indicate any side effects or destructive behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each serving a distinct purpose: definition of output and usage advice. No redundant words. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one param, no output schema), the description fully covers what it does, what it returns, and when to use it. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'doc_id', with a clear description. The tool description does not add further semantic detail about the parameter beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'entity extraction status for a document.' It also lists what it shows: existence, job status, timestamps, errors. It distinguishes from siblings by positioning it as a prerequisite check before querying entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use: 'Use this to check if extraction is complete before querying entities.' This provides clear context. No explicit 'when not to use' but the positive use case is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_graph_statisticsA
Get statistical overview of the knowledge graph including node count, edge count, density, connected components, and degree distribution. Provides insight into the overall structure and complexity of the knowledge network.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter graph to specific entity types (optional) | |
| min_occurrences | No | Minimum entity occurrences (default: 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only states the output, but fails to disclose behavioral traits such as whether it is read-only, error handling for empty graphs, or any side effects. It minimally implies a safe 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, using two sentences to convey the purpose and output without any extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (two optional params), the description covers the key output aspects. However, it lacks details on return format or edge cases, but no output schema exists to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes both parameters adequately. The description does not add any additional meaning to the parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving a statistical overview of the knowledge graph, listing specific metrics (node count, edge count, etc.) which distinguishes it from sibling tools like compute_graph_metrics or entity_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., compute_graph_metrics), nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_contextA
Get historical context for a specific year. Returns events from the target year plus surrounding years to provide temporal context.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Target year to get context for | |
| context_years | No | Number of years before/after to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool returns events and the scope (target year plus surrounding years). This is sufficient for a read-like operation, though it doesn't explicitly state it's read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Efficiently communicates the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description explains the purpose and scope, it does not specify the return format or structure of events. Without an output schema, the description could be more detailed to fully compensate, though it is adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds context that the function returns events with surrounding years, but does not provide additional meaning beyond what's already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves historical context for a year, returning events from that year plus surrounding years. It effectively communicates the specific verb and resource, but does not explicitly distinguish from siblings like get_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for obtaining historical context with temporal scope, but provides no explicit guidance on when to use vs alternatives (e.g., get_timeline, search_events_by_date) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryA
Retrieve a cached summary of a document without regenerating it.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID | |
| summary_type | No | Type of summary (default: 'brief') | brief |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It indicates a non-destructive, read-only operation by mentioning 'cached' and 'without regenerating,' but does not describe behavior if the cache is missing or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-front-loaded sentence conveys essential information without any waste. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (cached retrieval), the description is largely complete. However, absence of output schema means agents lack clarity on return format, and no guidance on cache miss behavior. Still, it adequately covers the core function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented in schema. The description adds no extra meaning beyond the schema for doc_id and summary_type. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve') and the resource ('cached summary') with a specific qualifier ('without regenerating it'), distinguishing it from sibling tools like summarize_document that generate summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving already cached summaries, but does not explicitly compare to alternatives such as summarize_document or get_chunk, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tags_by_categoryA
Browse all tags organized by category (hardware, programming, document-type, difficulty, custom). Shows tag usage count and sample documents. Useful for discovering and organizing content.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It specifies output includes tag usage counts and sample documents, but does not explicitly state read-only nature, though inferred. Adequate but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and categories, no extraneous words. Information-dense and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, description fully covers what the tool does and what it returns. Complete for a simple browsing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters. Rule: 0 params = baseline 4. Description adds meaning by explaining the organization by category and output details, compensating for no schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it browses all tags organized by category, listing specific categories (hardware, programming, etc.) and mentions output (usage count, sample documents). Distinguishes from sibling tools like suggest_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States tool is 'useful for discovering and organizing content,' implying browsing context. Does not explicitly exclude alternatives but provides clear use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timelineB
Get chronological timeline of events with optional filtering. Returns timeline entries sorted by date with event details.
| Name | Required | Description | Default |
|---|---|---|---|
| start_year | No | Filter events from this year onwards (inclusive) | |
| end_year | No | Filter events up to this year (inclusive) | |
| category | No | Filter by category (e.g., '1980s-release', '1970s-innovation') | |
| min_importance | No | Minimum importance level (1-5, where 5 is highest) | |
| limit | No | Maximum number of entries to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a read-only operation but does not explicitly state that it is safe or describe any side effects. Basic behavioral traits are missing, but the description does not contradict annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the purpose and output format. No unnecessary information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five optional parameters, no output schema, and no annotations, the description adequately conveys the tool's function and output. Minor omission: it does not specify sort direction (though 'chronological' implies ascending).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so the schema already documents each parameter's meaning. The tool description adds no additional semantics beyond restating that filtering is optional, which is already clear from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves a chronological timeline with optional filtering and returns sorted entries with event details. However, it does not differentiate from sibling tool 'search_events_by_date', which may also return timeline-like data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'search_events_by_date' or 'get_historical_context'. 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.
get_top_entitiesA
Get top-ranked entities by a specific metric (PageRank, betweenness, or degree centrality). Returns ranked list of entities with their scores, types, and other metrics. Useful for discovering the most important, central, or well-connected entities in the knowledge graph.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | No | Metric to rank by | pagerank |
| limit | No | Number of top entities to return | |
| entity_types | No | Filter to specific entity types |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully inform the agent. It discloses that the tool returns a ranked list with scores, types, and other metrics, and lists available metrics. However, it does not specify if the results are computed on the fly or retrieved from stored data, whether the graph must be pre-built, or if there are any side effects (though it is likely read-only). The description is adequate but lacks depth on behavioral traits beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose in the first sentence, followed by return details and a use case. No redundant or vague language. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no output schema, and no annotations, the description covers the function, return format, and typical use case. It does not mention prerequisites (e.g., graph must exist or metrics already computed) or clarify if the ranking uses precomputed values. However, for a straightforward retrieval tool, the context provided is mostly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear definitions for metric, limit, and entity_types. The description adds value by explaining the output nature (ranked list of top entities) and the significance of the results ('most important, central, well-connected'), which goes beyond the schema alone. It also hints at 'other metrics' returned, which is not detailed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (get), the resource (top-ranked entities), and the context (by a specific metric like PageRank, betweenness, or degree). It also describes the return format (ranked list with scores, types, and other metrics). However, it does not explicitly differentiate from sibling tools such as 'analyze_graph_pagerank' or 'get_entity_metrics', which might compute or return similar information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'useful for discovering the most important, central, or well-connected entities', implying a use case. However, it provides no guidance on when to use this tool versus alternatives (e.g., when you need a simple ranked list vs. detailed analytics). With many sibling tools that may overlap, explicit usage guidelines are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Perform health check on the knowledge base system. Returns status, metrics, feature availability, and any issues detected.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the tool 'Returns status, metrics, feature availability, and any issues detected' – clear on what the tool does and what output to expect. No side effects mentioned, but health check is inherently read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, zero wasted words. Front-loaded with the core purpose. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool, the description fully explains what the tool does and what it returns. Complete and sufficient for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters (schema coverage 100%). Description already explains what the tool returns. Baseline 4 applies as no parameter details needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Perform health check on the knowledge base system' – a specific verb+resource. It distinguishes from sibling tools by focusing on system status rather than on documents, entities, or graph operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking system health, but does not explicitly state when to use or when not to use it compared to other analysis tools like kb_stats (which may be more detailed). Usage is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hybrid_searchA
Perform hybrid search combining FTS5 keyword search and semantic search. Best of both worlds - finds exact keyword matches AND conceptually related content. Returns results ranked by weighted combination of both scores.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) | |
| semantic_weight | No | Weight for semantic score, 0.0-1.0 (default: 0.3). Higher values favor conceptual matches, lower values favor exact keyword matches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions the ranking method (weighted combination) but does not disclose other behaviors like whether it is read-only, rate limits, or prerequisites (e.g., existence of FTS5 index). This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and contains no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters and no output schema, the description explains the hybrid search concept but does not describe the return format or prerequisites (e.g., needed indices). It lacks guidance on interpreting results, which is needed for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds marginal value by explaining the rationale ('best of both worlds') but does not provide new parameter meanings beyond what the schema already describes, especially for semantic_weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Perform hybrid search combining FTS5 keyword search and semantic search', which is a specific verb+resource. It distinguishes itself from sibling tools like semantic_search and fuzzy_search by explicitly mentioning the combination of both search types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use: when you want both exact keyword matches and conceptually related content. However, it does not explicitly list exclusions or alternative tools, such as when to use semantic_search or fuzzy_search instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kb_statsC
Get statistics about the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits like read-only nature or side effects. It only says 'Get statistics,' implying a read operation, but does not specify that it is non-destructive or what the exact return behavior is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence with no wasted words. However, it could be more informative within that brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should provide more context about return values or scope of statistics. It fails to explain what 'statistics' entails, making it less complete for an agent to understand the tool output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and description coverage is 100% (since no params). The description adds minimal value beyond the tool name itself, stating 'statistics' which is already implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get statistics about the knowledge base,' which clearly indicates the action and resource. However, it lacks specificity about what statistics are included and does not differentiate from sibling tools like 'get_graph_statistics' or 'entity_stats.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as 'get_graph_statistics' or 'entity_stats.' There are no prerequisites or context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docsA
List all documents in the C64 knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states the basic function without disclosing any behavioral traits such as pagination, rate limits, or whether it returns full document content. The agent lacks critical context for safe operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Every word is essential. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description is minimal but adequate for a simple listing tool. However, it omits details about output format or potential limits (e.g., pagination). With no output schema, the agent may not know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Baseline for 0 params is 4, and the description adds no confusion. It correctly implies no inputs needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'list' and resource 'documents' with explicit scope 'all in the C64 knowledge base'. This distinguishes it from sibling tools like search_docs or get_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for listing all documents, but no explicit guidance on when to avoid or when to use alternatives like search_docs for filtered results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entitiesB
List all entities extracted from a document, grouped by type (hardware, memory_address, instruction, person, company, product, concept). Great for getting an overview of what a document covers.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID | |
| entity_types | No | Filter by entity types (optional, returns all types if omitted) | |
| min_confidence | No | Minimum confidence threshold (0.0-1.0, default: 0.0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states it lists and groups entities, with no disclosure of behavioral traits such as whether it's a read-only operation, authentication needs, or rate limits. Since annotations are absent, the description carries full burden but provides minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The first sentence delivers the core action and grouping, the second provides a clear use case. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple parameters, the description explains purpose and grouping adequately but lacks details like pagination, ordering, or expected number of results. For an overview tool, it's minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by mentioning grouping by type, which is output behavior, but does not add extra meaning to the individual parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all entities from a document grouped by type, with specific examples of types. It differentiates from siblings like search_entities (which searches) and get_top_entities (which returns prominent ones) implicitly, but does not explicitly call out alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it's 'great for getting an overview,' implying use for broad exploration, but does not state when not to use it or mention alternatives like search_entities for specific queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_entity_extractionA
Queue a document for background entity extraction. Extraction happens asynchronously without blocking. Use this to extract entities from documents without waiting for LLM processing. Returns job ID for tracking progress.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to extract entities from | |
| confidence_threshold | No | Minimum confidence threshold (0.0-1.0, default: 0.6) | |
| skip_if_exists | No | Skip if entities already exist or job is queued (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses key behavioral traits: asynchronous, non-blocking, and returns a job ID for tracking. This is adequate for an agent to understand the tool's behavior, though more details on error handling or job lifecycle could improve it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and key behavior. Every sentence adds value: purpose, async nature, return value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple queue tool, the description covers purpose, behavioral traits, parameters, and return value. No output schema exists, but the description specifies the job ID return. It is complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description adds no extra meaning beyond the schema. It briefly mentions the return value (job ID) but not parameter-specific details. The schema already documents all parameters well, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queues a document for asynchronous entity extraction, distinguishing it from synchronous extraction tools like extract_entities. It specifies the verb 'queue' and the resource 'document for entity extraction', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using this tool for non-blocking extraction, implying it is suitable when the agent should not wait for processing. It implicitly contrasts with synchronous extraction, but lacks explicit when-not-to-use guidance or direct mention of sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_documentB
Remove a document from the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as destructiveness, irreversibility, or required permissions. The wording implies a destructive action but lacks explicit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) and front-loaded. It earns its place but could include more details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no output schema, the description is incomplete. It does not explain consequences, error handling, or side effects, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond the parameter's own description. The baseline is 3 since the schema already explains the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the resource ('document from the knowledge base'). It distinguishes itself from sibling tools like 'add_document' and 'remove_documents_bulk' by specifying a single document removal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., 'remove_documents_bulk'), no mention of prerequisites or conditions under which removal is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_documents_bulkA
Remove multiple documents by IDs or tags. Useful for cleaning up the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_ids | No | List of document IDs to remove (optional) | |
| tags | No | Remove all documents with these tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'Remove multiple documents', which implies destructive behavior, but it does not clarify whether removal is permanent, any permissions needed, or side effects (e.g., cascading deletions). The description is minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two sentences) with no waste. The first sentence front-loads the core purpose, and the second sentence adds context. Every word is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides basic purpose but lacks details on behavior when both parameters are provided, error handling for empty inputs, or return value (e.g., number removed). Given that the tool has no required parameters and no output schema, more completeness would be beneficial. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds nuance by stating 'by IDs or tags', implying mutual exclusivity (either/or), which goes beyond the schema's simple lists. This adds moderate value, justifying a score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove multiple documents'), the resource, and the criteria ('by IDs or tags'). It also includes a usage context ('cleaning up the knowledge base'), which adds to purpose clarity. The sibling 'remove_document' is implicitly differentiated by the 'bulk' aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is 'useful for cleaning up the knowledge base', which gives a context for use, but it does not explicitly state when not to use it or mention alternatives like 'remove_document' for single removals. The guidance is vague and lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rescrape_documentA
Re-scrape a URL-sourced document to check for updates. Removes the old version and re-scrapes the original URL with the same configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to re-scrape (must be a URL-sourced document) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states that it removes the old version, which is a destructive action. With no annotations, this disclosure is valuable. However, other behaviors like error handling or required permissions are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then behavior. No redundant information. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description covers the essential purpose, behavior, and constraint. It is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds the constraint 'must be a URL-sourced document' beyond the schema's description. With 100% schema coverage, this extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it re-scrapes a URL-sourced document to check for updates, distinguishes from sibling tools like 'scrape_url' and 'check_updates' by specifying removal of old version and same configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking updates but does not explicitly guide when to use this tool versus alternatives like 'check_updates' or 'scrape_url'. No when-not-to-use or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_backupA
Restore knowledge base from a backup. WARNING: This will replace the current database. A safety backup is created automatically before restoration.
| Name | Required | Description | Default |
|---|---|---|---|
| backup_path | Yes | Path to backup file or directory | |
| verify | No | Whether to verify backup integrity before restoring (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly warns that restoration replaces the current database and mentions that a safety backup is created automatically, covering critical behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words, front-loaded with the primary action, and the warning is separate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential warning and auto-backup but omits return value or success/failure indicators, which is notable given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Restore') and the resource ('knowledge base from a backup'), distinguishing it from sibling tools like 'create_backup'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The warning implies when to use (restoration) and cautions about the destructive effect, but it does not explicitly compare to alternatives or specify prerequisites like having a valid backup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_urlA
Scrape a documentation website and add all pages to the knowledge base. Supports recursive scraping of entire sites by following links. Great for ingesting online documentation like http://www.sidmusic.org/sid/. Converts HTML to searchable markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Starting URL to scrape (e.g., http://www.sidmusic.org/sid/) | |
| title | No | Base title for scraped documents (optional, defaults to page titles) | |
| tags | No | Tags for scraped documents (domain name auto-added) | |
| follow_links | No | Follow links to scrape sub-pages (default: true). Set to false to scrape only the single page. | |
| same_domain_only | No | Only follow links on the same domain (default: true). Prevents scraping external sites. | |
| max_pages | No | Maximum number of pages to scrape (default: 50) | |
| depth | No | Maximum link depth to follow (default: 3). Depth of 1=single page, 2=linked pages, 3=two levels deep. | |
| limit | No | Advanced: Only scrape URLs with this prefix (overrides same_domain_only) | |
| threads | No | Number of concurrent download threads (default: 10) | |
| delay | No | Delay between requests in milliseconds (default: 100) | |
| selector | No | CSS selector for main content (optional, auto-detected) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. Discloses recursive scraping, follow-links behavior, and markdown conversion. However, omits potential side effects (duplicate pages), rate limiting, or authentication requirements. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with core action and example. Every sentence adds value; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description provides sufficient operational context (recursive, follow links, markdown output). Could mention return value but otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds overall context (recursive, markdown) but does not enhance individual parameter meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Scrape a documentation website and add all pages to the knowledge base' with specific verb and resource. It distinguishes from siblings by focusing on recursive site scraping and HTML-to-markdown conversion. Example URL and context clarify purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for online documentation ingestion with example, but lacks explicit when-not-to-use or alternatives among siblings like 'rescrape_document' or 'check_url_updates'. No exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_analyticsB
Get search analytics and insights. Shows popular queries, failed searches, search mode usage, and performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to analyze (default: 30) | |
| limit | No | Maximum number of results for top queries (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose whether the tool is read-only, has side effects, or requires specific permissions. The behavioral transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and list key metrics, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description could be more complete by mentioning that results are aggregated or describing the response format. It covers core purpose but lacks depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters. The description adds context about the metrics returned but does not explain how the parameters affect output, so it meets the baseline without adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves search analytics and lists specific metrics (popular queries, failed searches, etc.), distinguishing it from sibling search tools that perform actual searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analytics but provides no explicit guidance on when to use this tool versus alternatives like search_docs or semantic_search, and no when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_codeA
Search for code blocks in documents (BASIC, Assembly, Hex dumps). Finds programming examples and code snippets. Returns code with type (basic/assembly/hex), line count, and page numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for code content | |
| max_results | No | Maximum number of results (default: 5) | |
| block_type | No | Filter by code type: 'basic', 'assembly', or 'hex' (optional) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It implies a non-destructive search operation but does not explicitly state safety or side effects. For a search tool, the behavior is typical, but lacks explicit disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each providing essential information: code types and return details. No extraneous text; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains what is returned (type, line count, page numbers). It lacks information on pagination or ordering, but is fairly complete for a straightforward search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds context about return values but does not enhance parameter understanding beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (search for code blocks) and specifies the scope (BASIC, Assembly, Hex dumps). It explains what is returned (code with type, line count, page numbers), effectively distinguishing it from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for code searching but does not explicitly state when to use this tool over alternatives like search_docs or search_entities. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsB
Search the C64 knowledge base for information. Use this to find documentation about memory maps, opcodes, BASIC commands, SID, VIC-II, CIA chips, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (keywords or phrases) | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden. It only states the basic purpose and examples, omitting details about search method (e.g., full-text vs semantic), result format, scope, or any behavioral traits beyond 'search'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose, second gives concrete examples. No redundant information, front-loaded with core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and many sibling tools, the description is adequate but leaves gaps: it doesn't mention the optional 'tags' or 'max_results' parameters, doesn't clarify the search algorithm (e.g., fuzzy vs exact), and doesn't explain what results contain (IDs, snippets, etc.).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions), so baseline is 3. The description adds no additional parameter detail beyond what the schema provides, such as query examples or usage hints for 'tags' or 'max_results'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'C64 knowledge base', with examples of documentation topics. It distinguishes from siblings like 'search_code' (for code) and 'search_entities' (for entities) by focusing on documentation, though it could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use case ('Use this to find documentation...'), implying when to use it, but lacks explicit guidance on when not to use it or alternatives among the many sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entitiesC
Search for entities across all documents using full-text search. Find all documents mentioning specific hardware, addresses, instructions, people, companies, products, or concepts.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g., 'VIC-II', 'sprite', '$D000') | |
| entity_types | No | Filter by entity types (optional) | |
| min_confidence | No | Minimum confidence threshold (0.0-1.0, default: 0.0) | |
| max_results | No | Maximum number of documents to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention read-only nature, result format, pagination, or any side effects. The agent cannot infer safety or behavior beyond 'full-text search'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that each add value: first defines purpose, second provides concrete examples. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing crucial context: no mention of return format, ordering, or scoring. With no output schema, the description should clarify what fields are returned and how results are ranked. Incomplete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond what the schema already provides. Baseline of 3 is appropriate as the description does not explain the enum values or confidence threshold semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for entities across documents using full-text search and lists example entity types. However, it does not explicitly differentiate from many sibling search tools like 'search_docs' or 'semantic_search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of exclusions, prerequisites, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entity_pairA
Find documents that contain both entities. Useful for finding documentation about specific combinations (e.g., 'VIC-II' AND 'raster interrupt'). Returns documents with both entity counts and context snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| entity1 | Yes | First entity to search for | |
| entity2 | Yes | Second entity to search for | |
| max_results | No | Maximum number of documents to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It states the return type (documents with entity counts and context snippets) but does not disclose whether the operation is read-only, any side effects, pagination, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words, front-loads the action and purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description reasonably explains inputs and outputs. It could be more detailed about output format or ordering, but it is sufficient for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The description adds value by providing concrete examples for entity1 and entity2 (e.g., 'VIC-II' AND 'raster interrupt'). No extra detail for max_results beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool finds documents containing both entities, with a concrete example. It differentiates from single-entity searches and sibling tools like search_entities or search_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a use case ('finding documentation about specific combinations') and an example, implying when to use it. However, it does not explicitly mention when not to use it or suggest alternative tools among the many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_events_by_dateA
Search for events within a date range. Filter by year range, event type (release, milestone, innovation, cultural, update), and confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| start_year | No | Start year (inclusive) | |
| end_year | No | End year (inclusive) | |
| event_type | No | Event type filter | |
| min_confidence | No | Minimum confidence threshold |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes filter capabilities but does not disclose behavior like read-only nature, pagination, or result count limits. Adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that conveys the core purpose and filter options efficiently. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 100% schema coverage and no output schema, the description provides a clear purpose and filter context. However, missing details about return format or behavior (e.g., chronological order) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists the filter parameters but adds no additional meaning beyond the schema's own descriptions (e.g., start_year, end_year, event_type enum, min_confidence with default).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for events within a date range, with explicit filter options (year range, event type, confidence). It distinguishes itself from sibling tools like 'extract_document_events' which focuses on extraction, or 'get_timeline' which may be more structured.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'search_events_by_date' vs. 'faceted_search' or 'get_timeline'. It does not mention when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tablesA
Search for tables in PDF documents. Tables contain structured data like memory maps, register definitions, and command references. Returns tables in markdown format with page numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for table content | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description indicates it returns markdown tables with page numbers, suggesting read-only behavior, but does not disclose any side effects, auth requirements, or rate limits. Lacks full behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose and key details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (3 params, no output schema, no annotations), the description covers purpose, output format, and content examples. It is mostly complete, though usage guidance could improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds context about output format (markdown with page numbers) and the type of content searched (structured data like memory maps), going beyond the schema to clarify the tool's value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for tables in PDF documents' with specific examples of table content (memory maps, register definitions, command references) and output format (markdown with page numbers). This distinguishes it from sibling tools like search_docs or search_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives. Among many sibling search tools (search_docs, semantic_search, hybrid_search, etc.), there is no differentiation or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_within_resultsA
Refine previous search results with an additional query. Useful for progressive search refinement: first search broadly (e.g., 'VIC-II'), then refine (e.g., 'sprite collision'). Returns filtered and re-ranked results from previous search set.
| Name | Required | Description | Default |
|---|---|---|---|
| previous_results | Yes | Results from a previous search (pass the full result objects) | |
| refinement_query | Yes | Query to refine the previous results | |
| max_results | No | Maximum number of refined results (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It states it returns 'filtered and re-ranked results' but does not disclose side effects (e.g., read-only), auth needs, or rate limits. For a refinement tool, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Every sentence adds value, and the structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description should hint at return format; it says 'filtered and re-ranked results' but lacks specifics on structure, pagination, or edge cases. Given the tool's simplicity, it is somewhat complete but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds context about using 'full result objects' for previous_results, but this is implied by the schema description. No extra meaning is added, yielding baseline score 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it refines previous search results with an additional query, provides a concrete example (VIC-II, sprite collision), and explicitly mentions 'progressive search refinement', distinguishing it from initial search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly outlines the progressive refinement workflow: 'first search broadly, then refine.' It implies when to use (after a broad search) but does not name alternative tools or when not to use, though the sibling list includes many search variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic_searchA
Search the knowledge base using semantic/conceptual similarity (requires USE_SEMANTIC_SEARCH=1). Finds documents based on meaning, not just keywords. Example: searching for 'movable objects' can find 'sprites'.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (natural language) | |
| max_results | No | Maximum number of results (default: 5) | |
| tags | No | Filter by document tags (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses that the tool uses meaning-based similarity, not keywords, and provides an example demonstrating non-literal matching. It does not detail return format or performance, but it is sufficiently transparent about its core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus an example. Every element serves a purpose—stating the tool's function, a prerequisite, a key differentiator, and a concrete example. No redundancies or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (search with semantic matching, 3 parameters, no output schema), the description is adequate but not fully complete. It omits details about output format (e.g., ranked documents, scores), which forces the agent to rely on assumptions or schema. The example helps, but more behavioral context is needed for full autonomy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the baseline is 3. The description's example adds value by showing how the 'query' parameter works in a semantic context (e.g., 'movable objects' finds 'sprites'), which enriches understanding beyond the schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the knowledge base using semantic/conceptual similarity, distinguishing it from keyword search. The example ('movable objects' finds 'sprites') concretely illustrates the purpose, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a prerequisite ('requires USE_SEMANTIC_SEARCH=1') and contrasts with keyword search, guiding when to use this tool. However, it does not explicitly state when not to use it or mention alternatives like 'hybrid_search' or 'fuzzy_search', which would be helpful for an agent making a choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_queriesA
Get autocomplete suggestions for partial queries. Suggests technical terms, memory addresses, instructions, and concepts based on indexed content. Great for discovering searchable content and learning proper terminology.
| Name | Required | Description | Default |
|---|---|---|---|
| partial | Yes | Partial query string (e.g., 'VIC', 'SID', '$D0') | |
| max_suggestions | No | Maximum number of suggestions (default: 5) | |
| category | No | Optional category filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states that suggestions are based on indexed content, but does not mention that the tool is read-only, or provide details on performance, licensing, or prerequisites beyond the implicit need for indexed data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two clear sentences with no unnecessary words. It front-loads the core purpose and then provides additional context, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic use case and hints at the suggestion types, but lacks details about the return format (expected output is not described) and any limitations or error conditions. For a simple autocomplete tool, it is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context that the 'partial' parameter is a query string and mentions suggestion categories, but does not detail the 'max_suggestions' or 'category' parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Get autocomplete suggestions for partial queries') and explicitly lists the types of suggestions (technical terms, memory addresses, instructions, concepts), clearly differentiating from sibling tools like 'suggest_tags' which handle tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for autocomplete and mentions it's good for discovering searchable content and learning terminology, but does not explicitly state when to use it vs. alternative search tools (e.g., semantic_search, fuzzy_search) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_tagsB
Get tag suggestions for a document based on content analysis. Detects hardware components (SID, VIC-II, CIA), programming topics (assembly, BASIC, graphics), document types (reference, tutorial), and difficulty levels. Useful for organizing documents.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to analyze | |
| confidence_threshold | No | Minimum confidence for suggestions 0.0-1.0 (default: 0.6) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions that the tool detects specific categories and returns suggestions, but omits details such as whether it modifies any data, performance implications, or authorization needs. The description partly informs but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the core purpose, and includes concrete examples of detected content. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains what the tool does (suggests tags based on content) and lists categories. However, it does not describe the output format (e.g., returns array of tag objects with confidence scores?) or pagination behavior, which would be helpful given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (doc_id and confidence_threshold), so the schema itself already explains the parameters. The tool description does not add further parameter semantics beyond listing the categories it detects. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 tag suggestions for a document based on content analysis.' It lists specific content categories detected (hardware components, programming topics, etc.). However, it does not explicitly differentiate from sibling tools like auto_tag_document, which also handles tagging.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only provides minimal usage guidance: 'Useful for organizing documents.' It does not specify when to use this tool versus alternatives (e.g., auto_tag_document for automated tagging), nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_allB
Bulk generate summaries for all documents in the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| summary_types | No | Types of summaries to generate (default: ['brief']) | |
| force_regenerate | No | If true, regenerate all summaries (default: false) | |
| max_docs | No | Maximum number of documents to process (optional, for testing) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose whether existing summaries are overwritten (though the 'force_regenerate' parameter hints at this), nor does it mention side effects, performance implications, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the action and scope. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a bulk operation with no performance or behavioral context, the description is incomplete. It lacks information on how many documents are processed, whether summaries are incremental, or how to handle large knowledge bases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no new meaning beyond the parameter descriptions. Baseline 3 is appropriate as it does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Bulk generate summaries') and scope ('all documents in the knowledge base'). It distinguishes itself from sibling tools like 'summarize_document' which targets a single document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for bulk summary generation but provides no explicit guidance on when to use this tool versus alternatives like 'summarize_document' or 'get_summary'. No exclusion criteria or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_documentA
Generate an AI-powered summary of a document. Supports brief (200-300 words), detailed (500-800 words), or bullet-point summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID to summarize | |
| summary_type | No | Type of summary: 'brief' (default), 'detailed', or 'bullet' | brief |
| force_regenerate | No | If true, regenerate summary even if cached version exists (default: false) |
TDQS
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 generating summaries but does not disclose caching behavior (despite the force_regenerate parameter), auth requirements, error handling, or state mutations. The lack of transparency on whether summaries are cached and reused is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear, front-loaded sentences with no extraneous content. Efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 params and no output schema, the description covers the basic purpose and parameter options. However, it omits behavioral details (caching, errors) and fails to differentiate from sibling tools explicitly, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds minimal value: it mentions word counts for brief/detailed types and implies defaults. This provides some extra context but largely repeats schema info. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an AI-powered summary of a document, specifying three output types (brief, detailed, bullet). It distinguishes from siblings like 'get_summary' (likely retrieval) and 'summarize_all' (bulk operation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests when to use this tool (when needing a summary with specific type/length), but lacks explicit guidance on alternatives like 'get_summary' for cached summaries or 'summarize_all' for multiple documents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
train_bertopicB
Train BERTopic model using document embeddings. State-of-the-art topic modeling with UMAP + HDBSCAN clustering. Automatically discovers topics from semantic embeddings.
| Name | Required | Description | Default |
|---|---|---|---|
| num_topics | No | Target number of topics (default: 10) | |
| min_cluster_size | No | Minimum documents per topic (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description mentions training with UMAP+HDBSCAN and automatic topic discovery, but fails to disclose key behaviors: whether it replaces an existing model, required input documents, side effects, or output format. Critical gaps for a training tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary action. No redundant information. Could be slightly more structured, but adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or description of return values. The agent is left uninformed about what the tool returns (model object, topics list, etc.). Also lacks integration guidance with sibling tools. Incomplete for a training function with no output specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (num_topics, min_cluster_size) having clear descriptions and defaults. The description adds general context about algorithms but no additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Train BERTopic model using document embeddings' with a specific verb and resource, distinguishing it from sibling tools like train_lda_topics, train_nmf_topics, and clustering tools by mentioning unique algorithms (UMAP+HDBSCAN).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like train_lda_topics or cluster_documents_hdbscan. The description does not specify prerequisites, limitations, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
train_lda_topicsA
Train LDA (Latent Dirichlet Allocation) topic model on documents. Discovers latent topics using probabilistic modeling. Returns topics with top words and document assignments.
| Name | Required | Description | Default |
|---|---|---|---|
| num_topics | No | Number of topics to discover (default: 10) | |
| max_iter | No | Maximum iterations (default: 100) | |
| random_state | No | Random seed for reproducibility (default: 42) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden for behavioral disclosure. It does not mention side effects (e.g., whether training modifies documents), performance implications, output persistence, or required permissions. Basic actions are described but key behavioral traits are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no redundant information. Each sentence adds value: specifying the task, the method, and the output. Front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description adequately mentions return values (topics with top words and document assignments). However, it does not explain how to use the output or interpret results. Given the complexity of LDA and having three optional parameters, more context on typical usage would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all three parameters (`num_topics`, `max_iter`, `random_state`). The tool description adds no additional meaning beyond what the schema already offers, meeting the baseline for good schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it trains an LDA topic model on documents, discovering latent topics, and returns topics with top words and document assignments. This is specific and distinguishes it from sibling tools like train_bertopic or train_nmf_topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for probabilistic topic modeling but does not explicitly state when to use LDA over alternatives (e.g., BERTopic, NMF) or provide context for when not to use it. No exclusions or comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
train_nmf_topicsA
Train NMF (Non-negative Matrix Factorization) topic model on documents. Often produces more coherent topics than LDA using matrix factorization. Returns topics with top words and document assignments.
| Name | Required | Description | Default |
|---|---|---|---|
| num_topics | No | Number of topics to discover (default: 10) | |
| max_iter | No | Maximum iterations (default: 200) | |
| random_state | No | Random seed for reproducibility (default: 42) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description states it 'Trains' but does not disclose side effects (e.g., model saving), prerequisites (documents must exist), or performance implications, leaving significant gaps for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the action and algorithm, second adds comparative value and output. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 optional parameters, the description explains algorithm and output. Missing prerequisites and side effects, but gaps are minor given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the input schema with descriptions. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool trains an NMF topic model on documents, specifies the algorithm (NMF), and mentions it often produces more coherent topics than LDA, distinguishing it from sibling tools like train_lda_topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes when to use (for coherence over LDA) but does not explicitly mention alternatives or when not to use, nor does it cover BERTopic or other models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translate_queryA
Translate a natural language query into structured search parameters. Uses AI to extract entities, keywords, and determine optimal search strategy. Perfect for conversational queries like 'find info about sprites on VIC-II' or 'how does sound work?'. Returns structured parameters that can be used directly with other search tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query to translate (e.g., 'find sprite information on the VIC-II chip') | |
| confidence_threshold | No | Minimum confidence score for entity extraction (0.0-1.0, default: 0.7) |
TDQS
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 states that AI is used for entity extraction and search strategy, but lacks details on limitations, latency, or potential errors. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two well-front-loaded sentences. Examples are included without redundancy, and every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description effectively covers purpose and usage. However, it could briefly describe the structure of the returned parameters for improved completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds minimal value by providing examples for the 'query' parameter and mentioning the confidence threshold, but it does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: translating natural language queries into structured search parameters. It provides concrete examples and distinguishes itself from sibling search tools by acting as a preprocessing step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (conversational queries) and that its output is intended for other search tools. It does not explicitly mention when not to use it or alternative tools, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_tags_bulkA
Update tags for multiple documents in bulk. Add, remove, or replace tags for documents selected by ID or existing tags. Useful for reorganizing and categorizing the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_ids | No | List of document IDs to update (optional, use existing_tags to find documents) | |
| existing_tags | No | Find documents with any of these tags (alternative to doc_ids) | |
| add_tags | No | Tags to add to the documents | |
| remove_tags | No | Tags to remove from the documents | |
| replace_tags | No | Replace all tags with these tags |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states that the tool updates tags, indicating a write operation, but does not detail idempotency, error handling, atomicity, or whether the operation returns a summary. The schema hints at overwrite behavior via replace_tags, but the description could clarify such nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, front-loaded with the core action, and contains no superfluous words. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters, no output schema, and important sibling tools, the description covers basic usage but omits details on return values (e.g., success count, errors) and how it handles non-matching selections. More context about output or fallback behavior would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters having descriptions. The description redundantly restates the operations and selection methods, adding minimal value beyond the schema. Baseline score of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update tags for multiple documents in bulk' and specifies operations (add, remove, replace) and selection methods (by ID or existing tags). It distinguishes from sibling tools like add/remove document tools and auto_tag tools because it only modifies tags, not the documents themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Useful for reorganizing and categorizing the knowledge base,' which implies when to use it but lacks explicit guidance on when not to use it or which alternatives (e.g., add_documents_bulk, auto_tag_document) are better for specific cases. 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.
visualize_cluster_distributionB
Generate bar chart showing cluster size distribution. Shows how many documents are in each cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| algorithm | Yes | Clustering algorithm | |
| output_path | Yes | Path to save the bar chart image (PNG) | |
| width | No | Image width in pixels (default: 1000) | |
| height | No | Image height in pixels (default: 600) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose behavioral traits such as whether the tool is read-only, if it requires existing clusters, or any side effects. Minimal transparency beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, no wasted words. It front-loads the core purpose and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple visualization tool, the description is adequate but missing context on prerequisites (e.g., clusters must already exist) and does not explain the output format further. With no output schema, slightly more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The description adds no extra meaning beyond the schema, but it clarifies the output type (bar chart). Baseline 3 is appropriate since the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a bar chart showing cluster size distribution, specifying the resource (cluster size) and action (visualize with bar chart). This distinguishes it from sibling tools like visualize_cluster_scatter (scatter plot) and clustering tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., other visualizations). It does not mention prerequisites like having already performed clustering, nor does it compare with sibling visualization tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visualize_cluster_scatterB
Generate 2D scatter plot of document clusters using UMAP projection. Shows how documents are distributed across clusters in 2D space.
| Name | Required | Description | Default |
|---|---|---|---|
| algorithm | Yes | Clustering algorithm | |
| output_path | Yes | Path to save the scatter plot image (PNG) | |
| width | No | Image width in pixels (default: 1200) | |
| height | No | Image height in pixels (default: 800) | |
| n_neighbors | No | UMAP n_neighbors parameter (default: 15) | |
| min_dist | No | UMAP min_dist parameter (default: 0.1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only implies a read-only visualization. It does not disclose side effects (e.g., file creation), required permissions, or constraints like data size. The transformation using UMAP is mentioned but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded with the main action and outcome. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters and no output schema. The description explains the purpose but omits what the tool returns (likely saves file to output_path). It also does not clarify differences from sibling visualization tools, leaving the agent to infer usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema description coverage is 100%, so each parameter is already explained. The description adds context by mentioning UMAP, which helps understand n_neighbors and min_dist parameters, but does not significantly enhance the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool generates a 2D scatter plot of document clusters using UMAP projection. However, it does not differentiate from the sibling tool visualize_cluster_distribution, which may also visualize clusters but in a different manner.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like visualize_cluster_distribution or the clustering tools. The description does not mention prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visualize_graphA
Generate interactive HTML visualization of the knowledge graph using PyVis. Creates a beautiful network diagram with customizable node colors (by entity type or community), node sizes (by PageRank/betweenness/degree), and interactive physics simulation. Perfect for exploring entity relationships and discovering patterns in the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | No | Output file path for HTML visualization (relative to data directory or absolute path) | knowledge_graph.html |
| entity_types | No | Filter to specific entity types | |
| min_occurrences | No | Minimum entity occurrences to include | |
| min_relationship_strength | No | Minimum relationship strength | |
| color_by | No | Node coloring scheme | entity_type |
| size_by | No | Node sizing metric | pagerank |
| physics_enabled | No | Enable physics simulation for dynamic layout | |
| height | No | Visualization height (CSS format) | 800px |
| width | No | Visualization width (CSS format) | 100% |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions key behaviors (HTML output, physics simulation, customization) but omits important details: that it creates a file, potential resource intensity for large graphs, or dependency on an existing knowledge graph. This leaves the agent underinformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then customization details, then use case. Every sentence adds value; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, 100% schema coverage, and no output schema, the description covers key features (interactive HTML, customizable colors/sizes, physics). However, it lacks context on prerequisites (e.g., graph must exist) and post-action steps (how to view the HTML file). Still, it is largely complete for a visualization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters, so baseline is 3. The description adds minimal value beyond the schema; it repeats enum options (e.g., 'PageRank/betweenness/degree' for size_by) but does not clarify semantics like output_path's default behavior or the impact of physics_enabled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 interactive HTML visualization of the knowledge graph using PyVis.' It distinguishes itself from sibling visualization tools (e.g., visualize_cluster_distribution) by focusing on the full graph, and provides specific details about customization options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for exploring entity relationships and discovering patterns, but it does not explicitly state when to use this tool vs alternatives (e.g., other visualization tools). No exclusion criteria or comparative guidance is provided.
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.
83 tool updates
v1.0.0- First observed
add_document - First observed
add_documents_bulk - First observed
analyze_graph_pagerank - First observed
answer_question - First observed
auto_tag_all - First observed
auto_tag_document - First observed
build_knowledge_graph - First observed
calculate_graph_centrality - First observed
check_updates - First observed
check_url_updates - First observed
cluster_documents_dbscan - First observed
cluster_documents_hdbscan - First observed
cluster_documents_kmeans - First observed
compare_documents - First observed
compute_graph_metrics - First observed
create_backup - First observed
detect_anomalies - First observed
detect_graph_communities - First observed
entity_stats - First observed
export_documents_bulk - First observed
export_entities - First observed
export_relationships - First observed
export_results - First observed
extract_document_events - First observed
extract_entities - First observed
extract_entities_bulk - First observed
extract_entity_relationships - First observed
faceted_search - First observed
find_by_reference - First observed
find_entity_path - First observed
find_related_entities - First observed
find_similar - First observed
fuzzy_search - First observed
generate_topic_heatmap - First observed
generate_topic_wordcloud - First observed
get_chunk - First observed
get_cluster_documents - First observed
get_document - First observed
get_document_topics - First observed
get_entity_analytics - First observed
get_entity_community - First observed
get_entity_metrics - First observed
get_entity_relationships - First observed
get_extraction_jobs - First observed
get_extraction_status - First observed
get_graph_statistics - First observed
get_historical_context - First observed
get_summary - First observed
get_tags_by_category - First observed
get_timeline - First observed
get_top_entities - First observed
health_check - First observed
hybrid_search - First observed
kb_stats - First observed
list_docs - First observed
list_entities - First observed
queue_entity_extraction - First observed
remove_document - First observed
remove_documents_bulk - First observed
rescrape_document - First observed
restore_backup - First observed
scrape_url - First observed
search_analytics - First observed
search_code - First observed
search_docs - First observed
search_entities - First observed
search_entity_pair - First observed
search_events_by_date - First observed
search_tables - First observed
search_within_results - First observed
semantic_search - First observed
suggest_queries - First observed
suggest_tags - First observed
summarize_all - First observed
summarize_document - First observed
train_bertopic - First observed
train_lda_topics - First observed
train_nmf_topics - First observed
translate_query - First observed
update_tags_bulk - First observed
visualize_cluster_distribution - First observed
visualize_cluster_scatter - First observed
visualize_graph
TDQS
Most tools have clearly distinct purposes, with detailed descriptions that differentiate them. However, there is some overlap among multiple search and clustering methods, which could cause confusion if descriptions are not carefully read.
Tool names mix various patterns (verb_noun, noun_verb, phrases) and sometimes use inconsistent conventions (e.g., 'auto_tag_all' vs 'add_documents_bulk', 'search_docs' vs 'search_code'). No clear consistent naming pattern is followed.
With 83 tools, the server is excessively large for a knowledge base system. While each tool serves a specific function, the sheer number is overwhelming and suggests scope creep beyond core use cases.
The tool set covers virtually every aspect of knowledge base management: CRUD, search (multiple modes), entity extraction, graph analysis, topic modeling, clustering, backup/restore, and more. There are no obvious gaps in functionality.
Maintenance
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
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
MCP server for querying Forkast documentation
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server that indexes PDF documentation and text into Elasticsearch for semantic search and retrieval. It enables users to query knowledge bases, ingest new files, and dynamically update content through MCP-compatible clients like Claude Desktop and Cursor.41-
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.316MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).2837MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for team documentation and knowledge bases, enabling semantic search over documentation files using local embeddings.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MichaelTroelsen/tdz-c64-knowledge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server