Skip to main content
Glama

Code MCP Server

⚠️ Experimental Project - This is an experimental MCP server for VS Code integration. While it includes comprehensive testing, it's still in active development. Use with caution in production environments and expect potential breaking changes.

An experimental Model Context Protocol (MCP) server that aims to enable AI assistants like Claude to interact with VS Code workspaces. This project attempts to provide development tools for file operations, code execution, Git management, Docker integration, and project management, though it's still evolving and may have limitations.

Inspired by codemcp - This experimental project adapts security and configuration concepts from the codemcp project, exploring project-specific TOML configuration, restricted command execution, and session management features. We're learning and iterating on these concepts.

Test Status TypeScript Node.js MCP Protocol License GitHub

✨ Key Features (Experimental)

  • 🎯 Workspace Management - Attempts to provide smart VS Code workspace detection and path validation

  • πŸ›‘οΈ Project Configuration - Experimental .vscode-mcp.toml configuration system for project-specific settings

  • πŸ“‚ File Operations - Basic file CRUD operations, search, and comparison features

  • ⚑ Code Execution - Experimental support for Python and JavaScript execution with package management

  • πŸ”§ Git Integration - Git workflow tools with diff analysis (still being refined)

  • 🐳 Docker Integration - Basic Docker container and image operations

  • πŸ—οΈ Project Scaffolding - Template-based project creation (limited framework support)

  • πŸ” Code Analysis - Experimental code analysis and quality metrics

Note: All features are experimental and may not work perfectly in all environments. We're actively working to improve reliability and coverage.

Related MCP server: VSCode Context MCP

πŸš€ Quick Start

⚠️ Experimental Software: Please test thoroughly in development environments before using with important projects. This MCP server is under active development and may have unexpected behaviors.

Method 1: NPM Installation (Experimental)

Try the experimental package installation:

# Install globally (experimental)
npm install -g code-mcp

# Or use with npx (recommended for testing)
npx code-mcp --help

Experimental Claude Desktop integration:

# Generate configuration (may need adjustments)
npx code-mcp --config

# Follow the instructions to add the config to Claude Desktop

Manual Claude Desktop Configuration: Add this to your Claude Desktop config file:

{
  "mcpServers": {
    "code-mcp": {
      "command": "npx",
      "args": ["code-mcp"],
      "env": { "NODE_ENV": "production" }
    }
  }
}

Method 2: Local Development Installation

Prerequisites

  • Node.js 18+ with ES Modules support

  • pnpm 8+ (recommended package manager)

  • VS Code (any recent version)

  • Claude Desktop or other MCP-compatible AI

Installation

  1. Clone and build:

    git clone https://github.com/agentics-ai/code-mcp.git
    cd code-mcp
    pnpm install && pnpm run build
  2. Auto-configure Claude Desktop:

    # macOS/Linux
    ./scripts/generate-claude-config.sh
    
    # Windows
    scripts\generate-claude-config.bat
  3. Manual configuration (if needed):

    Add to your Claude Desktop config file:

    {
      "mcpServers": {
        "code-mcp": {
          "command": "node",
          "args": ["/path/to/code-mcp/dist/src/index.js"],
          "env": { "NODE_ENV": "production" }
        }
      }
    }
  4. Test installation:

    pnpm test  # Run 473 tests

    Restart Claude Desktop and ask: "What development tools are available?"

βš™οΈ Project Configuration (Experimental)

This experimental feature allows creating a .vscode-mcp.toml file in your project root for project-specific settings. Please note that this configuration system is still being developed and may change:

[general]
projectName = "My Project"
autoCommit = true  # Experimental feature
sessionTracking = true  # Still in development

[security]
# Experimental allowlist-based security
allowedCommands = [
  "npm install", "npm test", "npm run build",
  "git status", "git add .", "git commit",
  "python -m pytest", "docker build"
]
commandTimeout = 300

[project]
language = "typescript"
framework = "node"
testCommand = "npm test"
buildCommand = "npm run build"

[[customTools]]
name = "deploy-staging"
description = "Deploy to staging environment"
commands = ["npm run build", "npm run deploy:staging"]

Experimental Features:

  • Command allowlisting - Attempts to restrict command execution for security

  • Session management - Experimental development session tracking

  • Custom tools - Define project-specific command sequences (basic implementation)

  • Auto-commit - Experimental AI change tracking (may miss some changes)

Warning: The configuration system is experimental and may not provide complete security. Always review and test commands before relying on them.

Docker Setup (Alternative)

# Quick Docker setup
docker-compose up -d

# Configure Claude for Docker
{
  "mcpServers": {
    "code-mcp": {
      "command": "docker",
      "args": ["exec", "-i", "code-mcp-server", "node", "/app/dist/src/index.js"]
    }
  }
}

πŸ› οΈ Available Tools (Experimental)

This experimental server provides development tools organized by category. Please note that not all tools may work reliably in all environments:

  • πŸ“ File Operations - Basic CRUD operations, search, comparison (still refining reliability)

  • ⚑ Code Execution - Python and JavaScript execution with package management (experimental)

  • πŸ”§ Git Integration - Git workflow tools with diff analysis (may have edge cases)

  • 🐳 Docker - Container and image operations (basic implementation)

  • πŸ—οΈ Project Management - Scaffolding and workspace detection (limited templates)

  • πŸ›‘οΈ Security - Experimental command restriction and session management

Key Tools (All Experimental):

  • read_file / write_file - File operations with backup support

  • run_python / run_javascript - Code execution with dependency management

  • git_status / git_commit / enhanced_git_diff - Git operations

  • docker_build / docker_run / docker_compose - Container management

  • create_project - Multi-framework project scaffolding

  • secure_run_command - Allowlist-based command execution

  • load_project_config - Project-specific configuration management

Explore available tools through the Claude interface, but please test functionality before relying on it for important work.

🎯 Usage Examples (Experimental Results May Vary)

πŸ’‘ Best Practice: Always specify full project paths for more reliable workspace detection and operations. This helps the MCP server understand your project context better.

Project Setup with Full Path:

πŸ‘€ "Create a new React project at /Users/username/projects/my-react-app"
πŸ€– Attempts to use: create_project, npm_command, create_file
πŸ“ Note: Full paths help with workspace detection and file operations

Code Analysis with Specific Project:

πŸ‘€ "Analyze the codebase at /Users/username/projects/my-app and run tests"
πŸ€– Tries to use: analyze_code, search_files, run_tests, git_status
πŸ“ Note: Specifying the project path improves analysis accuracy

Git Workflow with Project Context:

πŸ‘€ "Review changes in /Users/username/projects/my-app and commit my work"
πŸ€– Uses: git_status, enhanced_git_diff, git_add, git_commit  
πŸ“ Note: Full paths ensure Git operations target the correct repository

Working with Multiple Projects:

πŸ‘€ "Compare the package.json files between /Users/username/projects/app-v1 and /Users/username/projects/app-v2"
πŸ€– Uses: read_file, compare_files with proper workspace context
πŸ“ Note: Full paths prevent confusion when working with multiple projects

Docker Operations with Project Path:

πŸ‘€ "Build a Docker image for the project at /Users/username/projects/my-docker-app"
πŸ€– Uses: docker_build, read_file (for Dockerfile) with correct working directory
πŸ“ Note: Ensures Docker commands run in the correct project context

Experimental Security Features:

πŸ‘€ "Start a development session for /Users/username/projects/secure-app and run tests"
πŸ€– Attempts: start_coding_session, secure_run_command, auto_commit_changes
πŸ“ Note: Project-specific security settings work better with full paths

πŸ§ͺ Development & Testing

Setup:

pnpm install && pnpm run build
pnpm test  # Run test suite (currently 473 tests across 15 suites)
pnpm run dev  # Development with auto-rebuild

Docker (Experimental):

docker-compose up --build  # Run with Docker (may need adjustments)
docker-compose run --rm app pnpm test  # Test in container

Testing: We maintain a comprehensive test suite with 473 tests covering unit, integration, and e2e scenarios. However, as an experimental project, real-world usage may reveal edge cases not covered by tests.

Note: While we have extensive tests, this is still experimental software. Test thoroughly in your specific environment before relying on it.

🀝 Contributing

We welcome contributions to this experimental project! Please keep in mind that we're still figuring out best practices and the architecture may evolve:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature-name

  3. Add tests for new functionality (our test suite helps catch regressions)

  4. Run the test suite: pnpm test

  5. Submit a pull request with a clear description

See CONTRIBUTING.md for detailed guidelines. As an experimental project, we're especially interested in:

  • Bug reports and edge cases

  • Suggestions for improving reliability

  • Use cases that don't work well yet

  • Ideas for better security and configuration approaches

πŸ“ License

MIT License - see LICENSE for details.

πŸ†˜ Support & Known Limitations

This is experimental software - please be patient as we work through issues and limitations.

Known Limitations:

  • Incomplete error handling: Some edge cases may not be handled gracefully

  • Platform-specific issues: Primarily tested on macOS and Linux; Windows support may be incomplete

  • Performance: Some operations may be slower than expected

  • Security: Experimental security features need more real-world testing

Common Issues:

  • MCP server won't start: Check Node.js version (18+) and run pnpm test to identify issues

  • Claude connection issues: Verify config file path and restart Claude Desktop (may need manual config adjustments)

  • Command execution blocked: Commands must be in .vscode-mcp.toml allowlist (security feature is experimental)

  • VS Code detection issues: Ensure VS Code is running with open workspaces (detection logic is still being refined)

Getting Help:

  • Create an issue on GitHub with detailed reproduction steps

  • Check the test suite for usage examples (though real usage may differ)

  • Review tool descriptions in the Claude interface

  • Be specific about your environment and use case when reporting issues

πŸ™ Acknowledgments

Inspired by codemcp by Edward Z. Yang. We're experimenting with and learning from key security and configuration concepts while exploring VS Code integration and MCP tool coverage.

Experimental adaptations from codemcp:

  • Project-specific .vscode-mcp.toml configuration (still refining the format)

  • Allowlist-based command execution security (needs more testing)

  • Development session tracking and rollback capabilities (basic implementation)

Built with ❀️ for the AI development community as an experimental contribution. We're learning as we build and welcome feedback on what works and what doesn't.

Available Tools

73 tools
add_allowed_commandB

Add a command to the project's allowed commands list

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesCommand to add to allowed list

TDQS

B3/5.0
Behavior1/5

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

No annotations provided, and description fails to disclose side effects (e.g., behavior if command already exists, validation, permissions, or reversibility). This is a mutable operation with zero behavioral context.

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

Conciseness5/5

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

One short, clear sentence with no unnecessary information. Efficiently communicates the core purpose.

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

Completeness2/5

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

Given the tool is simple with one parameter and no output schema, the description lacks completeness on idempotency, duplicate handling, and constraints, leaving an agent with unanswered questions.

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

Parameters3/5

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

Single parameter with 100% schema description coverage; the tool description adds no additional meaning beyond the schema's 'Command to add to allowed list'.

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

