Code Guider MCP Server
Click on "Deploy 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., "@Code Guider MCP Serveranalyze code complexity in my project"
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.
Code Guider MCP Server
An AI-powered local Model Context Protocol (MCP) server that provides intelligent code guidance, workflow automation, and quality assurance for your development projects. Features hybrid storage with Drizzle ORM for fast CRUD operations and vector storage for semantic search, AI-driven insights, and Anubis-inspired role-based workflow execution. Optimized for Bun runtime with native SQLite for maximum performance.
Features
π§ AI-Powered Analysis: Intelligent code analysis with semantic understanding
π Hybrid Storage: Drizzle ORM for fast CRUD operations + vector storage for semantic search
π Multi-Project Support: Global and project-specific databases with automatic project detection
π Global + Local Mode: Global templates/workflows + project-specific customization
π Workflow Automation: Define and execute AI-enhanced code generation workflows
π Template System: Reusable code templates with AI-powered suggestions
β Quality Rules: Automated code quality checking with pattern recognition
π― Context-Aware: Provides guidance based on file type and project context
π§ MCP Integration: Works with any MCP-compatible client
π TypeScript: Full TypeScript support with type safety
π Similar Code Detection: Find similar code patterns across your codebase
π Complexity Analysis: AI-powered code complexity scoring
π₯ Role-Based Execution: Anubis-inspired role system with Product Manager, Architect, Senior Developer, and Code Review roles
π Execution Tracking: Comprehensive workflow execution tracking with state management
π― Context Preservation: Seamless role transitions with full context preservation
π€ Multi-Agent Support: Optimized templates for Cursor, Copilot, RooCode, and KiloCode
βΈοΈ Pause/Resume: Pause and resume workflow executions at any time
π Execution Metrics: Detailed metrics and performance tracking
β‘ Performance: 3-10x faster operations with Drizzle ORM + Bun SQLite optimization
π LibSQL Powered: Built with LibSQL for cross-platform compatibility and optimal performance
π¦ Zero Native Dependencies: Pure JavaScript/TypeScript with no native compilation required
π€ AI Migration: Natural language migration commands that intelligently transform and migrate data
π Smart Transformation: AI-powered data transformation with validation and rollback capabilities
π‘οΈ Safe Migration: Built-in backup, dry-run, and validation features for safe data migration
Related MCP server: My First MCP Server
Quick Start
Installation
Option 1: npm (Recommended - Easiest)
# Install globally
npm install -g code-guider-mcp
# Start the server (migration runs automatically)
code-guider-mcpOption 2: Local Development
# Clone the repository
git clone <your-repo-url>
cd code-guider
# Install dependencies
npm install
# Build the project
npm run build
# Run database migration (first time only)
npm run migrate
# Start the MCP server
npm startRunning the MCP Server
With npm (Global Installation)
# Start with defaults
code-guider-mcp
# Start on specific port
code-guider-mcp --port 8080
# Run migration only
code-guider-mcp --migrate
# Open database studio
code-guider-mcp --studio
# Show help
code-guider-mcp --helpWith Local Development
# Start the MCP server
npm startMulti-Project Support
Code Guider supports both global and project-specific modes:
Project Modes
Global Mode (
--global): Uses global database for all projectsProject Mode (default): Uses project-specific database
Auto-detect: Automatically detects project type and initializes
Project Management Commands
# Initialize a project (auto-detects type)
code-guider-mcp --init
# Initialize specific project
code-guider-mcp --init /path/to/project
# List all projects
code-guider-mcp --list-projects
# Use global storage
code-guider-mcp --global
# Use specific project
code-guider-mcp /path/to/projectProject Structure
~/.code-guider/ # Global storage
βββ global.db # Global database
βββ config.json # Global configuration
βββ projects/
βββ projects.json # Project registry
/path/to/project/ # Project-specific storage
βββ .guidance/
βββ guidance.db # Project databaseUsing with MCP Clients
With npm (Global Installation)
{
"mcpServers": {
"code-guidance": {
"command": "code-guider-mcp"
}
}
}With Local Development
{
"mcpServers": {
"code-guidance": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/code-guider"
}
}
}Architecture
Core Components
MCP Server (
src/mcp-server.ts): Main server implementation with tool handlersHybrid Storage (
src/hybrid-storage.ts): Combines Drizzle ORM for fast CRUD + VectorStorage for AI featuresDrizzle Storage (
src/db/drizzle-storage.ts): Optimized database operations with SQLiteVector Storage (
src/vector-storage.ts): AI-powered semantic search and embeddingsGuidance Engine (
src/guidance-engine.ts): Workflow execution and code analysisType Definitions (
src/types.ts): TypeScript interfaces for all data structures
Data Structure
.guidance/
βββ guidance.db # SQLite database with hybrid storage
β βββ workflows # Drizzle ORM table (fast CRUD)
β βββ templates # Drizzle ORM table (fast CRUD)
β βββ quality_rules # Drizzle ORM table (fast CRUD)
β βββ project_config # Drizzle ORM table (fast CRUD)
β βββ workflows_vector # Vector embeddings for semantic search
β βββ templates_vector # Vector embeddings for semantic search
β βββ quality_rules_vector # Vector embeddings for semantic search
βββ config/ # Legacy file-based config (auto-migrated)
β βββ project.json
βββ workflows/ # Legacy JSON files (auto-migrated to DB)
βββ templates/ # Legacy YAML files (auto-migrated to DB)
βββ rules/ # Legacy JSON files (auto-migrated to DB)Hybrid Storage Benefits
Drizzle ORM: 3-10x faster CRUD operations with type-safe queries
Vector Storage: AI-powered semantic search and similarity matching
Automatic Migration: Seamless migration from file-based to hybrid storage
Performance: Optimized database operations with indexing and caching
Type Safety: Full TypeScript support with compiled queries
Hybrid Storage Implementation
The code-guider now uses a hybrid storage approach that combines the best of both worlds:
Drizzle ORM (Fast CRUD Operations)
3-10x faster CRUD operations compared to file-based storage
Type-safe queries with full TypeScript support
Database indexing for optimized lookups
ACID transactions for data integrity
Connection pooling and query optimization
Vector Storage (AI Features)
Semantic search using vector embeddings
Similarity matching for finding related code
AI-powered suggestions based on content similarity
Pattern recognition across your codebase
Migration System
The system automatically migrates from the legacy file-based storage to the new hybrid approach:
# Run migration (first time only)
npm run migrateThis will:
Create the SQLite database with proper schema
Migrate existing workflows, templates, and rules
Generate vector embeddings for semantic search
Preserve all existing data and functionality
Performance Comparison
Operation | File-based | Hybrid Storage | LibSQL | Improvement |
Write (100 items) | 50-100ms | 10-20ms | 3-8ms | 6-15x faster |
Read (100 items) | 20-50ms | 5-15ms | 2-5ms | 4-20x faster |
Search (100 items) | 30-80ms | 2-10ms | 1-3ms | 10-25x faster |
Build Time | 2-5s (tsc) | 1-2s (tsc) | 200-500ms (bun) | 4-10x faster |
Memory Usage | High (all data) | Low (streaming) | Minimal (pure JS) | 5-50x less |
Concurrent Reads | Poor (file locks) | Excellent (WAL) | Excellent (WAL) | 3-10x better |
MCP Functions
The Code Guider MCP Server provides 13 consolidated functions that replace the previous 47 individual functions, offering a cleaner and more organized API:
1. manage_workflows - Workflow Management
Actions:
list,get,create,executePurpose: Unified workflow management operations
Example:
{ action: 'list', search: 'authentication' }
2. manage_templates - Template Management
Actions:
list,createPurpose: Unified template management operations
Example:
{ action: 'create', template: {...} }
3. analyze_code - Code Analysis
Types:
guidance,validation,ai_analysis,similar_codePurpose: Unified code analysis operations
Example:
{ analysisType: 'ai_analysis', filePath: '...', projectPath: '...' }
4. manage_quality_rules - Quality Rules Management
Actions:
list,createPurpose: Unified quality rules management
Example:
{ action: 'create', rule: {...} }
5. semantic_search - Semantic Search
Types:
workflows,templates,codePurpose: Unified semantic search across different content types
Example:
{ type: 'workflows', query: 'user authentication' }
6. manage_execution - Execution Management
Actions:
execute,execute_ai,execute_roles,status,pause,resumePurpose: Unified execution management operations
Example:
{ action: 'execute_roles', workflowId: '...', projectPath: '...' }
7. manage_roles - Role Management
Actions:
list,guidancePurpose: Unified role management operations
Example:
{ action: 'guidance', roleId: 'architect' }
8. ai_migrate - AI Migration
Types:
data,workflows,templates,quality_rulesPurpose: Unified AI-powered migration operations
Example:
{ type: 'data', instruction: 'migrate all workflows to new format' }
9. manage_projects - Project Management
Actions:
list,init,auto_init,info,syncPurpose: Unified project management operations with Anubis-style auto-detection
Example:
{ action: 'auto_init', projectPath: '/path/to/project' }
10. manage_memories - Memory Management
Actions:
save,search,list,get,statsPurpose: Unified memory management operations
Example:
{ action: 'save', content: '...', type: 'best_practice', category: 'technical' }
11. manage_memory_rules - Memory Rules Management
Actions:
enhance_request,init_project,list,createPurpose: Unified memory rules management
Example:
{ action: 'enhance_request', request: '...', context: {...} }
12. get_execution_metrics - Execution Metrics
Purpose: Get detailed metrics for a workflow execution
Example:
{ executionId: 'exec_123' }
13. transition_role - Role Transition
Purpose: Transition to a different role in workflow execution
Example:
{ executionId: 'exec_123', toRoleId: 'architect' }
Benefits of Consolidation
Reduced Function Count: 72% reduction (47 β 13 functions)
More MCP Slots: 27 additional slots for other MCP servers
Cleaner API: Logical grouping of related operations
Easier Maintenance: Fewer functions to maintain
Better Organization: Related operations grouped together
Consistent Interface: All functions follow similar patterns
Usage Examples
Consolidated API Examples
Project Management (Anubis-Style Auto-Detection)
// π Auto-initialize project with full tech stack detection
const project = await mcpClient.callTool('manage_projects', {
action: 'auto_init',
projectPath: '/path/to/your/project',
});
// This will automatically:
// β
Scan your project files
// β
Detect React + TypeScript + Vite + Tailwind + Prisma + Jest
// β
Create project-specific memory rules
// β
Set up tech stack-specific workflows
// β
Initialize project database
// Get detailed project info
const info = await mcpClient.callTool('manage_projects', {
action: 'info',
projectPath: '/path/to/your/project',
});
// Results show full tech stack:
// π§ Tech Stack:
// Frameworks: react, next
// Languages: typescript, javascript
// Tools: vite, tailwindcss, jest, testing-library
// Databases: prisma
// Deployment: vercelWorkflow Management
// List workflows
const workflows = await mcpClient.callTool('manage_workflows', {
action: 'list',
search: 'authentication'
});
// Create a new workflow
const newWorkflow = await mcpClient.callTool('manage_workflows', {
action: 'create',
workflow: {
name: 'React Component Generator',
description: 'Generate React components with TypeScript',
steps: [...],
qualityChecks: [...]
}
});
// Execute a workflow
const result = await mcpClient.callTool('manage_workflows', {
action: 'execute',
workflowId: 'react-component',
projectPath: '/path/to/project',
variables: { ComponentName: 'UserProfile' }
});Code Analysis
// AI-powered code analysis
const analysis = await mcpClient.callTool('analyze_code', {
analysisType: 'ai_analysis',
filePath: '/path/to/component.tsx',
projectPath: '/path/to/project',
projectType: 'react',
});
// Get code guidance
const guidance = await mcpClient.callTool('analyze_code', {
analysisType: 'guidance',
filePath: '/path/to/component.tsx',
projectPath: '/path/to/project',
});
// Find similar code
const similarCode = await mcpClient.callTool('analyze_code', {
analysisType: 'similar_code',
filePath: '/path/to/component.tsx',
projectPath: '/path/to/project',
limit: 5,
});Semantic Search
// Search workflows
const workflows = await mcpClient.callTool('semantic_search', {
type: 'workflows',
query: 'create a user authentication component',
limit: 5,
});
// Search templates
const templates = await mcpClient.callTool('semantic_search', {
type: 'templates',
query: 'API endpoint with error handling',
limit: 3,
});
// Search code patterns
const codePatterns = await mcpClient.callTool('semantic_search', {
type: 'code',
query: 'React hooks pattern',
filePath: '/path/to/component.tsx',
projectPath: '/path/to/project',
});Execution Management
// Execute with roles
const result = await mcpClient.callTool('manage_execution', {
action: 'execute_roles',
workflowId: 'react-component',
projectPath: '/path/to/project',
agentType: 'cursor',
variables: { ComponentName: 'UserProfile' },
});
// Get execution status
const status = await mcpClient.callTool('manage_execution', {
action: 'status',
executionId: 'exec-123',
});
// Pause execution
await mcpClient.callTool('manage_execution', {
action: 'pause',
executionId: 'exec-123',
reason: 'User requested pause',
});Memory Management
// Save a memory
await mcpClient.callTool('manage_memories', {
action: 'save',
content: 'Use React.memo for expensive components',
type: 'best_practice',
category: 'technical',
tags: ['react', 'performance'],
});
// Search memories
const memories = await mcpClient.callTool('manage_memories', {
action: 'search',
query: 'React performance optimization',
scope: 'global',
limit: 10,
});
// Get memory statistics
const stats = await mcpClient.callTool('manage_memories', {
action: 'stats',
});AI Migration
// Migrate data with AI
const migration = await mcpClient.callTool('ai_migrate', {
type: 'data',
instruction:
'migrate all workflows to new format with enhanced quality checks',
source: 'file-based',
target: 'hybrid-storage',
options: { dryRun: true, backup: true },
});
// Migrate workflows
const workflowMigration = await mcpClient.callTool('ai_migrate', {
type: 'workflows',
transformation: 'add new quality checks and update step format',
filters: { tags: ['react', 'component'] },
});Migration Notes
All existing functionality is preserved
Performance impact is negligible
The consolidation uses action/type parameters to differentiate operations
Error handling and validation remain the same
All return formats remain unchanged
Development
Project Structure
src/
βββ index.ts # Entry point
βββ mcp-server.ts # MCP server implementation
βββ hybrid-storage.ts # Hybrid storage implementation
βββ storage-interface.ts # Unified storage interface
βββ storage.ts # Legacy file-based storage
βββ vector-storage.ts # AI-powered vector storage
βββ guidance-engine.ts # Workflow execution engine
βββ db/
β βββ connection.ts # Database connection management
β βββ drizzle-storage.ts # Drizzle ORM operations
β βββ schema.ts # Database schema definitions
βββ enhanced-workflow-engine.ts # Enhanced workflow execution
βββ execution-tracker.ts # Workflow execution tracking
βββ ai-guidance-engine.ts # AI-powered guidance engine
βββ role-manager.ts # Role-based workflow management
βββ migrate.ts # Database migration script
βββ types.ts # TypeScript type definitionsScripts
npm run build- Build the project using TypeScript compilernpm run build:all- Build all entry points (index.js and migrate.js)npm run dev- Build and run the servernpm start- Run the built servernpm run migrate- Run database migration (first time setup)npm run db:generate- Generate Drizzle migrationsnpm run db:migrate- Apply Drizzle migrationsnpm run db:studio- Open Drizzle Studio (database GUI)npm test- Run tests with Jestnpm run lint- Run Biome linting on src/npm run lint:fix- Fix linting issues automaticallynpm run format- Format code with Biomenpm run check- Run both linting and formatting checksnpm run check:fix- Fix both linting and formatting issuesnpm run check:all- Check entire projectnpm run format:all- Format entire projectnpm run lint:all- Lint entire project
Note: All scripts use npm and standard Node.js tools. The migration script automatically handles the transition from file-based storage to hybrid storage with LibSQL.
AI-Powered Migration System
The Code Guider now includes intelligent migration tools that understand natural language instructions:
Natural Language Commands: Tell the AI what to migrate in plain English
Smart Transformation: AI automatically transforms data based on your instructions
Safe Migration: Built-in backup, dry-run preview, and validation features
Flexible Filtering: Migrate specific data based on tags, dates, types, and patterns
Rollback Support: Automatic backup creation before any migration
Validation: Post-migration validation ensures data integrity
Example Commands:
"migrate all workflows to new format with enhanced quality checks"
"convert templates to new schema and add missing fields"
"update quality rules severity levels and merge duplicates"
"transform React component templates to use new variable syntax"
LibSQL Migration
The project has been fully migrated to use LibSQL instead of better-sqlite3:
Cross-platform compatibility - works with both Bun and Node.js
Zero native dependencies - no compilation issues
SQLite-compatible - drop-in replacement for SQLite
Better performance than better-sqlite3
Simplified deployment with no native module requirements
Build Performance
The project uses TypeScript compiler for reliable and consistent builds:
Standard TypeScript compilation for maximum compatibility
Type checking during build process
Incremental compilation for faster subsequent builds
Source maps for better debugging experience
Cross-platform compatibility with all Node.js environments
Adding New Tools
Define the tool in
mcp-server.tsin theListToolsRequestSchemahandlerAdd the tool handler in the
CallToolRequestSchemahandlerImplement the tool logic
Update documentation
Code Quality & Formatting
Biome Configuration
This project uses Biome for linting and formatting, providing a fast and comprehensive code quality solution optimized for Node.js:
Features
β‘ Ultra-fast: 10-100x faster than ESLint + Prettier
π§ All-in-one: Linting, formatting, and import organization
π― Zero config: Works out of the box with sensible defaults
π Node.js optimized: Native integration with Node.js runtime
π Comprehensive rules: 200+ linting rules for code quality
π¨ Consistent formatting: Automatic code formatting and style enforcement
Configuration
The project includes a comprehensive biome.json configuration that enforces:
Code Quality Rules:
β No unused imports, variables, or functions
β No unused classes, interfaces, types, or enums
β No unused constants or parameters
β DRY (Don't Repeat Yourself) code enforcement
β No commented code (except TODO comments)
β Consistent code style and formatting
File Coverage:
TypeScript and JavaScript files
Scripts directory
Configuration files
Excludes test files, build artifacts, and dependencies
Formatting Standards:
2-space indentation
Single quotes for strings
Semicolons always
100 character line width
LF line endings
Trailing commas (ES5 style)
Available Scripts
# Linting
npm run lint # Lint src/ directory
npm run lint:fix # Fix linting issues automatically
npm run lint:all # Lint entire project
npm run lint:all:fix # Fix all linting issues
# Formatting
npm run format # Format src/ directory
npm run format:all # Format entire project
# Combined checks
npm run check # Check src/ (lint + format)
npm run check:fix # Fix src/ (lint + format)
npm run check:all # Check entire project
npm run check:all:fix # Fix entire project
# Pre-commit hooks
npm run pre-commit:install # Install pre-commit hooks
npm run pre-commit:run # Run pre-commit checks
npm run pre-commit # Install and run pre-commit checksPre-commit Hooks
The project includes pre-commit hooks that automatically run:
Biome Check: Linting and formatting validation
TypeScript Check: Type checking with
tsc --noEmitTest Check: Run test suite
Format Check: Ensure code is properly formatted
To set up pre-commit hooks:
# Install pre-commit hooks
npm run pre-commit:install
# Run all checks manually
npm run pre-commit:runIDE Integration
For the best development experience, install the Biome extension in your IDE:
VS Code: Biome extension
Cursor: Built-in support
WebStorm/IntelliJ: Biome plugin
Configuration Details
The biome.json configuration includes:
Extended config: Uses
@canonical/biome-configfor consistencyComprehensive rules: 200+ linting rules across correctness, style, suspicious, complexity, performance, and security
File patterns: Includes TypeScript, JavaScript, and JSON files
Test overrides: Relaxed rules for test files
Import organization: Automatic import sorting and organization
Format consistency: Unified formatting across all file types
Performance Benefits
10-100x faster than ESLint + Prettier
Single tool instead of multiple tools
Native Node.js integration for optimal performance
Parallel processing for large codebases
Incremental checking for faster subsequent runs
Configuration
Project Configuration
The project configuration is stored in .guidance/config/project.json:
{
"name": "my-project",
"type": "react",
"frameworks": ["react", "typescript"],
"languages": ["typescript", "javascript"],
"qualityRules": ["no-unused-imports", "no-any-types"],
"workflows": ["react-component", "api-endpoint"],
"templates": ["react-component", "api-endpoint"]
}Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For questions and support, please open an issue on GitHub.
Available Tools
25 toolsai_migrateC
Unified AI-powered migration operations
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Type of migration to perform | |
| source | No | Source format (optional for data, default: file-based) | |
| target | No | Target format (optional for data, default: hybrid-storage) | |
| filters | No | Filters for migration (optional) | |
| options | No | Migration options (optional) | |
| instruction | No | Migration instruction (required for data type) | |
| transformation | No | Transformation description (required for other types) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention whether migrations are destructive (e.g., overwriting existing data), whether they require permissions, whether they are synchronous or asynchronous, or what side effects may occur. 'Unified' implies a single tool for many behaviors but obscures what each type actually does.
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 short phrase, so it is concise. However, it is under-specified: 'Unified AI-powered migration operations' is more of a vague label than a proper behavioral description. There is minimal content to structure, and what exists is generic.
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?
This is a complex, multi-purpose tool with 7 parameters, nested objects, 4 enum types, and no output schema. The description does not explain return values, behavior differences across types, idempotency, or failure modes. For a tool this broad, one phrase is grossly insufficient.
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 every parameter already has basic descriptions (type, source, target, filters, options, instruction, transformation). The description adds nothing beyond the schema. However, the schema itself provides meaningful parameter descriptions with conditional guidance (instruction required for data, transformation for other types), so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Unified AI-powered migration operations' which indicates a migration verb plus a resource family, but 'unified' suggests it conflates multiple distinct operations (data, workflows, templates, quality_rules) into one tool. It lacks specificity about what migrating means for each type and does not distinguish from the many sibling management tools (manage_quality_rules, manage_workflows, manage_templates) that overlap in domain.
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 the many sibling management tools or auto_detect_workflow. The description provides no excluded alternatives or specific triggers. The type enum hints at usage domains, but the description itself gives no usage context whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_codeD
Unified code analysis operations
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (optional for similar_code) | |
| filePath | Yes | Path to the file to analyze | |
| projectPath | Yes | Path to the project directory | |
| projectType | No | Type of project (optional) | |
| analysisType | Yes | Type of analysis to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It gives zero information about side effects, whether this is read-only, what operations destroy/modify state, API costs, rate limits, or failure modes. 'Unified code analysis operations' reveals nothing about the tool's behavioral footprint. For a multi-mode tool conducting potentially expensive AI analysis, this is a critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (four words), which is efficient but severely under-specified. A four-word description is not conciseness; it's abdication of the documentation role. There's no front-loaded summary, no structure, and no attempt to communicate the tool's multi-modal nature despite having four distinct analysisType options.
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?
This is a complex tool with 5 parameters, 4 analysis subtypes, no annotations, and no output schemaβyet the description provides essentially nothing. For a tool performing multiple distinct analysis operations (guidance, validation, AI analysis, similar code search), the description should enumerate what each mode does and what results to expect. This is completely inadequate for the tool's 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 description coverage is 100%, so the schema already documents all five parameters. The description adds nothing about parameter semantics beyond the schema. However, the schema descriptions are fairly clear (e.g., 'Path to the file to analyze', 'Type of analysis to perform'). Baseline 3 is appropriate given full schema coverage, though the description itself contributes zero value here.
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 'Unified code analysis operations' is generic and tautologicalβit restates the tool's name without specifying what code analysis operations it can perform. While the enum in the schema reveals four distinct analysis types (guidance, validation, ai_analysis, similar_code), the description itself provides zero differentiation between these operations or from sibling tools like get_guidance or semantic_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_guidance, semantic_search, or manage_execution. The description doesn't explain which analysisType to choose for which scenario, nor does it distinguish when analyze_code is appropriate versus the sibling tools that overlap with its capabilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_detect_workflowC
Automatically detect and suggest workflows based on natural language input
| Name | Required | Description | Default |
|---|---|---|---|
| userInput | Yes | Natural language input to analyze for workflow triggers | |
| autoExecute | No | Whether to automatically execute detected workflows (default: false) | |
| currentFile | No | Current file being worked on (optional) | |
| projectPath | No | Path to project directory (optional) | |
| projectType | No | Type of project (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It says 'detect and suggest' but doesn't state whether this triggers side effects, whether autoExecute requires confirmation, or what happens when autoExecute is true. Does not clarify if it writes to any store or just returns suggestions.
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 communicates the core purpose without excess. While under-specified in other dimensions, conciseness itself is goodβno wasted words or irrelevancies.
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?
This is a moderately complex tool with 5 parameters, no annotations, and no output schema, yet the description offers only a single high-level sentence. It doesn't describe the suggestion output format, behavior of autoExecute, or how optional context parameters influence detection. For a tool with zero annotation coverage and no output schema, this is insufficient.
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 documents all 5 parameters. The description mentions analyzing 'natural language input,' which maps to userInput, but adds minimal value beyond schema text. It implies currentFile/projectPath/projectType are contextual signals but doesn't explain how they influence detection. Baseline 3 is appropriate given full 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 states a clear verb+resource: 'detect and suggest workflows based on natural language input.' It distinguishes the purpose from siblings like manage_workflows and list_workflows, which handle workflow CRUD. However, it lacks specificity on what 'suggest workflows' produces or how it differs from start_workflow, which could cause selection 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 vs alternatives. Given many sibling tools (start_workflow, list_workflows, get_workflow, manage_workflows), the description provides no context on when detection/suggestion is preferred over direct workflow management. No exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_execution_metricsC
Get detailed metrics for a workflow execution
| Name | Required | Description | Default |
|---|---|---|---|
| executionId | Yes | ID of the execution |
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 of behavioral disclosure. It indicates this is a read operation ('Get') but doesn't state anything about what metrics are included, whether this requires a running execution, what happens for failed executions, or what the response format looks like. For a metrics-retrieval tool with zero annotation coverage, this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that states the tool's purpose without wasted words. It's appropriately concise for a single-purpose retrieval tool. Could be slightly more informative per sentence, but it is economically written.
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 single-parameter read tool with no output schema and no annotations, this description is thin. It lacks guidance on the format of metrics returned, what distinguishes 'detailed' metrics from other metric tools, and any usage constraints. The sibling set includes get_metrics and get_workflow which creates ambiguity that the description fails to resolve.
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%, meaning the executionId parameter is documented in the input schema itself. There is only one parameter, so the schema covers it fully. The description adds no additional semantics about what 'detailed metrics' means or how executionId is used beyond the schema, so it stays at the baseline 3 for high 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 'Get detailed metrics for a workflow execution' uses a specific verb+resource combination that clearly states the tool's function. It distinguishes from siblings like get_workflow (which presumably retrieves the execution itself) and get_metrics (which is more generic). The purpose is clear, though it could differentiate more explicitly from the sibling get_metrics 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. There is a sibling get_metrics and get_workflow that could overlap or complement this tool, but no exclusions, context, or conditions are given. An agent would have to guess when metrics vs. workflow details are appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guidanceC
Get intelligent guidance for the current workflow step
| Name | Required | Description | Default |
|---|---|---|---|
| stepId | No | Specific step ID (optional, uses current step if not provided) | |
| executionId | Yes | ID of the workflow execution |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. Given zero annotations, the description should clarify safety profile (read-only vs capable of side effects), whether it consumes significant resources, or whether it makes external calls. The tool name suggests a read operation (getting guidance), but the description doesn't confirm whether invoking it could trigger state changes or have side effects on the workflow.
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 zero waste. It's efficiently written and front-loaded. However, given the critical ambiguities around 'intelligent guidance,' a bit more elaboration on what the guidance constitutes would have been earned rather than 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?
With no output schema and no annotations, the description must do more to explain what the tool returns and its behavioral contract. The phrase 'intelligent guidance' is too vague to tell an agent what to expect or how to interpret the result. Given the tool's AI-flavored nature, more detail on guidance categories or response format would substantially improve usability.
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 both parameters (executionId, stepId) are documented in the schema with their semantic meaning. The stepId explicitly states 'optional, uses current step if not provided' which is helpful. The description adds no additional parameter context beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get intelligent guidance for the current workflow step' has a clear verb+resource (get guidance for step) and implies an AI-assisted feature distinct from siblings. However, the term 'intelligent guidance' is vague - it doesn't specify what kind of guidance (explanations, suggestions, errors, next actions) or what output format. It's adequate but doesn't sharply define the deliverable.
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 when-to-use or when-not-to-use guidance is provided. The description doesn't explain how this differs from sibling tools like get_execution_metrics, get_workflow, or analyze_code, nor when a user would prefer guidance over querying these other capabilities. Siblings like analyze_code and semantic_search could overlap in providing intelligent assistance, but no differentiation is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metricsC
Get execution metrics and progress information
| Name | Required | Description | Default |
|---|---|---|---|
| executionId | Yes | ID of the workflow execution |
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 disclosing behavioral traits. 'Get' implies a read operation, but the description doesn't clarify whether this is a safe/polling operation, what the response shape is, or any error conditions. There is no mention of what 'metrics' specifically includes or how progress is represented.
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 filler. It's appropriately sized for a simple one-parameter read tool. It doesn't waste words but doesn't add substantial value beyond the title itself.
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 only 1 parameter, no output schema, and no annotations. Given this simplicity, a minimal description is partially acceptable. However, the lack of output schema means the description should explain what metrics/progress data the agent can expect, and the ambiguity with 'get_execution_metrics' sibling suggests more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter 'executionId' is already described in the schema as 'ID of the workflow execution'. The description adds no additional meaning beyond what the schema provides. Per the baseline rule, 3 is appropriate when schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get execution metrics and progress information' which is reasonably specific (verb 'get' + resource 'execution metrics'). However, it's partially redundant with the sibling tool 'get_execution_metrics' which has a near-identical name and likely purpose, creating ambiguity about which tool to choose. The description doesn't distinguish it from that 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 provides no guidance on when to use this tool versus alternatives. Crucially, there is a sibling tool named 'get_execution_metrics' which appears to have an identical or overlapping purpose, yet the description offers no differentiation or exclusion criteria. There is also no guidance on prerequisites (e.g., whether an execution must be running first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowB
Get details of a specific workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | ID of the workflow |
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 this is a read operation ('Get'), but doesn't specify what details are returned (status, steps, configuration), whether it throws if the workflow doesn't exist, or any auth requirements. Given a get operation, some context about return content would help.
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, zero waste. Every word earns its place. Appropriate for a simple single-parameter retrieval 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?
For a simple single-param read tool with 100% schema coverage and no output schema, the description is arguably adequate. However, it lacks any mention of what 'details' entails, which for a workflow tool could be substantial (steps, config, state). The lack of sibling differentiation is a minor gap given the many workflow-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single workflowId parameter, and the schema description 'ID of the workflow' is adequate. The description provides no additional parameter meaning, but with 100% schema coverage, the baseline of 3 applies; the param is simple (a string ID) so minimal added value is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a clear verb+resource: 'Get details of a specific workflow'. It's distinct from sibling list_workflows (listing all) and start_workflow/pause_execution, though it doesn't explicitly name the distinction. Purpose is 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 guidance on when to use this vs list_workflows (to enumerate workflows) or manage_workflows (to modify). The context that this is a retrieval tool for a known workflowId is implied but never stated. No exclusions or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
init_samplesC
Initialize sample workflows and templates for auto-workflow detection
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: init (initialize samples), status (get status), check (check if initialized) |
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. The description implies initialization is a setup action but doesn't disclose whether it's destructive (would overwrite existing samples), idempotent, or requires specific environment state. The three actions in the schema (init/status/check) partially compensate by revealing behaviors, but the description itself adds little 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 concise sentence with no waste. It front-loads the core purpose clearly. It could arguably be too sparse, but as written it's efficient and readable.
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 no annotations and no output schema, the description should provide more behavioral detail. The three-action pattern (init/status/check) is only discoverable via the schema, but there's no description of what status/check return, whether init is destructive, or what happens after initialization. Given the tool is part of a setup/detection flow, the description is incomplete for a new 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 schema fully documents the 'action' parameter including its enum values and descriptions. The description mentions 'initialize' which maps to one of the enum values, providing minor added context. Per rubric, high coverage grants a baseline of 3, and the description doesn't add meaningful semantics beyond that.
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 'Initialize sample workflows and templates for auto-workflow detection' with a specific verb (initialize) and resource (sample workflows/templates), and ties it to the auto-workflow detection feature. This is reasonably clear but somewhat vague about what 'initialize' concretely accomplishes and doesn't distinguish itself from siblings like manage_workflows or auto_detect_workflow.
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. It references 'auto-workflow detection' which hints at context, but there's no explicit when-to-use, when-not-to-use, or alternative tool naming. Given the large sibling set including auto_detect_workflow, manage_workflows, and manage_templates, the lack of differentiation is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rolesB
List all available Anubis roles and their capabilities
| Name | Required | Description | Default |
|---|---|---|---|
| agentType | No | Filter roles by agent type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The description accurately frames this as a list (read) operation and indicates roles have 'capabilities', giving some context about return semantics. However, it doesn't disclose details like whether filtering changes the output structure, or what new/unknown roles look like. For a read-only listing tool the bar is modest, but no annotations mean some disclosure is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and purpose. It's appropriately concise with no filler. Could arguably add a usage note without bloating, but as written it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with zero required parameters and no output schema, this description is reasonably complete. The agent knows what action to take and roughly what to expect. However, given the large number of role-related siblings (manage_roles, transition_role, transition_role_workflow), a brief note about output format or what distinguishes roles listed here versus other role tools would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'agentType', and the description adds the phrase 'by agent type' which semantically reinforces the filter but adds no new detail beyond the schema. The enum values (cursor, copilot, roocode, kilocode) are self-explanatory. There's a subtle mismatch since the description says 'List all... roles' but the parameter filters by agent type - the description doesn't clarify the relationship for the agent.
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 a specific verb+resource ('List all available Anubis roles') and mentions what's returned ('their capabilities'). It's clear enough, though it doesn't explicitly distinguish from the sibling 'manage_roles' tool which appears to be a CRUD operation on roles. The word 'all' signals listing scope.
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 is a read-only listing tool, but provides no explicit when-to-use guidance or exclusions. Given the sibling 'manage_roles' exists for role management and 'transition_role' for changing roles, the agent might benefit from an explicit note about when listing is appropriate. Current guidance is only implied by the verb 'list'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsC
List all available Anubis workflows
| Name | Required | Description | Default |
|---|---|---|---|
| agentType | No | Filter workflows by agent type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'List' implies a read-only operation, which gives some signal, but it doesn't disclose pagination behavior, result sorting, whether it returns empty lists vs errors, or performance characteristics for potentially large workflows. Adequate but thin for a listing tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no wasted words. It's efficient and front-loaded with the verb. Could argue it's slightly under-specified rather than concise, but the single-sentence structure is clean.
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 read-only listing tool with one fully-documented optional parameter, the description is minimally sufficient. However, no output schema means the description should hint at what the response contains (workflow names, metadata, etc.), and it doesn't. The tool is simple enough that this is a minor gap, but it could benefit from noting what fields appear in 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?
The schema description coverage is 100% and the sole parameter agentType is fully described in the schema ('Filter workflows by agent type') with an enum. The description adds nothing beyond the schema. Baseline 3 applies since the schema fully documents the parameter.
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 'List all available Anubis workflows' uses a clear verb (list) and resource (workflows), but it doesn't distinguish itself from sibling tools like get_workflow (singular) or manage_workflows. 'Anubis' adds minimal context. It's clear but lacks differentiation from the management/crud 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 explicit guidance on when to use this tool vs alternatives. There's no mention of exclusions, prerequisites, or when to prefer get_workflow, manage_workflows, or auto_detect_workflow instead. The optional agentType filter is discoverable via schema but not contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_executionD
Unified execution management operations
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| reason | No | Reason for pausing (optional for pause) | |
| agentType | No | Type of agent (optional for execute_roles) | |
| variables | No | Variables for execution (optional) | |
| workflowId | No | ID of workflow (required for execute actions) | |
| executionId | No | ID of execution (required for status/pause/resume) | |
| projectPath | No | Path to project (required for execute actions) |
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 discloses nothing about side effects: what 'execute' does to the system, whether pause/resume are reversible, what happens to in-flight executions, or whether execute_ai has different resource implications. For a mutation-heavy tool (execute, pause, resume are all state-changing), total opacity is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is short (one sentence), this is under-specification rather than conciseness. A four-word sentence describing a seven-parameter, six-action tool is insufficient. The description does not earn its place because it communicates nothing actionable beyond what the tool name already implies.
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?
This is a complex tool with 7 parameters, 6 enum actions, nested objects, and no output schema, yet the description provides almost no information. It doesn't explain return values, prerequisites, the distinction between execute variants, or error conditions. Given the complexity and zero annotations, the description is severely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no parameter meaning beyond the enum list in the schema. The action enum itself conveys the parameter semantics well (each value self-describes its intent), and optionality markers are in the schema. Baseline 3 is appropriate given full schema coverage, though the description contributes essentially nothing beyond that.
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 'Unified execution management operations' is vague and generic. It combines six distinct operations (execute, execute_ai, execute_roles, status, pause, resume) under one umbrella name without explaining what each does or when to use which. The enums in the action parameter provide more specificity than the description itself, which reads more like a category label than a tool 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?
There is zero usage guidance. The description does not explain when to use execute vs execute_ai vs execute_roles, when status/pause/resume are appropriate, or how this tool relates to siblings like pause_execution, resume_execution, and start_workflow which appear to overlap in functionality. This is particularly problematic given the sibling overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_memoriesC
Unified memory management operations
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Memory ID (required for get) | |
| tags | No | Tags for memory (optional for save) | |
| type | No | Type of memory (required for save) | |
| limit | No | Maximum number of results (optional for search/list) | |
| query | No | Search query (required for search) | |
| scope | No | Memory scope (optional for search/list/get) | |
| action | Yes | Action to perform | |
| content | No | Memory content (required for save) | |
| context | No | Additional context (optional for save) | |
| category | No | Category of memory (required for save) |
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 of behavioral disclosure. However, it discloses nothing about side effects (e.g., whether save persists globally, whether stats is read-only, whether get returns full objects), data lifecycle, or permissions. For a multi-action mutation tool with five distinct operations and zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but this is under-specification rather than concise efficiency. One vague sentence 'Unified memory management operations' conveys almost no information. There is no front-loading of key behaviors and no structured presentation of the five distinct actions the tool supports.
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 10 parameters, 5 distinct actions, 4 enum constraints, nested objects, and no output schema, the description is profoundly inadequate. It does not explain action-specific parameter requirements, return values for each action, error cases, or relationship to siblings like manage_memory_rules. The tool's complexity demands substantial descriptive support that is entirely absent.
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 all 10 parameters are documented within the schema itself, giving a baseline of 3. The description adds nothing beyond what the schema provides for parameter meaning. However, the schema's dependency structure (which params are required per action) is only implied via 'required for X' hints and could benefit from clarification in the 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 'Unified memory management operations' is vague and does not state a specific verb+resource. It fails to differentiate from siblings like manage_memory_rules and semantic_search. While the action enum (save/search/list/get/stats) clarifies some behavior, the description itself provides no concrete statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like manage_memory_rules or semantic_search. There is no context about which actions require which parameters or when this unified tool should be preferred over sibling tools. The description offers zero usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_memory_rulesD
Unified memory rules management
| Name | Required | Description | Default |
|---|---|---|---|
| rule | No | Memory rule definition (required for create) | |
| scope | No | Rule scope (optional for list) | |
| action | Yes | Action to perform | |
| context | No | Context information (required for enhance_request) | |
| request | No | Original request (required for enhance_request) | |
| projectPath | No | Path to project (required for init_project) | |
| projectType | No | Type of project (required for init_project) |
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 of behavioral disclosure. It reveals nothing about side effects, prerequisites, auth needs, or what happens during each of the 4 different actions. The description is completely silent on behavioral implications despite this being a management tool that presumably mutates memory rule state.
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 at 4 words, which technically is concise but is actually under-specification rather than efficiency. There's no structure, no front-loaded actionable information, and no distinguishing detail. While there's no waste, there's also almost no contentβthis is closer to an empty placeholder than proper 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?
This tool has 7 parameters including nested objects, 4 distinct actions with very different requirements, and no annotations or output schema. The description does nothing to explain the workflows of the 4 actions, what a 'memory rule' is, or how the actions relate. For a tool with this complexity, the description is severely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 7 parameters are described in the schema itself. The descriptions in the schema include basic usage context (e.g., 'required for create', 'optional for list'). However, the description adds no meaning beyond the schemaβit doesn't explain relationships between parameters or clarify expected formats for nested objects like 'rule' and 'context'. Baseline 3 is appropriate given full 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 'Unified memory rules management' is vagueβit doesn't state what operations are performed, what a 'memory rule' is, or what the tool accomplishes. It's nearly a tautology of the tool name. With 4 distinct actions (enhance_request, init_project, list, create) covering very different behaviors, the description gives the agent no sense of what this tool actually does or which sibling it differentiates against.
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 zero guidance on when to use this tool, when not to, or how it differs from sibling tools like manage_memories, manage_quality_rules, or manage_workflows. With such a generic description and so many sibling tools, an agent cannot determine when to select this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_projectsC
Unified project management operations
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| projectPath | No | Path to project directory (optional, defaults to current) | |
| projectType | No | Type of project (optional for init, auto-detected for auto_init) |
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 of behavioral disclosure. However, it reveals nothing about side effects β whether 'init' creates directories, whether 'sync' modifies files, whether auto_init mutates state. For a multi-action tool involving both reads (list, info) and writes (init, sync), this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is efficient, but it under-specifies rather than concisely captures essential information. One sentence with no structure or detail is closer to under-specification than skilled 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?
This is a 5-action overloaded tool with no output schema and no annotations. Each action has different semantics, inputs, and side effects, yet the description provides a single vague sentence. The agent has no way to know what each action returns or what effects each has β completely inadequate for a tool of this 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?
Although schema coverage is 100%, the schema descriptions are skeletal ('Action to perform', 'Path to project directory'). The description adds zero parameter context β notably, it fails to explain the semantics of each enum value (what 'auto_init' vs 'init' do differently, or what 'sync' synchronizes against). Even with full schema coverage, the enum values are opaque without explanation.
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 'Unified project management operations' is vague β it identifies a general domain (projects) but not a specific verb or resource. While the parameter enum (list, init, auto_init, info, sync) hints at distinct operations, the description itself does not state what the tool does, making it hard to distinguish from siblings like manage_workflows or manage_quality_rules.
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 is provided. With siblings like auto_detect_workflow, init_samples, and manage_workflows, the agent cannot determine when manage_projects is the right choice or what prerequisites exist (e.g., must an init happen before sync?).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_quality_rulesC
Unified quality rules management
| Name | Required | Description | Default |
|---|---|---|---|
| rule | No | Quality rule definition (required for create) | |
| action | Yes | Action to perform |
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 of behavioral disclosure. It doesn't mention side effects, whether create overwrites existing rules, validation behavior, or how quality rules differ from memory rules. For a mutation-capable tool with zero annotation coverage, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (4 words), which is efficient but under-specified rather than genuinely concise. It lacks any instructional content. While there's no wasted text, brevity here comes at the cost of usefulness.
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 a mutation action (create) but has no annotations, no output schema, and a nested 'rule' object with undocumented structure. The description does nothing to compensate for these gaps. An agent cannot reliably determine what 'quality rules' are, their schema, or what create returns.
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. However, the description adds nothing beyond the schema. The 'rule' parameter is a nested object with no inline properties documented, and the description doesn't clarify rule structure or fields. Baseline 3 is appropriate since schema handles basic documentation.
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 'Unified quality rules management' uses a vague noun phrase rather than a verb+resource construction. It doesn't specify concrete operations beyond what the schema enum already reveals (list/create). It fails to distinguish from siblings like manage_workflows and manage_templates, and doesn't clarify what a 'quality rule' is or how it relates to manage_memory_rules.
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 manage_memory_rules or analyze_code. The description provides zero context for selection decisions; the agent must infer usage solely from the enum values in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_rolesC
Unified role management operations
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| roleId | No | ID of role (required for guidance) | |
| context | No | Context for role guidance (optional) | |
| agentType | No | Type of agent (optional for list) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It fails to disclose that this appears to be a dispatch/router tool selecting between 'list' and 'guidance' behaviors, nor does it explain any side effects, auth requirements, or how the nested 'context' object behaves. The description adds essentially nothing beyond what the name conveys.
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 phrase, which is concise, but this is under-specification rather than effective conciseness. There is no opening framing for a multi-action dispatcher tool that handles two distinct behaviors (list and guidance). The word count is low, but it fails to earn its place by adding no useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool handles two distinct actions ('list' and 'guidance'), has a nested object parameter with no structure defined, and no output schema, the description is insufficient. The agent cannot know what the 'context' object should contain, what role guidance returns, or how this differs from get_guidance. A multi-action dispatcher with no annotations needs far more documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. However, the description adds no semantic value beyond the schema. The relationship between parameters (e.g., that 'context' and 'roleId' are relevant only for 'guidance') must be inferred from the schema names. Baseline 3 applies since the schema handles parameter documentation.
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 'Unified role management operations' is extremely vague-it names a generic category rather than specifying verb+resource. It doesn't clarify what 'management' means (create? assign? delete?). With siblings like 'list_roles' and 'transition_role', the purpose is ambiguous and doesn't differentiate what manage_roles does uniquely.
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 the alternatives. The 'unified' wording hints it's an aggregator or dispatcher, but nothing tells the agent when to choose manage_roles over list_roles, transition_role, or get_guidance. The schema's action enum ('list', 'guidance') implies it overlaps with list_roles and get_guidance, but this is unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_templatesD
Unified template management operations
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| search | No | Search term for filtering (optional for list) | |
| template | No | Template definition (required for create) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden of disclosure, but it provides nothing about behavior. It doesn't state whether operations are read-only or mutating, what gets affected by create, whether list is paginated, or any side effects. For a tool with a 'create' action that takes a nested object, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is efficient. However, 'Unified template management operations' is under-specification rather than conciseness - it packs no useful information into its brevity. A tool description that is short but empty of meaning is not well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has create and list actions, 3 params, a nested template object, no output schema, and no annotations. Given this complexity, the description is completely inadequate. It doesn't explain how create works, what the template schema accepts, what list returns, or how actions are dispatched. A two-action tool with a nested object requires far more documentation than a single uninformative sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite schema coverage being 100%, the schema descriptions are minimal ('Action to perform', 'Search term for filtering (optional for list)', 'Template definition (required for create)'). The description adds no meaning beyond the schema. The nested 'template' object's structure is entirely undocumented, which is a real gap since the schema doesn't describe its properties. With a nested object present and no description of its shape, the tool is hard to use.
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 'Unified template management operations' is vague - it doesn't specify a verb+resource with any concrete action. The name 'manage_templates' already conveys this. The enum actions (list/create) are in the schema, not the description. It fails to distinguish from siblings like manage_quality_rules or manage_workflows beyond the word 'templates'.
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 vs alternatives. No when/when-not statements, no exclusions, no conditions. An agent has no idea when list vs create is appropriate or how this relates to template-related workflow tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_workflowsC
Unified workflow management operations
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| search | No | Search term for filtering (optional for list) | |
| workflow | No | Workflow definition (required for create) | |
| variables | No | Variables for workflow execution (optional) | |
| workflowId | No | ID of the workflow (required for get/execute) | |
| projectPath | No | Path to project directory (required for execute) |
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 of behavioral disclosure. It discloses nothing about side effects: does 'execute' run workflows synchronously or asynchronously? Does 'create' persist to a store? Does 'get' require list first? The description is a single sentence with zero behavioral context. For a mutating tool (create, execute) with no annotation coverage, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short (one sentence, 5 words), which is concise. However, this is under-specification rather than efficient conciseness. There is no front-loading of purpose since the sentence itself is the entire description. The brevity is not misleading but fails to spend any of its words on useful guidance.
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?
This is a 6-parameter tool with four distinct actions (list, get, create, execute) covering multiple modes of operation, nested objects, and no output schema. It faces numerous sibling workflow tools. The description is grossly inadequate for this complexityβit doesn't explain return values, side effects of execute, the relationship between actions, or how to choose among siblings. For a multi-action unified tool, significantly more behavioral and usage detail is warranted.
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 every parameter has some description in the schema. The tool description itself adds nothing beyond the generic 'Unified workflow management operations' phrase. Per the rubric, with high schema coverage, baseline is 3. The description adds no value but doesn't detract either; the schema's per-parameter descriptions plus the enum constraint carry the explanatory burden.
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 'Unified workflow management operations' is a vague, generic title rather than a specific verb+resource statement. 'Unified' suggests aggregation of multiple operations (list, get, create, execute) but gives no indication of what workflows are, what executing them entails, or how this tool differs from the many sibling workflow tools (list_workflows, get_workflow, start_workflow, manage_execution, auto_detect_workflow). The purpose is ambiguous given the crowded sibling context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. With siblings like start_workflow, list_workflows, get_workflow, manage_execution, and auto_detect_workflow, the description gives zero distinction. It's unclear whether 'execute' here means the same as 'start_workflow' or if 'create' overlaps with 'init_samples'. Only the action enum and parameter requirements hint at usage boundaries, but these are schema-driven, not described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_executionC
Pause a workflow execution
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for pausing the execution | |
| executionId | Yes | ID of the workflow execution |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It doesn't state what state the execution transitions to, whether the pause is immediate or queued, whether it's resumable, any side effects, or whether permissions are required. The single sentence provides no behavioral context beyond the verb 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 extremely short (6 words), which shows restraint but crosses into under-specification. It's front-loaded but lacks any additional value-adding sentences about behavior, alternatives, or effects. Minimalism here isn't quite the same as disciplined 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?
This is a mutating tool (pauses execution) with no annotations and no output schema, so the description must compensate. There are 2 parameters with 100% schema coverage, but the description fails to disclose the state transition, reversibility, prerequisites, or interaction with resume_execution. For a lifecycle-affecting tool, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (executionId and reason) are documented in the schema. The description doesn't add meaning beyond the schema, but per the rubric, baseline is 3 when coverage is high. The reason parameter's optionality and semantics are only implied by the schema, not elaborated.
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 'Pause a workflow execution' uses a clear verb (Pause) and resource (workflow execution), identifying the core action. However, it doesn't distinguish itself from siblings like resume_execution, start_workflow, or manage_execution, nor does it clarify any scoping nuances (e.g., does it pause one execution or all in a workflow instance). It's minimally clear but lacks distinguishing context from closely related 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 like resume_execution or manage_execution. No conditions, prerequisites, or context are provided for when pausing is appropriate or what state the execution must be in. The description offers no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_completionC
Report completion of a workflow step with metrics and results
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Additional notes about the step completion | |
| status | Yes | Status of the step completion | |
| metrics | No | Metrics for the completed step | |
| executionId | Yes | ID of the workflow execution | |
| filesCreated | No | List of files created during this step | |
| filesModified | No | List of files modified during this step |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden of behavioral disclosure. 'Report completion' implies a write/persist operation, but the description doesn't state whether this updates a workflow state, whether it can overwrite previous reports, what happens on failure to report, or any side effects beyond recording. For a state-modifying tool with zero annotation coverage, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that captures the core purpose. No wasted words or redundancy. It's appropriately concise for a tool whose parameters are well documented in the schema.
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 6 parameters (including nested metrics objects and two file-array params), no output schema, and zero annotations, the description is underspecified. It doesn't clarify the relationship between the nested 'metrics' object and the top-level filesCreated/filesModified arrays (redundancy risk), nor what a successful report returns or when it's appropriate to report partial vs failed 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?
Schema description coverage is 100%, so structural parameter documentation is complete. The description mentions 'metrics and results' which maps broadly to the metrics/files fields, but adds no meaning beyond the schema. Baseline 3 is appropriate since the schema already documents all parameters well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report') with a clear resource ('completion of a workflow step') and mentions it includes 'metrics and results'. It clearly differentiates from siblings like get_execution_metrics (reading) and start_workflow/pause_execution (lifecycle control), though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives. It doesn't state whether this should be called at the end of each workflow step, whether it replaces or complements other reporting tools, or any exclusions. Given the sibling set includes get_metrics, analyze_code, and manage_execution, clear usage direction would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_executionC
Resume a paused workflow execution
| Name | Required | Description | Default |
|---|---|---|---|
| executionId | Yes | ID of the workflow execution |
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 of behavioral disclosure. 'Resume' implies a state change on an existing workflow, but the description doesn't disclose side effects, whether the operation is reversible, what state the workflow must be in (paused vs. failed vs. completed), or whether any validation occurs on the executionId.
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, efficient sentence with zero waste. Directly states the action and resource. There's no preamble, filler, or redundant phrasing.
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 state-changing tool with no annotations and no output schema, the description is too minimal. It doesn't explain what happens after resuming (does it continue from pause point?), error conditions, or required preconditions. A paired tool exists (pause_execution) suggesting an orchestration lifecycle, but no context is provided about how this fits in.
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 (executionId), which already describes 'ID of the workflow execution'. The description adds no additional meaning about the parameter beyond the schema. Baseline 3 is appropriate since the schema fully covers the parameter.
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 'Resume a paused workflow execution' clearly states the verb (resume) and resource (paused workflow execution). It distinguishes from siblings like pause_execution and start_workflow. Could be more specific about what resuming entails, but the basic purpose is clear.
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. The sibling tools include pause_execution, start_workflow, and manage_execution, but the description doesn't clarify how resume_execution differs from starting a fresh workflow or when resume is appropriate. No context on prerequisites or state requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic_searchC
Unified semantic search across different content types
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Type of content to search | |
| limit | No | Maximum number of results (default: 10) | |
| query | Yes | Search query | |
| filePath | No | Path to file (required for code type) | |
| projectPath | No | Path to project (required for code type) |
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 doesn't disclose read-only semantics, whether it returns ranked/relevance-ordered results, whether the search depends on an index that must be pre-built, or how it handles empty/no-match queries. For a search tool that presumably reads data, it should at least clarify it's non-destructive and what the result format looks like.
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 one short sentence with minimal waste, appropriate for a straightforward search tool. It's front-loaded and efficient, though it sacrifices usefulness 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?
The tool has 5 parameters, an enum-driven type system, conditional dependencies (filePath/projectPath required for code type), and no output schema or annotations. Given this complexity, the one-sentence description is insufficient. It should explain the type-dependent behaviors, clarify the limit default behavior, and describe what a semantic search returns. A moderately complex tool with zero annotations needs substantially more context than one sentence.
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. However, the description adds nothing meaningful beyond the schema, particularly for 'filePath' and 'projectPath' which are marked 'required for code type' in the schema but not contextualized further. One area where the description could add value is explaining how 'type' interacts with other parameters (e.g., which params matter for each type), but it doesn't.
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 'Unified semantic search across different content types,' which names the verb (search) and resource (content types) but is quite generic. It doesn't specify what is searched (workflows, templates, code) in the description itself, though the schema enum reveals this. It partially distinguishes from siblings like analyze_code and list_workflows, but the purpose is stated vaguely without naming the specific content types or result behavior.
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 no guidance on when to use this tool versus alternatives like list_workflows, get_workflow, or analyze_code. It doesn't explain when semantic search is preferred over exact/explicit lookup, nor does it state exclusions or when not to use it. The keyword 'unified' hints at cross-type capability, but there's no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_workflowC
Start a new Anubis workflow execution with intelligent role-based guidance
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context for the workflow execution | |
| agentType | No | Type of AI agent executing the workflow | cursor |
| workflowId | Yes | ID of the workflow to start |
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 of behavioral disclosure. 'Intelligent role-based guidance' hints at behavior but is vagueβdoes it auto-assign roles? Does it fail without a role defined? What side effects occur (state changes, task triggers, notifications)? No behavioral detail about execution lifecycle, idempotency, or whether starting an already-running workflow is an error is 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?
Single sentence, front-loaded with the primary action, zero wasted words. It's concise and efficient, though the 'intelligent role-based guidance' phrase adds marketing tone without concrete technical value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a workflow-starting tool with moderate complexity (3 params, nested context object), the minimal description is somewhat adequate given strong schema coverage, but it lacks important context: the relationship to role guidance (what roles are involved), failure modes, and relationship to sibling workflow tools like auto_detect_workflow and transition_role_workflow. With no output schema and no annotations, more behavioral context is warranted.
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 includes decent per-parameter descriptions (workflowId, agentType with enum and default, context with additionalProperties). The description adds 'role-based guidance' context that relates to role semantics but doesn't explain how context or agentType affect execution beyond their schema descriptions. Baseline 3 is appropriate given the strong 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 states a specific verb+resource ('Start a new Anubis workflow execution') with a distinctive qualifier ('intelligent role-based guidance'), which distinguishes it from siblings like manage_execution and pause_execution. It's clear but doesn't fully differentiate from auto_detect_workflow or get_guidance, which could overlap in intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description mentions 'intelligent role-based guidance' which implies this tool provides role-aware execution, but it doesn't explicitly name alternatives or exclude situations (e.g., when to use auto_detect_workflow instead, or whether this replaces pause/resume workflows). Siblings like start workflow vs manage_execution create ambiguity unresolved by the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transition_roleC
Transition to a different role in workflow execution
| Name | Required | Description | Default |
|---|---|---|---|
| toRoleId | Yes | ID of the role to transition to | |
| executionId | Yes | ID of the execution | |
| handoffNotes | No | Notes for the role transition (optional) |
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 of behavioral disclosure. It doesn't mention whether this is a mutating operation (though 'transition' implies state change), whether permission requirements exist, whether the transition is reversible, or what side effects occur. The description adds minimal behavioral context beyond what the name implies.
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, compact sentence with zero wasted words. It's appropriately brief for a tool whose parameters are well-documented in the schema. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a state-changing operation (role transition) with no annotations and no output schema. The description should clarify when transitions are valid, what constraints exist (e.g., allowed transition paths), and what happens to the execution state. None of this is addressed. For a mutation-type tool with three parameters, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are documented in the schema. The description itself doesn't add additional parameter meaning beyond the schema. Baseline 3 is appropriate since the schema handles parameter documentation adequately, though the description adds no extra semantic 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 'Transition to a different role in workflow execution' uses a clear verb (transition) and resource (role in workflow execution). However, it's quite generic and doesn't distinguish itself from sibling tool 'transition_role_workflow', which sounds nearly identical. The description names the action but doesn't clarify the specific scope or how it differs from the 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 provides no guidance on when to use this tool versus alternatives. With a sibling tool named 'transition_role_workflow' that appears functionally identical, there's no differentiation. No when-to-use, when-not-to-use, or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transition_role_workflowC
Transition to a different role in the workflow execution
| Name | Required | Description | Default |
|---|---|---|---|
| toRole | Yes | Role to transition to | |
| decisions | No | Key decisions made in the current role | |
| rationale | No | Rationale for the role transition | |
| executionId | Yes | ID of the workflow execution | |
| handoffNotes | Yes | Notes for the role transition |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It's a state-changing operation (transition) but provides no detail about side effects: what happens to the current role's state, whether the transition is reversible, whether handoffNotes are stored/visible, or what happens if transition fails. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no waste. It gets to the point quickly. Slightly more could be added given the tool's complexity, but there are no redundant phrases or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a workflow-transition tool with 5 parameters including ambiguously overlapping fields (rationale vs handoffNotes), no output schema, and no annotations, the description is inadequate. It should clarify expected values for 'toRole', the behavioral consequences of a transition, and how it relates to the nearly identical sibling 'transition_role'. The description leaves too much to the agent's inference.
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 5 parameters. The description adds no parameter-level meaning beyond what the schema provides β it doesn't clarify the distinction between 'rationale' and 'handoffNotes' (both sound similar), nor what format 'toRole' expects or what 'decisions' items should contain. Baseline 3 applies when schema carries the load, but no extra value is added.
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 'Transition to a different role in the workflow execution' is a clear verb+resource statement conveying the core purpose. However, it doesn't distinguish from the sibling tool 'transition_role' which appears to be a near-duplicate β the relationship between the two is entirely unexplained, so an agent cannot tell which to use.
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 when-to-use guidance, no exclusions, and no differentiation from the sibling 'transition_role' tool. The description gives no context about when this workflow-level transition is preferred, what prerequisites exist (e.g., must the workflow be running?), or what role names are valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
25 tool updates
v1.0.4- First observed
ai_migrate - First observed
analyze_code - First observed
auto_detect_workflow - First observed
get_execution_metrics - First observed
get_guidance - First observed
get_metrics - First observed
get_workflow - First observed
init_samples - First observed
list_roles - First observed
list_workflows - First observed
manage_execution - First observed
manage_memories - First observed
manage_memory_rules - First observed
manage_projects - First observed
manage_quality_rules - First observed
manage_roles - First observed
manage_templates - First observed
manage_workflows - First observed
pause_execution - First observed
report_completion - First observed
resume_execution - First observed
semantic_search - First observed
start_workflow - First observed
transition_role - First observed
transition_role_workflow
TDQS
Scored across 25 tools
Several tools have highly overlapping purposes: manage_workflows, start_workflow, get_workflow, list_workflows, auto_detect_workflow all relate to workflows but with unclear boundaries. Additionally, transition_role and transition_role_workflow appear to do essentially the same thing (both 'transition to a different role in workflow execution'), and there are two metrics tools (get_metrics, get_execution_metrics) with overlapping descriptions. The 'manage_*' family and the specific workflow tools create significant ambiguity about which tool to select.
The naming is inconsistent with mixed conventions. Some tools use a 'manage_X' prefix pattern (manage_quality_rules, manage_workflows, manage_templates), while others use verb_front patterns (start_workflow, get_guidance, report_completion, pause_execution), and some mix style (ai_migrate, init_samples using abbreviations). There are also duplicates with different names (transition_role vs transition_role_workflow, get_metrics vs get_execution_metrics) indicating no coherent naming scheme.
25 tools is on the heavy side for an MCP server. Several tools appear to be near-duplicates (transition_role vs transition_role_workflow, get_metrics vs get_execution_metrics), which inflates the count. The 'manage_*' and role/workflow concepts overlap heavily, suggesting the surface could be significantly consolidated. This feels somewhat bloated for the scope of a workflow guidance server.
The workflow lifecycle is reasonably covered: start, list, get, pause, resume, report completion, transition roles, get guidance, and metrics. However, there's no explicit cancel/stop operation, no obvious tool for listing or getting execution details directly (only metrics), and the relationship between 'manage_execution', 'pause_execution', 'resume_execution', and 'start_workflow' is unclear. The gap between auto-detection/init_samples and the actual workflow tools suggests some portions are underdeveloped.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
An MCP server that integrates with Discord to provide AI-powered features.
Hybrid human + AI expertise for faster, trusted answers and decisions via MCP Server.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn intelligent MCP server that orchestrates multiple MCP servers with AI-enhanced workflow automation and production-ready context engine capabilities for codebase analysis.37-
- AlicenseNot gradedqualityDmaintenanceAn AI-powered MCP server that provides development tools for code analysis, documentation, and project management including code pattern extraction, humorous code reviews, TODO scanning, and PRD generation.5 npmISC
- AlicenseNot gradedqualityDmaintenanceA local MCP server providing persistent memory for AI coding assistants by storing and searching architectural decisions, patterns, and solutions. It also includes tools for git automation and mapping codebase expertise based on project history.MIT

flyto-indexerofficial
AlicenseNot gradedqualityAmaintenanceMCP server that gives AI assistants impact analysis, cross-project reference tracking, and code health scoring.179 PyPI4Apache 2.0