ZMCPTools
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., "@ZMCPToolsSpawn an architect-led agent team to refactor the API"
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.
ZMCPTools
๐ TypeScript MCP Tools for Claude Code - Professional multi-agent orchestration platform with 61 enhanced tools, documentation intelligence, and advanced automation capabilities.
โ ๏ธ Important Setup Note
Before spawning agents, run this command once to enable proper agent permissions:
claude --dangerously-skip-permissionsAgents run on daemon threads and need this permission to execute properly.
Related MCP server: Symphony of One MCP
โจ Key Features
๐ฏ Multi-Agent Orchestration
Architect-Led Coordination: AI architect automatically spawns and coordinates specialized agent teams
Intelligent Dependencies: Agents work in proper order (Backend โ Frontend โ Testing โ Documentation)
Real-Time Communication: Agents collaborate through dedicated chat rooms with message broadcasting
Foundation Session Caching: 85-90% cost reduction through automatic shared context management
Professional Task Management: Create, assign, track, and monitor complex development workflows
๐จ TypeScript-First Architecture
Type-Safe MCP Server: Built with Zod schemas and strict TypeScript for reliability
Modern CLI Interface: Commander.js-powered CLI with structured command hierarchy
Development Ready: One-command setup with hot-reload development via tsx
Binary Distribution: Global access via
claude-mcp-toolsandclaude-mcp-servercommandsProfessional Build System: tsup-based compilation with dual CLI/server binaries
๐ Advanced Browser Automation
Playwright Integration: Professional web automation with session management
AI-Powered DOM Analysis: Intelligent page structure analysis and navigation
Screenshot Analysis: AI-driven visual page analysis with region focusing
Smart Session Management: Auto-cleanup, session persistence, and connection pooling
Legacy Support: Comprehensive tool migration with backward compatibility
๐ Documentation Intelligence & Vector Search
LanceDB Vector Database: Local, high-performance semantic search with multiple embedding providers
Intelligent Web Scraping: Multi-page documentation collection with automatic vectorization
Advanced Content Processing: Smart URL filtering, pattern matching, and content extraction
Job Management: Background worker system with status monitoring and job control
Documentation Sources: Track and manage multiple documentation repositories
๐ง Knowledge Graph & Memory Systems
Graph-Based Knowledge Storage: Entity-relationship modeling for cross-agent learning
Semantic Search: Vector-powered knowledge discovery and relationship traversal
Shared Memory: Persistent agent collaboration and insight sharing
Project Analysis: Comprehensive code structure analysis with symbol extraction
Smart File Operations: Pattern-based file operations with fuzzy matching
๐ Quick Installation
Prerequisites
Node.js 18+: Required for TypeScript runtime and LanceDB native bindings
Claude Code CLI: Anthropic's Claude Code CLI
Package Manager: npm (included), yarn, pnpm, or bun
Production Installation (Recommended)
# Install globally first (recommended for WSL/Linux compatibility)
pnpm add -g zmcp-tools
# If requested, approve build scripts for native dependencies
pnpm approve-builds -g
# Then install MCP integration
zmcp-tools install
# Alternative: Direct installation (may have issues with Sharp in WSL)
npx zmcp-tools@latest install # npm
yarn dlx zmcp-tools@latest install # yarn
bunx zmcp-tools@latest install # bunThis automatically:
โ Installs MCP server to
~/.mcptools/server/โ Configures Claude Code with
claude mcp add --scope local(current directory only)โ Sets up project permissions and CLAUDE.md integration
โ Initializes SQLite database for agent coordination
โ Initializes LanceDB vector database for semantic search
โ Creates 61 professional MCP tools ready for use
Development Installation
# Clone and setup development environment
git clone https://github.com/zachhandley/ZMCPTools
cd ZMCPTools
# Quick automated setup
pnpm install && pnpm run install:global
# Or manual setup
pnpm install # Install dependencies
pnpm build # Compile TypeScript
pnpm link --global # Create global symlink
zmcp-tools install # Configure MCP integrationDevelopment features:
โ Global
zmcp-toolscommandโ Hot-reload development:
pnpm devโ TypeScript compilation:
pnpm buildโ Test suite:
pnpm testโ Full source code access and modification
MCP Server Configuration
The installer automatically configures the MCP server using claude mcp add --scope local. The server runs directly with Node.js:
# Automatically executed during installation
claude mcp add --scope local zmcp-tools node ~/.mcptools/server/index.jsThis provides:
โ Core MCP server with 43 tools (including LanceDB)
โ Multi-agent orchestration capabilities
โ TypeScript type safety and performance
โ SQLite-based data persistence
โ LanceDB vector database for semantic search
โ Advanced file operations and project analysis
โ Documentation intelligence with vector embeddings
โ Foundation session caching for cost optimization
๐ Prerequisites
ZMCPTools TypeScript requires the following:
Required
Node.js 18+ - JavaScript runtime and LanceDB native bindings
Package Manager - npm (included), yarn, pnpm, or bun
Claude CLI - Anthropic's Claude Code CLI
Optional
TypeScript: For development (
npm install -g typescript)TSX: For development hot-reload (included in devDependencies)
Note: This TypeScript implementation includes native LanceDB vector database with no Python dependencies required.
๐ Example Commands
Here are some common workflows you can achieve with ZMCPTools:
๐จ Brand & Style Analysis
"Using the zmcp server, find the styles and generate me a brand guide called THEWEBSITE_BRAND.md"๐ Documentation Scraping
"Scrape https://modelcontextprotocol.io/introduction -- use the selector #content-area (by ID), don't allow any subdomains, and nothing ignored (though we can ask it to ignore regex, glob, patterns to *not* get some docs), update it weekly"๐ค Multi-Agent Orchestration
"Create a multi-agent orchestration to design and architect a ModelContextProtocol TypeScript server to do XYZ"๐ Project Analysis
"Analyze the project structure, and then search the .treesummary directory to see what's there"๐ฅ Agent Management
"Spawn an agent to do X, and then monitor its progress"๐ Documentation Search
"Search the documentation for X"๐ Browser Automation
"Create a browser session, navigate to https://example.com, take a screenshot, and analyze the page structure for accessibility issues"๐ง Knowledge Graph Operations
"Store this implementation pattern in the knowledge graph and find related patterns we've used before"๐พ Foundation Session Optimization
"Create a multi-agent team with foundation session 'auth-refactor-2024' to refactor authentication across frontend and backend with 90% cost savings"๐ Development Workflow
"Start a dev server, run the test suite, and spawn an agent to fix any failing tests while monitoring progress in real-time"๐ Cross-Agent Learning
"Analyze recent agent errors, identify patterns, and spawn a debugging agent that learns from previous failures"๐ฏ Streamlined Plan System
"Create an execution plan for implementing OAuth, then execute it with coordinated agents following the plan"The Plan system provides 4 streamlined tools for orchestration:
create_execution_plan- Create high-level execution plans from objectivesget_execution_plan- Retrieve plans with progress tracking via linked Tasksexecute_with_plan- Execute plans by creating coordinated Tasks for agentslist_execution_plans- List and monitor execution plans
Plans create Tasks for implementation - Plans are high-level orchestration templates while Tasks are specific work items assigned to agents.
๐ Data Scope
Documentation & Websites: Shared project-wide across all repositories
Agents, Tasks, Memory: Scoped per repository_path for isolation
Prompts & Resources: Available globally for all projects
๐ฏ Multi-Agent Orchestration
Architect-Led Coordination
ZMCPTools features an AI architect that automatically analyzes objectives and spawns coordinated agent teams with proper dependencies and real-time communication.
๐ฏ Usage
CLI Commands
# Show help and available commands
zmcp-tools --help
# Show system status
zmcp-tools status
# Start the MCP server
zmcp-server
# Agent management
zmcp-tools agent list
zmcp-tools agent spawn -t <type> -r <repository> -d <description>
zmcp-tools agent terminate -i <agent-id>
# Task management
zmcp-tools task list
zmcp-tools task create -t <title> -d <description>
# Memory operations
zmcp-tools memory search -q <query>
zmcp-tools memory store -t <title> -c <content>
# Communication rooms
zmcp-tools room list
zmcp-tools room join -n <name>๐ ๏ธ Development Commands
# Initial setup (one time - using pnpm)
pnpm install # Install dependencies first
pnpm run install:global # Build, link globally, and configure everything
# Alternative package managers
npm install && npm run build && npm link && zmcp-tools install
yarn install && yarn build && yarn link && zmcp-tools install
bun install && bun run build && bun link && zmcp-tools install
# Development with hot-reload
pnpm dev # Start MCP server with tsx
pnpm dev:cli # Start CLI with tsx
# Building and testing
pnpm build # Compile TypeScript to dist/
pnpm test # Run Vitest tests
pnpm test:ui # Run tests with UI
pnpm test:run # Run tests once
# Code quality
pnpm lint # ESLint checking
pnpm typecheck # TypeScript type checking
# Production
pnpm start # Start compiled MCP server
pnpm start:cli # Start compiled CLI
# Management
zmcp-tools install # Install/reinstall MCP server
zmcp-tools uninstall # Remove MCP server and settings
zmcp-tools status # Check system status
zmcp-tools help # Show all commands
# For users who installed via npx
npx zmcp-tools@latest status # Check status
npx zmcp-tools@latest uninstall # Remove installation๐ TypeScript Features:
๐ฏ Type Safety
Full TypeScript implementation with strict mode
Zod schemas for runtime validation
Compile-time error checking
IntelliSense support in IDEs
๐ Performance
Better-sqlite3 for high-performance database operations
ES2022 target with modern optimizations
Efficient memory management
Fast development with tsx hot-reload
๐งช Testing
Vitest for modern testing experience
UI mode for interactive test debugging
Coverage reports with V8 provider
TypeScript test support out of the box
๐ฆ Module System
ESNext modules for tree-shaking
Clean imports and exports
Library mode for programmatic use
Dual CLI and server binaries
Convenient Aliases
The following aliases are available (add to ~/.zshrc):
alias mcp-tools="zmcp-tools"
alias mcp-server="zmcp-server"
alias mcp-status="zmcp-tools status"
alias mcp-dev="npm run dev"โ๏ธ Configuration
TypeScript Configuration
# Build configuration in tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"experimentalDecorators": true,
"outDir": "dist",
"rootDir": "src"
}
}
# Development scripts (works with npm/yarn/pnpm/bun)
npm run dev # Hot-reload development
npm run build # Production build
npm test # Run test suite๐ฏ TypeScript Features:
Strict Type Checking: Full type safety with strict mode enabled
Modern ES Modules: ESNext target with bundler resolution
Development Tools: tsx for hot-reload, Vitest for testing
Code Quality: ESLint with TypeScript rules
Binary Generation: Dual binaries for CLI and server
Library Mode: Exportable as TypeScript library
Manual MCP Server Configuration (if needed)
The installer automatically configures the MCP server, but if you need to manually configure it:
# For production install (via npx)
# Server is installed at ~/.mcptools/server/index.js
# Configuration is automatic via 'claude mcp add --scope local'
# For development install
claude mcp add zmcp-tools $(pwd)/dist/server/index.js
# Verify installation
claude mcp list
# Test server directly
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node ~/.mcptools/server/index.js๐ก๏ธ MCP Protocol Compliance
Full MCP 1.15.0 Compatibility
JSON-RPC 2.0: Complete implementation with proper message handling
Stdio Transport: High-performance local process communication
Tool Definitions: 40 tools with comprehensive input schemas and validation
Error Handling: Standardized MCP error codes and proper error propagation
Initialization Protocol: Full handshake with capability negotiation
TypeScript MCP Implementation
Full TypeScript implementation with MCP SDK, proper error handling, and tool management.
MCP Best Practices Implemented
Input Validation: Zod schemas for runtime type safety
Proper Error Handling: MCP-compliant error responses with detailed messages
Tool Annotations: Descriptive schemas with security hints where applicable
Resource Management: SQLite database connections with proper cleanup
Transport Security: Stdio transport for secure local communication
๐๏ธ Architecture
Modern CLI with TypeScript
Commander.js Framework: Type-safe commands with automatic help generation
Console Formatting: Colored output and structured command display
CLI Interface: Comprehensive command structure for all operations
Status Reporting: Real-time feedback for operations and system health
Dual-Layer Design
Layer 1: Enhanced File Operations
Hierarchical ignore pattern system (.claudeignore > .gitignore > defaults)
Fuzzy string matching with configurable similarity thresholds
Cross-platform screenshot capabilities with native tool integration
Layer 2: Multi-Agent Orchestration
Project analysis integration for intelligent code understanding
Documentation intelligence with local vector database storage
SQLite-based coordination with real-time communication
Foundation Session pattern for 85-90% token cost reduction
Enhanced Project Integration
Automatic CLAUDE.md Integration:
Unique delimiters:
<!-- zzZMCPToolszz START/END -->Intelligent replacement of existing sections
Architect-led workflow guidance
Multi-agent examples with dependencies
Documentation-driven development patterns
Automatic Claude Hooks Integration:
Session start context injection for instant MCP tools awareness
Knowledge graph and core tools reminders (analyze_project_structure(), search_knowledge_graph(), plan tools)
One-time per session to avoid context bloat
Non-destructive settings.json merging
Per-Project Setup:
# Automatic integration during project setup
zmcp-tools install --project
# Creates/updates:
# โข MCP server registration via 'claude mcp add --scope local'
# โข ./.claude/commands/ (Claude commands)
# โข ./.claude/hooks/ (session start context injection)
# โข ./.claude/settings.json (hook configuration)
# โข ./CLAUDE.md (integration guide with architect examples)Data Storage
Installation: Local project directory (
./dist/)Data Directory:
~/.mcptools/data/(SQLite databases)Vector Storage:
~/.mcptools/lancedb/(LanceDB vector database)Main Database:
~/.mcptools/data/claude_mcp_tools.dbAll Data: Agents, tasks, memory, and documentation in SQLite database
Vector Data: Embeddings and vector indices stored in LanceDB
Cache: Foundation session cache in memory/disk with vector index caching
๐ ๏ธ Development
# Clone and setup development environment
git clone https://github.com/zachhandley/ZMCPTools
cd ZMCPTools
pnpm install
# Quick setup
pnpm run install:global && mcp-tools install # Build, link
# Development mode
pnpm dev # Run MCP server with hot-reload
pnpm dev:cli # Run CLI with hot-reload
# Build and test
pnpm build # Compile TypeScript
pnpm test # Run test suite
# Test the binaries
node dist/index.js # MCP server
node dist/cli/index.js # CLI interface๐จ CLI Examples
Status Display
$ zmcp-tools statusZMCPTools Status:
โ
TypeScript Build: dist/ directory exists
โ
Data Directory: ~/.mcptools/data/
โ
SQLite Database: claude_mcp_tools.db
โ
LanceDB Vector Database: ~/.mcptools/lancedb/
โ
MCP Server: zmcp-server binary available
โ
Dependencies: @modelcontextprotocol/sdk, @lancedb/lancedb, better-sqlite3Development Workflow
$ npm run devStarting TypeScript development server...
โ
TypeScript compilation successful
โ
MCP server starting on stdio
โ
SQLite databases initialized
โ
LanceDB vector database initialized
โ
Agent orchestration ready
โ
Foundation cache system active
Listening for MCP requests...
Press Ctrl+C to stop๐ Troubleshooting
Installation Issues
# Check prerequisites
node --version # Node.js 18+ required
pnpm --version # Package manager (or npm/yarn/bun)
claude --version # Claude CLI required
# Clean installation
rm -rf node_modules dist
pnpm install
pnpm build
# Development installation
git clone https://github.com/zachhandley/ZMCPTools
cd ZMCPTools
pnpm install && pnpm run install:globalVerification
# Check build output
ls -la dist/
node dist/index.js --help
# Check data directory
ls -la ~/.mcptools/data/
# Test MCP server
claude mcp list
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.jsServer Connection Issues
# Test TypeScript compilation
pnpm typecheck
pnpm lint
# Test MCP server directly
node dist/index.js
# Debug with development server
pnpm dev
# Check MCP configuration
claude mcp list
claude mcp remove zmcp-tools
claude mcp add zmcp-tools $(pwd)/dist/index.jsTypeScript Issues
# Type checking errors
pnpm typecheck # Check TypeScript errors
npx tsc --noEmit --pretty # Detailed type errors
# Runtime errors
node --inspect dist/index.js # Debug with Node.js inspector
pnpm dev # Hot-reload development
# Database issues
rm -rf ~/.mcptools/data/*.db # Reset databases
node dist/index.js # Reinitialize
# Dependency issues
rm -rf node_modules pnpm-lock.yaml
pnpm install # Clean dependency install๐ Performance & Architecture
Production Metrics
61 MCP Tools: Complete tool suite with full type safety and MCP 1.15.0 compliance
Database Performance: SQLite with WAL mode and optimized connection pooling
Vector Search: LanceDB native TypeScript bindings for <100ms semantic search
Memory Efficiency: <75MB baseline with intelligent caching and cleanup
Response Time: <200ms average tool execution, <50ms for cached operations
Cost Optimization: 85-90% reduction through automatic foundation session management
Technical Architecture
TypeScript-First Design:
Strict TypeScript with Zod schemas for runtime validation
Modern ES modules with tree-shaking optimization
Dual binary system (CLI + MCP server)
Hot-reload development with tsx
Database Layer:
SQLite with Write-Ahead Logging for performance
Drizzle ORM for type-safe database operations
Automatic schema migrations and connection pooling
LanceDB vector database for semantic search
MCP Compliance:
Full MCP 1.15.0 protocol implementation
JSON-RPC 2.0 with proper error handling
Stdio and HTTP transport support
Resource and prompt management
๐ค Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes with tests
Test with Claude Code integration
Submit a pull request
Development Guidelines
Follow TypeScript strict mode requirements
Add comprehensive error handling with MCP compliance
Include tool annotations for destructive/read-only operations
Test all changes with the actual MCP server integration
๐ License
MIT License - see LICENSE file for details.
๐ Supercharge your Claude Code workflows with ZMCPTools - TypeScript-powered multi-agent orchestration, LanceDB vector search, type-safe development, enhanced performance, and intelligent development assistance!
Available Tools
70 toolsanalyze_coordination_patternsC
Analyze coordination patterns and suggest improvements
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | Yes | Absolute path to the repository to analyze for coordination patterns. This determines the scope of rooms and communication to analyze. |
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 only implies analysis and suggestion but does not reveal side effects, required permissions, computational cost, return behavior, or any other operational details.
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 short (one sentence) but lacks detail. It is concise, but at the expense of completeness; every sentence should earn its place, and this one does not provide sufficient 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 should compensate with richer context. It fails to explain what coordination patterns are, what format suggestions take, or any prerequisites, leaving significant gaps 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?
Schema description coverage is 100% for the single parameter 'repositoryPath', which is fully described. The tool description adds no extra semantic context beyond what the schema provides, resulting in baseline score.
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 states 'analyze coordination patterns and suggest improvements', which is a verb-resource pair but lacks specificity. It doesn't clarify what constitutes coordination patterns or how improvements are suggested, making it vague compared to sibling tools like 'analyze_dom_structure' or 'analyze_file_symbols'.
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. The description does not mention contexts, prerequisites, or exclusions, leaving the agent to infer its applicability from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_dom_structureC
AI-guided exploration and analysis of DOM structure using goal-oriented patterns. Analyzes stored DOM JSON to identify interactive elements, content areas, and navigation patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | Unique identifier of the page to analyze | |
| analysis_goal | No | Specific goal for DOM analysis (e.g., 'find login form', 'locate navigation menu') | |
| focus_areas | No | Specific areas to focus on (e.g., ['forms', 'navigation', 'content']) | |
| max_depth | No | Maximum depth to analyze in DOM tree |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits, but it only states that the tool analyzes stored data. It does not confirm read-only behavior, disclose side effects, or address permissions, leaving significant 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?
The description is concise with two sentences, efficiently conveying the core purpose. However, it could be more structured by explicitly listing what it identifies, but there is no wasted text.
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 absence of an output schema and annotations, the description is adequate but incomplete. It does not explain return values, prerequisites (e.g., that the page must already be stored), or how the AI guidance works, leaving gaps for a complex 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 four parameters are described in the input schema (100% coverage), so the description adds minimal extra semantics. The description's mention of 'goal-oriented patterns' provides context but does not clarify parameter usage beyond what the schema already offers.
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 analyzes stored DOM JSON to identify interactive elements, content areas, and navigation patterns. It specifies the action (analyze) and resource (DOM structure) but does not explicitly differentiate from sibling tools like search_dom_elements or navigate_dom_path, leading to a score of 4.
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 offers no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It only implies usage for DOM analysis, which is insufficient for an agent to make informed decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_file_symbolsB
Extract and analyze symbols (functions, classes, etc.) from code files
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | The absolute path to the source code file to analyze for symbols. | |
| symbol_types | No | Types of code symbols to extract from the file. Defaults to functions and classes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It states it extracts and analyzes symbols but omits details like read-only nature, error handling, file language requirements, or return format. 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?
The description is a single, efficient sentence that conveys the core purpose without verbosity. It is front-loaded but could include more structured details like constraints or output hints.
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 is insufficiently complete. It does not explain the output format, error conditions, or language support, leaving important context lacking for effective tool use.
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 both parameters. The description adds no additional meaning beyond the schema, meeting baseline for coverage. Output format is not described, but schema lacks output 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 (extract and analyze), resource (symbols from code files), and provides examples (functions, classes). It distinguishes from sibling tools like analyze_project_structure or analyze_dom_structure, which handle different scopes.
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 explicitly state when to use this tool versus alternatives. While sibling tool names imply different contexts, no explicit guidance is provided within the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_project_structureC
Analyze project structure and generate a comprehensive overview
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | The path to the project directory to analyze. Defaults to current directory. | . |
| include_patterns | No | Glob patterns for files to include in analysis. Defaults to all files. | |
| exclude_patterns | No | Glob patterns for files/directories to exclude from analysis. Includes .claudeignore patterns if present. | |
| max_depth | No | Maximum directory depth to traverse during analysis. Prevents infinite recursion. | |
| generate_summary | No | Whether to generate a .treesummary file with the project structure overview. |
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 states the high-level purpose without mentioning caching, .claudeignore respect, or output format. The schema description adds some context, but the tool's description itself 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 is extremely concise at one sentence. While it is not wasteful, it may be too brief for a tool with multiple parameters and behavioral traits, risking under-specification.
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 complexity (5 parameters, no annotations, no output schema), the description is incomplete. It does not explain the output, side effects (caching, file creation), or how it differs from sibling tools like 'generate_project_summary'.
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 parameter semantics beyond what the input schema already provides, resulting in no 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 analyzes project structure and generates a comprehensive overview, matching the name. However, it does not differentiate from siblings like 'generate_project_summary' or 'get_project_overview', which could cause confusion.
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. The description lacks any when-to-use, when-not-to-use, or contextual best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_screenshotC
AI-powered analysis of page screenshots with custom prompts. Can focus on specific regions and provide contextual insights.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | Unique identifier of the page whose screenshot to analyze | |
| analysis_prompt | Yes | Specific prompt for screenshot analysis (e.g., 'identify all clickable buttons', 'find the search form') | |
| focus_region | No | Optional region of screenshot to focus analysis on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions AI-powered analysis but fails to disclose whether it captures a new screenshot or uses an existing one, what the output format is, or any side effects. Minimal behavioral 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?
Two sentences, front-loaded with purpose, no redundant words. 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?
Given no output schema, the description should clarify return value. It does not. Also lacks context on whether a screenshot must be pre-captured or is taken automatically. Incomplete for effective use.
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 'focus on specific regions' aligning with focus_region, but no new meaning beyond schema descriptions. No added value for page_id or analysis_prompt.
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 performs AI-powered analysis of page screenshots using custom prompts, and can focus on regions. This distinguishes it from sibling tools like 'take_screenshot' (capture) and 'analyze_dom_structure' (DOM analysis), though 'contextual insights' is vague.
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 other analysis tools. The description does not mention prerequisites, such as whether a screenshot must already exist, or when to prefer this over DOM-based analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcast_message_to_agentsB
Broadcast a message to multiple agents with auto-resume functionality
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | Yes | Absolute path to the repository where target agents are located. This determines the scope of agents to potentially message. | |
| agentIds | Yes | Array of specific agent IDs to send the message to. Only agents in this list will receive the message. | |
| message | Yes | The message content to broadcast to the specified agents. This should be clear and actionable. | |
| autoResume | No | Whether to automatically resume dead agents before sending the message. If true, any agents that are not currently active will be resumed with their last session before message delivery. Defaults to true. | |
| priority | No | Priority level of the message. Higher priority messages may be delivered with special formatting or emphasis. Defaults to "normal". | normal |
| messageType | No | Type of message being sent. Affects how the message is formatted and processed by receiving agents. Defaults to "coordination". | coordination |
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 'auto-resume functionality', which is a key behavioral trait. However, it does not disclose other behaviors such as whether the operation is safe (non-destructive), permissions required, or side effects beyond resume.
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, front-loaded with the core action. However, it is so brief that it sacrifices completeness, missing important context that could be added with minimal extra 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 tool with 6 parameters, no output schema, and no annotations, the description is inadequate. It does not explain the return value, the role of repositoryPath, or the significance of priority/messageType. Siblings like send_message and list_agents provide context not leveraged here.
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 no additional meaning beyond what the schema already provides; the auto-resume mention is already covered in the autoResume parameter description.
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 broadcasts a message to multiple agents, which is a specific verb+resource. It implies broadcasting to many agents, distinguishing it from send_message (likely one-to-one). However, it does not explicitly differentiate from siblings like send_message or list_agents.
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 send_message. There is no mention of prerequisites, exclusions, or context for using broadcast over other communication tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_scrape_jobC
Cancel an active or pending scraping job
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The unique identifier of the scraping job to cancel. Get this from the response of scrape_documentation or get_scraping_status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states it cancels active or pending jobs but does not disclose whether cancellation is irreversible, what happens to partial data, or any side effects. Minimal behavioral detail.
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 a single clear sentence. It is well-structured and front-loaded. While little information is present, it is efficiently conveyed.
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 cancellation tool with one parameter and no output schema, the description is moderately complete. It lacks details on expected outcomes or error states, but covers the basic action.
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 with a detailed description for job_id, explaining its source. The main description adds no further parameter info, but the schema already suffices. 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 verb 'Cancel' and the resource 'scraping job' with scope 'active or pending'. It effectively conveys the tool's purpose, though it does not differentiate from sibling tools like stopping via other means.
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 is provided on when to use this tool versus alternatives (e.g., waiting for completion or checking status with get_scraping_status). The description lacks contextual cues for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_orphaned_projectsB
Clean up orphaned or unused project directories
| Name | Required | Description | Default |
|---|---|---|---|
| base_path | No | The base directory path to search for orphaned projects. Defaults to user's home directory. | /root |
| days_threshold | No | The number of days since last modification to consider a project orphaned. Defaults to 30 days. | |
| dry_run | No | Whether to perform a dry run without actually deleting files. Defaults to true for safety. |
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 'Clean up orphaned or unused project directories' but does not disclose that the tool may delete directories, what permissions are required, or whether changes are reversible. The schema notes that dry_run defaults to true for safety, but this is not mentioned in the description itself.
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. While it could be more informative, it is efficiently worded and front-loads the main action without unnecessary 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 the tool has 3 parameters and no output schema, the description is incomplete. It does not mention the criteria for orphaned projects (package.json or .git), the safety default of dry_run, or the possible outcome (actual deletion vs. listing). The input schema's description covers these details, but the description itself lacks 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 description coverage is 100% (each parameter has a description). The description adds no additional meaning beyond the schema; for example, the dry_run parameter's purpose is already clear from the schema. The overall schema description gives some context about project detection criteria, but the description does not enrich parameter 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 'Clean up orphaned or unused project directories' clearly states the verb (clean up) and resource (orphaned project directories). It is specific enough to convey the tool's core function, though it does not explicitly differentiate from sibling cleanup tools like 'cleanup_stale_agents' or 'cleanup_stale_rooms'.
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 explicit guidance on when to use this tool versus alternatives (e.g., 'run_comprehensive_cleanup'). The input schema description implies usage by mentioning that it looks for directories with package.json or .git, but no when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_stale_agentsC
Clean up stale agents with enhanced options and optional room cleanup
| Name | Required | Description | Default |
|---|---|---|---|
| staleMinutes | No | Minutes after which agents are considered stale (1-1440) | |
| dryRun | No | Perform a dry run without actually cleaning up | |
| includeRoomCleanup | No | Include room cleanup when cleaning up agents | |
| notifyParticipants | No | Notify room participants before cleanup |
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 disclosing behavior. It does not mention that the tool is destructive, what 'stale' means, notification behavior, or whether the operation is reversible. This is insufficient for a cleanup 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?
The description is a single short sentence, which is concise. However, it is too vague and does not convey necessary details; it could be more informative without increasing length significantly.
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 should provide more context about prerequisites, side effects, and result format. It lacks details on what happens after cleanup, making it incomplete for safe usage.
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 little beyond the schema, only hinting at 'enhanced options' and 'optional room cleanup' which map to parameters but add no new 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 action ('Clean up stale agents') and mentions 'enhanced options and optional room cleanup', specifying the resource and some features. However, it does not differentiate from sibling tools like 'cleanup_stale_rooms' or 'run_comprehensive_cleanup', which could cause confusion.
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. With many sibling cleanup tools, the lack of usage context makes it difficult for an agent to decide which to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_stale_analysesB
Clean up stale analysis files older than specified days
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Absolute path to the project directory. If not provided, uses the current working directory. Cleans up analysis data for files that no longer exist or are older than the specified age. | |
| maxAgeDays | No | Maximum age in days for analysis files to be considered stale. Files with analysis data older than this will be removed. Must be between 1 and 365 days, defaults to 30 days. |
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 says 'clean up' which implies deletion, but does not specify whether files are permanently removed, if there are any rollback capabilities, or what permissions are required. The lack of safety or side effect details reduces 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?
The description is a single sentence that immediately conveys the core purpose. It is appropriately sized and front-loaded, with no unnecessary words. 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?
The tool performs a destructive cleanup action but provides no output schema and no description of return values, success indicators, or side effects. An agent cannot determine what to expect after invocation. The description lacks completeness given the absence of 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 baseline is 3. The tool description adds little beyond the schema; it does not elaborate on parameter usage or relationships. However, the schema itself already provides adequate descriptions for both parameters (projectPath and maxAgeDays).
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 (clean up), the resource (stale analysis files), and the condition (older than specified days). It effectively distinguishes from sibling cleanup tools like cleanup_orphaned_projects and cleanup_stale_agents by targeting analysis files specifically.
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. It does not mention prerequisites, scenarios where it is appropriate, or when to avoid using it. Given the many sibling cleanup tools, this lack of context forces the agent to rely on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_stale_roomsC
Clean up stale rooms based on activity and participant criteria
| Name | Required | Description | Default |
|---|---|---|---|
| inactiveMinutes | No | Minutes after which rooms are considered inactive (1-2880) | |
| dryRun | No | Perform a dry run without actually cleaning up | |
| notifyParticipants | No | Notify participants before room deletion | |
| deleteEmptyRooms | No | Delete completely empty rooms (no messages, no participants) | |
| deleteNoActiveParticipants | No | Delete rooms with no active participants | |
| deleteNoRecentMessages | No | Delete rooms with no recent messages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states 'clean up' but does not specify whether this involves deletion, archiving, or other actions. The presence of a dryRun parameter suggests potential destructiveness, but this is not articulated.
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, but it is too brief to be maximally useful. It could benefit from more detail while remaining concise.
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 complexity of 6 parameters and no output schema or annotations, the description fails to provide sufficient context about return values, side effects, or prerequisites. For example, it does not indicate what the tool returns (e.g., list of cleaned rooms) or how the dryRun mode works.
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 6 parameters have descriptions in the input schema, providing full coverage. The description adds no additional meaning beyond the schema, so it's adequate but not improved.
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 identifies the verb 'clean up' and resource 'stale rooms', and mentions criteria. However, it is somewhat generic and does not differentiate from other cleanup tools like 'cleanup_stale_agents' or 'run_comprehensive_cleanup'.
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. There are many sibling cleanup tools, but the description does not specify when to choose this one over others like 'cleanup_orphaned_projects' or 'run_comprehensive_cleanup'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_browser_sessionA
[LEGACY] Close a browser session. Use manage_browser_sessions instead.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly states the action (close a browser session), but lacks details on side effects, permissions, or cancellation of ongoing operations. No annotations are provided, so the description carries the full burden, which is only partially met.
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 short and front-loaded with '[LEGACY]', efficiently conveying purpose and deprecation. It earns its place, though it could be slightly more comprehensive without significant bloat.
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 (one parameter, no output schema, no nested objects), the description is adequate for a legacy tool with a clear alternative. However, it could be more complete by explaining the actual behavior of closing a browser session.
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 one required parameter 'session_id' with no description, and the tool's description does not provide any additional meaning. With 0% schema description coverage, the description should compensate but fails to do so.
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 closes a browser session, using a specific verb and resource. It also explicitly distinguishes itself from the sibling tool 'manage_browser_sessions' by recommending its use instead.
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 explicit guidance: 'Use manage_browser_sessions instead', indicating when not to use this tool and directing the agent to the preferred alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_roomA
Close a communication room (soft delete - marks as closed but keeps data)
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room to close. This performs a soft close, marking the room as closed but preserving all messages and data. | |
| terminateAgents | No | Whether to terminate all agents associated with this room when closing it. Defaults to true. If false, agents will remain active but lose their room association. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description and parameter descriptions explain the soft delete nature and agent termination behavior. However, no details on side effects (e.g., can the room be reopened?), authorization needs, or error conditions are provided. Given no annotations, the description carries full burden and is minimally 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?
Single sentence, no unnecessary words. Highly concise and front-loaded with the core action and key qualifier (soft delete).
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?
Covers main behavior and key parameters. Lacks return value information or any post-condition guarantees (e.g., whether the room can be reopened). For a simple mutation tool, this is above baseline but could be more 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% with clear field descriptions. The description adds context by reiterating the soft delete nature, but does not provide significant additional meaning 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?
Description clearly states it closes a communication room with soft delete behavior, distinguishing it from hard delete tools like delete_room or cleanup_stale_rooms. The precise verb 'close' and resource 'communication room' make 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?
No explicit guidance on when to use this tool over alternatives (e.g., when to delete vs close, or when to terminate agents). The description does not mention prerequisites 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.
continue_agent_sessionB
Continue an agent session using stored conversation session ID with additional instructions
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent whose session should be continued. This agent must exist and have a stored conversation session ID. | |
| additionalInstructions | No | Optional additional instructions to provide to the agent when resuming the session. These will be appended to the agent's original task and context. | |
| newTaskDescription | No | Optional new task description to replace the agent's current task. If provided, this will become the agent's new primary objective. | |
| preserveContext | No | Whether to preserve the agent's conversation context when continuing the session. If true, the agent will resume with all previous conversation history. If false, starts a fresh conversation with the stored session ID. | |
| updateMetadata | No | Optional metadata updates to apply to the agent when continuing the session. This can include new configuration, status updates, or coordination information. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'continue' without disclosing behavioral traits such as state changes, error handling, or required permissions. The agent cannot infer side effects from the description alone.
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 sentence that is front-loaded with the main purpose. It is concise, though it could include a brief usage note 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?
The description is too brief for a tool with 5 parameters, nested objects, and no output schema. It does not explain the return value, error conditions, or how the session continuation works in practice. The schema covers parameters, but the overall description lacks 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 description coverage is 100%, so parameters are fully documented in the schema. The description does not add additional semantic context beyond what the schema provides, meeting 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 states the action 'continue an agent session' and specifies the mechanism 'using stored conversation session ID with additional instructions'. It distinguishes the tool from siblings like spawn_agent or terminate_agent.
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 (e.g., when to start a new session vs. continue). No mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_browser_sessionA
Create a new browser session with intelligent auto-close and session management
| Name | Required | Description | Default |
|---|---|---|---|
| browser_type | No | Browser engine to use. Chromium offers best compatibility and stealth features, Firefox for privacy, Webkit for Safari-like behavior | |
| headless | No | Browser runs in headless mode (no UI) for optimal performance and stealth. Always defaults to true for AI automation | |
| javascript_enabled | No | Whether to enable JavaScript execution for proper page rendering. Recommended to keep enabled for modern websites | |
| viewport_width | No | Browser viewport width in pixels. Affects how pages are rendered and responsive design | |
| viewport_height | No | Browser viewport height in pixels. Affects how pages are rendered and responsive design | |
| user_agent | No | Custom user agent string. If not provided, a realistic Chrome user agent will be generated automatically for better stealth | |
| agent_id | No | Agent identifier for tracking which AI agent created this session. Used for memory and knowledge graph integration | |
| auto_close | No | Whether to automatically close the session after inactivity. Documentation sessions ignore this setting to prevent data loss | |
| workflow_type | No | Type of workflow this session will be used for. Documentation sessions have special handling to prevent auto-close, automation sessions optimize for speed, testing sessions focus on reliability | automation |
| session_timeout | No | Maximum session lifetime in milliseconds before auto-close (default: 30 minutes) | |
| max_idle_time | No | Maximum idle time in milliseconds before session is considered stale (default: 10 minutes) |
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 discloses auto-close behavior, workflow-specific handling, timeout/idle settings, and stealth features (e.g., auto-generated user agent). It does not cover failure states or rate limits, but the behavioral context is strong.
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, front-loaded sentence that succinctly captures the tool's purpose. No redundant information; every word serves a clear function.
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 complex input schema (11 parameters with good descriptions) and no output schema, the description provides sufficient high-level context. It covers essential behavioral aspects like auto-close and workflow awareness, though it omits mention of return value (e.g., session ID).
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 detailed descriptions for all 11 parameters. The description adds high-level context (e.g., 'intelligent auto-close') but does not significantly enhance individual parameter 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?
The description states 'Create a new browser session with intelligent auto-close and session management', which clearly indicates the verb and resource. It distinguishes from sibling tools like 'close_browser_session' and 'list_browser_sessions' by emphasizing creation and management features.
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 hints at usage contexts through the workflow_type parameter (documentation, automation, testing) and mentions special handling for documentation sessions. However, it does not explicitly state when to use this tool over alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_delayed_roomC
Create a delayed room for coordination when agents realize they need it
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent creating the coordination room. This agent will be automatically added to the room as a participant. | |
| repositoryPath | Yes | Absolute path to the repository where the room will be created. This determines the scope and context of the coordination room. | |
| reason | Yes | Reason or purpose for creating the coordination room. This will be included in the room description and initial message. | |
| participants | No | Optional array of additional agent IDs or names to invite to the coordination room. The creating agent is automatically included. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks any behavioral context such as side effects, persistence, or permission requirements. It simply says to create a room without explaining what that entails.
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 single-sentence description is front-loaded and non-redundant, but it is too brief to be adequately informative. It could be expanded with key 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 the complexity (4 parameters, no output schema, no annotations, and many siblings), the description is severely incomplete. It does not explain the concept of a 'delayed room', how coordination works, or what happens after creation.
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 descriptions for all 4 parameters. The tool description adds no additional meaning beyond what the schema already provides, resulting in a baseline score.
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 states verb 'Create' and resource 'delayed room' with purpose 'coordination', but it is vague about what 'delayed' means and does not clearly differentiate from other room-related siblings like close_room or join_room.
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 other room operations. The phrase 'when agents realize they need it' is not specific enough to inform decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_execution_planB
Create comprehensive execution plan using sequential thinking before spawning agents
| Name | Required | Description | Default |
|---|---|---|---|
| objective | Yes | The objective to create an execution plan for | |
| repositoryPath | Yes | Repository path where the work will be done | |
| foundationSessionId | No | Optional foundation session ID for cost optimization | |
| planningDepth | No | Depth of planning analysis | detailed |
| includeRiskAnalysis | No | Whether to include risk analysis in planning | |
| includeResourceEstimation | No | Whether to include resource estimation | |
| preferredAgentTypes | No | Preferred agent types for execution | |
| constraints | No | Constraints or limitations to consider |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as idempotency, state changes, permissions, or effects on existing plans. The description is too brief for a tool with 8 parameters.
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 a single sentence that captures the core purpose. It is concise, but could be slightly more structured to include key details.
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 8 parameters and no output schema, the description is incomplete. It does not explain the role of the plan in the workflow or the significance of parameters like planningDepth or constraints.
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 parameters have 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?
Description states it creates an execution plan, using sequential thinking before spawning agents. This clearly distinguishes it from sibling tools like get_execution_plan, update_execution_plan, and execute_with_plan.
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 before spawning agents, but does not explicitly say when to use this tool vs alternatives. Lack of explicit when-not or alternative explanations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_knowledge_relationshipB
Create a relationship between two entities in the knowledge graph
| Name | Required | Description | Default |
|---|---|---|---|
| repository_path | Yes | The absolute path to the repository where the relationship should be created | |
| from_entity_id | Yes | The ID of the source entity in the relationship | |
| to_entity_id | Yes | The ID of the target entity in the relationship | |
| relationship_type | Yes | The type of relationship between the entities (e.g., 'depends_on', 'implements', 'extends', 'uses', 'calls', 'contains', 'part_of', 'similar_to', 'related_to', 'conflicts_with', 'replaces', 'references', 'documents', 'tests', 'configures', 'deploys', 'monitors', 'validates', 'triggers', 'handles', 'processes', 'stores', 'retrieves', 'transforms', 'aggregates', 'filters', 'sorts', 'groups', 'joins', 'merges', 'splits', 'compresses', 'encrypts', 'decrypts', 'hashes', 'signs', 'verifies', 'authenticates', 'authorizes', 'logs', 'traces', 'debugs', 'profiles', 'benchmarks', 'optimizes', 'refactors', 'migrates', 'upgrades', 'downgrades', 'patches', 'releases', 'versions', 'branches', 'tags', 'commits', 'merges', 'rebases', 'cherry_picks', 'stashes', 'diffs', 'conflicts', 'resolves', 'other') | |
| strength | No | The strength of the relationship (0.0 to 1.0, where 1.0 is strongest) | |
| confidence | No | The confidence in the relationship's accuracy (0.0 to 1.0, where 1.0 is most confident) | |
| context | No | Additional context or description about the relationship | |
| discovered_by | No | The agent or process that discovered this relationship | |
| properties | No | Additional properties and metadata for the relationship as key-value pairs |
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 only states the creation action without disclosing behavioral traits like idempotency, side effects, permissions, or error conditions. The schema provides parameter details but no behavioral 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 a single, direct sentence: 'Create a relationship between two entities in the knowledge graph'. It is concise and avoids unnecessary words, though it could incorporate more context 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 the tool's complexity (9 parameters, no output schema), the description is too brief. It lacks information about return values, typical usage, or post-creation effects. The schema description helps but does not compensate for missing 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 description coverage is 100%, so the baseline is 3. Each parameter has a clear description in the schema, and the tool description adds 'directional' context, but overall the description does not significantly enhance 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 'Create a relationship between two entities in the knowledge graph' clearly states the action (create) and resource (relationship in knowledge graph). The schema description adds further detail, and the tool is easily distinguishable from siblings like find_related_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?
No explicit guidance is provided on when to use this tool versus alternatives. The schema description implies its use for establishing connections, but there is no mention of prerequisites, exclusions, or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskC
Create and assign task to agents with enhanced capabilities
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | Yes | Absolute path to the repository where the task will be created. This determines the context and scope of the task. | |
| taskType | Yes | Type of task being created (e.g., "feature", "bug", "enhancement", "documentation", "testing"). This helps categorize and prioritize the task. | |
| title | Yes | Short, descriptive title for the task that summarizes what needs to be done. | |
| description | Yes | Detailed description of the task including requirements, context, and expected outcomes. Should be comprehensive enough for an agent to understand and execute. | |
| requirements | No | Optional object containing specific requirements, configuration, or parameters for the task. Can include priority, estimated duration, assigned agent ID, and other task-specific data. | |
| dependencies | No | Optional array of task IDs that this task depends on. The task will only be eligible for assignment after all dependencies are completed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden. It does not disclose side effects (e.g., whether creation triggers assignment immediately), permissions needed, or any constraints like rate limits. The term 'enhanced capabilities' is ambiguous.
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, front-loading the purpose. However, it could be more structured by breaking into a brief usage summary and a note on behavior.
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 6 parameters including a nested object and no output schema, the description should at least hint at return values (e.g., task ID) or typical usage flow. It lacks completeness for a moderately complex creation 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 base is 3. The description adds no extra meaning beyond the schema, missing an opportunity to explain relationships between parameters (e.g., how 'requirements' interacts with 'taskType') or provide usage examples.
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 indicates the tool creates and assigns a task to agents, with a mention of 'enhanced capabilities' which is vague but does not obscure the core purpose. It distinguishes from siblings like 'create_execution_plan' which focuses on plans rather than tasks.
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 'spawn_agent' or 'create_execution_plan'. The description lacks any contextual hints about appropriate scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_all_website_pagesA
Delete all pages for a website (useful for clean slate before re-scraping)
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The unique identifier of the website whose pages should be deleted. Get this from list_documentation_sources. | |
| confirm | No | Safety confirmation flag. Must be set to true to actually delete all pages. This prevents accidental deletion of entire websites. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behaviors. It mentions destructive nature and safety confirmation, but lacks details on reversibility, impact on related data, or performance implications.
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?
Ultra-concise: one sentence plus parenthetical. Front-loads purpose. 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?
Covers purpose, usage, and safety adequately for a simple tool. Could mention immediacy or irreversibility, but not essential given 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?
Schema description coverage is 100%. Description adds context for website_id (source) and confirm (safety flag), but does not significantly expand beyond schema. Baseline 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?
Description clearly states the verb (delete), resource (all pages for a website), and context (useful for clean slate before re-scraping). It distinguishes from siblings like delete_pages_by_ids by indicating bulk deletion.
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 context for use: 'useful for clean slate before re-scraping'. Implies when not to use (for selective deletion) but does not explicitly name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_execution_planB
Delete an execution plan by ID
| Name | Required | Description | Default |
|---|---|---|---|
| planId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as irreversibility, side effects (e.g., cascading deletions), or required permissions. For a destructive action, 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 is a single sentence, concise and front-loaded. However, it is too minimal, missing beneficial context while still being 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 delete operation with no output schema or annotations, the description should at least mention that the action is permanent or irreversible. It lacks completeness for safe invocation.
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 0% description coverage, and the tool description does not add any meaning to the 'planId' parameter beyond its name and type. The agent receives no guidance on what constitutes a valid planId or how to obtain it.
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 (delete) and the resource (execution plan) with the identifier (by ID), effectively distinguishing it from sibling tools like create, get, list, and update.
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 deleting a specific plan by ID, but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention any prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_pages_by_idsB
Delete specific pages by their IDs
| Name | Required | Description | Default |
|---|---|---|---|
| page_ids | Yes | Array of page IDs to delete. Must contain at least one page ID. Get page IDs from search results or database queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not mention irreversibility, permissions, cascading effects, or error handling. For a destructive 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?
The description is a single sentence with no unnecessary words, making it concise. However, it lacks structure (e.g., bullet points) that could aid readability.
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, no output schema, and a single parameter, the description is too thin. It omits important context like return values, idempotency, and side effects, leaving the agent underinformed.
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, so the schema already provides meaning. The description adds no extra context beyond what is in the schema parameter description.
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 'Delete specific pages by their IDs' clearly states the action (delete), the resource (pages), and the method (by IDs). It differentiates from sibling tools like delete_pages_by_pattern and delete_all_website_pages.
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, no prerequisites, and no exclusions. It is a single sentence without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_pages_by_patternB
Delete website pages matching URL patterns (useful for cleaning up version URLs, static assets)
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The unique identifier of the website whose pages should be deleted. Get this from list_documentation_sources. | |
| url_patterns | Yes | Array of URL patterns to match for deletion. Uses glob patterns (* for wildcards). For example, ["*/v1/*", "*/legacy/*"] will delete pages with /v1/ or /legacy/ in their URLs. | |
| dry_run | No | Whether to perform a dry run (preview) without actually deleting pages. Set to false to actually delete pages. Default is true for safety. |
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 deletion but does not disclose that the operation is destructive, irreversible, or that a dry run should be performed first. The schema includes a dry_run parameter with safety notes, but the main description omits this critical warning.
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 clear sentence with no unnecessary words. It is front-loaded with the core action 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?
For a destructive tool with no output schema, the description lacks important context such as safety precautions, effects on related data, or confirmation steps. The dry_run parameter is not mentioned in the description, leaving the agent underinformed about safe usage.
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 is already described well. The main description does not add extra meaning beyond the schema, resulting in a baseline score of 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 the tool deletes website pages matching URL patterns, with a specific use case ('cleaning up version URLs, static assets'). This distinguishes it from sibling tools like delete_all_website_pages or delete_pages_by_ids.
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 pattern-based cleanup but does not explicitly state when to use it over alternatives like delete_pages_by_ids or delete_all_website_pages. 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.
delete_roomA
Permanently delete a communication room and all its messages
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room to permanently delete. This will remove all messages and data associated with the room. | |
| forceDelete | No | Whether to force delete the room even if it's not closed. Defaults to false. If false, the room must be closed before deletion. If true, will delete the room regardless of status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It conveys destructive behavior ('permanently delete') and scope (all messages), but omits permissions, irreversible nature, or effect on active rooms. The schema's forceDelete param adds some 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?
A single, concise sentence front-loading the action and scope. Every word is necessary and earned.
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 delete operation, the description covers the core effect. However, it does not mention error states or linked data impacts, though the schema covers parameters well.
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, so the description adds no additional meaning beyond what the schema already 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 a specific verb 'delete' and resource 'communication room', and distinguishes from siblings like close_room and cleanup_stale_rooms by emphasizing permanence and message 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?
The description implies usage for permanent room deletion but lacks explicit when-to-use or when-not-to-use guidance. The forceDelete parameter description gives some context, but no direct comparison to alternatives like close_room.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easy_replaceC
Fuzzy string replacement in files with smart matching
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | The absolute path to the file where text replacement should be performed. | |
| old_text | Yes | The text to search for and replace. Can be exact text or pattern. | |
| new_text | Yes | The replacement text to substitute for the old text. | |
| fuzzy_match | No | Whether to use fuzzy matching that normalizes whitespace and handles indentation. Defaults to true for flexible matching. | |
| backup | No | Whether to create a backup file before making changes. Defaults to true for safety. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context about whitespace normalization and indentation preservation beyond annotations (none provided). It implies file modification but doesn't explicitly state side effects, error handling, or permission requirements.
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 short (one sentence) but lacks structure or front-loading of critical details. It could be more informative without being 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?
No output schema is provided, and the description does not explain the return value or behavior (e.g., success/failure, modified file contents). The tool has 5 parameters, but the high-level description does not cover enough context for an agent to use it fully.
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 all parameters. The top-level description adds no additional meaning beyond the schema's 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 'Fuzzy string replacement in files with smart matching', specifying the verb (replace) and resource (files). It distinguishes itself from siblings by focusing on fuzzy replacement, but does not explicitly contrast with similar file manipulation 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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions for use, or when to prefer sibling tools like find_files or list_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_browser_scriptA
[LEGACY] Execute JavaScript in the browser context. Use interact_with_page instead.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Browser session ID to execute script in. Session must already exist | |
| script | Yes | JavaScript code to execute in the browser context. Can access DOM, window object, and browser APIs. Use return statement to return values | |
| args | No | Arguments to pass to the script. Will be available as function parameters in the script execution context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as error handling, permissions, or side effects. The legacy warning is helpful but insufficient for full 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?
The description is extremely concise (two sentences) and front-ends the critical legacy warning. 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?
For a legacy tool explicitly deprecated in favor of an alternative, the description is complete. It states the function, the legacy status, and the replacement, which is sufficient given its deprecated status.
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 coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond the schema, resulting in a baseline score.
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 'Execute' and the resource 'JavaScript in the browser context'. It also distinguishes the tool from siblings by marking it as legacy and directing to 'interact_with_page'.
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 tells the agent to use 'interact_with_page instead', providing clear when-not-to-use and an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_with_planC
Execute an objective using a pre-created execution plan with well-defined agent tasks
| Name | Required | Description | Default |
|---|---|---|---|
| planningId | Yes | ID of the execution plan to use | |
| repositoryPath | Yes | Repository path where execution will occur | |
| foundationSessionId | No | Optional foundation session ID for cost optimization | |
| executeImmediately | No | Whether to start execution immediately | |
| monitoring | No | Whether to enable progress monitoring |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'execute an objective'. It does not disclose whether execution is asynchronous, what side effects occur, or any required permissions. Behavioral traits like progress monitoring are implied only through parameters.
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 with no fluff, but it omits important context. It earns its place but could be more informative without being 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 5 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain the execution process, return status, or the role of parameters like 'executeImmediately' and 'monitoring'. Sibling tools like 'create_execution_plan' suggest a workflow, but this description lacks that 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% with descriptions for all 5 parameters. The description adds no value beyond what the schema already provides (e.g., 'planningId' is self-explanatory). 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 'Execute an objective using a pre-created execution plan', distinguishing it from sibling tools like create_execution_plan or get_execution_plan. However, it could be more specific about what 'execute' entails (e.g., sequential or parallel task execution).
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 'orchestrate_objective' or 'orchestrate_objective_structured'. The description does not mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_filesC
Search for files by pattern with optional content matching
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | The search pattern to match against file names. Supports wildcards (* and **) for flexible matching. | |
| directory | No | The directory to search in. Defaults to current directory. | . |
| case_sensitive | No | Whether the pattern matching should be case sensitive. Defaults to case insensitive. | |
| include_content | No | Whether to include file content preview (first 500 characters) in the results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It mentions pattern matching and content preview but does not disclose return format, performance implications, or safety characteristics. The description adds minimal transparency beyond the schema.
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 sentence, which is concise and front-loaded with the core purpose. It could benefit from slight expansion but avoids unnecessary verbosity.
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 absence of an output schema, the description should explain return values. It does not. It also fails to distinguish from sibling tools like 'list_files'. The description is adequate but incomplete for a tool with 4 parameters and no structured metadata.
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 description adds limited value. It references pattern and content, but does not elaborate on parameter nuances beyond what the schema already provides. 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 searches files by pattern with optional content matching. It is a specific verb+resource, but lacks explicit differentiation from the sibling tool 'list_files', which likely lists all files without filtering.
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 'list_files' or other search tools. Context signals show many sibling tools, but the description offers no usage conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
force_unlock_jobB
Force unlock a stuck scraping job - useful for debugging and recovery
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The unique identifier of the stuck scraping job to unlock. Get this from get_scraping_status. | |
| reason | No | Optional reason for unlocking the job. This will be logged for debugging purposes. |
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 behavioral disclosure. It only states 'force unlock', which implies a mutation, but does not detail side effects, permissions, or what happens internally. This is insufficient for an agent to understand all 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 very concise at 8 words, front-loading the key action and purpose. It is efficient, though it sacrifices depth. No superfluous sentences.
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 two parameters, no output schema, and no annotations, the description provides adequate context for purpose and use case but lacks details on return values or confirmation behavior. Completeness is moderate.
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 coverage is 100% with descriptions for both job_id and reason that are clear and self-contained. The description does not add significant semantic value beyond the schema, 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 'Force unlock a stuck scraping job' with a verb and resource. The name is descriptive and the input schema further clarifies it's for debugging and recovery. However, it doesn't explicitly distinguish from sibling tools like cancel_scrape_job or force_unlock_stuck_jobs, though the singular job_id implies uniqueness.
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 debugging and recovery' and the input schema adds 'when jobs become unresponsive', providing implicit usage context. However, it does not mention when not to use it or alternative tools like cancel_scrape_job, so guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
force_unlock_stuck_jobsA
Force unlock all stuck scraping jobs (jobs that haven't been updated recently)
| Name | Required | Description | Default |
|---|---|---|---|
| stuck_threshold_minutes | No | Consider jobs stuck if they haven't been updated for this many minutes. Range: 1-1440 minutes (24 hours). Default is 30 minutes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It explains the tool force unlocks multiple jobs, but does not disclose potential side effects, whether it is destructive, or what happens to currently running jobs.
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-loads the main action, and every word adds value. 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?
Given the low complexity (one parameter, no output schema), the description covers the purpose and usage context. It lacks details on reversibility or logs but is adequate for a simple utility 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 already has 100% coverage for the single parameter, including a detailed description, min/max, and default. The description does not add 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 tool force unlocks all stuck scraping jobs, using a specific verb ('force unlock') and resource ('stuck scraping jobs'). It distinguishes from sibling tools like 'force_unlock_job' (singular) and 'cancel_scrape_job'.
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 context about when to use this tool ('useful for system recovery after crashes or network issues'), but does not explicitly mention when not to use it or compare with alternatives like 'force_unlock_job'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_project_summaryC
Generate AI-optimized project overview and analysis
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | The path to the project directory to analyze. Defaults to current directory. | . |
| include_readme | No | Whether to extract description from README files (README.md, README.txt, etc.). | |
| include_package_info | No | Whether to analyze package.json, requirements.txt, and other dependency files to detect framework and language. | |
| include_git_info | No | Whether to extract git repository information like branch, commits, and remotes. | |
| output_path | No | Optional path to save the generated summary as a JSON file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states 'Generate AI-optimized project overview and analysis' without mentioning that it reads files, modifies nothing, or requires local file access. Behavioral details are 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 is a single efficient sentence. It is front-loaded and to the point, though it lacks detail.
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 5 parameters, no output schema, and moderate complexity. The description does not explain the output format or return value, which is critical for a summary-generation tool. Context is incomplete.
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 param descriptions. The description adds no extra meaning beyond 'AI-optimized', which is vague. Meets baseline 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 clearly states it generates an AI-optimized project overview. However, it does not differentiate from sibling tools like get_project_overview or analyze_project_structure, which may perform similar functions.
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. The description lacks context for appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cleanup_configurationB
Get current cleanup configuration and settings for agents and rooms
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description implies read-only behavior via 'get'. However, it doesn't disclose whether permissions are needed, side effects, or if the configuration is subject to caching or staleness. The transparency is adequate but minimal.
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, clear and to the point. No redundant 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 no annotations, the description should provide more context about what the configuration contains (e.g., timeouts, retention policies). It doesn't specify return format or behavior, leaving the agent uncertain.
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?
There are zero parameters and schema description coverage is 100%. The description adds nothing beyond the schema, but since no parameters exist, baseline 3 is appropriate. The lack of needed parameter info doesn't detract.
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 cleanup configuration for agents and rooms. It distinguishes from sibling tools that perform cleanup actions (e.g., cleanup_stale_agents) by indicating it's a 'get' operation, but it doesn't explicitly contrast with other configuration-like siblings.
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 run_comprehensive_cleanup or cleanup_stale_agents. The description does not mention prerequisites, context, 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.
get_execution_planB
Retrieve a previously created execution plan
| Name | Required | Description | Default |
|---|---|---|---|
| planningId | Yes | ID of the planning session to retrieve |
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 only says 'retrieve' without indicating whether it's read-only, requires permissions, or has any side effects. The absence of any behavioral context reduces 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?
The description is a single, concise sentence with no extraneous information. However, it lacks structural elements like bullet points or formatting that could improve scanability.
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 retrieval tool with no output schema and no annotations, the description is minimal. It does not explain what the execution plan contains or how to interpret the response, leaving the agent with insufficient context for reliable invocation.
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 describes the single parameter with 100% coverage: 'ID of the planning session to retrieve'. The description adds no additional meaning beyond the schema, meeting the baseline for high 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 'Retrieve a previously created execution plan', using a specific verb and resource. It distinguishes from sibling tools like create_execution_plan, delete_execution_plan, and list_execution_plans.
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 vs alternatives like list_execution_plans. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_screenshotA
Retrieve stored screenshot for a page. Returns file path or base64 encoded image data for AI visual analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | Unique identifier of the page to get screenshot for | |
| format | No | Format to return screenshot in | base64 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool retrieves stored data (read-only behavior) but does not mention idempotency, required permissions, or what happens if the screenshot is missing. It is adequate but lacks full 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, front-loaded with the core purpose. Every word contributes value. No fluff 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 the low complexity (2 parameters, no output schema), the description covers the main functionality and output. However, it omits error handling (e.g., screenshot not found) and response structure details, which could be helpful for a complete 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?
Schema coverage is 100% with descriptions for both parameters. The description adds context about the return format ('file path or base64 encoded image data for AI visual analysis') but does not significantly enhance understanding beyond the 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 the action ('retrieve stored screenshot'), the resource ('a page'), and the output format ('file path or base64 encoded image data'). It distinguishes itself from sibling tools like 'take_screenshot' (captures new screenshot) and 'analyze_screenshot' (analyzes existing screenshot).
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 that the screenshot already exists (retrieve stored), but it does not explicitly state when to use this over alternatives like 'take_screenshot' for capturing new screenshots or 'analyze_screenshot' for analysis. No conditions 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_project_overviewC
Get comprehensive project overview from TreeSummary analysis
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Absolute path to the project directory. If not provided, uses the current working directory. Returns a comprehensive overview including project structure, file counts, symbol counts, metadata, and directory hierarchy. |
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 lists what the return includes (project structure, file counts, etc.) but omits performance, side effects, or whether the project must already be analyzed. 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 a single sentence that conveys the core purpose efficiently. It could be broken into structured bullet points, but it is not overly 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?
With no output schema, the description should thoroughly explain the return value. While it lists included items, it lacks depth (e.g., data types, format). Given the complexity and many sibling tools, the description is incomplete.
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 projectPath. The description adds return value context beyond the schema but does not enhance parameter meaning significantly. 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 states 'Get comprehensive project overview from TreeSummary analysis', which is a specific verb and resource, but 'TreeSummary analysis' is ambiguous and not explained. Among siblings like analyze_project_structure and generate_project_summary, it lacks differentiation.
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 generate_project_summary or analyze_project_structure. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scraping_statusB
Get status of active and recent scraping jobs (worker runs automatically)
| Name | Required | Description | Default |
|---|---|---|---|
| source_id | No | Optional source ID to filter status for a specific documentation source. If not provided, returns status for all sources. | |
| include_job_details | No | Whether to include detailed job information in the response. If false, returns only summary statistics for better performance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description mentions 'worker runs automatically' hinting at background behavior but lacks details on read-only nature, rate limits, or what constitutes 'active and recent'. The schema description adds some context but the tool description itself is minimal.
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 sentence with verb and resource, no redundant words. It is front-loaded and efficient, though slightly sparse.
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 response contains (e.g., fields like active_jobs, history). For a monitoring tool, this omission leaves the agent underinformed about expected results.
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 2 parameters with descriptions, and schema description coverage is 100%. The tool description does not add additional meaning beyond the schema, so 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 'Get status of active and recent scraping jobs', specifying the verb (get) and resource (status of scraping jobs). It distinguishes from siblings like 'cancel_scrape_job' (different action) and 'scrape_content' (different 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?
The description implies usage for monitoring scraping progress, but it does not explicitly state when to use this tool versus alternatives like 'get_job_status' (if existed) or 'list_jobs'. No guidance on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interact_with_elementA
[LEGACY] Interact with a page element. Use interact_with_page instead.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Browser session ID to interact with. Session must already exist | |
| action | Yes | Type of interaction: 'click' for clicking elements, 'type' for entering text, 'hover' for mouse hover, 'select' for dropdown selection | |
| selector | Yes | CSS selector for the target element. Must uniquely identify the element to interact with | |
| value | No | Value to use for the action. For 'type': text to enter, for 'select': option value(s) to select. Not used for 'click' or 'hover' |
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 notes legacy status and suggests an alternative, but does not describe any behavioral traits such as side effects, error conditions, or limitations of the legacy 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?
The description is extremely concise: a single sentence with a clear deprecation notice and alternative recommendation. 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?
As a legacy tool with a recommended replacement, the description provides minimal context. It does not explain return values or behavior, but the schema is detailed. Given the legacy status, it is adequate but not fully informative for an agent that might still need to use it.
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 covers 100% of parameters with descriptions, so the baseline is 3. The tool description itself adds no additional parameter information, but the schema is sufficient.
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: 'Interact with a page element.' It immediately marks itself as '[LEGACY]' and directs users to a sibling tool, providing clear differentiation.
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 tells users to use 'interact_with_page instead,' providing a clear alternative and when-not-to-use guidance. It lacks specific when-to-use scenarios beyond legacy, but the recommendation is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interact_with_pageB
Perform multiple interactions with a page: click, type, hover, select, screenshot, wait, scroll
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Browser session ID to perform interactions on. Session must already exist | |
| actions | Yes | Array of actions to perform in sequence. Must contain at least one action | |
| auto_close_after | No | Whether to automatically close the browser session after completing all actions. Useful for cleanup after one-time operations |
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 only lists actions and does not disclose behavioral traits such as failure handling, session prerequisites, or side effects. The schema includes some behavioral details (e.g., sequence stops on first failure), but the description does not repeat or add to them.
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 sentence listing actions, which is concise and front-loaded. It could be slightly more informative (e.g., noting session requirement or execution order) but remains efficient without unnecessary verbosity.
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 complexity (array of actions with many subproperties) and no output schema, the description is too brief. It does not explain return values, execution flow, or error behavior, leaving the agent with insufficient context to use the tool effectively despite the rich 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 baseline is 3. The description adds no extra meaning beyond listing action types; parameter details are fully covered by 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 performs multiple interactions (click, type, hover, select, screenshot, wait, scroll) on a page, distinguishing it from siblings like 'interact_with_element' (single action) and 'take_screenshot' (screenshot only).
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 explicitly state when to use this tool versus alternatives. The list of actions implies it is for sequences, but no guidance on prerequisites or exclusion cases is provided. Sibling names offer context, but the description lacks direct usage heuristics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_roomC
Join communication room for coordination
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room to join. This should be an existing room created for coordination between agents. | |
| agentName | Yes | Name or identifier of the agent joining the room. This will be used to identify the agent in room communications. |
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. 'Join' implies a state change (agent becomes a member), but it does not specify if joining is persistent, if rooms must exist, or what side effects occur (e.g., receiving messages). Lacks details on error handling or security.
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 sentence, very concise. It could be slightly expanded to include more context, but it is not verbose. Every word is functional.
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 (no output schema, few parameters), the description is minimal but incomplete. It does not mention that the room must exist, what happens if the agent name is taken, or how to leave the room afterwards. More context would help an agent use it 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% with clear descriptions for both roomName and agentName. The description adds no additional meaning beyond the 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 'Join communication room for coordination' clearly states the action (join) and the resource (communication room). It distinguishes from siblings like close_room (opposite) and list_rooms (listing). However, it does not elaborate on what 'coordination' entails, leaving some 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?
No explicit guidance on when to use this tool versus alternatives like send_message or broadcast_message_to_agents. The context of joining a room before communicating is implied, but the description does not state prerequisites or when to choose this over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agentsC
Get list of active agents
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | Yes | Absolute path to the repository where agents will be listed. This determines the scope of the agent search. | |
| status | No | Optional status filter to only show agents with specific status (e.g., "active", "completed", "failed", "idle"). If not provided, will return agents of all statuses. | |
| limit | No | Maximum number of agents to return. Defaults to 5. Use for pagination. | |
| offset | No | Number of agents to skip before returning results. Defaults to 0. Use for pagination. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It fails to disclose pagination behavior, scope via repositoryPath, or side effects. Only states 'list of active agents,' which is incomplete.
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 is concise and front-loaded. However, it could be more structured with a brief note on filtering or pagination 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 the tool has 4 parameters, no output schema, and many siblings, the description is too sparse. It lacks details on return format, pagination, or differentiation from similar tools.
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%, providing full parameter descriptions. The description adds no additional 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?
Description 'Get list of active agents' clearly states the action and resource, but slightly misleads by implying only active agents, while the schema allows filtering by any status. Distinguishes from siblings like monitor_agents broadly.
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 monitor_agents or when to filter vs list all. The description offers no 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.
list_browser_sessionsA
[LEGACY] List all browser sessions. Use manage_browser_sessions instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 discloses that the tool is legacy, which is a behavioral trait (deprecated). For a simple list operation, this is sufficient additional context beyond the name.
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 with zero wasted words. It is front-loaded with the legacy marker, making the deprecation immediately obvious.
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 no parameters, no output schema, and performs a simple list operation, the description is complete. It covers purpose, deprecation status, and migration path.
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 zero parameters, and schema description coverage is 100%. The description adds no parameter info (none needed). Baseline for 0 parameters is 4, so a score of 4 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 lists all browser sessions, using the specific verb 'List' and resource 'browser sessions'. It also distinguishes itself from the sibling tool 'manage_browser_sessions' by marking itself as legacy and directing the agent to that alternative.
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 tells the agent not to use this tool and provides the exact alternative: 'Use manage_browser_sessions instead.' This is strong, unambiguous guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentation_sourcesB
List all configured documentation sources
| Name | Required | Description | Default |
|---|---|---|---|
| include_stats | No | Whether to include page count statistics for each documentation source. If false, returns only basic source information for better performance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides minimal behavioral context beyond 'list'. No information about performance implications, authorization requirements, or what constitutes a 'configured documentation source'. The parameter description in the schema adds some context but the main description 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 is a single, concise sentence that conveys the core purpose without any extraneous words. It is 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 is complete for its stated purpose but omits details about the output format or what fields are returned for each source. Since no output schema exists, the description should clarify the return structure for better 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 description coverage is 100% for the single parameter 'include_stats', which is well-documented in the input schema. The tool description does not add further semantics, so a 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 uses the specific verb 'List' and resource 'all configured documentation sources', clearly identifying the tool's action and scope. It distinguishes from sibling tools like 'scrape_documentation' or 'delete_all_website_pages' which perform different 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, when listing is appropriate, or how it relates to other tools for managing documentation sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_execution_plansC
List execution plans for discovery and monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | No | ||
| status | No | ||
| priority | No | ||
| createdByAgent | No | ||
| assignedOrchestrationId | No | ||
| limit | No | ||
| offset | No |
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 does not disclose that the tool is read-only, supports pagination, or any behavioral traits like rate limits or performance characteristics.
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 one sentence, which is concise but lacks substance. It does not earn its place because it adds minimal value beyond the tool name. Could be improved without increasing length.
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 complexity (7 optional parameters, no output schema, many sibling tools), the description is severely incomplete. It omits filtering capabilities, pagination, and return format, leaving the agent underinformed.
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 7 parameters with 0% description coverage, yet the description adds no information about parameter meanings, usage, or constraints. The enum and default values are not explained.
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 execution plans and mentions a context (discovery and monitoring). However, it does not differentiate from sister tools like 'get_execution_plan' or specify that it returns multiple plans.
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 (e.g., 'get_execution_plan' for a single plan) or any preconditions. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesB
List files in a directory with smart ignore patterns
| Name | Required | Description | Default |
|---|---|---|---|
| directory | No | The directory path to list files from. Defaults to current directory. | . |
| recursive | No | Whether to recursively list files in subdirectories. Defaults to false for current directory only. | |
| include_patterns | No | Glob patterns for files to include in the listing. Defaults to all files. | |
| exclude_patterns | No | Glob patterns for files/directories to exclude from the listing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It mentions 'smart ignore patterns' but does not explain what that means (e.g., .gitignore-like rules? any special behavior?). No details about performance, side effects, or access requirements.
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 get to the point. However, 'smart ignore patterns' is somewhat vague and could be more precise. Overall, tightly written with 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 tool with 4 parameters and no output schema or annotations, the description is somewhat complete but lacks details on return format, pattern syntax, and behavior when patterns are combined. It's sufficient for basic understanding but not fully self-contained.
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% and the input schema provides descriptive parameter names and defaults. The tool description adds only the phrase 'smart ignore patterns' which adds minimal value beyond the schema's own 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 the tool lists files in a directory, with a specific verb ('List') and resource ('files in a directory'). It adds 'smart ignore patterns' to distinguish from simpler list tools. Sibling tools include 'find_files' and others, so this description sets it apart.
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 directory exploration with pattern filtering, but provides no explicit guidance on when to use this vs. sibling tools like 'find_files' or when not to use. No alternatives or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_room_messagesB
List messages from a specific room with pagination
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room to retrieve messages from. The room must exist and be accessible. | |
| limit | No | Maximum number of messages to return. Defaults to 50. Use for pagination and to control response size. | |
| offset | No | Number of messages to skip before returning results. Defaults to 0. Use for pagination through message history. | |
| sinceTimestamp | No | Optional ISO timestamp string to only retrieve messages sent after this time. Useful for getting recent messages or continuing from a specific point in time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only mentions pagination but omits sorting order, whether only text is returned, permissions required, or any rate limits. Insufficient detail.
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?
One sentence, no redundancy, and front-loaded with key purpose. Could be slightly more informative without increasing length.
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 4 parameters (all well-documented in schema) and no output schema, the description is too bare. It lacks explanation of common use cases, error conditions, or pagination mechanics beyond the 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 descriptions. The description adds little beyond the schema, e.g., 'The room must exist and be accessible' is implied. 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 lists messages from a room with pagination, distinguishing it from send_message, join_room, and close_room. It uses a specific verb and resource.
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 send_message or wait_for_messages. It does not mention when not to use or provide explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_roomsB
List communication rooms with filtering and pagination
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryPath | Yes | Absolute path to the repository where rooms will be listed. This determines the scope of the room search. | |
| status | No | Optional status filter to show rooms with specific status. "active" shows only open rooms, "closed" shows only closed rooms, "all" shows all rooms. If not provided, defaults to showing all rooms. | |
| limit | No | Maximum number of rooms to return. Defaults to 20. Use for pagination. | |
| offset | No | Number of rooms to skip before returning results. Defaults to 0. Use for pagination. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description minimally conveys a read-only list operation. It mentions filtering and pagination but omits side effects or safety guarantees. For a list tool, this is acceptable but not enriched.
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?
One sentence, 5 words โ very concise and front-loaded. It conveys the essential purpose, though it could include a bit more context without losing efficiency.
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 does not specify the return value format (e.g., list of room IDs, objects). It also lacks differentiation from similar list tools. Given no output schema, this leaves 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 description coverage is 100%, so the baseline is 3. The tool description adds no new parameter information 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 ('list'), the resource ('communication rooms'), and key features ('filtering and pagination'). It effectively distinguishes from sibling tools like close_room or delete_room.
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 over alternatives (e.g., list_room_messages). The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_browser_sessionsB
Manage browser sessions: list, close, cleanup idle sessions, get status
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Management action to perform: 'list' shows all sessions, 'close' closes specific session, 'close_all' closes all sessions, 'cleanup_idle' removes idle sessions, 'get_status' provides detailed session statistics | |
| session_id | No | Session ID to operate on. Required for 'close' action, ignored for other actions | |
| force_close | No | Whether to force close sessions even if they are marked as documentation sessions (which are normally protected from auto-close) | |
| cleanup_criteria | No | Criteria for cleanup_idle action. Defines which sessions should be considered for cleanup |
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 only says 'manage' without stating that actions like 'close' and 'cleanup_idle' are destructive. The schema mentions protection for documentation sessions, but the description omits this crucial behavioral detail.
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 sentence that efficiently conveys the tool's scope. It is not overly verbose, though it could benefit from structured format (e.g., bullet points) for 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?
Given the tool's complexity (4 parameters, nested object, multiple actions) and lack of output schema, the description is too minimal. It does not explain action outcomes, return values, or when to use specific actions, leaving the agent underinformed.
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 no additional meaning beyond listing actions; all parameter details are 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 explicitly states the tool's purpose: managing browser sessions with actions like list, close, cleanup idle, and get status. It clearly distinguishes from siblings such as 'list_browser_sessions' and 'close_browser_session' by offering a consolidated management interface.
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 lists actions but does not explicitly guide when to use this tool versus sibling tools. It implies usage for multi-action management (e.g., bulk cleanup) but lacks direct comparisons or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitor_agentsC
Monitor agents with real-time updates using EventBus system
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | No | Optional specific agent ID to monitor. If provided, will focus monitoring on this single agent. If not provided, will monitor all agents in the scope. | |
| orchestrationId | No | Optional orchestration ID to monitor. If provided, will monitor all agents and tasks within this orchestration context. | |
| roomName | No | Optional room name to monitor. If provided, will monitor communication and activity within this specific room. | |
| repositoryPath | No | Optional repository path to monitor. If provided, will monitor all agents and activities within this repository context. If not provided, uses current working directory. | |
| monitoringMode | No | Type of monitoring to perform. "status" monitors agent status changes, "activity" monitors task and work activity, "communication" monitors room messages and coordination, "full" monitors all aspects. | status |
| updateInterval | No | Interval in milliseconds between monitoring updates. Defaults to 2000ms (2 seconds). Lower values provide more frequent updates but use more resources. | |
| maxDuration | No | Maximum duration in milliseconds to monitor. Defaults to 50000ms (50 seconds). After this time, monitoring will automatically stop. | |
| detailLevel | No | Level of detail in monitoring output. "summary" provides basic updates, "detailed" includes more context and metadata, "verbose" provides comprehensive information about all events. | summary |
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 'real-time updates' and 'EventBus' but does not disclose resource consumption, potential side effects, or automatic stopping behavior (implied by maxDuration in schema). The lack of detail on what happens during and after monitoring reduces 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?
The description is a single sentence, making it brief and front-loaded. However, it is under-informative for a tool with 8 parameters and no other documentation. It earns its place but fails to deliver necessary detail, sacrificing substance for 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 8 parameters and no output schema or annotations, the description is insufficient. It does not explain what the monitoring output looks like, how to stop monitoring, or how parameters like monitoringMode and detailLevel affect results. The tool is reasonably complex, but the description leaves significant 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 description coverage is 100%, so the baseline is 3. The description repeats only the term 'real-time updates' and adds no meaningful explanation of parameters beyond what the schema provides. It does not summarize parameter interplay or usage patterns, offering minimal added 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 monitors agents with real-time updates via EventBus. The verb 'monitor' and the context of agents are specific, but it lacks differentiation from sibling tools like 'list_agents' which also involve agent observation. The schema provides additional detail via enums, but the description itself is somewhat generic.
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 'list_agents' for snapshots or 'broadcast_message_to_agents' for communication. There are no prerequisites or scenarios mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orchestrate_objectiveB
Spawn architect agent to coordinate multi-agent objective completion
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title for the orchestration objective - should be descriptive and concise | |
| objective | Yes | Detailed description of the objective to be orchestrated by the architect agent. This should be a clear, comprehensive statement of what needs to be accomplished across multiple specialized agents. | |
| repositoryPath | Yes | Absolute path to the repository where the orchestration will take place. This is the working directory for all spawned agents. | |
| foundationSessionId | No | Optional session ID for cost optimization. When provided, all spawned agents will share this session context, reducing token costs by 85-90% through shared conversation history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions spawning an architect agent but does not clarify whether this is a read-only operation, what side effects occur (e.g., agent creation), or any required permissions. The cost-saving hint via foundationSessionId is only in the schema, not the description.
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, short sentence that conveys the core functionality without extraneous words. It is front-loaded with the key action and resource ('spawn architect agent to coordinate').
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 that spawns an architect agent for multi-agent coordination, the description lacks crucial context: what the tool returns, how the coordination is performed, and any lifecycle implications. No output schema exists, so the description should compensate, but it does not.
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 additional meaning beyond the schema; it simply restates the tool's purpose. All parameters are well-documented in the schema, so no credit for replication.
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 spawns an architect agent to coordinate multi-agent objective completion. It distinguishes from siblings like spawn_agent (generic agent spawning) and orchestrate_objective_structured (structured version) by emphasizing coordination across multiple agents.
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 for multi-agent objectives but does not explicitly state when to use this tool vs alternatives such as orchestrate_objective_structured or spawn_agent. 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.
orchestrate_objective_structuredB
Execute structured phased orchestration with intelligent model selection (Research โ Plan โ Execute โ Monitor โ Cleanup)
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title for the structured orchestration - should be descriptive and concise | |
| objective | Yes | Detailed description of the objective to be orchestrated using structured phased workflow. This should be a clear, comprehensive statement of what needs to be accomplished. | |
| repositoryPath | Yes | Absolute path to the repository where the orchestration will take place. This is the working directory for all spawned agents. | |
| foundationSessionId | No | Optional session ID for cost optimization. When provided, all spawned agents will share this session context, reducing token costs by 85-90% through shared conversation history. | |
| maxDuration | No | Maximum duration in minutes for the orchestration. Defaults to 60 minutes. The orchestration will be cancelled if it exceeds this duration. | |
| enableProgressTracking | No | Whether to enable detailed progress tracking and real-time updates. Defaults to true. | |
| customPhaseConfig | No | Optional configuration to enable/disable specific phases. Keys can be "research", "plan", "execute", "monitor", "cleanup". All phases are enabled by default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, leaving the description to carry the full burden. It mentions phases but does not disclose behavioral traits like what happens during cleanup, model selection criteria, or error handling. For a complex orchestration 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?
A single, densely packed sentence that efficiently conveys the core function with zero waste. It is front-loaded and highly concise.
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 (7 parameters, phased workflow, no output schema), the description is too brief. It does not explain how phases interact, the role of customPhaseConfig, or the impact of maxDuration, leaving agents without sufficient context for effective invocation.
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 descriptions exist for all parameters. The description adds no additional meaning beyond the schema, meeting the baseline of 3 without enhancement.
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 executes a structured phased orchestration with intelligent model selection and lists the phases, clearly distinguishing it from siblings like orchestrate_objective.
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 versus alternatives such as orchestrate_objective or execute_with_plan. The description implies usage for complex multi-phase tasks but lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_file_analysisA
Remove analysis data for a deleted file from the TreeSummary system
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Absolute path to the file whose analysis data should be removed. Use when a file has been deleted and you want to clean up its cached analysis data. |
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 discloses the mutation (removal) but does not mention permissions, irreversibility, rate limits, or side effects. It is adequate but minimal.
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, well-structured sentence that front-loads the key information without any 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 removal tool with one parameter and no annotations, the description is fairly complete. It explains the purpose, usage condition, and parameter. It could mention the typical return value or whether it succeeds silently, but it is adequate.
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 parameter description in the schema already explains 'filePath' well. The tool description adds little beyond reinforcing the use case ('for a deleted file'), 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 action ('remove'), the target ('analysis data for a deleted file'), and the system ('TreeSummary'). It distinguishes from siblings like 'update_file_analysis' and 'cleanup_stale_analyses' by specifying it's for a deleted file.
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 states when to use this tool: 'Use when a file has been deleted and you want to clean up its cached analysis data.' It does not mention when not to use it or alternatives like 'cleanup_stale_analyses', 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.
report_progressB
Report progress updates for agent tasks and status changes
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent reporting progress. Must be a valid agent ID that exists in the system. | |
| repositoryPath | Yes | Path to the repository or project directory. Can be relative (e.g., '.') or absolute path. | |
| progressType | Yes | Type of progress being reported: 'status' for general agent status updates, 'task' for task-specific progress, 'milestone' for significant achievements, 'error' for reporting errors/failures, 'completion' for task completion. | |
| message | Yes | Human-readable progress message describing what the agent is doing or has accomplished. This message will be displayed in logs and can be broadcast to rooms. | |
| taskId | No | Optional ID of the specific task being reported on. Required when progressType is 'task', 'error', or 'completion'. Used to update task status and progress. | |
| progressPercentage | No | Optional progress percentage (0-100) for task completion. Used with progressType 'task' to track completion progress. Will be validated and capped to 0-100 range. | |
| results | No | Optional key-value pairs of task results or metadata. Used with progressType 'completion' to store task outcomes and artifacts. | |
| error | No | Optional error message when progressType is 'error'. Provides detailed error information for debugging and failure analysis. | |
| roomId | No | Optional room ID to broadcast progress to. If not provided, will use the agent's assigned room from metadata. | |
| broadcastToRoom | No | Whether to broadcast this progress update to the agent's assigned room. Defaults to true. Set to false for internal progress tracking only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It fails to mention side effects or actions beyond reporting, such as broadcasting to rooms or updating task statuses. The schema hints at these but the description does not confirm or elaborate.
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 sentence, which is concise but lacks necessary detail. It does not waste words, but it also does not fully inform. It could be expanded without harming conciseness.
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 10 parameters, no output schema, and no annotations, the description is too brief. It fails to explain key aspects like valid progress types, broadcast behavior, and when optional fields like taskId are required.
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 does not add any parameter-specific meaning beyond what the schema already provides. It is acceptable 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 clearly states the tool's purpose: reporting progress updates for agent tasks and status changes. It uses a specific verb ('report') and resource ('progress updates for agent tasks and status changes'), and is distinct from sibling tools like create_task or list_agents, which have different functions.
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. It does not mention prerequisites, context, or when not to use it, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_comprehensive_cleanupB
Run comprehensive cleanup for both agents and rooms with detailed reporting
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Perform a dry run without actually cleaning up | |
| agentStaleMinutes | No | Minutes after which agents are considered stale | |
| roomInactiveMinutes | No | Minutes after which rooms are considered inactive | |
| notifyParticipants | No | Notify participants before cleanup |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It states 'cleanup' but does not explain what happens to agents/rooms (deleted, archived, etc.), nor the detailed reporting format. Does not mention side effects or authorization needs.
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 wasted words, front-loaded with key verb and scope. Could be slightly more informative, but remains concise.
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 4 parameters combining two domains and no output schema, description lacks explanation of cleanup behavior, dry run meaning, and reporting specifics. Does not mention sibling tools for reference.
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 4 parameters have detailed schema descriptions (100% coverage), so baseline is 3. The description does not add additional parameter context beyond the high-level purpose.
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 runs comprehensive cleanup for both agents and rooms with detailed reporting, using a specific verb+resource. It distinguishes from sibling tools like cleanup_stale_agents or cleanup_stale_rooms which are more narrow.
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 vs. narrower sibling cleanup tools. Description does not mention scenarios, prerequisites, or when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_contentA
[LEGACY] Scrape content from the current page. Use navigate_and_scrape instead.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Browser session ID to scrape content from. Session must already exist and be on the desired page | |
| selector | No | CSS selector to limit extraction to specific elements. If provided, only content within matching elements will be extracted | |
| wait_for_selector | No | CSS selector to wait for before extracting content. Useful for dynamic content that loads after navigation | |
| extract_text | No | Whether to extract text content from the page. Useful for content analysis and AI processing | |
| extract_html | No | Whether to extract raw HTML content. Useful for detailed page analysis or when text extraction isn't sufficient | |
| extract_links | No | Whether to extract all links from the page. Returns array of {text, href} objects | |
| extract_images | No | Whether to extract all images from the page. Returns array of {alt, src} objects |
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 merely states it scrapes content but does not disclose if it is read-only, destructive, or any side effects. The legacy label hints at deprecation but lacks behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one line plus legacy note) and front-loaded with the legacy warning. It is appropriately sized for a deprecated tool, though it could include a bit more context for agents that might still use it.
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 is minimal. It provides the essential directive to use an alternative, but for agents that might still invoke it, it lacks completeness about behavior, return format, or prerequisites beyond the 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 baseline is 3. The description adds no additional parameter meaning 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 explicitly states 'Scrape content from the current page' and clearly labels it as '[LEGACY]' with a directive to use navigate_and_scrape instead, distinguishing it from its sibling.
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 a clear usage guideline: 'Use navigate_and_scrape instead.' This explicitly tells the agent when not to use this tool and points to the preferred alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_documentationC
Scrape documentation from a website using intelligent sub-agents. Jobs are queued and processed automatically by the background worker. Supports plain string selectors for content extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the website to scrape. Must be a valid HTTP/HTTPS URL. This is the starting point for the scraping process. | |
| name | No | Optional human-readable name for this documentation source. If not provided, the hostname from the URL will be used. | |
| source_type | No | Type of documentation being scraped. Used for optimization and categorization. Choose "api" for API documentation, "guide" for tutorials/guides, "reference" for reference docs, or "tutorial" for step-by-step tutorials. | guide |
| max_pages | No | Maximum number of pages to scrape from the website. Helps prevent runaway scraping. Range: 1-1000 pages. | |
| selectors | No | CSS selectors to target specific content areas on pages. Use standard CSS selector syntax (e.g., "main article", ".content", "#documentation"). If not provided, the entire page content will be extracted. | |
| allow_patterns | No | Legacy pattern support for URL filtering. Use allow_path_segments, allow_url_contains, or other typed parameters instead. Patterns can be glob patterns (*/docs/*), regex patterns (/api\/v[0-9]+\/.*/) or JSON objects with specific matching rules. | |
| ignore_patterns | No | Legacy pattern support for URL exclusion. Use ignore_path_segments, ignore_url_contains, or other typed parameters instead. Patterns can be glob patterns (*/private/*), regex patterns (/login|admin/) or JSON objects with specific matching rules. | |
| allow_path_segments | No | Array of path segments that URLs must contain to be scraped. For example, ["docs", "api"] will only scrape URLs containing /docs/ or /api/ in their path. | |
| ignore_path_segments | No | Array of path segments to exclude from scraping. For example, ["admin", "private"] will skip URLs containing /admin/ or /private/ in their path. | |
| allow_file_extensions | No | Array of file extensions to include in scraping. For example, ["html", "php"] will only scrape URLs ending with .html or .php. Do not include the dot prefix. | |
| ignore_file_extensions | No | Array of file extensions to exclude from scraping. For example, ["js", "css", "png"] will skip JavaScript, CSS, and image files. Do not include the dot prefix. | |
| allow_url_contains | No | Array of substrings that URLs must contain to be scraped. For example, ["documentation", "guide"] will only scrape URLs containing these terms anywhere in the URL. | |
| ignore_url_contains | No | Array of substrings that will exclude URLs from scraping. For example, ["login", "signup", "404"] will skip URLs containing these terms anywhere in the URL. | |
| allow_url_starts_with | No | Array of URL prefixes that must match for URLs to be scraped. For example, ["https://docs.example.com/v2/"] will only scrape URLs starting with this prefix. | |
| ignore_url_starts_with | No | Array of URL prefixes that will exclude URLs from scraping. For example, ["https://example.com/legacy/"] will skip URLs starting with this prefix. | |
| allow_version_patterns | No | Array of version patterns to include in scraping. Useful for versioned documentation. For example, to scrape only v2.x.x docs, use: [{"prefix": "https://docs.example.com/v", "major": 2}] | |
| ignore_version_patterns | No | Array of version patterns to exclude from scraping. Useful for skipping deprecated versions. For example, to skip v1.x.x docs, use: [{"prefix": "https://docs.example.com/v", "major": 1}] | |
| allow_glob_patterns | No | Array of glob patterns for URLs to include in scraping. Supports wildcards: * (match any characters), ? (match single character), [abc] (match any character in brackets). For example, ["*/docs/*", "*/api/v*"] | |
| ignore_glob_patterns | No | Array of glob patterns for URLs to exclude from scraping. Supports wildcards: * (match any characters), ? (match single character), [abc] (match any character in brackets). For example, ["*/private/*", "*/admin/*"] | |
| allow_regex_patterns | No | Array of regular expressions for URLs to include in scraping. Use standard regex syntax. For example, ["/api/v[0-9]+/", "/docs/[a-z]+/"] will match versioned API paths and alphabetic doc paths. | |
| ignore_regex_patterns | No | Array of regular expressions for URLs to exclude from scraping. Use standard regex syntax. For example, ["/login", "/admin", "/\\.(js|css|png|jpg)$"] will skip login, admin, and static asset URLs. | |
| include_subdomains | No | Whether to include subdomains in the scraping process. If true, links to subdomains (e.g., api.example.com when scraping docs.example.com) will be followed. | |
| force_refresh | No | Whether to force refresh of previously scraped pages. If true, pages will be re-scraped even if they already exist in the database. | |
| agent_id | No | Optional agent ID for tracking and memory storage. If provided, scraping insights and results will be stored in the agent's memory for future reference. | |
| enable_sampling | No | Whether to enable intelligent parameter optimization through website sampling. When enabled, the scraper will analyze the website structure and optimize filtering parameters automatically. | |
| sampling_timeout | No | Timeout in milliseconds for the sampling/optimization process. Default is 30 seconds. Only used when enable_sampling is true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only mentions queuing and selectors. It lacks information on side effects (e.g., whether it modifies the website), authentication needs, rate limits, or what happens to the scraped data. This is insufficient for a complex scraping 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?
The description is brief and front-loaded, but for a tool with many parameters, it could benefit from slightly more structure (e.g., grouping filtering options). It earns its place but is a bit too terse.
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 complexity of 26 parameters and no output schema, the description is too minimal. It doesn't explain return values, error handling, or background behavior. The schema descriptions help, but the tool description itself lacks context for an agent to use it effectively.
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 26 parameters have full descriptions in the input schema, so the description adds minimal value. It mentions 'plain string selectors' but the schema already covers that. 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 scrapes documentation using sub-agents, but it does not distinguish itself from sibling scraping tools like 'scrape_content' or 'navigate_and_scrape', which would be necessary for an agent to choose correctly.
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, such as when to prefer queued scraping over direct scraping. There is no mention of prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dom_elementsA
Search for DOM elements by type, content, keywords, or attributes. Returns matching elements with their paths for further navigation.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | Unique identifier of the page to search | |
| search_criteria | Yes | Search criteria for finding DOM elements | |
| max_results | No | Maximum number of results to return | |
| include_path | No | Whether to include dot notation path for each result |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description suggests a read-only search operation but does not explicitly state whether it mutates state, performance implications, or auth requirements. Adequate but not fully 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?
Two sentences, each adding distinct value. First sentence states purpose, second mentions return value and subsequent use. 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 tool with nested search criteria and no output schema, the description is too brief. It lacks detail on how multiple criteria combine, what the returned 'paths' look like, or pagination behavior. Adequate but not complete given 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?
Schema coverage is 100% with all parameters described. The description restates that search is by type, content, keywords, or attributes, adding no new semantic value 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 searches DOM elements by multiple criteria (type, content, keywords, attributes) and returns matching elements with paths. It is distinct from siblings like analyze_dom_structure or interact_with_element.
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 finding elements before navigation, but does not specify when to use vs alternatives (e.g., analyze_dom_structure, interact_with_element). No exclusion or prerequisite mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledge_graphC
Search the knowledge graph using semantic or basic search
| Name | Required | Description | Default |
|---|---|---|---|
| repository_path | Yes | The absolute path to the repository to search within | |
| query | Yes | The search query text. Can be natural language for semantic search or specific terms for exact matching | |
| entity_types | No | Optional array of entity types to filter the search results. If not provided, all entity types will be searched | |
| relationship_types | No | Optional array of relationship types to filter relationships in the results. If not provided, all relationship types will be included | |
| use_semantic_search | No | Whether to use semantic vector search (true) or basic text matching (false). Semantic search is more powerful for finding conceptually related entities | |
| include_relationships | No | Whether to include relationships between entities in the search results. Set to false for faster queries when only entities are needed | |
| limit | No | Maximum number of results to return (1-100) | |
| threshold | No | Similarity threshold for semantic search results (0.0 to 1.0, where 1.0 requires exact matches) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose behavioral traits like performance characteristics, result format, or idempotency. For a search tool, it's acceptable but lacks detail.
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?
One clear sentence without fluff. It is front-loaded with the core action. Could be slightly more concise, but 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 search tool with 8 parameters and no output schema, the description does not explain the return format or pagination behavior (though limit is in schema). It covers the purpose but not the full user experience.
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 tool's description adds little beyond what the schema already provides (e.g., semantic vs. basic search is already in use_semantic_search). 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 action (search) and the resource (knowledge graph), and mentions two search modes (semantic or basic). This differentiates it from sibling tools like find_related_entities or store_knowledge_memory.
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., find_related_entities). The description does not mention prerequisites, limitations, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageB
Send message to coordination room
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room where the message will be sent. The room must exist and the agent should be a member. | |
| agentName | Yes | Name or identifier of the agent sending the message. This will be displayed as the message sender. | |
| message | Yes | The message content to send to the room. Can include coordination instructions, status updates, questions, or other communication. | |
| mentions | No | Optional array of agent names to mention in the message. Mentioned agents may receive special notifications or attention. |
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 states the action without mentioning prerequisites (e.g., room membership), side effects, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose with no extraneous information. It is front-loaded and appropriately sized for a simple tool.
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 there is no output schema, the description should clarify return values or post-send behavior but does not. For a simple tool with four parameters, it is minimally adequate but lacks 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 description coverage is 100%, so the schema already documents all four parameters. The description adds no additional meaning beyond the schema, leading to a baseline score of 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 'Send message to coordination room', specifying the verb and resource. However, it does not differentiate from the sibling tool 'broadcast_message_to_agents', 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?
No guidance is provided on when to use this tool vs. alternatives like broadcast_message_to_agents. There are no exclusions or explicit context for when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spawn_agentC
Spawn fully autonomous Claude agent with complete tool access
| Name | Required | Description | Default |
|---|---|---|---|
| agentType | Yes | Type of specialized agent to spawn (e.g., "backend", "frontend", "testing", "documentation", "devops", "researcher"). This determines the agent's role-specific instructions and capabilities. | |
| repositoryPath | Yes | Absolute path to the repository where the agent will operate. This is the working directory for all agent operations. | |
| taskDescription | Yes | Detailed description of the specific task or responsibility this agent should handle. Should be clear, actionable, and include any important context or requirements. | |
| capabilities | No | Array of capabilities or tools the agent should have access to. Defaults to "ALL_TOOLS" which grants full access to all available tools including file operations, code analysis, web browsing, and coordination tools. | |
| dependsOn | No | Array of agent IDs that this agent depends on. The agent will only be spawned after all dependencies are satisfied (agents exist and are active/completed). | |
| metadata | No | Optional metadata object for storing additional agent configuration, context, or coordination information. | |
| autoCreateRoom | No | Whether to automatically create a coordination room for this agent. If not specified, uses the default behavior for the agent type (most agent types auto-create rooms by default). | |
| roomId | No | Optional existing room ID to assign the agent to. If provided, the agent will join this room instead of creating a new one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It claims 'fully autonomous' and 'complete tool access' but fails to disclose important behaviors such as resource consumption, background execution, coordination room creation (implied by autoCreateRoom), or lifecycle management.
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 (7 words) and front-loaded with the core action. However, for an 8-parameter tool, more structured detail could be beneficial without being 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 the complexity (8 parameters, no output schema) and many sibling tools, the description is insufficient. It lacks explanation of return value, agent lifecycle, coordination room usage, and how spawned agents interact with other tools.
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 the already detailed parameter descriptions in the input schema. For example, it doesn't clarify how agentType affects behavior 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 verb 'spawn' and the resource 'fully autonomous Claude agent with complete tool access'. It distinguishes the tool from siblings like terminate_agent or list_agents, though it doesn't explicitly differentiate its 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?
No guidance is provided on when to use this tool versus alternatives (e.g., create_task, orchestrate_objective). The description 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.
store_knowledge_memoryC
Store a knowledge graph memory with entity creation
| Name | Required | Description | Default |
|---|---|---|---|
| repository_path | Yes | The absolute path to the repository where the knowledge entity should be stored | |
| agent_id | Yes | The ID of the agent storing this knowledge entity | |
| entity_type | Yes | The type of entity being stored (e.g., 'function', 'class', 'concept', 'file', 'bug', 'feature', 'person', 'organization', 'technology', 'pattern', 'insight', 'question', 'decision', 'requirement', 'test', 'documentation', 'api', 'database', 'configuration', 'deployment', 'performance', 'security', 'error', 'warning', 'todo', 'note', 'example', 'tutorial', 'best_practice', 'anti_pattern', 'code_smell', 'refactor', 'optimization', 'dependency', 'service', 'component', 'module', 'library', 'framework', 'tool', 'script', 'command', 'variable', 'constant', 'enum', 'interface', 'type', 'schema', 'model', 'view', 'controller', 'route', 'middleware', 'plugin', 'extension', 'theme', 'style', 'asset', 'resource', 'data', 'event', 'listener', 'handler', 'callback', 'promise', 'async', 'sync', 'thread', 'process', 'memory', 'storage', 'cache', 'session', 'cookie', 'token', 'auth', 'permission', 'role', 'user', 'group', 'setting', 'config', 'env', 'flag', 'feature_flag', 'experiment', 'metric', 'log', 'trace', 'debug', 'info', 'warn', 'error', 'fatal', 'success', 'failure', 'retry', 'timeout', 'rate_limit', 'quota', 'limit', 'threshold', 'rule', 'policy', 'standard', 'guideline', 'convention', 'protocol', 'format', 'encoding', 'compression', 'encryption', 'hash', 'checksum', 'signature', 'certificate', 'key', 'secret', 'password', 'credential', 'identity', 'profile', 'account', 'subscription', 'plan', 'tier', 'level', 'rank', 'score', 'rating', 'review', 'feedback', 'comment', 'message', 'notification', 'alert', 'reminder', 'task', 'job', 'queue', 'batch', 'stream', 'pipeline', 'workflow', 'process', 'procedure', 'method', 'algorithm', 'structure', 'pattern', 'template', 'prototype', 'mock', 'stub', 'fake', 'spy', 'double', 'fixture', 'seed', 'migration', 'rollback', 'upgrade', 'downgrade', 'patch', 'hotfix', 'release', 'version', 'branch', 'tag', 'commit', 'merge', 'rebase', 'cherry_pick', 'stash', 'diff', 'conflict', 'resolution', 'other') | |
| entity_name | Yes | The name or identifier of the knowledge entity | |
| entity_description | No | A detailed description of the knowledge entity and its purpose | |
| importance_score | No | The importance score of this entity (0.0 to 1.0, where 1.0 is most important) | |
| confidence_score | No | The confidence score for this entity's accuracy (0.0 to 1.0, where 1.0 is most confident) | |
| properties | No | Additional properties and metadata for the entity as key-value pairs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the burden. It mentions that the entity will be stored with vector embeddings for semantic search, which adds useful context. However, it does not disclose side effects, authorization requirements, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that barely adds value beyond the tool name. While concise, it is under-informative and does not earn its place given the tool's complexity. The input schema's embedded description provides more detail, but the primary description is lacking.
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 8 parameters, no output schema, and nested objects, the tool is moderately complex. The description fails to cover usage context, return behavior, or integration with other knowledge graph tools. It is insufficient for an agent to use correctly without additional schema details.
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 all parameters. The description adds no additional parameter-level meaning beyond the overall purpose. 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 stores a knowledge graph memory by creating an entity. It is specific enough to distinguish from sibling tools like search_knowledge_graph or create_knowledge_relationship, though it does not explicitly differentiate 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. The description says 'Use this to capture important information' but lacks exclusions or context about when not to use it. No alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
take_screenshotA
[LEGACY] Take a screenshot of the current page. Use interact_with_page instead.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Browser session ID to take screenshot from. Session must already exist | |
| filepath | No | File path where the screenshot will be saved. Should include file extension (.png or .jpeg). Required when return_for_ai is false | |
| return_for_ai | No | Whether to return screenshot in AI-consumable format {type: 'image', data: 'base64', mimeType: 'image/png'} instead of saving to file | |
| full_page | No | Whether to capture the full page (including parts below the fold) or just the visible viewport | |
| quality | No | Image quality for JPEG format (0-100). Higher values mean better quality but larger file size. Not applicable for PNG format | |
| type | No | Image format for the screenshot. PNG provides lossless compression, JPEG provides smaller file sizes | png |
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. The description only states the action without explaining side effects (e.g., file saving, return behavior) or prerequisites beyond 'current page'. Important behavioral context is missing, such as the need for an existing browser session and what happens with parameters like return_for_ai.
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, consisting of a single sentence plus a legacy note. It front-loads the legacy flag and the alternative recommendation, making it efficient and actionable with zero 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 tool has 6 parameters and no output schema, the description provides minimal context beyond the legacy warning. While the schema covers parameters, the description does not summarize the overall workflow or mention relationships between parameters (e.g., filepath vs return_for_ai). It is adequate for a simple tool but lacks completeness for nuanced use.
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 all 6 parameters, so the description does not need to add much. The description provides no additional semantic insight beyond what the schema already offers, resulting in a baseline score of 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 the tool captures a screenshot of the current page, using the verb 'take a screenshot' and specifying the resource. It also distinguishes itself from siblings by marking the tool as LEGACY and directing to interact_with_page, making its 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 explicitly tells the agent to use interact_with_page instead, providing an alternative tool. This gives clear guidance on when not to use this tool. However, it does not elaborate on scenarios where the legacy tool might still be necessary, but the alert to avoid it is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
terminate_agentC
Terminate one or more agents
| Name | Required | Description | Default |
|---|---|---|---|
| agentIds | Yes | Array of agent IDs to terminate. Each ID should correspond to an active agent. The termination process will gracefully shut down each agent and clean up their resources. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the action without disclosing side effects, such as resource cleanup, impact on related tasks, or whether agents can be restarted. The parameter description adds some detail (graceful shutdown), but the tool-level description lacks this 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?
The description is a single sentence with no unnecessary words. For a simple tool with one parameter, this is appropriately concise and 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?
Given the absence of output schema and annotations, the description is insufficient. It does not explain what the tool returns (e.g., success status, list of terminated agents) or provide enough context for a user to fully understand its behavior among many sibling tools.
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 parameter 'agentIds' is well-documented. The main description adds no extra meaning beyond the schema, so it scores the baseline of 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 the verb 'Terminate' and resource 'one or more agents', which distinguishes it from sibling tools like spawn_agent or list_agents. However, it does not specify the nature of termination (e.g., graceful shutdown) in the main description itself, relying on the parameter description for that detail.
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 like cleanup_stale_agents or monitor_agents. There is no mention of prerequisites, context, 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.
update_execution_planB
Update an execution plan's status, priority, title, description, objectives, acceptanceCriteria, constraints, sections array, or metadata
| Name | Required | Description | Default |
|---|---|---|---|
| planId | Yes | ||
| updates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only indicates a mutation ('Update') without disclosing side effects, atomicity, partial update behavior, or permission requirements, leaving 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 a single sentence that efficiently conveys the tool's action and scope, though it could be more structured by grouping related fields.
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 (nested objects, many fields), the description lacks critical details about the sections array structure, metadata subfields, and does not mention the required planId or any output, resulting in incompleteness.
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 0%, so the description must compensate; it lists top-level updatable fields but adds no extra meaning beyond their names, and omits details for nested structures like sections and metadata.
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 'Update' and specifies the resource 'execution plan' with a list of the updatable fields, making its purpose distinct from sibling tools like create, delete, or get.
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 this tool is for modifying an existing execution plan but provides no explicit context on when to use it versus alternatives, nor 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.
update_file_analysisB
Update or create analysis data for a specific file in the TreeSummary system
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Absolute path to the file to analyze or update. Used as the primary key for storing analysis data. | |
| analysisData | Yes | Complete analysis data for the file including symbols, imports, exports, and metadata |
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 does not disclose mutation effects, idempotency, permissions, or side effects. The agent cannot infer consequences of invoking this tool beyond the stated purpose.
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 sentence that front-loads the purpose. No redundant words or unnecessary details. Every word contributes to understanding.
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 complexity of the input schema (nested object with many fields) and the lack of an output schema, the description is too brief. It fails to explain expected behavior on update vs create, return values, or error conditions, leaving the agent underinformed.
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 descriptions for all parameters. The description adds a high-level summary ('Complete analysis data...') but does not provide additional meaning beyond what the schema already offers. 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 action ('Update or create'), the resource ('analysis data for a specific file'), and the system ('TreeSummary system'). It distinguishes from siblings like 'analyze_file_symbols' (which likely performs the actual analysis) and 'remove_file_analysis' (deletion).
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 such as 'analyze_file_symbols' (which might create initial analysis) or when to update vs create. No prerequisites, exclusions, or contextual hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_metadataC
Update project metadata in the TreeSummary system
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Absolute path to the project directory. If not provided, uses the current working directory. This tool scans for package.json, tsconfig.json, and other config files to extract project metadata like name, version, dependencies, and technologies used. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. 'Update' implies mutation, but the parameter description says 'scans and extracts' which suggests read-only analysis. This contradiction is not resolved, and no side effects or requirements are disclosed.
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?
One sentence is concise but omits critical behavioral context. It is appropriately short but could front-load more information about side effects or return values.
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 one optional parameter and no output schema, the description is too sparse. It does not explain what happens on invocation, what the return value is, or how to distinguish from similar analysis tools.
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% for the single parameter, so baseline is 3. Description adds 'Update project metadata' but does not add new meaning beyond the schema's parameter description.
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 states verb 'Update' and resource 'project metadata in the TreeSummary system', clearly indicating the action and scope. However, it does not differentiate from siblings like 'analyze_project_structure' or 'generate_project_summary', 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 versus alternatives. Given the many sibling tools, the agent has no context to decide when to choose this over related analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_for_messagesC
Wait for messages in a room
| Name | Required | Description | Default |
|---|---|---|---|
| roomName | Yes | Name of the communication room to monitor for new messages. The agent should be a member of this room. | |
| timeout | No | Maximum time to wait for messages in milliseconds. Defaults to 30 seconds (30000ms). After this time, the function will return with whatever messages were received. | |
| sinceTimestamp | No | Optional ISO timestamp string to only retrieve messages sent after this time. If not provided, will wait for any new messages from the current time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states 'Wait for messages' without explaining the blocking nature, timeout behavior, or what happens if the room doesn't exist or if no messages are received.
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 brief (4 words) but under-specified for the complexity of the tool. It fails to provide necessary context, making it more incomplete than concise.
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 three parameters and no output schema, the description should explain the return value (likely a list of messages), blocking semantics, and timeout consequences. It lacks these details, making it incomplete for an agent to use reliably.
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 already provides detailed descriptions for all three parameters (roomName, timeout, sinceTimestamp), achieving 100% coverage. The description adds no additional semantic value beyond what the schema offers, earning baseline score.
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 (wait) and the resource (messages in a room). However, it does not differentiate from sibling tools like list_room_messages or send_message, which reduces clarity on when to use this specific 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 provides no guidance on when to use this tool versus alternatives (e.g., list_room_messages for non-blocking retrieval, send_message for sending). No when-not-to-use or prerequisite context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Many tools overlap in purpose, especially legacy and modern versions (e.g., navigate_to_url vs navigate_and_scrape, take_screenshot vs interact_with_page). Multiple cleanup, orchestration, and browser session management tools have ambiguous boundaries, increasing the risk of misselection.
Naming conventions are inconsistent: mix of snake_case and verb_noun (e.g., easy_replace, spawn_agent), deprecated tools mixed with current ones, and varied verb choices (list/get/find, create/delete/remove). No clear pattern is enforced.
70 tools is excessive, especially with many legacy duplicates that should have been removed. The scope is broad but could be consolidated into fewer, more focused tools. The count is far beyond the typical well-scoped range.
The server covers many domains but lacks full CRUD in some areas (e.g., knowledge graph missing delete/update for relationships and memories). Legacy tools indicate dead ends, and while core workflows exist, notable gaps remain.
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
Agent personas for Claude. 16 tools, 13 personas, 3 workflows. Zero extra API cost. Free.
Shared control plane for AI coding agents โ tasks, memory, decisions, file locks. 12 tools.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceBridges Claude Code to a Cloud Orchestrator API, providing access to multi-AI consensus, web search, code execution sandboxes, long-term memory, knowledge graphs, deployment management, and 20+ integrated AI and developer tools.28
- AlicenseAqualityFmaintenanceA multi-agent orchestration system that enables multiple Claude instances to collaborate through a centralized hub with a shared workspace and real-time communication. It features integrated task management, role assignment, and persistent memory to facilitate complex, synchronized agent workflows.12174MIT
- AlicenseNot gradedqualityCmaintenanceCoordinates up to 64 parallel expert agents for complex multi-agent orchestration and intelligent task routing within Claude Code. It enables users to analyze requests, manage hierarchical execution plans, and monitor active orchestration sessions.MIT
- AlicenseAqualityAmaintenanceProvides agent coordination for Claude Code through a shared blackboard, decision tracking with rationale, and local semantic search over git-trackable JSONL files. It enables users to assemble tailored context packages and manage a lightweight knowledge graph for complex development tasks.153767MIT
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/ZachHandley/ZMCPTools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server