Purpose5/5

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

Description clearly states the action 'add a command' and the resource 'project's allowed commands list', distinguishing it from sibling tools like 'remove_allowed_command' and 'get_allowed_commands'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites mentioned, and no conditions like duplicates or error handling described.

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

analyze_codeC

Analyze code structure and dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile or directory to analyze
languageNoProgramming language

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose whether the tool is read-only, destructive, or what side effects occur. It also doesn't specify the output format.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It front-loads the purpose effectively.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description fails to explain what the tool returns or how it behaves. It is insufficient for an agent to understand the full scope of the tool's functionality.

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

Parameters3/5

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

The input schema has 100% description coverage for both parameters ('path' and 'language'). The description adds no additional meaning beyond what the schema already provides, so a baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('analyze') and the subject ('code structure and dependencies'). It's a specific verb-resource pair, though it doesn't differentiate from similar tools like 'search_code'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., 'search_code', 'run_tests'). No context about prerequisites or when not to use it.

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

analyze_file_differencesC

Analyze differences between two files with detailed statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
file1YesFirst file path
file2YesSecond file path

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits like side effects, read-only nature, or limitations. It only mentions 'detailed statistics' without specifying what that entails.

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

Conciseness3/5

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

The description is a single concise sentence, but it is too brief and lacks structure to be fully informative. It earns its place but could be expanded.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description does not fully inform the agent about return values, statistics nature, or how it differs from similar tools. This is inadequate for a tool with complex behavior.

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

Parameters3/5

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

Input schema has 100% description coverage, so the schema already explains parameters. The description adds no extra meaning beyond 'two files', which is already clear from parameter names.

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

Purpose4/5

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

The description clearly states the verb 'analyze' and resource 'differences between two files with detailed statistics', which defines its purpose. However, it does not distinguish from sibling tools like 'compare_files' or 'git_diff'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'compare_files' or 'enhanced_git_diff'. The description lacks explicit usage context, prerequisites, or exclusions.

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

apply_patchC

Apply a patch file to the workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
patchFileYesPath to patch file
dryRunNoShow what would be done without making changes
reverseNoApply patch in reverse
stripPathsNoNumber of path components to strip
backupNoCreate backup files

TDQS

C2.8/5.0
Behavior2/5

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

Without annotations, the description bears full responsibility for behavioral disclosure. It does not indicate that applying a patch modifies files and can be destructive. The dryRun parameter is mentioned in the schema but not elaborated in the description.

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

Conciseness3/5

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

The description is extremely concise (one sentence) but omits important information. Conciseness should come from efficiency, not under-specification.

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

Completeness2/5

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

Given 5 parameters, no output schema, and no annotations, the description is insufficient for an agent to fully understand the tool's behavior, return value, or prerequisites.

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

Parameters3/5

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

All 5 parameters have descriptions in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so it meets the baseline of 3.

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

Purpose4/5

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

The description clearly states the action (apply) and resource (patch file) with location (workspace). It is specific enough to understand the tool's purpose, though it does not differentiate from sibling tools like create_patch or preview_changes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as create_patch or preview_changes. There is no mention of prerequisites like the patch file format or file existence.

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

auto_commit_changesC

Automatically commit AI-made changes with tracking

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesCommit message
filesNoSpecific files to commit
amendSessionNoAmend to current session commit

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It mentions 'with tracking' but does not explain what tracking entails or disclose side effects (e.g., whether it creates a new commit, reverts previous changes, or needs authentication). The behavior is underspecified.

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

Conciseness3/5

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

The description is extremely concise (one phrase). While efficient, it lacks structure and could include a brief sentence on behavior or typical use cases. It is not verbose but sacrifices clarity for brevity.

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

Completeness2/5

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

For a tool with no output schema and three parameters, the description is insufficient. It does not explain return values, error handling, or the impact on the repository. An agent has little context to invoke this tool correctly without guessing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents each parameter. The description adds no additional meaning beyond what the schema provides, but the baseline of 3 is appropriate as the schema is self-contained.

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

Purpose4/5

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

The description clearly indicates the tool commits changes, specifically 'AI-made' with 'tracking'. This distinguishes it from the generic git_commit sibling, but the phrasing 'automatically commit AI-made changes' is somewhat vague regarding what qualifies as 'AI-made'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like git_commit or git_add. The description implies it's for AI-generated changes but does not state explicit conditions, prerequisites, or scenarios where it should be preferred.

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

auto_select_workspaceC

Automatically select the most appropriate VS Code workspace

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavior. It states 'automatically select' but does not explain the selection criteria (e.g., based on current files, history, or heuristics), nor does it clarify whether the tool changes the current workspace or merely suggests one. The lack of detail leaves the agent uncertain about side effects or output format.

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

Conciseness4/5

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

The description is concise at one sentence with no redundant words. However, it could be restructured to include a brief note on selection logic or output without significantly increasing length.

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

Completeness2/5

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

Given the tool has no parameters, no output schema, and no annotations, the description should provide enough context for correct invocation. It fails to describe the selection mechanism, the effect on the environment, or how the result is returned. This is insufficient for reliable use among sibling workspace tools.

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

Parameters3/5

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

There are no parameters, and schema coverage is 100%. According to guidelines, baseline is 4 for zero parameters. However, the description adds minimal value beyond the schema; it does not explain what the tool returns or any implicit input. Thus a score of 3 reflects adequate but not enhanced semantics.

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

Purpose4/5

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

The description clearly states the tool selects a VS Code workspace automatically. However, it lacks specificity on what 'most appropriate' means and does not fully distinguish from sibling tools like detect_vscode_workspaces or set_workspace. The verb 'select' and resource 'workspace' are clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as list_workspaces or set_workspace. The description does not mention prerequisites, typical scenarios, or when automatic selection is preferred over manual choice.

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

compare_commitsC

Compare two commits with detailed analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
commit1YesFirst commit hash or reference
commit2YesSecond commit hash or reference
filePatternNoFile pattern to filter
formatNoOutput format
cwdNoWorking directory

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for disclosing behaviors. It only says 'detailed analysis' without explaining what the output is (e.g., diff text, statistics), whether it is read-only, or any side effects. This is insufficient for an agent to understand the tool's behavior.

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

Conciseness3/5

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

The description is a single sentence, which is concise but overly minimal for a tool with multiple parameters and no annotations. It could be expanded to include key details without being verbose. It is acceptable but not exemplary.

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

Completeness2/5

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

Given the tool has five parameters, no output schema, and no annotations, the description should provide more context about return values, behavior, and distinction from siblings. The current description is too sparse to be considered complete.

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

Parameters3/5

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

All five parameters have descriptions in the input schema (100% coverage), so the schema already conveys meaning. The description adds no additional parameter info beyond what is in the schema, which meets the baseline for this dimension.

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

Purpose3/5

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

The description 'Compare two commits with detailed analysis' clearly states the verb and resource, but 'detailed analysis' is vague and does not differentiate from sibling tools like git_diff or enhanced_git_diff. It lacks specificity about the type of comparison, making it only minimally clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the many sibling comparison tools (e.g., git_diff, analyze_file_differences). The description does not mention alternatives or appropriate contexts.

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

compare_filesB

Compare two files and show differences with multiple format options

ParametersJSON Schema
NameRequiredDescriptionDefault
file1YesFirst file path
file2YesSecond file path
formatNoDiff format
contextLinesNoNumber of context lines (default: 3)
ignoreWhitespaceNoIgnore whitespace changes
wordDiffNoShow word-level differences
label1NoLabel for first file
label2NoLabel for second file

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, error handling, or performance implications for large files.

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

Conciseness5/5

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

The description is a single sentence, concise and to the point with no wasted words.

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

Completeness2/5

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

Given the tool has 8 parameters, 2 required, and no output schema, the description is too brief. It omits return format, error handling, and specifics of format options beyond what schema shows.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds minimal extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool compares two files and shows differences with multiple format options, distinguishing it from siblings like 'enhanced_git_diff' and 'compare_commits'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any when-not-to-use or prerequisite conditions provided.

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

create_directoryC

Create a new directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath for the new directory

TDQS

C2.1/5.0
Behavior1/5

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

No annotations provided, and description fails to disclose behavioral traits such as side effects (e.g., what if directory exists), permissions, return value, or error conditions.

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

Conciseness2/5

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

Extremely brief (one sentence) but under-specifies essential information. Conciseness at the expense of completeness is not beneficial.

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

Completeness1/5

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

Utterly incomplete for a simple tool. Lacks any context about behavior (e.g., overwrite vs fail), return value, or error handling. Output schema absent.

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

Parameters3/5

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

Schema covers 100% of parameters with description 'Path for the new directory'. Description adds no additional meaning beyond schema, so baseline score of 3 applies.

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

Purpose3/5

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

Description states verb+resource (Create a new directory) but is a tautology of the tool name and lacks differentiation from sibling tools like delete_file or move_file. It provides no context on scope or location.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites, when not to use, or related tools.

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

create_patchB

Create a patch file from differences between files or directories

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource file or directory
targetYesTarget file or directory
outputFileNoOutput patch file (optional, prints to output if not specified)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description must carry the burden. It only states the basic action without disclosing behavioral traits such as required permissions, output format, or side effects (e.g., whether it modifies files). The optional outputFile behavior is only in the schema, not in the description.

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

Conciseness4/5

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

A single concise sentence. While efficient, it could benefit from slightly more detail without losing conciseness.

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

Completeness2/5

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

The description lacks context about the patch format (e.g., unified diff), how the diff is computed, or its compatibility with apply_patch. For a 3-parameter tool with no output schema, this is insufficient for an agent to fully understand the tool's behavior.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema's parameter descriptions; it only paraphrases 'source' and 'target' as files/directories. No additional context for the optional outputFile parameter.

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

Purpose5/5

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

The description clearly states it creates a patch file from differences between files or directories, using a specific verb and resource. It implicitly distinguishes from siblings like apply_patch (which applies patches) and compare_files (which likely shows diffs).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like compare_files or apply_patch. The description does not mention any prerequisites or exclusions.

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

create_projectC

Create a new project with boilerplate

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name
typeYesProject type
pathNoWhere to create the project

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so description bears full burden. It does not disclose potential side effects (e.g., workspace changes, overwrite behavior) or required permissions.

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

Conciseness4/5

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

Single sentence, front-loaded, no unnecessary words. Could be slightly more detailed without losing conciseness.

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

Completeness2/5

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

Given no output schema and no annotations, the description is insufficient. It omits what 'boilerplate' means, return value, and usage context for a creation tool.

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

Parameters3/5

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

Schema covers all 3 parameters with descriptions. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description states it creates a new project with boilerplate, which is clear and distinguishes it from update/config tools. However, 'boilerplate' is vague.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs siblings like start_coding_session or smart_workspace_init. No exclusions or prerequisites provided.

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

delete_fileC

Delete a file or directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavioral traits. It only states 'delete', implying a destructive action, but does not describe reversibility, error handling, or side effects like recursive deletion of directories. More details are needed.

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

Conciseness4/5

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

The description is a single sentence that conveys the core functionality without extraneous information. It is appropriately concise for a simple tool, though slightly under-specified in content.

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

Completeness3/5

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

For a basic delete operation with one parameter and no output schema, the description is minimally adequate. It does not specify return behavior or confirmation messages, but the tool's simplicity partially compensates. Still, missing context on success/failure outcomes.

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

Parameters3/5

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

The input schema has 100% coverage and one parameter described as 'Path to delete'. The tool description adds no additional meaning beyond what the schema provides. Baseline of 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'delete' and resource 'file or directory', making the tool's purpose immediately understandable. However, it does not differentiate from sibling tools that might perform similar operations, but given the unique name, clarity is sufficient.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives. There is no mention of prerequisites, fallback options, or conditions under which deletion might fail. Agents receive no context for decision-making.

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

detect_vscode_workspacesB

Automatically detect open VS Code instances and their workspaces

ParametersJSON Schema
NameRequiredDescriptionDefault
includeRecentNoInclude recent workspaces from VS Code history
includeRunningNoInclude currently running VS Code instances
maxResultsNoMaximum number of workspaces to return

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the action without disclosing whether it is read-only, requires permissions, or what happens if no VS Code instances are found. The description lacks behavioral context beyond the basic purpose.

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

Conciseness5/5

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

The description is a single, concise sentence with no unnecessary words. It is front-loaded with the core action and resource.

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

Completeness2/5

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

With three optional parameters and no output schema or annotations, the description lacks completeness. It does not explain the return format (e.g., list of workspace paths), error handling, or how detection works. The tool needs more context for an agent to use it effectively.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for each parameter. The tool description adds no additional meaning beyond the schema, which already explains includeRecent, includeRunning, and maxResults. Baseline score of 3 is appropriate since the description does not enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the tool detects open VS Code instances and their workspaces, using specific verb 'detect' and resource 'VS Code instances and their workspaces'. It distinguishes itself from sibling tools like list_workspaces by focusing specifically on VS Code detection.

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

Usage Guidelines3/5

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

The description implies usage for detecting VS Code workspaces but provides no explicit guidance on when to use this tool versus alternatives like list_workspaces, nor any conditions where it should not be used.

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

docker_buildB

Build a Docker image from a Dockerfile

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoBuild context path (default: current directory)
dockerfileNoPath to Dockerfile (relative to context)
tagNoTag for the built image (e.g., myapp:latest)
build_argsNoBuild arguments as key-value pairs
targetNoTarget stage for multi-stage builds
no_cacheNoDo not use cache when building
pullNoAlways attempt to pull newer version of base image
platformNoTarget platform (e.g., linux/amd64, linux/arm64)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic purpose. It fails to disclose key behavioral traits such as Docker daemon requirement, caching behavior, or that it may pull base images. The description adds no value beyond the tool's name.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the tool's purpose. It is appropriately sized, though could be slightly more informative without losing conciseness.

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

Completeness3/5

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

Given 8 parameters (all documented), no output schema, and no annotations, the description is minimally adequate but does not mention return values (e.g., image ID) or side effects. It relies heavily on the schema for completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it does not explain the build_args object format or the target stage concept.

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

Purpose5/5

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

The description 'Build a Docker image from a Dockerfile' uses a specific verb-resource combination that clearly identifies the tool's action and distinguishes it from siblings like docker_run (run containers) or docker_images (list images).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like docker_compose, which can also build images. No exclusions or prerequisites are mentioned.

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

docker_check_availabilityB

Check if Docker is installed and available

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It only states the action without explaining what 'available' entails (e.g., CLI only or daemon), error conditions, or return values. Minimal behavioral context.

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

Conciseness5/5

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

Single sentence with no extraneous words. Perfectly concise and front-loaded with the essential information.

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

Completeness2/5

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

Lacks details on return format or behavior (e.g., boolean, error). Given no output schema, the description should at least indicate what the agent can expect in response, which it does not.

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

Parameters4/5

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

No parameters exist, so baseline is 4. The description adds meaning by clarifying the purpose of the check (installed and available), which is sufficient for a parameterless tool.

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

Purpose5/5

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

The description 'Check if Docker is installed and available' clearly states the action (check) and the resource (Docker), which distinguishes it from sibling Docker tools that perform operations assuming Docker is present.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It is implied that it should be used before other Docker tools, but not explicitly stated, leaving the agent without clear direction.

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

docker_cleanupB

Clean up tracked Docker containers and resources

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations and no output schema, the description does not disclose what 'clean up' entails (e.g., deletion, pruning, stopping), potential side effects (destructive vs safe), or what 'tracked' means. The agent lacks critical behavioral insight.

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

Conciseness4/5

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

The description is a single concise sentence with no redundant words. It could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Given zero parameters, no output schema, and many sibling Docker tools, the description lacks specifics about what resources are affected (all containers vs only tracked ones), whether it's idempotent, or if it requires prior setup. The agent may be uncertain about using this tool safely.

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

Parameters4/5

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

The input schema has zero parameters, so schema_description_coverage is 100%. No parameter information is needed, and the description does not need to add meaning beyond the schema. Baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('clean up') and resource ('tracked Docker containers and resources'), which distinguishes it from sibling tools like docker_containers (listing) and docker_images (image management).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like docker_cleanup vs docker_system or other cleanup commands. The description lacks context for appropriate usage scenarios.

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

docker_composeC

Manage Docker Compose services

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesDocker Compose action to perform
serviceNoSpecific service to target
fileNoDocker Compose file path (default: docker-compose.yml)
detachNoRun in background (for up action)
buildNoBuild images before starting (for up action)
force_recreateNoForce recreate containers
remove_orphansNoRemove containers for services not defined in compose file
followNoFollow log output (for logs action)
tailNoNumber of lines to show from end of logs
commandNoCommand to execute (for exec action)
project_nameNoProject name for compose stack

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, and the brief description does not disclose behavioral traits beyond the action names. For example, 'down' may destroy containers/networks but this is not stated. The tool relies entirely on the schema which lacks behavioral context.

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

Conciseness3/5

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

The description is a single sentence, which is concise but overly vague. It could be more informative without being verbose, e.g., listing key actions or constraints.

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

Completeness2/5

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

Given the tool's complexity (11 parameters, 10 actions, no output schema), the description is inadequate. Missing details like side effects of actions, required Docker Compose installation, and the impact of missing required parameters beyond 'action'.

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

Parameters3/5

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

Schema coverage is 100% so the schema already documents parameters. The description adds no additional meaning to parameters. Baseline 3 is appropriate.

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

Purpose4/5

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

Description 'Manage Docker Compose services' is somewhat generic but the schema's action enum (up, down, build, etc.) clarifies the tool's purpose. Distinguishes from sibling tools like docker_build or docker_containers by focusing on compose orchestration.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like docker_run, docker_build, or docker_containers. The description does not state prerequisites or typical scenarios.

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

docker_containersB

Manage Docker containers (list, start, stop, remove, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform on containers
containerNoContainer name or ID
commandNoCommand to execute (for exec action)
followNoFollow log output (for logs action)
tailNoNumber of lines to show from end of logs
allNoShow all containers including stopped ones
forceNoForce operation
volumesNoRemove associated volumes (for remove action)

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It implies destructive actions (stop, remove) but does not explain side effects, permissions, or outcomes. The schema lists actions, but the description adds little beyond the action names.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded. It includes key actions but ends with 'etc.', which is acceptable for brevity.

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

Completeness3/5

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

Given 8 parameters and no output schema, the description is minimal. While the schema provides parameter details, the description lacks context on return values or behavior for each action, which is important for a multi-action tool.

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

Parameters3/5

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

All parameters are described in the schema with 100% coverage. The description adds nothing beyond listing action examples (list, start, stop, remove) which are already in the schema enum. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool manages Docker containers and lists example actions (list, start, stop, remove). However, it does not differentiate from sibling tools like docker_run or docker_cleanup, which also deal with containers.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling tools like docker_run or docker_cleanup. It lacks context for choosing the right tool.

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

docker_imagesC

Manage Docker images (list, pull, push, remove, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform on images
imageNoImage name or ID
tagNoTag for image operations
forceNoForce removal or operation
allNoApply to all images (for list/prune)
filterNoFilter results (e.g., "dangling=true")

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided; the description does not disclose behavioral traits such as destructiveness of prune/remove, authentication needs for push, or side effects. The burden falls on the description but it adds no safety or behavioral context.

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

Conciseness3/5

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

Single sentence is concise but overly brief; it mentions actions but no structure. Acceptable conciseness at the expense of completeness.

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

Completeness2/5

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

Given no output schema and presence of destructive actions (prune, remove), the description should include safety warnings, output format hints, or usage examples. It is incomplete for adequate agent decision-making.

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

Parameters3/5

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

Schema coverage is 100% so baseline 3 applies. The description repeats action names already in schema, adding no new semantics or clarification beyond the parameter descriptions.

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

Purpose4/5

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

The description 'Manage Docker images (list, pull, push, remove, etc.)' clearly indicates the tool operates on Docker images with a variety of actions, distinguishing it from sibling tools like docker_containers or docker_build.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., docker_build for building, docker_run for containers). The description lacks context for appropriate selection.

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

docker_networksC

Manage Docker networks

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform on networks
networkNoNetwork name or ID
containerNoContainer to connect/disconnect
driverNoNetwork driver (bridge, overlay, host, etc.)
subnetNoSubnet for network (e.g., 172.20.0.0/16)
gatewayNoGateway for network

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral transparency. It fails to disclose any side effects (e.g., destruction, mutation, permissions) or action-specific behavior, such as whether create or remove operations are destructive or require special privileges.

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

Conciseness3/5

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

The description is very short (3 words), but for a tool with 6 parameters and multiple actions, it is underspecified. Conciseness should not sacrifice necessary information.

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

Completeness2/5

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

No output schema exists, so the description should explain return values or behavior. It does not address any action outcomes, error conditions, or response format, leaving gaps for an AI agent.

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

Parameters3/5

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

Input schema coverage is 100%, so parameters are fully described there. The description adds no extra meaning beyond the schema, earning the baseline score of 3.

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

Purpose3/5

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

The description states the tool manages Docker networks but uses the vague verb 'manage', which does not specify the particular operations (list, create, remove, etc.) that are defined in the input schema. It does not distinguish from sibling tools like docker_containers or docker_compose, which also manage Docker resources.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention context, prerequisites, or when not to use it, leaving the agent without clear decision criteria.

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

docker_runC

Run a Docker container

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesDocker image to run
nameNoContainer name
commandNoCommand to run in container
argsNoCommand arguments
portsNoPort mappings (e.g., ["8080:80", "3000:3000"])
volumesNoVolume mounts (e.g., ["/host/path:/container/path"])
envNoEnvironment variables as key-value pairs
detachNoRun container in background
removeNoRemove container when it exits
interactiveNoKeep STDIN open
ttyNoAllocate a pseudo-TTY
networkNoNetwork to connect container to
working_dirNoWorking directory inside container
userNoUsername or UID (format: <name|uid>[:<group|gid>])
memoryNoMemory limit (e.g., "512m", "2g")
cpusNoCPU limit (e.g., "0.5", "2")
restartNoRestart policy (no, on-failure, always, unless-stopped)

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations and only a one-line description, the tool fails to disclose important behaviors such as image pulling, blocking vs detached execution, container cleanup policies, or output format. The description carries the full burden but provides no behavioral context.

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

Conciseness2/5

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

The description is a single sentence, but it is under-specified for the tool's complexity. It does not earn its place by providing unique value; it merely repeats the name.

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

Completeness1/5

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

For a tool with 17 parameters, nested objects, and no output schema, the description is severely lacking. It omits return values, side effects, prerequisites, and execution behavior, making it insufficient for proper tool selection and invocation.

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

Parameters3/5

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

Schema coverage is 100% with detailed descriptions for all 17 parameters. The description adds no additional meaning beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description 'Run a Docker container' clearly identifies the tool's action and resource, distinguishing it from sibling tools like docker_build or docker_cleanup. However, it is a near tautology of the tool name, which slightly reduces clarity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., docker_compose for multi-container apps) or any context about prerequisites or scenarios where it is appropriate.

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

docker_systemC

Docker system operations and information

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesSystem action to perform
allNoApply to all resources (for prune)
volumesNoInclude volumes in operation
forceNoForce operation without confirmation

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It fails to disclose that actions like 'prune' are destructive and irreversible. 'info' and 'version' are read-only, but this is not stated.

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

Conciseness3/5

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

Extremely short at 6 words, but lacks sufficient information to be considered efficient. It is under-specified rather than concise.

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

Completeness2/5

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

No output schema and 4 parameters with varying behaviors. The description is insufficient; it should at least summarize key actions like info, events, df, prune, and their implications.

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

Parameters3/5

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

Schema description coverage is 100% (all parameters described in schema). The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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

Purpose2/5

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

Description 'Docker system operations and information' is vague and does not specify what actions are included (info, prune, etc.). While the schema lists actions, the description fails to distinguish this tool from siblings like docker_containers, docker_images, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other Docker sibling tools. The description provides no context about appropriate scenarios or exclusions.

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

docker_volumesC

Manage Docker volumes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform on volumes
volumeNoVolume name
driverNoVolume driver
forceNoForce operation
filterNoFilter results

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the burden of behavioral disclosure. The single sentence 'Manage Docker volumes' does not reveal any behavioral traits such as destructive actions (remove, prune), side effects, or required permissions. The input schema shows action enum including potentially destructive operations, but the description offers no transparency.

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

Conciseness3/5

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

The description is short (one sentence), but it sacrifices clarity for brevity. It is not front-loaded with the most important information (the available actions). While concise, it is under-specified and fails to convey the tool's core functionality effectively.

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

Completeness2/5

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

Given the complexity of the tool (5 parameters, multiple actions, no output schema, no annotations), the description is insufficiently complete. It does not explain return values, error conditions, or prerequisites (e.g., Docker must be running). The schema helps, but the description should provide context for the agent to understand the tool's full behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all five parameters with descriptions. The description adds no additional meaning beyond the schema, such as clarifying the relationship between action and other parameters (e.g., which actions require volume name). 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.

Purpose3/5

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

The description 'Manage Docker volumes' identifies the resource but is vague. It does not specify the specific actions (list, create, remove, inspect, prune) that the tool performs, which are provided in the input schema. Sibling tools like docker_containers and docker_images indicate similar management tools, but this description lacks operational specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling tools such as docker_containers or docker_images. The description does not clarify appropriate contexts or scenarios for managing volumes compared to other Docker resources.

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

end_coding_sessionA

End the current coding session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose what happens when ending the session (e.g., state changes, data persistence, reversibility). This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no extraneous contentβ€”every word earns its place.

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

Completeness3/5

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

Given the simplicity of the tool (no params, no output schema), the description is minimally adequate but lacks behavioral context that would help the agent understand side effects.

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

Parameters4/5

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

There are no parameters, and the schema coverage is 100%. The description adds no parameter info, but this is acceptable as there are none to document.

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

Purpose5/5

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

The description clearly states the tool's action ('End') and resource ('the current coding session'), distinguishing it from sibling tools like 'start_coding_session'.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use the tool or prerequisites, though the purpose is implied by the contrast with 'start_coding_session'.

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

enhanced_git_diffC

Show git diff with multiple format options (unified, side-by-side, stat, word-diff)

ParametersJSON Schema
NameRequiredDescriptionDefault
stagedNoShow staged changes
fileNoSpecific file to diff
formatNoDiff format
contextLinesNoNumber of context lines (default: 3)
ignoreWhitespaceNoIgnore whitespace changes
colorOutputNoEnable color output
commit1NoFirst commit for comparison
commit2NoSecond commit for comparison
cwdNoWorking directory

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only states it shows a diff, omitting crucial details like whether it modifies git history, error handling, or dependency on a git repository.

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

Conciseness4/5

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

The description is concise at one sentence, front-loading the main action. However, it could be slightly more informative without significant bloat, given the complexity of the tool.

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

Completeness2/5

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

For a tool with 9 parameters and no output schema, the description is too brief. It lacks context on how to use commit comparison, staged changes, or the significance of format options, making it incomplete for the tool's complexity.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema itself documents all 9 parameters. The description adds minimal semantic value beyond listing some format options, which are already enumerated in the schema.

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

Purpose4/5

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

The description clearly states the tool shows git diff with multiple format options, which is specific. However, it does not differentiate from the sibling tool git_diff, which likely does a similar function.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or context for when different format options are appropriate.

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

find_and_replaceC

Find and replace text across multiple files with preview option

ParametersJSON Schema
NameRequiredDescriptionDefault
searchPatternYesText or regex pattern to search for
replacementYesReplacement text
filesNoSpecific files to process
filePatternNoFile pattern to match (e.g., "**/*.ts")
regexNoTreat search pattern as regex
caseSensitiveNoCase sensitive search (default: true)
wholeWordNoMatch whole words only
previewNoPreview changes without applying them
backupNoCreate backup files before changes

TDQS

C2.9/5.0
Behavior2/5

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

The description mentions the preview option but does not disclose the destructive nature of replacement, required permissions, or side effects. Without annotations, the description carries the full burden and falls short.

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

Conciseness4/5

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

The description is a single clear sentence with no fluff. It is efficient but could include slightly more detail without harming conciseness.

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

Completeness2/5

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

Given 9 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values, file selection logic (files vs filePattern), or behavior defaults.

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

Parameters3/5

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

The input schema has 100% coverage with descriptions for all 9 parameters. The tool description adds no extra meaning beyond the schema, achieving the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the verb (find and replace), resource (text across multiple files), and a notable feature (preview option). It distinguishes itself from simpler tools like write_file, but does not explicitly contrast with similar siblings like apply_patch.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., apply_patch or preview_changes), nor are prerequisites or exclusions mentioned. The description lacks usage context.

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

generate_docker_composeC

Generate a Docker Compose file template

ParametersJSON Schema
NameRequiredDescriptionDefault
servicesYesList of service names to include
include_databaseNoInclude database services (PostgreSQL, Redis)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, and the description fails to disclose behavioral traits such as output format (file vs. string), side effects, prerequisites, or the nature of the generated template. This leaves significant ambiguity for an AI agent.

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

Conciseness4/5

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

The description is a single, concise sentence that front-loads the main action. However, it could be slightly expanded to include key details without becoming verbose.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should explain what the tool returns and how parameters affect the output. It fails to do so, leaving the agent without essential context for a simple but multi-parameter tool.

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

Parameters3/5

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

The input schema provides clear descriptions for both parameters (services and include_database), achieving 100% schema coverage. The description adds no additional information beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action 'Generate' and the resource 'Docker Compose file template', distinguishing it from sibling tools like 'docker_compose' and 'generate_dockerfile'. However, the term 'template' may introduce slight ambiguity regarding whether it produces a complete file or a template.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'docker_compose' or 'generate_dockerfile'. The description lacks context for when generation is appropriate.

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

generate_dockerfileB

Generate a Dockerfile template for a specific language/framework

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYesProgramming language for the Dockerfile
frameworkNoFramework-specific optimizations (e.g., alpine, express, fastapi)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only says 'Generate a Dockerfile template' but does not disclose whether it overwrites existing files, requires specific permissions, or has side effects. The agent cannot infer safety or expected behavior beyond the basic action.

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

Conciseness5/5

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

A single, well-formed sentence that is front-loaded with the key action and object. Every word is necessary and no filler is present.

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

Completeness2/5

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

Given no output schema, the description should explain what the tool returns (e.g., file content, file path, or written file). It omits this crucial detail. Also, it does not clarify if the template is output to stdout or saved, leaving the agent guessing about follow-up actions.

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

Parameters2/5

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

Schema coverage is 100%, so the schema already explains parameters. The description adds no extra meaning beyond restating that it's for a specific language/framework. It does not provide constraints on valid framework values or examples, so it contributes negligible value.

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

Purpose5/5

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

The description clearly states the action (generate), the resource (Dockerfile template), and the context (for a specific language/framework). It distinguishes from sibling tools like docker_build and docker_compose by focusing on template generation rather than execution or orchestration.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The description does not mention prerequisites, scenarios where it's appropriate, or cases where other tools would be better, leaving the agent without decision support.

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

generate_sample_configC

Generate a sample .vscode-mcp.toml configuration file

ParametersJSON Schema
NameRequiredDescriptionDefault
saveToFileNoSave generated config to .vscode-mcp.toml

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral disclosure. It only states the action without revealing side effects (e.g., whether it writes to disk by default, overwrites existing files, or requires permissions).

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description should provide more context (e.g., default behavior, where the config appears, what it contains). It is insufficient for a tool that likely supports onboarding or configuration.

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

Parameters3/5

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

Schema coverage is 100% and the description does not add meaning beyond the schema. The schema already describes 'saveToFile' as saving to file. Baseline 3 is appropriate; no added value from description.

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

Purpose4/5

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

The description clearly states the verb 'generate' and the resource 'a sample .vscode-mcp.toml configuration file', effectively distinguishing it from siblings like 'generate_docker_compose'. However, it does not mention the behavior of the 'saveToFile' parameter, which modifies the output.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. Given the sibling tools in the config generation space, some context would help.

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

get_allowed_commandsA

Get list of commands that are allowed to run in this project

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It only states the purpose but does not disclose any behavioral traits such as authentication requirements, cache behavior, or potential changes to state. The description is minimal.

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

Conciseness5/5

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

The description is a single sentence that is concise, front-loaded with the verb and resource, and contains no extraneous information.

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

Completeness3/5

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

The tool has a simple purpose, but the description lacks details about the return format (e.g., list of strings, JSON array) and any potential output schema. Given the absence of an output schema, this gap reduces completeness.

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

Parameters4/5

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

The input schema has zero parameters with 100% description coverage, so the description does not need to add parameter details. Baseline is 4, and the tool does not require any parameter explanation.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'list of commands', and implicitly distinguishes from sibling tools like add_allowed_command and remove_allowed_command, which are write operations.

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

Usage Guidelines3/5

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

The description implies the tool is for querying the allowed commands list, but provides no explicit guidance on when to use it vs. alternatives (e.g., add_allowed_command or remove_allowed_command). No when-not context is given.

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

get_current_sessionB

Get information about the current coding session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It merely states 'get information' without disclosing whether the operation is read-only, what side effects exist, or any latency expectations. The behavioral profile is underspecified.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no unnecessary words. Every word contributes meaning.

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

Completeness3/5

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

Given no output schema, the description should hint at return structure, but it does not. For such a simple tool, it is minimally adequate but leaves agents guessing about what 'information' entails.

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

Parameters4/5

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

The input schema has zero parameters with 100% coverage, so the description adds little beyond stating the tool's purpose. Per guidelines, 0 parameters warrants a baseline of 4.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'current coding session', making the purpose unambiguous. However, it does not differentiate from sibling tools like 'get_session_info' or 'get_session_history', which likely have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any context about prerequisites or typical use cases. Agents have no basis to choose this over similar tools.

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

get_diff_statsB

Get diff statistics (files changed, lines added/removed)

ParametersJSON Schema
NameRequiredDescriptionDefault
stagedNoShow stats for staged changes
fileNoSpecific file stats
commit1NoFirst commit for comparison
commit2NoSecond commit for comparison
cwdNoWorking directory

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must carry burden. Only states it gets diff statistics; no mention of side effects, required infrastructure (git repo), or behavior with missing parameters.

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

Conciseness5/5

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

Single sentence, front-loaded, no extraneous words. Efficient and to the point.

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

Completeness2/5

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

Given 5 optional parameters, no required params, and no output schema, the description is too brief. Default behavior when no parameters are provided is unclear. Return format not described.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. Description adds no additional meaning beyond the schema's parameter descriptions.

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

Purpose5/5

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

Clearly states 'Get diff statistics' with parenthetical specifying 'files changed, lines added/removed'. Verb+resource is specific and distinguishable from sibling tools like git_diff or enhanced_git_diff.

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

Usage Guidelines2/5

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

No guidance on when to use this versus siblings like git_diff or compare_commits. No mention of prerequisites or context for usage.

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

get_session_historyA

Get history of all coding sessions and their commits

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of sessions to return

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It indicates a read-only operation ('Get history') and implies the return of session and commit data, but does not detail ordering, pagination, or default limits for the 'limit' parameter.

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

Conciseness5/5

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

The description is a single concise sentence that communicates the tool's purpose without any extraneous text. It is front-loaded and efficient.

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

Completeness4/5

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

For a simple list tool with one optional parameter and no output schema, the description adequately conveys what the tool does. It could be improved by specifying ordering or the structure of the returned data, but it is largely sufficient.

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

Parameters3/5

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

The input schema already provides a full description for the only parameter 'limit' ('Maximum number of sessions to return'), so the description adds no additional meaning. Per criteria, 100% schema coverage gives a baseline of 3.

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

Purpose5/5

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

The description clearly states the tool retrieves the history of all coding sessions and their commits, with a specific verb and resource. It distinguishes itself from siblings like get_current_session and get_session_info by explicitly mentioning 'all coding sessions'.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites, or when not to use it, leaving the agent to infer from context.

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

get_session_infoB

Get information about the current coding session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the burden of behavioral disclosure. It only says 'Get information', implying a read operation, but does not mention any side effects, permissions, or other traits. The description is minimal.

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

Conciseness5/5

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

The description is a single concise sentence with no wasted words. It is front-loaded with the purpose and appropriate for a simple tool.

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

Completeness2/5

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

The tool returns information, but the description does not specify what fields or format the output contains. Since there is no output schema, the agent relies on the description, which is vague ('information'). This is incomplete for a data-retrieval tool.

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

Parameters4/5

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

There are no parameters, and the input schema is empty. Per guidelines, 0 parameters yield a baseline of 4. The description does not add parameter details, but none are needed.

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

Purpose4/5

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

The description clearly states the verb 'get' and resource 'information about the current coding session', making the purpose unambiguous. However, it does not differentiate from the sibling tool 'get_current_session', which likely serves a similar purpose.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, especially the similarly named sibling 'get_current_session'. The agent is left to infer usage context.

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

get_workspaceB

Get current workspace path

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states it gets the path but does not mention error handling (e.g., if no workspace is set), return format, or side effects. This is minimal transparency.

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

Conciseness4/5

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

The description is a single, concise sentence with no extraneous words. While it is appropriate for the tool's simplicity, it could benefit from slight expansion without losing conciseness.

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

Completeness2/5

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

Given the tool's simplicity and lack of output schema or annotations, the description is incomplete. It does not clarify the return value format, error conditions, or when to use this tool among many siblings. More context is needed for effective decision-making.

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

Parameters4/5

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

There are no parameters in the input schema, and schema description coverage is 100%. The description correctly implies no parameters are needed. With zero parameters, baseline is 4, as no additional parameter info is necessary.

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

Purpose5/5

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

The description clearly states 'Get current workspace path', which is a specific verb and resource. It uniquely identifies the tool's purpose, distinguishing it from siblings like list_workspaces or set_workspace.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool or when alternatives like list_workspaces or get_session_info might be more appropriate. The description lacks context about prerequisites or scenarios.

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

git_addB

Stage files for commit

ParametersJSON Schema
NameRequiredDescriptionDefault
filesNoFiles to stage
allNoStage all changes
cwdNoRepository path

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic action. It fails to mention that staging is a preparatory step that does not commit changes or that it modifies the index, leaving the agent without critical context.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, making it efficient. However, it might be too brief and could benefit from including key usage hints without becoming verbose.

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

Completeness3/5

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

For a simple tool without an output schema, the description is minimally adequate. It covers the core purpose but lacks details on side effects, return values, or prerequisites, which would be helpful given the number of sibling tools.

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

Parameters3/5

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

All three parameters are fully described in the input schema (100% coverage), so the baseline is 3. The description adds no additional meaning beyond what the schema provides.

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

Purpose5/5

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

The description 'Stage files for commit' uses a specific verb 'stage' and clearly identifies the resource 'files for commit', distinguishing it from sibling tools like git_commit and git_status.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when to stage specific files using the 'files' parameter versus staging all changes with the 'all' parameter, or when to use git_add over git_commit.

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

git_branchC

List, create, or switch branches

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
nameNoBranch name (for create/switch)
cwdNoRepository path

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description is bare. It does not disclose behavioral traits such as whether switching overwrites local changes, requires a clean working tree, or what happens during creation. The agent needs this context.

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

Conciseness3/5

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

The description is extremely concise (single line). It is not verbose, but lacks structure. Could benefit from front-loading the action list or adding context. No wasted words, but also no helpful structure.

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

Completeness2/5

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

Given the complexity of git operations and the presence of many sibling tools, this description is insufficient. It does not mention return values, error cases (e.g., switching with uncommitted changes), or how the repository path is used. The output schema is absent, so description should compensate.

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

Parameters2/5

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

Schema coverage is 100% but parameter descriptions are minimal ('Action to perform'). The description does not elaborate on possible action values (e.g., 'list', 'create', 'switch'), which would help the agent select the correct action. The description adds little beyond schema.

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

Purpose4/5

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

The description clearly states it lists, creates, or switches branches. The verb 'List, create, or switch' and resource 'branches' are specific. However, it does not differentiate from other git sibling tools like git_add or git_commit, but the name itself disambiguates.

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

Usage Guidelines2/5

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

No guidance on when to use list vs create vs switch, nor when to prefer this tool over alternative git commands. The description does not mention prerequisites or context for switching branches.

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

git_commitB

Commit staged changes

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesCommit message
cwdNoRepository path

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and description only says 'Commit staged changes'. Lacks disclosure of auth needs, side effects, or error conditions. Could be considered a tautology.

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

Conciseness4/5

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

Extremely concise (three words) and front-loaded. However, some may argue it underspecifies, but it is not verbose.

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

Completeness3/5

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

For a simple tool, the description conveys the core action, but lacks output format, failure modes, or usage hints. Adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. Description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

Description clearly states the verb 'Commit' and resource 'staged changes', distinguishing it from sibling tools like git_add (stages) and git_push (pushes commits).

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

Usage Guidelines2/5

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

No guidance on when to use or avoid this tool. No mention of prerequisites like staged changes being required, nor alternatives when changes are not staged.

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

git_diffC

Show git diff

ParametersJSON Schema
NameRequiredDescriptionDefault
stagedNoShow staged changes
fileNoSpecific file to diff
cwdNoRepository path

TDQS

C2.4/5.0
Behavior2/5

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

The description does not disclose behavioral details beyond the basic purpose. For example, it does not mention that this is a read-only operation, whether it outputs colored diffs, or if it requires a git repository. With no annotations, 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.

Conciseness2/5

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

The description is extremely concise (two words), but it is underspecified for a tool with three parameters and no annotations. It does not front-load key information and lacks necessary structure.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It does not explain what the diff output looks like, how to interpret results, or how parameters affect behavior. Simple tools can still benefit from minimal context.

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

Parameters3/5

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

The input schema already describes all three parameters with 100% coverage, so the description adds no new meaning. Baseline score of 3 is appropriate as the tool description does not need to repeat schema details.

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

Purpose3/5

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

The description 'Show git diff' clearly indicates the tool's verb and resource, but it does not differentiate from the sibling 'enhanced_git_diff' or specify whether it shows staged or unstaged changes. The purpose is understandable but lacks specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'enhanced_git_diff' or 'get_diff_stats'. There is no mention of prerequisites, context, or when not to use it.

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

git_logB

Show commit history

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of commits to show
onelineNoOne line format
cwdNoRepository path

TDQS

B3.1/5.0
Behavior1/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states 'Show commit history,' which repeats the tool's name and purpose without revealing any behavioral traits such as read-only nature, performance implications, or required permissions. This is insufficient for an agent to understand side effects or constraints.

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

Conciseness5/5

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

The description is a single sentence of seven words, containing no filler or redundant information. It efficiently conveys the tool's purpose without any wasted verbiage, earning a top score for conciseness.

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

Completeness3/5

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

Given the tool's simplicity (three optional parameters, no output schema), the description is minimally adequate by stating the purpose. However, it lacks context about return format, default behavior, or interaction with the repository, making it incomplete for a fully self-contained tool definition.

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

Parameters3/5

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

The input schema has 100% description coverage for all three parameters, meaning the schema already documents their meaning. The description adds no additional parameter context beyond the schema. Baseline 3 is appropriate as the description does not improve upon the schema's parameter documentation.

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

Purpose5/5

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

The description 'Show commit history' clearly identifies the tool's function with a specific verb ('Show') and resource ('commit history'). It distinguishes from sibling tools like git_diff (shows changes) and git_status (shows working tree state), leaving no ambiguity about its purpose.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as git_diff, git_status, or compare_commits. There is no mention of prerequisites, typical use cases, or scenarios where this tool is preferred, leaving the agent to infer usage from the name alone.

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

git_pullC

Pull changes from remote

ParametersJSON Schema
NameRequiredDescriptionDefault
remoteNoRemote name
branchNoBranch name
cwdNoRepository path

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It fails to mention that git_pull performs a merge or rebase, which could cause conflicts or alter the working tree. This is a significant omission for a potentially destructive operation.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence. It wastes no words, but the brevity comes at the cost of missing important details. However, it is well-structured for a minimal tool.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should provide more context about behavior, return values, and side effects. It only states the action without explaining the merging process, conflict resolution, or any output.

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

Parameters3/5

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

The input schema has 100% description coverage for all three parameters (remote, branch, cwd). The description adds no additional semantic meaning beyond the schema, meeting the baseline for this dimension.

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

Purpose4/5

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

The description 'Pull changes from remote' is a standard Git operation, clearly indicating the verb and resource. However, it does not explicitly differentiate from hypothetical sibling tools like git_fetch, but in the context of the sibling list, it stands out from git_push and others.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool versus alternatives like git_fetch or git_merge, nor does it mention prerequisites like staged changes or network connectivity.

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

git_pushB

Push commits to remote

ParametersJSON Schema
NameRequiredDescriptionDefault
remoteNoRemote name
branchNoBranch name
cwdNoRepository path

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. However, the description is too sparse, omitting critical behaviors like whether it allows force push, handles diverged branches, or requires authentication.

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

Conciseness3/5

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

The description is extremely concise (4 words), but it lacks necessary detail. It is not overly verbose, but the brevity comes at the cost of important information.

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

Completeness2/5

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

Given the tool's complexity (Git push) and the absence of an output schema, the description is insufficient. It provides no context on success behavior, error handling, or default remote behavior.

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

Parameters3/5

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

Input schema coverage is 100% with each parameter described simply (e.g., 'Remote name'). The description does not add any further meaning beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

Description clearly states 'Push commits to remote', providing a specific verb and resource. It is easily distinguished from sibling tools like git_pull or git_commit.

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

Usage Guidelines2/5

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

Description offers no guidance on when to use git_push versus alternatives such as git_commit or git_pull. It implicitly means one would push after committing, but no explicit when-to-use or when-not-to-use context is given.

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

git_statusC

Get git repository status

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoRepository path

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, return format, or performance implications. Minimal information beyond the basic action.

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

Conciseness4/5

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

The description is very concise and front-loaded, consisting of a single phrase. It could be slightly expanded without being verbose, but it is efficient.

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

Completeness3/5

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

For a simple status tool with one parameter and no output schema, the description is adequate but does not explain what the return value looks like or how to interpret it. Slightly incomplete for an agent unfamiliar with git.

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

Parameters3/5

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

The sole parameter 'cwd' is fully described in the schema as 'Repository path', achieving 100% coverage. The description adds no additional meaning beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description states 'Get git repository status', which clearly identifies the action (get) and resource (git repository status). It distinguishes from sibling tools like git_diff, git_log, etc., though could be more specific about what 'status' includes.

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

Usage Guidelines2/5

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

No guidance provided on when to use this tool versus alternatives like git_diff or git_log. The description lacks any context about the typical use case or prerequisites.

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

install_dependenciesC

Install all project dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoProject path

TDQS

C2.9/5.0
Behavior2/5

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

The description is minimal and does not disclose behavioral traits such as whether it modifies files, requires network access, or assumes a specific dependency manager. With no annotations, the description should provide more context.

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

Conciseness4/5

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

At four words, the description is extremely concise. It is front-loaded and efficient, but the brevity sacrifices completeness in other dimensions.

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

Completeness2/5

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

No output schema or annotations are provided, and the description is too sparse to fully contextualize the tool. For a dependency installation tool, details like required environment or expected behavior are missing, making it incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already defines the sole parameter. The description adds no further meaning beyond what the schema provides, meeting the baseline for high coverage but not exceeding it.

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

Purpose4/5

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

The description clearly states the action (install) and resource (all project dependencies). It is unambiguous but does not differentiate from sibling tools like npm_command or pip_install, which also handle dependencies.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., npm_command, pip_install, run_command). Given the many sibling tools, this omission reduces usability for an AI agent.

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

list_directoryC

List contents of a directory with details

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the directory
recursiveNoList recursively

TDQS

C2.6/5.0
Behavior1/5

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

No annotations provided, and description does not disclose any behavioral traits (e.g., read-only, performance, limits). Only states purpose, not behavior.

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

Conciseness3/5

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

Single sentence is concise but lacks detail on what 'details' includes. Could be more efficient without losing information.

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

Completeness2/5

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

Given simple tool with 2 parameters and no output schema, description should mention return value (e.g., list of file names with metadata). Missing that context.

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

Parameters3/5

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

Schema description coverage is 100%, so description adds no extra meaning beyond parameter names and types. Baseline of 3 is appropriate.

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

Purpose4/5

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

Description clearly states the verb 'list' and resource 'contents of a directory', with 'details' implying metadata. Distinguishes from siblings like create_directory or read_file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as search_code or read_file. No mention of recursive vs flat listing scenarios.

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

list_processesA

List all running processes started by the agent

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the scope (agent-started processes) but omits details like output format, potential side effects, or permissions needed. Adequate for a simple list but not thorough.

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

Conciseness5/5

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

Single sentence, seven words, directly states purpose. Highly concise and front-loaded with the action word.

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

Completeness3/5

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

Given no output schema, the description should clarify what data is returned (e.g., PID, command). It does not, leaving ambiguity. However, the simple nature of the tool and no parameters mitigate this gap somewhat.

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

Parameters4/5

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

No parameters, so baseline 4 applies. The description adds no parameter info, which is acceptable given there are none to describe.

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

Purpose5/5

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

Clearly states verb (list), resource (processes), and scope (started by the agent). Unambiguous and distinguishes from siblings like docker_containers or run_command.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. Siblings include tools that also deal with processes (e.g., run_command, docker_containers), but no differentiation or usage hints are provided.

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

list_workspacesB

List recently used workspaces

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits like whether the list is ordered, what 'recently used' means, or if there are any limitations.

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

Conciseness4/5

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

The description is very concise, using a single sentence that front-loads the key action and resource. It is appropriate for a simple tool with no parameters.

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

Completeness2/5

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

Without an output schema, the description should explain what is returned (e.g., workspace names, IDs). It only says 'list' but omits the format or any details about the response.

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

Parameters4/5

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

There are no parameters, so schema coverage is 100%. The description adds meaning by specifying that the list is of 'recently used' workspaces, which is beyond the empty schema.

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

Purpose4/5

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

The description clearly states the action (list) and resource (recently used workspaces). However, it does not differentiate from sibling tools like 'get_workspace' or 'auto_select_workspace'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when to list recent workspaces versus get a specific workspace.

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

load_project_configB

Load project-specific configuration from .vscode-mcp.toml

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoPath to workspace directory (defaults to current)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention whether the file is required, what happens on missing file, or any side effects. For a load operation, expected return value or failure modes are missing.

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

Conciseness5/5

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

The description is a single, concise sentence that is front-loaded with the main action and resource. No superfluous words.

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

Completeness2/5

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

The tool is a loader but no output schema exists; the description does not explain what the tool returns (e.g., config content). Missing details on failure behavior. Minimal completeness for a simple tool.

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

Parameters3/5

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

Schema description coverage is 100% (parameter 'path' already described in schema). The description adds no additional meaning 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.

Purpose5/5

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

The description clearly states the action ('Load') and the resource ('project-specific configuration from .vscode-mcp.toml'), which distinguishes it from sibling tools like save_project_config and update_project_config.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. The description is purely functional.

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

move_fileB

Move or rename a file or directory

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path
destinationYesDestination path

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral aspects. It states the core action but omits details like whether source is deleted, if overwrites occur, or path handling.

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

Conciseness4/5

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

A single, clear sentence that is front-loaded with the action. While concise, it may be slightly too brief, but it avoids unnecessary words.

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

Completeness3/5

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

Given the simple parameters and no output schema, the description covers the basic purpose. However, it lacks details on error handling, overwrite behavior, or cross-device moves, leaving some gaps for an agent.

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

Parameters3/5

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

Schema coverage is 100% with concise parameter descriptions. The tool description adds minimal new info beyond 'file or directory', but the schema already conveys meaning sufficiently. Baseline score is appropriate.

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

Purpose5/5

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

The description explicitly states the action ('Move or rename') and the resource ('a file or directory'). It is a specific verb+resource combination that clearly distinguishes from sibling tools like delete_file or write_file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as copy_file (if it existed) or delete_file. There is no mention of prerequisites, constraints, or when not to use it.

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

npm_commandB

Run npm commands (install, test, build, etc)

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesnpm command (install, test, run, etc)
argsNoAdditional arguments
cwdNoWorking directory

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only states execution with no mention of side effects (e.g., modifying node_modules), failure cases, or permission requirements. This is insufficient for an execution tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that immediately conveys the tool's purpose without any extraneous words. It is appropriately minimal for a simple tool.

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

Completeness2/5

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

Given the absence of an output schema, the description should clarify what the tool returns (e.g., stdout, exit code). It does not. Additionally, with no annotations and a 3-parameter schema, the description is too sparse to fully prepare an agent for invocation.

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

Parameters3/5

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

The input schema provides descriptions for all three parameters (command, args, cwd) with 100% coverage. The description adds no additional meaning beyond what the schema already conveys, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Run npm commands (install, test, build, etc)' clearly identifies the tool's purpose as executing npm commands, explicitly listing common subcommands. The verb 'Run' and resource 'npm' are specific, and the tool is clearly distinguished from general command execution siblings like run_command.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., run_command for non-npm commands, pip_install for Python). Usage is implied by the tool name, but no explicit context or exclusions are given.

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

pip_installC

Install Python packages using pip

ParametersJSON Schema
NameRequiredDescriptionDefault
packagesNoPackage names
requirements_fileNoPath to requirements.txt
venvNoPath to virtual environment

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior, but it only states the basic action. It does not mention side effects (e.g., modifying the Python environment), network requirements, permissions needed, or how the venv parameter affects installation.

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

Conciseness4/5

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

The description is a single sentence, which is highly concise. However, it sacrifices important context for brevity, making it less helpful than it could be.

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

Completeness2/5

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

Given the tool has three parameters and no output schema or annotations, the description is insufficient. It lacks details on installation behavior, error handling, and how parameters interact (e.g., mutual exclusivity of packages and requirements_file).

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

Parameters3/5

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

All three parameters are described in the input schema (100% coverage), so the description adds no additional meaning beyond the schema. The baseline of 3 is appropriate since the schema already provides parameter details.

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

Purpose4/5

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

The description clearly states the tool installs Python packages using pip, which is specific and identifies the resource and tool. However, it does not explicitly distinguish itself from the sibling 'install_dependencies' tool, which could also install Python packages.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'install_dependencies' or 'npm_command'. There is no mention of prerequisites, conditions, or when not to use it.

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

present_workspace_choiceB

Present detected workspaces to user for selection

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description only states the action without disclosing behavioral traits like blocking, user interaction details, or side effects.

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

Conciseness5/5

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

Single sentence, no unnecessary words. Perfectly concise for the simple action described.

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

Completeness3/5

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

Adequate for a parameterless tool without output schema, but could explain what 'detected workspaces' means and how the selection is returned or used.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description does not need to add parameter details, and it correctly implies a straightforward inputless invocation.

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

Purpose4/5

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

The description clearly states the tool presents detected workspaces for user selection. It distinguishes from sibling tools like 'detect_vscode_workspaces' and 'auto_select_workspace', but does not explicitly differentiate.

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

Usage Guidelines2/5

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 'auto_select_workspace' or 'list_workspaces'. The description lacks context for appropriate usage.

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

preview_changesB

Preview all changes before committing

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

The description implies a read-only preview operation, which is appropriate for a preview tool. However, it provides no details on output format or scope of changes. With no annotations, the description carries the full burden but is minimal.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the key action. Every word serves a purpose, and there is no redundancy.

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

Completeness2/5

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

Despite zero parameters, the description lacks details about what 'changes' means, how they are presented, and the tool's relationship to 'preview_changes_enhanced'. This is insufficient for effective agent decision-making.

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

Parameters4/5

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

The input schema has no parameters, so schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline of 4 is appropriate for zero parameters.

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

Purpose4/5

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

The description clearly states the verb 'preview' and the resource 'changes' with context 'before committing'. However, it does not differentiate from the sibling 'preview_changes_enhanced', leaving ambiguity about when to use this version.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the enhanced sibling or other alternatives like 'git_diff'. The description does not specify prerequisites or conditions.

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

preview_changes_enhancedC

Enhanced change preview with multiple format options

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoPreview format
contextLinesNoNumber of context lines
ignoreWhitespaceNoIgnore whitespace changes
filePatternNoFile pattern filter
cwdNoWorking directory

TDQS

C2.5/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It only mentions format options but does not state that the tool is read-only, what operations are performed, or any side effects (e.g., file system impact). This is insufficient for a tool with 5 parameters.

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

Conciseness3/5

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

The description is extremely short (a phrase), which is concise but lacks substantive content. It is front-loaded but does not provide enough information to justify its brevity.

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

Completeness2/5

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

Given 5 parameters, no output schema, no annotations, and multiple sibling diff/preview tools (e.g., preview_changes, enhanced_git_diff), the description is incomplete. It fails to explain the output format, how it differs from siblings, or when to choose it.

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

Parameters3/5

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

Schema descriptions cover all 5 parameters (100% coverage), so baseline is 3. The description adds 'multiple format options' which hints at the format enum but does not elaborate on parameter meanings beyond what the schema provides.

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

Purpose3/5

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

The description 'Enhanced change preview with multiple format options' indicates the tool previews changes and offers format options, but it's vague about what exactly is 'enhanced' compared to sibling tools like preview_changes. It does not specify the resource (e.g., working directory diffs) or clearly distinguish from similar tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over alternatives like preview_changes or enhanced_git_diff. There are no usage conditions, prerequisites, or cues for selection, leaving the agent to guess.

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

read_fileB

Read the contents of a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file to read

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; the description only says 'read' implying non-destructive action but omits details like error handling (e.g., file not found), character encoding, or size limits.

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

Conciseness5/5

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

The description is a single, clear sentence without any superfluous words, perfectly concise for the tool's simplicity.

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

Completeness3/5

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

For a simple file read with one parameter and no output schema, the description is adequate but could be improved by noting potential errors or return format. It meets minimum viability.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter 'path' described as 'Path to the file to read'. The description adds no extra semantic value beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Read the contents of a file' clearly states the verb (read) and resource (file), distinct from siblings like write_file or delete_file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_directory or search_code, nor any preconditions such as file existence or permissions.

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

remove_allowed_commandB

Remove a command from the project's allowed commands list

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesCommand to remove from allowed list

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose side effects, error conditions, permissions required, or behavior when the command is not in the allowed list.

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

Conciseness5/5

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

The description is a single sentence, concise, and front-loaded with the action and resource. No unnecessary words.

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

Completeness3/5

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

For a simple mutation tool with one parameter and no output schema, the description is minimally adequate. However, it omits details on success/failure feedback or idempotency, which could be useful.

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

Parameters3/5

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

The only parameter 'command' is fully described in the schema with 'Command to remove from allowed list'. The description adds no additional meaning beyond the schema, meeting the baseline for 100% schema coverage.

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

Purpose5/5

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

The description clearly states the action ('Remove') and the target resource ('command from the project's allowed commands list'). It distinguishes itself from sibling tools like 'add_allowed_command' and 'get_allowed_commands'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions for removal. It only states what it does.

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

rollback_sessionB

Rollback all changes made in the current AI session

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesConfirm rollback (required)
preserveUnstagedNoKeep unstaged changes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only says 'Rollback all changes' without detailing what changes are affected, permissions required, or side effects like irreversible actions.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded, containing no unnecessary words.

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

Completeness2/5

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

Given no annotations, no output schema, and parameters that require confirmation and a preserve option, the description is incomplete. It does not explain the return value, what 'current AI session' means, or how to verify the rollback.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters described adequately in the schema. The description does not add additional meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the action (rollback), the resource (changes in the current AI session), and distinguishes from sibling tools which are primarily git, file, and command operations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as git-based rollbacks or undoing specific actions. The description lacks context about prerequisites or typical use cases.

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

run_commandC

Execute a shell command

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesCommand to execute
cwdNoWorking directory
envNoEnvironment variables

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as potential security risks, permission requirements, or impact of command execution. For a potentially destructive tool, this is insufficient.

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

Conciseness3/5

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

The description is a single sentence, which is concise but may be underspecified. It earns its place but lacks structure to convey important context like safety or usage.

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

Completeness2/5

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

Given the tool has 3 parameters, no output schema, and security implications, the description is incomplete. It does not explain return values, error handling, or behavior when commands fail or are disallowed.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter names. The 'env' parameter is an object without format guidance, but the tool does not mislead.

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

Purpose4/5

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

The description 'Execute a shell command' clearly states the verb (execute) and resource (shell command). It is straightforward but does not distinguish from sibling tools like secure_run_command or run_python, which also execute commands.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as secure_run_command or when to respect allowed commands. The description lacks context for safe usage or exclusion criteria.

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

run_custom_toolB

Execute a custom tool defined in project configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNameYesName of the custom tool to run
argsNoArguments to pass to the custom tool (replaces {{key}} placeholders)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Execute' with no disclosure of behavioral traits such as side effects, permissions, or error handling. This leaves the agent with insufficient behavioral context.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core purpose without any wasted words.

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

Completeness2/5

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

The description only states purpose but lacks details on prerequisites, return values, or execution context. Given the tool runs arbitrary custom code, more context is needed for safe invocation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the parameter descriptions already in the schema, which adequately document toolName and args.

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

Purpose5/5

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

The description clearly states the tool executes a custom tool defined in project configuration, using a specific verb 'Execute' and resource 'custom tool defined in project configuration', distinguishing it from sibling tools like run_command or run_javascript.

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

Usage Guidelines3/5

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

The description implies usage when a custom tool is configured, but provides no explicit guidance on when to use alternatives or when not to use this tool.

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

run_javascriptB

Execute JavaScript code or script with Node.js

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoJavaScript code to execute
script_pathNoPath to JavaScript file
argsNoCommand line arguments

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. Omits critical behavioral details like execution environment, side effects, security restrictions, or output format.

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

Conciseness4/5

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

Single sentence, no excess, front-loaded. However, could be restructured to include more actionable details without losing brevity.

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

Completeness2/5

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

For a code execution tool with no output schema and no annotations, the description is too sparse. Lacks information on return values, error handling, and security context.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds 'with Node.js' but does not further clarify parameter usage or relationships.

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

Purpose5/5

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

Clearly states the action 'execute' and the resource 'JavaScript code or script with Node.js', distinguishing it from siblings like run_python or run_command.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives such as run_command or run_python, nor any conditions or prerequisites.

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

run_pythonC

Execute Python code or script

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoPython code to execute
script_pathNoPath to Python script file
argsNoCommand line arguments
venvNoPath to virtual environment

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, leaving the description fully responsible for behavioral disclosure. It only says 'Execute' without mentioning safety, side effects, environment isolation, or security restrictions.

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

Conciseness3/5

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

The description is very short (one phrase) but lacks substantive content. It is not verbose, but it is under-specified for an execution tool with four optional parameters.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should cover execution environment, parameter interactions, and return behavior. It does not, leaving significant gaps for an execution tool.

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

Parameters3/5

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

Schema coverage is 100% with individual parameter descriptions. The tool description adds no additional meaning beyond the schema, achieving the baseline for this dimension.

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

Purpose4/5

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

The description 'Execute Python code or script' clearly states the action and resource, but does not differentiate from sibling tools like run_command or run_javascript. It is adequate but lacks specificity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., run_command for generic commands, pip_install for package management). The description provides no context for tool selection.

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

run_testsC

Run tests using appropriate test runner

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYesProgramming language
frameworkNoTest framework (pytest, jest, mocha, etc)
pathNoPath to test file or directory
patternNoTest file pattern

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided, and the description lacks behavioral details such as whether it installs dependencies, how it handles errors, or what output format to expect. This is a significant gap for a test-running tool.

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

Conciseness3/5

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

The description is one sentence, which is concise but overly minimal. It lacks necessary details, so conciseness does not compensate for incomplete information.

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

Completeness2/5

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

Given no output schema, the description does not explain what the tool returns (e.g., test results, exit codes) or how to interpret success. It also does not mention asynchronous behavior or prerequisites.

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

Parameters3/5

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

Schema coverage is 100% and the parameter descriptions are clear. The tool description adds no extra meaning beyond what the schema already provides, resulting in a baseline score of 3.

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

Purpose3/5

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

The description states it runs tests using an appropriate test runner, which is clear but vague. It doesn't specify what 'appropriate' means or how it differs from sibling tools like run_command or run_custom_tool.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like running tests via run_command. No exclusions or context provided.

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

save_project_configB

Save project-specific configuration to .vscode-mcp.toml

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesProject configuration object
pathNoPath to workspace directory (defaults to current)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states 'save', not whether it overwrites, merges, creates directories, or requires permissions. The behavior is opaque beyond the basic file write.

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

Conciseness5/5

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

A single, front-loaded sentence that efficiently communicates the action and target. No wasted words; every part earns its place.

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

Completeness2/5

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

Given the complex nested object parameter and lack of output schema, the description is insufficient. It does not explain the config structure, overwrite behavior, or error handling, leaving significant gaps for an agent.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already described. The description adds no additional meaning beyond what is in the schema, meeting the baseline of 3.

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

Purpose5/5

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

The description clearly states the action (save) and the resource (project-specific configuration to .vscode-mcp.toml). It distinguishes itself from siblings like load_project_config and update_project_config by focusing on saving.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like update_project_config or load_project_config. There are no prerequisites, exclusions, or context for when this tool is appropriate.

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

search_codeC

Search for patterns in code

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query or regex
pathYesDirectory to search in
file_patternNoFile pattern (e.g., *.py, *.js)
regexNoUse regex search

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided; the description carries the burden but only states 'Search for patterns in code'. It does not disclose traits like read-only behavior, recursion depth, or performance impact.

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

Conciseness3/5

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

The description is very concise (one sentence), which is appropriate for a simple tool, but it could include more context without being verbose.

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

Completeness2/5

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

No output schema and the description does not mention return values (e.g., matched lines or file paths). The tool is incomplete for an agent that needs to know what to expect.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema, but the schema itself adequately describes the parameters.

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

Purpose3/5

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

The description states the verb 'search' and resource 'patterns in code', which is clear but vague. It does not differentiate from sibling tools like 'find_and_replace' or 'analyze_code' that also deal with code patterns.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. The description lacks context about when it is appropriate to use search_code versus other search or analysis tools.

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

secure_run_commandA

Execute a command with security restrictions (only allowed commands)

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesCommand to execute securely
cwdNoWorking directory
timeoutNoCommand timeout in milliseconds
envNoEnvironment variables
commitResultNoAuto-commit changes after successful execution
commitMessageNoCustom commit message if commitResult is true

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only mentions 'security restrictions' without explaining what happens when a command is disallowed, what the restrictions are, or any side effects. The description adds minimal behavioral context beyond what is obvious from the name.

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

Conciseness5/5

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

The description is a single sentence that instantly conveys the core purpose. It is efficient and front-loaded, with no wasted words.

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

Completeness2/5

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

Given the tool has 6 parameters (including nested objects and boolean flags) and no output schema, the description is insufficient. It fails to explain the security mechanism, how to check allowed commands (via sibling 'get_allowed_commands'), the meaning of 'commitResult', or return values. The tool's complexity demands more context.

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

Parameters3/5

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

Schema description coverage is 100%, meaning all parameters are described in the input schema. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate. It does not elaborate on how parameters relate to the security restrictions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Execute a command with security restrictions (only allowed commands)'. It uses a specific verb ('Execute') and resource ('command'), and distinguishes from its sibling 'run_command' by highlighting the security restrictions.

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

Usage Guidelines4/5

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

The description implies the tool is for running only allowed commands, but it does not explicitly state when to use it over alternatives like 'run_command' or 'secure_run_command_sequence'. The context is clear enough for an AI agent to infer usage, but explicit guidelines are absent.

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

secure_run_command_sequenceC

Execute multiple commands in sequence with security restrictions

ParametersJSON Schema
NameRequiredDescriptionDefault
commandsYesArray of commands to execute in sequence
cwdNoWorking directory for all commands
timeoutNoTimeout per command in milliseconds
commitResultNoAuto-commit after successful sequence
commitMessageNoCustom commit message
stopOnErrorNoStop execution on first error (default: true)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided. The description mentions 'security restrictions' but does not detail what those are. Behavioral traits like stop-on-error behavior, timeout handling, or commit behavior are not disclosed.

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

Conciseness3/5

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

The description is concise (single sentence) but lacks structure. It could be improved by breaking into bullet points or providing more detail without becoming verbose.

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

Completeness2/5

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

For a tool with 6 parameters, no annotations, and no output schema, the description is insufficient. It fails to explain return values, error handling, or the nature of security restrictions.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are documented. The description adds no additional semantic insight beyond the schema, resulting in baseline score.

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

Purpose4/5

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

The description clearly states the tool executes multiple commands in sequence with security restrictions. However, it does not differentiate from sibling tools like 'run_command' or 'secure_run_command'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Missing context on prerequisites, typical use cases, or exclusions.

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

set_workspaceC

Set the active workspace directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to workspace directory

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility. It only states 'Set the active workspace directory' without any details on side effects, validation, persistence, or impact on other tools. This is insufficient for an agent to infer behavioral traits.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. While it could beneficially include more context, it is appropriately sized for the tool's simplicity.

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

Completeness2/5

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

The description lacks critical context such as what happens if the path is invalid, whether the setting persists, or how it interacts with other workspace tools. For a state-changing tool, this is incomplete.

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

Parameters3/5

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

The only parameter 'path' is fully described in the schema with 'Absolute path to workspace directory', so the description adds no extra meaning. Baseline score of 3 applies given 100% schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'Set' and the resource 'active workspace directory', making the basic purpose evident. However, it does not differentiate from sibling tools like auto_select_workspace or present_workspace_choice, which also involve workspace selection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't explain that this tool is for explicitly setting the path while other tools handle automatic selection or listing.

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

smart_workspace_initB

Intelligently initialize workspace with VS Code detection and user choice

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits, but it only says 'intelligently initialize' without details on side effects, interactivity, permissions, or what happens during the process. Key behaviors like user prompts or workspace setting are left ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single front-loaded sentence with zero filler, every word adds value. No redundancy or verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no parameters or output schema, the description omits crucial context: return value, user interaction behavior, failure modes, and relationship to sibling tools. For an interactive tool, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters (100% coverage by definition). The description adds no parameter info, but none is needed. Baseline 4 for schema-only sufficiency.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it initializes a workspace using 'VS Code detection' and 'user choice', distinguishing it from siblings like set_workspace (direct set) or present_workspace_choice (just display). Verb 'initialize' plus resource 'workspace' with specific behavioral hints makes purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this vs. alternatives like detect_vscode_workspaces, auto_select_workspace, or set_workspace. The description implies a smart combined workflow but provides no when-not or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_coding_sessionB

Start a new coding session for change tracking

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescription of what will be worked on
branchNoGit branch for this session

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It does not disclose what starting a session entails (e.g., side effects, state changes, authorization needs) beyond 'change tracking'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no extraneous information. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too minimal. It does not explain session lifecycle, impact on other tools, or expected behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already described. The description adds no extra semantics beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Start a new coding session' and the resource: 'for change tracking'. It effectively distinguishes from sibling tools like end_coding_session and get_current_session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to start a session versus using alternatives. No mention of prerequisites or conditions that would trigger this tool versus others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_serverC

Start a development server

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesServer command
portNoPort number
nameYesProcess name for reference
cwdNoWorking directory

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits beyond the action. It fails to mention side effects, background execution, server lifecycle, or any safety considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that is efficient and to the point. However, it could be expanded to include critical usage hints without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what the agent can expect after invoking the tool (e.g., process ID, URL, background task). It also omits mention of how to manage or stop the server, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents all parameters. The description adds no additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Start a development server' uses a specific verb 'start' and identifies the resource as a 'development server'. It clearly distinguishes from sibling tools like 'stop_server' and 'run_command'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'run_command' or 'start_coding_session'. There are no exclusions, prerequisites, or scenario descriptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_serverB

Stop a running server

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProcess name

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It does not disclose whether the stop is graceful, forceful, or requires permissions. The agent gets no sense of potential side effects or safety considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is concise but lacks detail that would improve its usefulness without adding length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is insufficient. It does not explain return behavior, error conditions, or what 'stop' entails operationally (e.g., signal sent, whether it waits for shutdown).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'name' described as 'Process name'. The description adds no additional meaning beyond what the schema already provides, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Stop a running server' uses a clear verb and resource, directly stating the action. It distinguishes from sibling 'start_server' by the opposite action, and from other tools by focusing specifically on server processes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'run_command' or 'secure_run_command' to manually stop a process. No context on prerequisites (e.g., server must be started) or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_project_configC

Update specific project configuration settings

ParametersJSON Schema
NameRequiredDescriptionDefault
allowedCommandsNoCommands that are allowed to run
formatOnSaveNoAuto-format files after editing
gitAutoCommitNoAuto-commit AI changes
formatCommandNoFormat command (use {{file}} as placeholder)
projectInstructionsNoProject-specific instructions for AI

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It only says 'update', with no details about persistence, reversibility, permissions, or side effects. For a mutation tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence) but lacks substance. It is concise but fails to provide useful information, making it somewhat wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters and no output schema, the description is too brief. It does not explain the scope of 'project configuration', how settings persist, or how this tool relates to its siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no meaning beyond the schema; it simply restates the purpose without elaborating on parameter usage or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('update') and the resource ('project configuration settings'). It is not a tautology, but it is generic and does not differentiate from sibling tools like 'save_project_config' or 'load_project_config'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'add_allowed_command' or 'save_project_config'. There is no mention of context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_fileC

Write content to a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file to write
contentYesContent to write to the file

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description lacks behavioral details such as whether it overwrites or appends, creates missing directories, file encoding, or error handling. For a mutation tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence, but lacks crucial details. It is not overly verbose, but the brevity sacrifices completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters, the description is incomplete. It does not mention whether the file is created if missing, whether content overwrites or appends, or any return value/error conditions. No output schema provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains the parameters. The description does not add extra meaning beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool writes content to a file, using specific verb and resource. There are no similar sibling tools for writing, so differentiation is not needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Missing information on prerequisites like file existence, overwriting behavior, or when to use read_file/delete_file instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.9/5.0
Disambiguation3/5

Many tools have overlapping purposes, especially in the diff/analyze category (analyze_code, analyze_file_differences, compare_files, compare_commits, enhanced_git_diff, git_diff, preview_changes, etc.) and command execution (run_command, secure_run_command, npm_command, pip_install, run_javascript, run_python, run_custom_tool). Descriptions help distinguish some but not all.

Naming Consistency4/5

Most tools follow verb_noun (snake_case) naming, e.g., add_allowed_command, analyze_code. There are minor deviations like docker_images (noun) vs docker_build (verb), and some redundant prefixes like get_current_session vs get_session_info, but overall pattern is consistent.

Tool Count2/5

With 73 tools, this is far beyond a well-scoped set. Many tools could be merged (e.g., multiple diff and preview tools, multiple Docker management tools). The count feels excessive for a coding assistant, leading to potential confusion and inefficiency.

Completeness5/5

The tool surface covers file operations, git workflows, Docker management, session tracking, project configuration, and command execution comprehensively. There are no obvious gaps; even features like rollback, smart workspace init, and secure command sequences are included.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/agentics-ai/code-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server