Skip to main content
Glama
rodhayl
by rodhayl

MCP Local LLM Server

A privacy-first MCP (Model Context Protocol) server that provides unique LLM-enhanced tools for VS Code Copilot. All analysis uses your local LLM - code never leaves your machine.

Key Features

  • Privacy-First: All LLM analysis runs locally - your code never leaves your machine

  • VS Code Copilot Optimized: Designed to complement (not duplicate) VS Code's built-in tools

  • LLM-Enhanced Tools: Every tool adds intelligent analysis, not just raw data

  • Symbol-Aware: Understands code structure, not just text patterns

  • Security Scanning: Automatic detection of secrets, API keys, and vulnerabilities

  • Multiple Backends: Ollama, LM Studio, OpenRouter support

Related MCP server: mcp-ollama-code-analyzer

Documentation Map

  • docs/API_REFERENCE.md - full tool schemas and usage

  • docs/TOOL_VISIBILITY_TIERS.md - tool surfacing strategy (core/discoverable/hidden)

  • docs/examples/client-configuration-guide.md - IDE/client setup patterns

  • docs/operations/scripts-guide.md - operational scripts and maintenance

  • docs/operations/test-utils.md - test harness utilities

  • docs/prompts/ - curated prompt suites for QA/regression workflows

Prerequisites

  • Node.js 20+ and npm

  • One local LLM backend running (LM Studio or Ollama)

  • Python 3.10+ (only required for run_all_tests_ALL.py)

Quick Start

Windows Users - Automated Setup

# Start the server (auto-installs dependencies if needed)
start.bat

# Stop the server
stop.bat

Manual Installation

# Install dependencies from the project root
npm install
npm run build

# Configure (optional)
cp env.settings.example env.settings

# Start
npm start

VS Code Integration

There are several ways to configure MCP Local LLM with VS Code. Choose the method that best fits your workflow.

Step 1: Set an environment variable pointing to your mcpLocalLLM installation:

Windows (PowerShell - add to profile for persistence):

$env:MCP_LOCAL_LLM_PATH = "C:\path\to\mcpLocalLLM"
[Environment]::SetEnvironmentVariable("MCP_LOCAL_LLM_PATH", "C:\path\to\mcpLocalLLM", "User")

macOS/Linux:

# Add to ~/.bashrc or ~/.zshrc
export MCP_LOCAL_LLM_PATH="/path/to/mcpLocalLLM"

Step 2: Create .vscode/mcp.json in any project:

{
  "mcp": {
    "servers": {
      "mcp-local-llm": {
        "command": "node",
        "args": [
          "${env:MCP_LOCAL_LLM_PATH}/dist/index.js",
          "--settings",
          "${env:MCP_LOCAL_LLM_PATH}/env.settings"
        ]
      }
    }
  }
}

This same configuration works across all projects without modification.

Option 2: Absolute Path (Simple, Project-Specific)

Create .vscode/mcp.json with the full path:

{
  "mcp": {
    "servers": {
      "mcp-local-llm": {
        "command": "node",
        "args": [
          "C:/Users/yourname/mcpLocalLLM/dist/index.js",
          "--settings",
          "C:/Users/yourname/mcpLocalLLM/env.settings"
        ]
      }
    }
  }
}

Note: Pass --settings <path> to ensure the server uses the intended settings file (especially when you have multiple installs).

Option 3: Per-Project Configuration with Custom Workspace

For projects that need custom workspace settings, create a project-local env.settings:

Step 1: Copy env.settings.example to your project as env.settings

Step 2: Configure workspace roots + allowlist via the Web UI (http://127.0.0.1:3000/) or by editing [config] CONFIG_JSON in env.settings.

Step 3: Point your .vscode/mcp.json to this settings file:

{
  "mcp": {
    "servers": {
      "mcp-local-llm": {
        "command": "node",
        "args": [
          "${env:MCP_LOCAL_LLM_PATH}/dist/index.js",
          "--settings",
          "${workspaceFolder}/env.settings"
        ]
      }
    }
  }
}

Optional: OpenRouter for Testing

If you want to test with an external SOTA backend (not needed for normal use):

{
  "mcp": {
    "servers": {
      "mcp-local-llm": {
        "command": "node",
        "args": [
          "${env:MCP_LOCAL_LLM_PATH}/dist/index.js",
          "--settings",
          "${env:MCP_LOCAL_LLM_PATH}/env.settings"
        ],
        "env": {
          "TESTING_MODE_ENABLED": "true",
          "OPENROUTER_API_KEY": "sk-or-v1-your-key-here"
        }
      }
    }
  }
}

Other IDEs

Cursor

Create .cursor/mcp.json:

{
  "mcpServers": {
    "mcp-local-llm": {
      "command": "node",
      "args": ["${env:MCP_LOCAL_LLM_PATH}/dist/index.js"],
      "env": {
        "WORKSPACE_ROOT": "${workspaceFolder}"
      }
    }
  }
}

Windsurf

Create .windsurf/mcp.json:

{
  "mcpServers": {
    "mcp-local-llm": {
      "command": "node",
      "args": ["${env:MCP_LOCAL_LLM_PATH}/dist/index.js"],
      "env": {
        "WORKSPACE_ROOT": "${workspaceFolder}"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

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

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

{
  "mcpServers": {
    "mcp-local-llm": {
      "command": "node",
      "args": ["C:/path/to/mcpLocalLLM/dist/index.js"],
      "env": {
        "WORKSPACE_ROOT": "C:/path/to/your/project"
      }
    }
  }
}

Important: Set WORKSPACE_ROOT to your project for proper path resolution.

Roo Code / Kilo Code

{
  "mcpServers": {
    "mcp-local-llm": {
      "command": "node",
      "args": ["C:/path/to/mcpLocalLLM/dist/index.js"],
      "env": {
        "WORKSPACE_ROOT": "C:/path/to/your/project"
      }
    }
  }
}

Zed

{
  "mcpServers": {
    "mcp-local-llm": {
      "command": "node",
      "args": ["/path/to/mcpLocalLLM/dist/index.js"],
      "env": {
        "WORKSPACE_ROOT": "/path/to/your/project"
      }
    }
  }
}

Available Tools (48 registered; 47 enabled by default)

The tool surface is consolidated into three tiers to keep ListTools small while preserving full capability.

Core Tools (always exposed via ListTools)

Tool

Description

agent_task

Autonomous multi-step task execution

mcp_health

Server health and diagnostics

search

Unified search (intelligent/structured/gather/filenames)

analyze_file

LLM-powered file analysis

suggest_edit

LLM-powered edit suggestions

local_code_review

Privacy-preserving code review

security

Secret scanning, risk analysis, redaction, and fixes

summarize

File/directory/repo summaries

workspace

Workspace metadata, snapshots, and exploration

discover_tools

Find additional tools by category or capability

Discoverable Tools (via discover_tools)

Categories:

  • code_analysis - find_duplicates, code_quality_analyzer, analyze_file, code_helper, mcp_analyze_complexity

  • security - security, local_code_review, analyze_impact

  • testing - analyze_test_gaps

  • documentation - generate_docs, mcp_diff_summarizer, summarize, generate_agents_md

  • refactoring - suggest_refactoring, refactor_helper, suggest_edit, draft_file, find_and_fix

  • planning - agent_task, mcp_plan_implementation, cli_orchestrate

  • search - search, codebase_qa, todos, index_symbols, cross_file_links

  • llm_assistance - code_helper, regex_helper, refactor_helper, mcp_error_explainer, mcp_translate_code, mcp_summarize_logs

  • execution - linter, formatter

  • workspace - workspace, analyze_file

  • system - mcp_health

Agent-Only Tools (hidden from ListTools)

Hidden by default but callable by name (or via agent_task): llm_chat, agent_task_result, agent_queue_status, mcp_server, mcp_ask, system_profile, model_info, mcp_debug, mcp_terminal_command, refine_prompt, read_file, verify_plan

For complete schemas and usage examples, see docs/API_REFERENCE.md.

MCP Prompts (Guided Workflows)

Invoke these prompts to run multi-tool workflows:

Prompt

Description

/analyze-security

Comprehensive security analysis

/find-todos

Find and prioritize technical debt

/review-changes

Privacy-preserving code review

/explain-code

Detailed code explanation

/generate-tests

Generate comprehensive tests

/suggest-improvements

Get refactoring suggestions

Automated Prompt-Based QA

This repository uses a second QA layer in addition to unit/integration/e2e tests: prompt-driven black-box evaluations stored in docs/prompts/.

Why This Exists

  • Deterministic tests catch functional regressions quickly.

  • Prompt-based QA catches behavior quality issues that static assertions miss: prompt interpretation quality, report usefulness, orchestration behavior, and real-world operator ergonomics.

Prompt Catalog (docs/prompts/)

Prompt File

Primary Use

00_smoke.md

Fast smoke validation

10_regression_feedback_4_5.md

Regression checks for historical feedback batches 4/5

20_regression_feedback_6.md

Regression checks for historical feedback batch 6

30_edge_cases.md

Edge-case behavior and failure-mode validation

40_production_readiness.md

Production-readiness checklist run

MCP_TEST_BLACK_BOX_COMPACT.md

Compact black-box evaluation for small local models

MCP_TEST_BLACK_BOX_STANDARD.md

Standard black-box evaluation

MCP_TEST_COMPACT_V2.md

Compact black-box evaluation v2

MCP_TEST_COMPREHENSIVE_V2.md

Comprehensive black-box evaluation v2

MCP_TEST_CRITICAL_COMPACT.md

Compact critical bug hunt

MCP_TEST_CRITICAL_STANDARD.md

Standard critical-component validation

MCP_FINAL_TEST.md

Single comprehensive final validation prompt

AGENT_TEST_PROMPT.md

End-to-end agent-oriented tool testing prompt

DEBUG-FIX-PROMPT.md

Turn accumulated QA reports into a focused fix pass

QA_feedback_empty.md

Template for recording findings in a consistent format

  1. Run deterministic baseline tests first:

    • python run_all_tests_ALL.py

    • npm test

  2. Execute prompt suites against target backends/models (local and/or CLI backends).

  3. Save each run report using the QA_feedback_empty.md structure into a reports folder (for example TEST_PROMPTS/REPORTS/QA_feedback_01.md, QA_feedback_02.md, etc.).

  4. For each finding, explicitly classify:

    • real repository issue, or

    • evaluator/model mistake (false positive or prompt misunderstanding).

  5. Use docs/prompts/DEBUG-FIX-PROMPT.md with the reports folder to drive an implementation pass.

  6. Re-run deterministic tests and at least one black-box prompt before publishing.

Automation vs Manual Testing Effectiveness

Dimension

Prompt-Based QA

Manual Testing

Breadth per run

High (many behaviors covered quickly)

Medium

Repeatability

High when prompts + config are versioned

Medium/Low

Speed to first signal

High

Medium/Low

False-positive risk

Medium (model/evaluator noise exists)

Low/Medium

UX/intent nuance detection

Medium/High

High

Best use

Continuous regression sweeps

Final human sign-off and edge judgment

Practical guidance:

  • Do not replace manual testing with prompt automation.

  • Use prompt-based QA for scale and regression detection, then use manual testing for final adjudication and release confidence.

Why These Tools?

VS Code Copilot Bypass Strategy

VS Code Copilot 1.106+ automatically disables MCP tools that duplicate built-in functionality. This server provides unique value that VS Code cannot replicate:

  1. Local LLM Intelligence: Every tool is enhanced with local LLM analysis

  2. Privacy Preservation: Code analysis never leaves your machine

  3. Automatic Redaction: Secrets and sensitive data automatically removed

  4. Symbol Awareness: Understands code structure, not just text

  5. Security Scanning: Built-in vulnerability detection

Tools NOT Included (VS Code Has Better Versions)

These tools were intentionally removed because VS Code Copilot has superior built-in equivalents:

  • read_file (hidden alias of analyze_file, not exposed via ListTools) -> Use VS Code's #readFile

  • edit_file -> Use VS Code's #editFiles

  • create_file -> Use VS Code's #createFile

  • list_dir -> Use VS Code's #listDirectory

  • git_status/diff/log/commit -> Use VS Code's Source Control

  • execute_script -> Use VS Code's #runInTerminal

  • run_tests -> Use VS Code's #runTests

Configuration

Initial Setup

# Copy the example settings
cp env.settings.example env.settings

# Edit to match your setup (optional - defaults work for most users)
# The example file is well-commented and explains all options

Note: The repository env.settings.example is the canonical source of defaults. When building the npm package the build process copies this file into dist_package/env.settings.example (via node scripts/generate_package_files.js) so the package uses the same example. A parity test (tests/config.settings-parity.test.ts) runs in CI to ensure the packaged example always matches the repository file, preventing accidental drift.

Backend Configuration (env.settings)

Backends/defaults live in [config] CONFIG_JSON inside env.settings (or configure via the Web UI at http://127.0.0.1:3000/).

Workspace Configuration

Workspace roots + allowlist live in [config] CONFIG_JSON inside env.settings.

Tip: Relative paths in env.settings are resolved relative to the settings file's directory, not the current working directory.

Dynamic Workspace Detection

The MCP server automatically detects your workspace using this priority:

  1. MCP Client Roots (if supported): The server requests workspace roots from the client via the MCP protocol (roots/list). This happens automatically on connection.

  2. WORKSPACE_ROOT Environment Variable: Fallback for explicit control.

  3. Global Install Auto-Detection: When config is in a global location (~/.mcp-local-llm, npm global), the current working directory is used as workspace automatically.

  4. Project Auto-Detection: If launched from a directory containing package.json, pyproject.toml, .git, etc., that directory is used.

  5. Settings File Default: Falls back to workspace.roots from env.settings

Global npm install users: Workspace is now detected automatically from your project's working directory. No configuration needed.

Troubleshooting: If tools report "Outside workspace" errors, check the startup logs for [Config] Workspace from cwd... messages.

Tool Groups

Tools are organized into groups that can be enabled/disabled (examples only; see docs/API_REFERENCE.md for the full list):

Group

Example Tools

Purpose

core.summary

summarize

LLM summarization

core.chat

llm_chat

Direct LLM access

core.discovery

discover_tools

Tool discovery

planning

agent_task, verify_plan, cli_orchestrate

Planning and delegation

analysis.extended

workspace, todos, codebase_qa, analyze_test_gaps, analyze_impact

Codebase analysis

privacy

security

Security tools

llm.enhanced

analyze_file, search, local_code_review, generate_docs, suggest_refactoring, suggest_edit, find_and_fix

LLM-enhanced tools

code.analysis

find_duplicates, code_quality_analyzer

Code quality

llm.assistance

code_helper, regex_helper, refactor_helper, mcp_error_explainer, mcp_translate_code

LLM assistance

execution

linter, formatter

Code quality automation

system.info

mcp_health, system_profile, model_info, mcp_debug

System diagnostics

mcp.client

mcp_server, mcp_ask

External MCP integration

Privacy & Security

  • Offline by Default: Only local backends unless explicitly configured

  • Content Redaction: Automatic removal of secrets, API keys, sensitive data

  • Path Restrictions: Directory allowlist prevents unauthorized access

  • Size Limits: Prevents large file transfers

Agent Scenarios Testing

The project includes comprehensive agent scenarios tests that validate complex workflows and integration with external MCP servers.

Running Agent Scenarios Tests

Basic Tests (No External Services Required)

# Run configuration and structure validation tests
npx vitest run tests/agent_tasks/agent.scenarios.basic.test.ts

# Run all basic tests together
npx vitest run tests/agent_tasks/agent.scenarios.basic.test.ts

Full End-to-End Tests (Requires External Services)

# Run complete agent scenarios (requires LM Studio, local server, MCP servers)
npx vitest run tests/agent_tasks/agent.scenarios.e2e.test.ts

# Run specific test suites
npx vitest run tests/agent_tasks/agent.scenarios.e2e.test.ts -t "Read-Only Operations"
npx vitest run tests/agent_tasks/agent.scenarios.e2e.test.ts -t "Chrome DevTools"
npx vitest run tests/agent_tasks/agent.scenarios.e2e.test.ts -t "Context7"

Test Requirements

Test Suite

Requirements

Description

Basic Tests

None

Configuration loading and structure validation

Read-Only Operations

LM Studio backend

Repo audits, security analysis

Chrome DevTools

Chrome DevTools MCP

Browser automation, screenshots

Context7

Context7 MCP

Library documentation validation

Local Server

Local MCP server

API integration, server management

Configuration

The test runner uses centralized automated settings (via run_all_tests_ALL.py):

  • Canonical Settings File: config/env-automated-tests.settings

  • Compatibility Fallback: env-automated-tests.settings (root)

  • Primary Backend: configured in [config] CONFIG_JSON (defaults)

  • MCP Servers: configured under mcpServers (optional)

  • Workspace: configured under workspace / policy.allowlistPaths

  • Tool Groups: configured under toolGroups / [advanced] TOOL_GROUP_MODE

  • Runner Usage:

    • Full suite: python run_all_tests_ALL.py

    • Force Copilot CLI: python run_all_tests_ALL.py --backend copilot-cli

    • Force OpenCode CLI: python run_all_tests_ALL.py --backend opencode-cli

    • All backends: python run_all_tests_ALL.py --all-backends

    • Benchmark backends: python run_all_tests_ALL.py --benchmarking

Test Output

  • Configuration Tests: 11 tests validating all configuration aspects

  • Structure Tests: 5 tests validating test framework structure

  • E2E Tests: 27 comprehensive scenarios covering all major workflows

  • Output Location: tests/.mcp_cache/agent_scenarios/

Development Mode

# Run tests with UI for development
npx vitest tests/agent_tasks/agent.scenarios.*

# Run specific test with debugging
npx vitest run tests/agent_tasks/agent.scenarios.basic.test.ts --reporter=verbose

Development

npm run dev    # Development mode with auto-reload
npm test       # Run tests (auto-prepares + auto-cleans transient test artifacts)
npm run build  # Build for production
npm run cleanup:runtime  # Prune runtime artifact dirs (.mcp-backups, .orchestration-plans)

Runtime Artifact Cleanup

The server can accumulate local runtime artifacts over time:

  • .mcp-backups/ from edit/auto-fix backup snapshots

  • .orchestration-plans/ from persisted CLI orchestration plans

Use:

npm run cleanup:runtime

Default pruning behavior:

  • Removes .mcp-backups/tests/ (test-only backup artifacts)

  • Removes backup files older than 14 days

  • Caps remaining backups to the newest 1000 files

  • Removes orchestration plans older than 14 days

  • Caps remaining plans to the newest 200 directories

  • Removes orphan *.tmp files under .orchestration-plans/

Optional dry-run:

node scripts/cleanup-runtime-artifacts.js --dry-run

Architecture

+-----------------------------+
|       VS Code Copilot       |
+--------------+--------------+
               |
               v
      MCP Protocol (stdio)
               |
               v
+-----------------------------+
|     MCP Local LLM Server    |
| - LLM-Enhanced Tools        |
| - Privacy Tools             |
| - Analysis Tools            |
+--------------+--------------+
               |
               v
 Backend Adapters: Ollama | LM Studio | OpenRouter | Generic OpenAI
               |
               v
      Local LLM Backend
    (Ollama, LM Studio, etc.)

License

ISC

Available Tools

36 tools
agent_taskA

Autonomous multi-step task runner. Use readOnly for analysis. Defaults: maxSteps=50, maxActionsPerStep=100; use async for long tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoHigh-level task to execute. Required unless "prompt" is provided.
promptNoAlias for "task". Use either task or prompt (task takes precedence).
optionsNoOptional execution controls. Top-level aliases (contextRoot, readOnly, async, etc.) also supported for backward compatibility. ⚠️ Higher values = longer execution time. Default timeout is 5 minutes.

TDQS

A3.5/5.0
Behavior3/5

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

Documents key defaults (maxSteps=50, maxActionsPerStep=100) and async behavior. However, with no annotations provided, it omits critical behavioral context: return values (taskId vs results), default mutability (can modify files unless readOnly=true), and what subsystems/actions the agent can invoke.

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 and front-loaded (purpose first, then guidance). Three fragments efficiently convey distinct concepts. However, brevity underserves the tool's high complexity (15+ effective parameters).

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

Completeness3/5

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

Given high complexity (nested options object, numerous controls) and absence of annotations or output schema, the description covers basics but should clarify return behavior, error handling, and safety boundaries for a powerful agent 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?

Adds meaningful semantic guidance beyond the schema: explicitly mapping readOnly to 'analysis' use case and async to 'long tasks'. Also surfaces default values for tuning parameters that the schema only describes mechanically.

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?

Clear verb ('runner') and resource ('multi-step task'), establishing it as the general-purpose autonomous agent. Distinguishes from single-purpose siblings like search or analyze_file, though doesn't explicitly differentiate from similar orchestration tools.

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?

Provides implicit guidance via option hints ('Use readOnly for analysis', 'use async for long tasks'), but lacks explicit criteria for when to select this tool over siblings like orchestration, code_helper, or mcp_plan_implementation.

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

analyze_fileC

LLM analysis for one file. If path is a directory, returns candidate-file hints. includeContent defaults to false.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path to analyze. If a directory is provided, the error includes candidate file hints.
analysisTypeNoType of analysis (default: full)
questionNoSpecific question about the file
maxBytesNoMaximum bytes to read
includeContentNoInclude raw file content in response (default: false to save context)
formatNoOutput format: compact (paths only), dense (minimal), detailed (full), json (raw)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full behavioral burden. It mentions the directory handling behavior and includeContent default, but fails to disclose critical LLM-specific traits: whether results are cached, approximate cost/token usage, timeout behavior, or what the analysis output structure looks like. 'LLM analysis' is vague regarding actual computational behavior.

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

Conciseness4/5

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

Three sentences with no filler. Front-loaded with primary purpose. However, the third sentence merely restates schema information, and the second sentence about directories could be more sharply integrated. Efficient but not optimally structured for quick parsing.

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 100% schema coverage, the description adequately covers the input contract without redundancy. However, with no output schema and many sibling alternatives, the description should explain return value structure or analysis scope to be minimally complete. Missing explanation of format enum implications and analysisType differentiation.

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%, establishing baseline 3. The description adds minimal semantic value beyond the schema— it repeats the includeContent default (already in schema) and restates directory behavior (also in path description). It does not add syntax examples, valid path formats, or clarify the distinction between analysisType enum values (quality vs security vs full).

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?

Clear verb+resource ('LLM analysis for one file') and specifies the singular file scope, which distinguishes it from multi-file or codebase-wide analysis siblings like analyze_impact. However, it does not differentiate from similar analysis tools (analyze_test_gaps, code_quality_analyzer) or explain what 'LLM analysis' specifically entails.

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?

Provides specific behavior guidance for directory inputs ('returns candidate-file hints'), but lacks any guidance on when to select this tool versus siblings like analyze_impact, codebase_qa, or code_quality_analyzer. No mention of prerequisites, file size limits, or when to use specific analysisType values.

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

analyze_impactB

Estimate ripple effects of changed files across dependencies, imports, and tests.

ParametersJSON Schema
NameRequiredDescriptionDefault
changedFilesYesList of changed file paths
checkDependenciesNoCheck dependency impacts
checkTestsNoFind affected tests
checkImportsNoTrace import relationships

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries full disclosure burden. It qualifies the analysis as an 'estimate' (suggesting approximate rather than exact results) and scopes the behavioral domains checked, but lacks disclosure of output format, computational cost, or whether results include transitive dependency chains.

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 11-word sentence with no redundancy. Efficiently front-loads the action ('Estimate ripple effects') before detailing scope. Slight abstraction in 'ripple effects' terminology prevents a perfect score.

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?

With complete input schema documentation (100% coverage), the description adequately covers intent. However, lacking an output schema, it omits what the impact analysis returns (e.g., affected file lists, confidence scores, dependency graphs), leaving agents uncertain about result structure.

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

Parameters4/5

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

Schema coverage is 100%, establishing baseline 3. The description adds semantic value by grouping the three boolean flags (checkDependencies, checkImports, checkTests) into the conceptual categories mentioned ('dependencies, imports, and tests'), helping agents understand the relationship between 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 uses specific verb 'Estimate' and resource 'ripple effects' with clear scope covering 'dependencies, imports, and tests'. It distinguishes from sibling tools like analyze_file (single-file analysis) and cross_file_links (link discovery) by focusing on impact propagation across the codebase.

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 analyze_file, cross_file_links, or analyze_test_gaps. No mention of prerequisites or conditions where this analysis is most valuable.

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

analyze_test_gapsA

Estimate missing tests from source/test patterns (requires root). Supports relative-path globs; defaults include TS/JS/PY. Guidance only.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootYesRoot directory to analyze
testPatternsNoGlob patterns for test files (matched against relative paths and file names)
sourcePatternsNoGlob patterns for source files (matched against relative paths and file names)

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It discloses that the tool is 'guidance only' (non-destructive) and requires a root path, but omits details about output format, performance characteristics, or whether it modifies files.

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?

Three information-dense sentences with no waste. Main purpose is front-loaded ('Estimate missing tests...'). Parenthetical and trailing fragments efficiently pack constraints (requires root, guidance only) without verbosity.

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?

With 100% schema coverage but no output schema or annotations, the description adequately covers inputs but only hints at output via 'guidance only'. For a file analysis tool, it should describe what the guidance/estimates look like or what format results take.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). The description adds valuable context: 'requires root' reinforces the required parameter, 'relative-path globs' clarifies path handling, and 'defaults include TS/JS/PY' documents implicit behavior not visible 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?

Clearly states the tool estimates missing tests using source/test patterns. 'Guidance only' clarifies the output nature. However, it doesn't explicitly distinguish from sibling analysis tools like analyze_file or analyze_impact.

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?

Provides constraints like 'requires root' and 'Guidance only', and mentions supported patterns (relative-path globs) and default languages (TS/JS/PY). Lacks explicit guidance on when to use versus siblings like code_quality_analyzer.

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

cli_orchestrateC

Execute tasks via OpenCode/Copilot orchestration. Requires orchestration enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesThe task to execute via CLI orchestration
contextRootNoWorkspace root for file operations (default: current workspace)
forceBackendNoForce use of a specific CLI backend (optional)

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the orchestration prerequisite but omits critical safety information: whether execution is destructive, modifies files, runs asynchronously, or what output format to expect.

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 brief at two sentences. While not verbose, the first sentence ('Execute tasks...') is information-poor and front-loaded with vague wording rather than specific actionable detail.

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 this is an execution tool with mutation potential and zero annotations, the description is dangerously incomplete. It lacks safety warnings, output schema documentation, error condition details, and differentiation from the similarly-named 'orchestration' sibling.

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%, establishing a baseline of 3. The description mentions 'OpenCode/Copilot', which adds semantic context mapping to the forceBackend enum values, but does not elaborate on valid task formats or contextRoot implications beyond the schema.

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 executes tasks via OpenCode/Copilot orchestration, which identifies the mechanism but leaves 'tasks' undefined. Crucially, it fails to distinguish from the sibling tool 'orchestration', leaving agents unclear which to choose.

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?

It provides one explicit prerequisite ('Requires orchestration enabled'), indicating when not to use the tool. However, it entirely lacks guidance on when to choose this over the sibling 'orchestration' tool or how to select between OpenCode and Copilot backends.

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

codebase_qaC

Answer repo-level questions using indexed context and local LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesQuestion about the codebase
searchScopeNoDirectories to search
maxSourcesNoMaximum source files (default: 5)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full disclosure burden. Mentions 'indexed context' and 'local LLM' but omits critical behavioral details: read-only status (implied but not stated), output format, whether answers are streamed or batched, and dependencies on indexing state.

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 9-word sentence with zero redundancy. Front-loaded with action ('Answer') and properly structured with mechanism following purpose. Every word 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?

With zero annotations, 3 parameters, no output schema, and 20+ sibling tools, the description is insufficiently rich. It lacks guidance on prerequisites (index availability), output structure, and differentiation from analytical 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%, establishing baseline 3. Description mentions 'indexed context' which loosely contextualizes the 'searchScope' parameter, but provides no additional semantics for 'maxSources' or parameter interrelationships beyond what the schema already documents.

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?

States specific action (answer questions) about resource (repo-level) and mechanism (indexed context, local LLM). However, it does not explicitly differentiate from sibling tools like 'search' or 'summarize' which may also use indexed context.

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?

Provides no guidance on when to use this tool versus alternatives like 'search', 'analyze_file', or 'summarize'. Does not mention prerequisites such as whether the codebase needs indexing first.

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

code_helperC

Explain, optimize, or simplify code snippets.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: explain (code explanation), optimize (performance suggestions), simplify (reduce complexity)
codeYesCode snippet to process
languageNoProgramming language (optional, auto-detected)
levelNoFor explain: detail level (default: intermediate)
focusNoFor optimize: focus area (default: all)
preserveNoFor simplify: features to preserve (optional)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full disclosure burden. Unclear whether this returns analysis text (read-only) or modifies files (destructive), and whether 'optimize'/'simplify' actions generate new code or just suggestions. Missing safety and scope disclosure.

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 terse at seven words. While no words are wasted, the brevity comes at the cost of critical missing information (parameter conditionality, behavioral traits) given the tool's complexity.

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?

Missing crucial documentation that parameters are conditional on the action value (level only for 'explain', focus only for 'optimize', preserve only for 'simplify'). No output schema means description should explain return format, which it doesn't.

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 has 100% description coverage with clear enum documentation. Description merely repeats the three action types without adding syntax guidance, parameter interdependencies, or usage examples beyond what the schema already provides. Baseline score 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?

States three specific verbs (explain, optimize, simplify) and the resource (code snippets) clearly. However, it fails to differentiate from numerous sibling code tools like refactor_helper, suggest_refactoring, and local_code_review that likely overlap in 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?

Provides no guidance on when to select this tool versus alternatives like refactor_helper or analyze_file. No prerequisites, contextual triggers, or exclusion criteria provided despite the crowded tool namespace.

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

code_quality_analyzerC

Run multi-signal quality checks: duplicates, complexity, smells, security.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootDirNoRoot directory to analyze (default: workspace root)
minSimilarityNoMinimum similarity for duplicate detection (default: 0.85)
includeTypesNoTypes of analysis to include (default: all)

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 carries the full burden but fails to disclose whether the tool is read-only, what output format it produces, whether it writes reports to disk, or performance characteristics. 'Run' implies execution but lacks safety profile disclosure.

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 at 9 words with no redundancy. The colon-separated structure efficiently maps the action to the specific signals. However, it may be excessively terse given the lack of behavioral and usage context required for an unannotated tool with no output schema.

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?

Inadequate for a tool with no annotations and no output schema. Missing critical context: output format (JSON? report? findings?), side effects (read-only vs. destructive), and differentiation from sibling tools. The 100% parameter coverage reduces the gap, but behavioral and output gaps remain significant.

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%, establishing a baseline score of 3. The description lists the analysis types (duplicates, complexity, smells, security) which mirror the enum values in the schema, adding minimal semantic value beyond the structured 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 uses specific verbs ('Run') and lists the exact quality signals checked (duplicates, complexity, smells, security), clarifying the resource domain. However, it does not explicitly differentiate from single-purpose siblings like 'find_duplicates' or 'security', though the 'multi-signal' qualifier hints at broader scope.

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 comprehensive analyzer versus specialized siblings (find_duplicates, security, mcp_analyze_complexity, linter). No mention of prerequisites, required setup, or selection criteria.

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

discover_toolsA

Find tools by category/capability. Check callable+requiredArgs before invoking. Use include_examples only when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoBrowse tools by category
capabilityNoWhat capability do you need? Examples: "find duplicate code", "generate tests", "analyze security"
list_categoriesNoSet to true to list all available categories
include_examplesNoInclude example payloads. Keep false unless examples are needed.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It implies output content via 'Check callable+requiredArgs' but does not explicitly state this is a safe read-only meta-operation or describe the full return structure (list of tools with metadata).

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

Conciseness5/5

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

Three tightly constructed sentences: purpose, prerequisite check, and parameter guidance. Front-loaded with intent, zero redundant text, every clause 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 100% schema coverage and no output schema, description partially compensates by hinting at output via 'callable+requiredArgs'. However, for a discovery tool with rich siblings, it should explicitly state it returns available tool metadata/capabilities.

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

Parameters4/5

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

Schema coverage is 100%, establishing baseline 3. Description adds valuable usage semantics for 'include_examples' ('only when needed'), indicating performance/cost considerations beyond the schema's technical 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?

States specific verb+resource ('Find tools') and scope ('by category/capability'). However, it does not explicitly differentiate from sibling execution tools (e.g., 'Use this to discover available tools before invoking specific analysis tools').

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?

Provides clear guidance: 'Check callable+requiredArgs before invoking' establishes a prerequisite workflow, and 'Use include_examples only when needed' explicitly constrains parameter usage. Lacks explicit 'when not to use' relative to siblings.

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

draft_fileA

Generate a new file draft from intent and local patterns. Does not write files.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesIntended file path for the new file
intentYesWhat should this file do?
similar_filesNoExample files to match style (optional)
templateNoTemplate or structure to follow (optional)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations are absent, so description carries full burden. It successfully discloses the non-destructive/read-only nature ('Does not write files'). However, it omits what happens to the generated draft (return value format, persistence, size limits) and how 'local patterns' are weighted.

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

Conciseness5/5

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

Two sentences with zero waste: first states purpose and mechanism, second states critical safety constraint. Every word earns its place and the safety warning is appropriately front-loaded.

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

Completeness3/5

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

Given 100% schema coverage and simple 4-parameter structure, the description is minimally adequate. However, it fails to compensate for the missing output schema by describing what the tool returns (the draft content) or how it should be handled.

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%, establishing baseline 3. Description references 'intent' and 'local patterns' which loosely map to the intent and similar_files parameters, but adds no syntax guidance, format examples, or constraints beyond the schema definitions.

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?

States specific action (generate), resource (file draft), and inputs (intent, local patterns). The 'Does not write files' clause distinguishes it from mutation siblings like suggest_edit or find_and_fix. Could reach 5 with explicit comparison to code_helper or suggest_edit.

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?

Provides clear negative constraint ('Does not write files') implying when NOT to use it, but lacks explicit positive guidance on when to prefer this over similar generation tools like code_helper or generate_docs.

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

find_and_fixC

Search -> analyze -> suggest/apply fixes for repeated patterns across files.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesPattern to search for (supports regex)
intentYesWhat change/fix should be applied?
rootNoRoot directory to limit search (optional)
maxFilesNoMaximum files to process (default: 10)
applyNoApply fixes automatically (default: false)
minConfidenceNoMinimum confidence to apply fixes (default: high)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full disclosure burden. While 'suggest/apply' hints at mutability, it fails to explain the safety model (dry-run vs destructive), what the 'analyze' phase evaluates, or how confidence scoring interacts with fix application. Critical gaps for a tool that can automatically modify multiple files.

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 efficiently conveys the three-phase workflow using arrow notation. Appropriately front-loaded with active verbs. Only minor deduction for being slightly too terse given the lack of annotations and high-stakes nature 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?

Grossly insufficient for a 6-parameter mutation tool with manual/auto application modes. Description omits: the dry-run behavior (apply=false), confidence level semantics, output format, and file modification scope. No output schema exists to compensate for these omissions.

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%, establishing baseline 3. Description adds workflow context ('repeated patterns', 'suggest/apply') that aligns with the 'pattern' and 'apply' parameters, but does not elaborate on 'intent' formatting, 'minConfidence' thresholds, or 'maxFiles' limits beyond what the schema already states.

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?

States a clear workflow (search→analyze→suggest/apply) and target resource (repeated patterns across files). However, it fails to distinguish from sibling tools like 'refactor_helper', 'find_duplicates', or 'search', which also process code patterns across files.

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?

Provides no guidance on when to select this tool versus the 30+ sibling alternatives (e.g., when to use this instead of 'refactor_helper' or 'suggest_edit'). No prerequisites or conditions mentioned.

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

find_duplicatesB

Detect similar files/functions/code spans with similarity thresholds.

ParametersJSON Schema
NameRequiredDescriptionDefault
findTypeYesWhat to find: files (similar files), functions (similar functions), code (duplicate code spans)
fileNameNoFor files: name or path of file to find similar files for
symbolNoFor functions: function name to find similar functions for
filePathNoFor functions: file containing the reference function (optional)
minLinesNoFor code: minimum lines for duplicate (default: 8)
minSimilarityNoMinimum similarity threshold 0-1 (default: 0.6)
maxResultsNoMaximum results to return (default: 25)
includeContentNoInclude content analysis (default: false)
extensionsNoFile extensions to scan (default: ts,tsx,js,jsx,py)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. While 'Detect' implies read-only behavior, it does not confirm non-destructive operation, disclose performance characteristics for large codebases, or explain the scope/algorithm used for similarity matching.

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 of 8 words with zero waste. Front-loaded with the action verb 'Detect' and immediately specifies the target and method (similarity thresholds). 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?

With 9 parameters supporting three distinct operational modes (files/functions/code spans), the description is minimally viable. It does not acknowledge the conditional parameter usage pattern or describe output format, but the high schema coverage compensates partially for these gaps.

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

Parameters3/5

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

Schema coverage is 100%, establishing baseline score. The description reinforces the findType options (files/functions/code) but adds no additional semantic context about parameter interdependencies (e.g., that fileName only applies when findType='files') beyond what the schema already documents.

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?

Uses specific verb 'Detect' and clearly identifies the three target resources (files/functions/code spans) matching the enum values in the schema. However, it does not explicitly distinguish from sibling tools like 'search' or 'analyze_file' that operate on 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?

Provides no guidance on when to use this tool versus alternatives like 'search' (for exact matches) or 'cross_file_links'. Mentions 'similarity thresholds' but does not explain when similarity detection is preferred over other analysis methods.

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

formatterC

Run formatter or LLM-assisted syntax fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction: run (format code), fix (LLM-powered syntax fixes)
filesNoSpecific files to process
commandNoCustom format command
checkNoCheck only, do not modify (for run action)
difficultyNoLLM fix difficulty (for fix action)
dryRunNoPreview fixes without applying (for fix action)
maxFixesNoMaximum fixes to apply (for fix action)
timeoutNoTimeout in milliseconds

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'run' and 'fixes' but does not clarify whether files are modified in-place, if the operations are reversible, what LLM provider is used, or safety considerations. Minimal behavioral context beyond the obvious.

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

Conciseness3/5

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

Single sentence of six words is efficient with no waste, but underspecified for a tool with 8 parameters and two distinct operating modes. The brevity crosses into insufficient territory given the complexity, preventing a higher score.

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 8 parameters, dual operating modes (standard formatting vs LLM-assisted), no output schema, and no annotations, the tool requires substantial contextual support. The 6-word description is inadequate for this complexity level, leaving significant gaps in understanding tool capabilities and risks.

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%, establishing a baseline of 3. The description implies the dual-mode nature (formatting vs fixing) which aligns with the 'action' parameter enum, but adds no syntax details, format examples, or clarifying constraints beyond what the schema already 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?

States the tool runs a formatter and performs LLM-assisted syntax fixes, providing some specific verbs. However, 'formatter' largely restates the tool name, and it fails to differentiate from siblings like 'linter', 'find_and_fix', or 'refactor_helper' which likely overlap in 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?

Provides no guidance on when to use this tool versus alternatives, when to choose 'run' versus 'fix' actions, or prerequisites for execution. The description offers no 'when-not' exclusions or comparative context.

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

generate_agents_mdA

Generate AGENTS.md from project structure. useLlm=false for faster static output.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoProject root directory (default: workspace root)
outputPathNoOutput file path relative to root (default: .mcp-local-llm/AGENTS.md)
overwriteNoWhether to overwrite existing file (default: false)
useLlmNoUse LLM to enhance content with README insights (default: true). Set false for fast static generation.

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 burden of behavioral disclosure. It hints at the speed/quality trade-off via the useLlm parameter, but fails to disclose file system mutation behavior (overwriting, creating directories), idempotency, or what happens when the file already exists (though the 'overwrite' parameter implies this scenario).

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 consists of exactly two sentences with zero waste. The first sentence front-loads the core purpose (generating AGENTS.md), while the second provides a targeted usage tip for the useLlm parameter. 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 100% schema coverage and 4 optional parameters, the description adequately covers the basic invocation pattern. However, lacking an output schema and any description of return values or error conditions (e.g., what happens if the directory doesn't exist), it remains minimally viable rather than comprehensive for a file-generation 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?

With 100% schema coverage, the baseline is 3. The description adds valuable semantic context for the useLlm parameter by clarifying that false means 'faster static output' versus the schema's generic 'enhance content' description, effectively guiding the performance/quality trade-off decision.

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 specific action (Generate), the target resource (AGENTS.md), and the source data (project structure). However, it does not distinguish from the sibling tool 'generate_docs' or explain what AGENTS.md represents, leaving ambiguity about why an agent would choose this over other documentation generators.

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

Usage Guidelines3/5

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

The description provides implied usage guidance for the useLlm parameter ('useLlm=false for faster static output'), suggesting when to disable LLM enhancement for speed. However, it lacks explicit guidance on when to use this tool versus siblings like 'generate_docs' or prerequisites like requiring a project structure to analyze.

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

generate_docsC

Generate docs (jsdoc/readme/api/examples) for a file or folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile or directory to document
docTypeNoDocumentation type (default: jsdoc)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, yet the description fails to disclose whether this creates new files, modifies existing ones, overwrites content, or returns text directly. For a 'generate' tool, file system side effects are critical behavioral traits that remain undocumented.

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 efficiently front-loaded with verb and object. Slightly informal 'docs' abbreviation is acceptable, though 'documentation' would be more precise. No wasted 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?

Adequate for the simple 2-parameter schema with complete coverage, but incomplete regarding behavioral expectations. Without an output schema, the description should clarify whether results are returned inline or written to disk.

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%, establishing baseline 3. The parenthetical list '(jsdoc/readme/api/examples)' mirrors the enum values already documented in the schema, adding no semantic depth beyond what the schema provides.

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

Purpose4/5

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

The description uses a specific verb (Generate) and identifies the resource (docs) plus target (file or folder). It distinguishes from siblings like analyze_file or draft_file by specifying documentation generation, though it could explicitly contrast with generate_agents_md.

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 versus draft_file or generate_agents_md. No prerequisites or contextual triggers mentioned.

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

index_symbolsB

Build in-memory symbol index for cross-file lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootYesRoot directory to index
languagesNoLanguages to index
symbolTypesNoSymbol types to include

TDQS

B3.3/5.0
Behavior3/5

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

Mentions 'in-memory' which is crucial behavioral context given no annotations, indicating RAM-based storage. However, lacks details on index lifecycle (session duration, idempotency, replacement vs. additive), performance characteristics, or whether it blocks during execution.

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 zero waste. Front-loaded with action verb, efficiently communicates mechanism and purpose without redundancy.

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

Completeness3/5

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

Appropriate for a 3-parameter tool with full schema coverage, but gaps remain regarding state management (no output schema or annotations provided). Missing guidance on index persistence and integration with the broader analysis workflow.

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 3 parameters documented), establishing baseline 3. Description does not add parameter-specific semantics, but none are required given comprehensive schema documentation.

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?

Clear verb ('Build') and resource ('in-memory symbol index') with explicit use case ('for cross-file lookups'). Distinguishes from text search tools in sibling list, though does not explicitly name which sibling consumes this index.

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?

Provides no guidance on when to invoke this versus siblings like 'cross_file_links' or 'search', nor does it state prerequisites (e.g., whether this must be called before querying tools) 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.

linterC

Run lints, syntax validation, or LLM-assisted lint fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction: run (check only), fix (LLM-powered fixes), validate (syntax check)
filesNoSpecific files to process
commandNoCustom lint command (for run action)
autoFixNoApply linter auto-fixes without LLM (for run action)
difficultyNoLLM fix difficulty level (for fix action)
dryRunNoPreview fixes without applying (for fix action)
maxFixesNoMaximum fixes to apply (for fix action)
contentNoContent to validate (for validate action, optional)
timeoutNoTimeout in milliseconds

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 of behavioral disclosure. While it mentions 'fix' actions, it fails to disclose whether this modifies files destructively, creates backups, requires user confirmation, or produces side effects. It also omits expected return values or output behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence with no redundant words. It immediately identifies the tool's three capabilities without filler, making it appropriately sized for quick parsing while front-loading the core functionality.

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 100% schema coverage, the description is insufficient for a 9-parameter tool with conditional parameter requirements and destructive 'fix' capabilities. With no annotations and no output schema, the description should disclose safety implications of file modifications and provide higher-level guidance on the action-specific workflows, which it does not.

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

Parameters3/5

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

With 100% schema description coverage, the schema adequately documents all 9 parameters including action-specific constraints (e.g., 'for fix action'). The description lists the three operation modes (lints, validation, fixes) which map to the action enum, but adds no additional semantic context about parameter relationships or formats beyond the schema definitions.

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 provides clear verbs (run, validation, fixes) and identifies the resource (lints, syntax). It distinguishes the LLM-assisted capability, hinting at differentiation from standard formatters. However, it does not explicitly contrast with siblings like 'formatter', 'find_and_fix', or 'code_quality_analyzer' to help agents select the correct 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?

The description provides no guidance on when to use this tool versus siblings (formatter, find_and_fix, code_quality_analyzer) or when to prefer the 'run', 'fix', or 'validate' actions. There is no mention of prerequisites or conditions that would trigger selection of this tool.

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

local_code_reviewB

Privacy-preserving code review (security/performance/style/comprehensive). Hidden files require includeHidden=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesFiles to review
focusNoReview focus (default: comprehensive)
includeHiddenNoInclude hidden files/directories when collecting review targets (default: false). Hidden files are excluded unless this is true.

TDQS

B3.3/5.0
Behavior3/5

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

Discloses 'privacy-preserving' behavior (local processing) which is critical context absent from annotations. However, lacks disclosure of read-only vs destructive behavior, output format, error handling, or side effects—significant gaps given zero annotation coverage.

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

Conciseness5/5

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

Extremely concise two-clause structure with zero waste. Front-loads the privacy-preserving characteristic, follows with scope parameters, and ends with critical path parameter requirement. 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?

Adequately covers input parameters via combination of description and complete schema. However, lacks output description (no output schema exists) and omits behavioral details like error conditions or file size limits that would be expected for a complete 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?

Schema has 100% coverage establishing baseline of 3. Description repeats enum values (security/performance/style/comprehensive) and hidden files requirement already documented in schema parameter descriptions, adding minimal incremental semantic value.

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?

States specific function (privacy-preserving code review) and scopes (security/performance/style/comprehensive). The 'privacy-preserving' qualifier distinguishes intent from siblings like analyze_file or code_quality_analyzer, though it doesn't explicitly contrast when to choose this over those alternatives.

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?

Provides no guidance on when to select this tool versus sibling analysis tools (analyze_file, code_quality_analyzer, security, etc.) or prerequisites for use. No 'when-not-to-use' or alternative recommendations are included.

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

mcp_analyze_complexityC

Estimate Big-O complexity with optional detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode snippet to analyze
languageNoProgramming language (optional)
detailedNoInclude detailed breakdown (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full behavioral disclosure burden. It states the operation (estimation) but omits output format (Big-O notation string? Structured breakdown?), side effects, idempotence, error handling for invalid code, or supported language constraints.

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 terse (7 words) with no redundancy. However, given zero annotations and lack of output schema, this brevity under-serves the agent's information needs rather than efficiently organizing necessary details.

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 100% parameter coverage but no annotations and no output schema, the description fails to compensate by describing return value structure, success/failure modes, or behavioral constraints expected for a code analysis 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%, establishing baseline 3. Phrase 'optional detail' loosely references the 'detailed' boolean parameter but adds no semantic depth beyond schema descriptions 'Include detailed breakdown'.

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?

States specific action (Estimate) and subject (Big-O complexity). However, does not differentiate from sibling analysis tools like analyze_file or code_quality_analyzer, which leaves ambiguity about when to use this specific analysis 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?

Provides no guidance on when to use this tool versus alternatives (analyze_file, code_helper), nor when to set detailed=true vs false, nor when the language parameter is necessary.

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

mcp_diff_summarizerC

Summarize code diffs into concise human-readable changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
diffYesGit diff or unified diff content
formatNoOutput format (default: summary)

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 carries full disclosure burden. It only mentions output style ('concise human-readable') but omits critical behavioral traits: read-only nature, size limitations for diffs, performance characteristics, error handling for malformed diffs, and whether this utilizes AI inference or rule-based processing.

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 of seven words is efficiently front-loaded with no redundancy. However, extreme brevity leaves insufficient room for behavioral disclosure and sibling differentiation given the lack of annotations and output schema.

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?

Core function is clear and input schema is comprehensive. However, lacking annotations, output schema, and sibling differentiation, the description minimally covers requirements for an AI agent to confidently select and invoke this tool in a multi-tool environment.

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%, establishing baseline 3. The description text adds no parameter-specific guidance beyond the schema (e.g., no elaboration on expected diff formats, size limits, or when to choose 'bullet' vs 'detailed' output).

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 uses specific verb 'Summarize' and resource 'code diffs' with clear scope. However, it fails to differentiate from sibling tool 'summarize' (general-purpose), leaving ambiguity about when to choose this specialized variant over the generic one.

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 'summarize', 'analyze_impact', or 'local_code_review'. The description lacks prerequisites (e.g., requiring valid diff format) and exclusions.

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

mcp_error_explainerB

Explain stack traces/errors and likely fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
errorYesError message or stacktrace
languageNoProgramming language (optional)
contextNoAdditional context about the code (optional)

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 carries full burden. While 'explain' implies read-only operation, it fails to specify output format, whether external APIs are called, rate limits, or what 'likely fixes' entails. No disclosure of side effects or operational 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?

Extremely concise at 9 words. Front-loaded with action and target. No redundant or filler text; every word serves the definition.

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 simple 3-parameter flat schema with full coverage, description is minimally sufficient for invocation. However, absence of output schema means description should ideally specify return format, which it does not.

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 has 100% description coverage, establishing baseline of 3. Description adds no parameter-specific guidance (e.g., expected format for 'error', valid values for 'language') beyond what schema already provides.

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

Purpose4/5

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

States specific action ('Explain') and target ('stack traces/errors and likely fixes') clearly. However, lacks explicit differentiation from sibling tools like 'code_helper' or 'find_and_fix' that might also handle errors.

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?

Provides no guidance on when to use this tool versus alternatives (e.g., 'find_and_fix' which might actually modify code, or 'analyze_file' for static analysis). No prerequisites or exclusions mentioned.

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

mcp_healthB

Health/diagnostics. Healthy when any backend is available. format=dense gives compact status. includeDetails adds routing/cache stats and redacted errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeDetailsNoInclude extended details (cache/queue stats, recent tool calls, routing logs/stats) (default: false)
formatNoOutput format: compact (paths only), dense (minimal), detailed (full), json (raw)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It successfully explains the healthy state condition and reveals what data 'includeDetails' adds (routing/cache stats, redacted errors). However, it lacks details on error handling, caching behavior, or whether the check is synchronous/blocking.

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

Conciseness4/5

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

The description is efficiently structured with four concise statements: category definition, health criteria, and two parameter explanations. Every sentence earns its place with zero redundancy, though the opening fragment 'Health/diagnostics.' is slightly isolated from the flowing sentences that follow.

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 2-parameter diagnostic tool with no output schema, the description adequately covers the essential behavioral and parameter semantics. However, it should ideally describe what the tool returns (status object, string, etc.) since no output schema exists to document the response structure.

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

Parameters4/5

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

With 100% schema coverage, the baseline is 3. The description adds valuable semantic context: 'format=dense gives compact status' maps the enum value to its effect, and 'includeDetails adds...redacted errors' provides specific content information not detailed in the schema's generic 'extended details' 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 identifies this as a health/diagnostics tool and defines what constitutes a healthy state ('when any backend is available'). It effectively distinguishes itself from code-analysis siblings by specifying an infrastructure monitoring purpose, though the initial fragment 'Health/diagnostics' is slightly telegraphic.

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 explicit guidance on when to invoke this tool versus alternatives, nor does it mention prerequisites or conditions where it should be avoided. While the diagnostic nature makes some usage obvious, there is no specific 'use this when...' instruction.

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

mcp_plan_implementationC

Turn a feature request into concrete implementation steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature description or requirement
codebaseNoBrief description of existing codebase (optional)
constraintsNoTechnical constraints (optional)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full disclosure burden. While it states the transformation intent, it fails to clarify whether this creates/modifies files (destructive) or returns analysis (read-only), what format the steps take, or failure modes for vague feature descriptions.

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 of seven words. The action and resource are front-loaded. No redundancy or filler content—every word 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?

With no output schema and no annotations, the description must compensate by describing the output format and side effects. It does neither. Additionally, given the crowded sibling namespace of code tools, it should clarify that this outputs a plan rather than implements code.

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%, establishing a baseline of 3. The description mentions 'feature request' which aligns with the 'feature' parameter, but adds no syntax details, format constraints, or semantic relationships between parameters (e.g., how constraints affect the planning) beyond what the schema already provides.

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

Purpose4/5

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

The description uses a specific verb ('Turn') and identifies both the input resource ('feature request') and output ('concrete implementation steps'). However, it does not differentiate from sibling tools like code_helper, draft_file, or refactor_helper that might also generate implementation content.

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 code_helper or draft_file. No mention of prerequisites, constraints, or when this planning approach is preferred over direct implementation suggestions.

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

mcp_summarize_logsC

Condense logs and highlight likely root causes.

ParametersJSON Schema
NameRequiredDescriptionDefault
logsYesLog output to summarize
focusNoFocus area (default: all)
maxLinesNoMaximum lines to process (default: 500)

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 carries full burden for behavioral disclosure. It fails to indicate whether the tool is read-only (likely), what format the output takes, or any length/rate constraints beyond the maxLines parameter. Only the core transformation is described.

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 at seven words with no filler. Front-loaded with the primary action. However, brevity comes at the cost of omitting behavioral and contextual details that would aid agent selection.

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 simple 3-parameter text processing tool with no output schema, but minimal. The description covers the primary function but lacks disclosure of output format, safety characteristics, or error handling that would be expected given the absence of annotations.

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%, providing detailed descriptions for all three parameters. The description mentions 'Condense logs' which maps to the 'logs' parameter but adds no additional semantic detail beyond the schema definitions. Baseline 3 is appropriate given complete 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?

States specific actions (condense, highlight) and target resource (logs). The 'highlight likely root causes' clause effectively distinguishes it from the generic 'summarize' sibling and 'mcp_error_explainer' by indicating diagnostic intent.

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?

Provides no explicit guidance on when to select this tool versus siblings like 'summarize', 'mcp_error_explainer', or 'analyze_file'. While 'root causes' implies troubleshooting contexts, it does not define prerequisites or exclusions.

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

mcp_translate_codeB

Translate code between languages with structure preservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code to translate
sourceLanguageYesSource programming language
targetLanguageYesTarget programming language
preserveCommentsNoKeep comments in output (default: true)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full behavioral disclosure burden. It mentions 'structure preservation' as a key trait, but lacks critical details: it does not explain what 'structure' encompasses (AST, control flow, comments), error handling behavior for unsupported languages, output format, or whether the translation attempts functional equivalence.

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 zero waste. Front-loaded with the primary verb ('Translate'), specifies the domain ('code between languages'), and appends the key differentiator ('structure preservation'). No filler words or redundant phrases.

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?

With no output schema and no annotations, the description should ideally disclose the return value format and success/failure behavior. The 100% input schema coverage handles parameter documentation, but for a complex AI translation operation, the description remains thin regarding output guarantees and supported language constraints.

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, establishing a baseline of 3. The description adds minimal semantic value beyond the schema—it implies the nature of translation is structural, which contextualizes the `preserveComments` parameter, but provides no guidance on language identifier formats (e.g., 'python' vs 'py') or expected code length limits.

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 core action (translate) and domain (code between languages) and adds a specific quality attribute (structure preservation). However, it fails to differentiate from sibling tools like `refactor_helper` or `code_helper` that also manipulate code structure.

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 select this tool versus the numerous sibling code manipulation tools (e.g., `refactor_helper`, `formatter`, `suggest_refactoring`). No prerequisites, limitations, or exclusion criteria are mentioned.

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

orchestrationB

Manage CLI orchestration settings. Use simulate for read-only routing prediction; use logs for runtime routing evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction to perform. simulate is read-only and does not change server state.
backendsNoCLI backends to enable (for action=set_backends)
autoVerifyNoEnable automatic verification (for action=set_config)
scoreThresholdNoVerification score threshold (1-10) (for action=set_config)
maxIterationsNoMax verification iterations (1-10) (for action=set_config)
pureModeNoEnable pure CLI mode (for action=set_config)
includeRoutingStatsNoInclude routing logs and stats in responses (status/logs)
toolNameNoTool name to simulate routing for (action=simulate)
preferredBackendNoOptional backend override for simulation only (action=simulate)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Mentions 'simulate' is read-only but fails to disclose behavioral traits of mutation actions (enable, disable, set_backends, set_config) including side effects, persistence, or reversibility.

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

Conciseness5/5

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

Two well-structured sentences with zero waste. First sentence establishes purpose, second provides actionable guidance. Appropriately sized for the complexity.

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?

Brief for a 9-parameter multi-action configuration tool with mutation capabilities. No output schema exists, yet description does not explain return values or response structure for status/logs queries.

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 has 100% coverage with detailed parameter descriptions. Description adds context about 'simulate' and 'logs' actions but does not clarify relationships between parameters (e.g., which params apply to which actions) beyond schema constraints.

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?

States specific verb (manage) and resource (CLI orchestration settings) and distinguishes internal actions. However, it fails to differentiate from sibling 'cli_orchestrate', creating potential selection confusion.

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?

Provides specific guidance for 'simulate' (read-only prediction) and 'logs' (runtime evidence) actions. Lacks high-level guidance on when to choose this tool over 'cli_orchestrate' or prerequisites for configuration changes.

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

refactor_helperC

Naming suggestions and extraction hints for selected code.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: suggest_names (better variable/function names), extract_function (suggest function extraction)
codeYesCode snippet to process
languageNoProgramming language (optional)
styleNoFor suggest_names: naming convention (default: auto)
selectionNoFor extract_function: specific code portion to extract (optional)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. While 'suggestions' and 'hints' imply read-only behavior, the description does not explicitly state that this tool does not modify files, does not describe the return format (text suggestions vs structured data), or disclose performance characteristics for large code inputs.

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 7-word sentence with no repetition or tautology. Front-loaded with key verbs ('Naming suggestions', 'extraction hints'). However, brevity contributes to under-specification given the tool's dual-mode complexity.

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?

With 100% schema coverage and no output schema, the description adequately names the capabilities but insufficiently explains the relationship between action types and conditional parameters (style/selection). Lacks guidance on interpreting results or handling the optional language parameter.

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%, establishing baseline 3. Description loosely maps 'Naming suggestions' to suggest_names action and 'extraction hints' to extract_function, but adds no syntax details, parameter dependencies (e.g., style only applies to suggest_names), or formatting guidance beyond the schema.

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

Purpose4/5

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

Clear verb+resource structure: provides 'naming suggestions' and 'extraction hints' for code. Specifies two distinct capabilities (suggest_names and extract_function actions). However, fails to differentiate from sibling 'suggest_refactoring' which sounds functionally similar.

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 siblings like 'suggest_refactoring' or 'code_helper'. No explanation of when to choose suggest_names vs extract_function actions, or how the optional selection parameter relates to extraction.

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

regex_helperB

Explain regex or generate regex from natural language.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: explain (explain pattern), generate (create from description)
patternNoFor explain: regex pattern to explain
descriptionNoFor generate: natural language description of what to match
examplesNoFor generate: example strings that should match (optional)
flavorNoRegex flavor (default: javascript)

TDQS

B3.3/5.0
Behavior2/5

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

Zero annotations are provided, so the description carries full disclosure burden. It fails to state whether this tool is read-only, what output format to expect (string explanation? JSON?), error conditions, or side effects. For a computation tool with no annotations, this is a significant transparency gap.

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

Conciseness5/5

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

Extremely efficient single sentence with zero redundancy. Both primary verbs ('Explain', 'generate') are front-loaded, immediately communicating capability without waste.

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

Completeness3/5

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

With rich schema coverage (100%) and clear parameter descriptions, the description doesn't need to document individual params. However, given the lack of output schema and zero annotations, it should disclose return behavior or computational nature. It meets minimum adequacy but leaves gaps regarding output expectations.

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%, establishing a baseline of 3. The description mentions the two action modes which correspond to the 'action' enum and conditional parameter usage, but adds no syntax details, example formats, or semantic constraints beyond what the schema already documents.

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 dual function (explain or generate) and the target resource (regex). However, it doesn't explicitly differentiate from sibling 'code_helper' which might handle regex as part of general coding tasks, stopping it from being a 5.

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 bifurcation into 'explain' vs 'generate' implies usage patterns, but there's no explicit guidance on when to choose this over 'code_helper' or prerequisites (e.g., needing a pattern to explain). It meets the 'implied usage' threshold but lacks explicit when-to-use/when-not-to-use statements.

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

securityC

Security actions: scan, risk, redact, fix. scan may return coverage guidance for narrow scope; use recommended include globs and includeHidden=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: scan (find secrets/vulnerabilities), risk (analyze content risk), redact (preview redaction), fix (auto-fix detected secrets)
rootNoRoot directory to scan (action=scan|fix). Must be a directory; use workspace/search to discover valid roots.
scanTypeNoType of scan (for action=scan|fix)
outputFormatNoOutput format (for action=scan)
includeNoGlob patterns to include (e.g., ["**/*.ts","**/*.py"]). If omitted, scan auto-detects project type and applies defaults.
excludeNoFile patterns to exclude from scan (e.g., ["*_test.py", "*.spec.ts"]). Applied after include filter.
skipTestsNoSkip test directories (tests/, test/, __tests__/, spec/) to reduce noise. Default: true
includeHiddenNoInclude hidden files/directories (default: false). By default, hidden files and common noise dirs (node_modules, venv, .git) are skipped. Set true to scan hidden files like .env, .secret.
failOnEmptyNoFail when zero files are scanned. Default: true in CI, false in local runs.
applyNoApply fixes immediately (for action=fix, default: false)
contentNoContent to analyze/redact (for action=risk|redact)
contextNoContent context type (for action=risk)
strictModeNoStrict mode for risk analysis (for action=risk)
showContextNoShow context around redacted content (for action=redact)
contextLinesNoNumber of context lines to show (for action=redact)
formatNoOutput format: compact (paths only), dense (minimal), detailed (full), json (raw)

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 full behavioral disclosure burden. It mentions scan may return coverage guidance, but critically fails to disclose that the fix action with apply=true performs destructive file modifications, or that redact is preview-only (per schema) vs destructive. No mention of auth requirements or rate limits.

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

Conciseness4/5

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

Two sentences with no filler. Front-loaded with action list. However, extreme brevity leaves insufficient room to cover 16 parameters and 4 distinct action modes adequately.

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?

Severely underspecified for a 16-parameter multi-modal tool. With no annotations, no output schema, and four distinct action modes (file-based scanning vs content analysis vs redaction preview vs auto-fixing), the two-sentence description leaves critical gaps in explaining action-specific requirements, returns, and side effects.

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%, establishing a baseline of 3. The description references 'include globs' and 'includeHidden=true' which map to specific parameters, but adds no semantic detail beyond the schema's own descriptions (e.g., no guidance on trade-offs between outputFormat choices or scanType selection).

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 enumerates four specific security actions (scan, risk, redact, fix) and identifies the domain as 'Security actions'. It specifies the resource type and operations available, though it lacks explicit differentiation from siblings like find_and_fix or analyze_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?

Provides specific guidance only for the scan action (using include globs and includeHidden=true for narrow scope), but offers no guidance on when to use risk vs scan, when to use fix vs redact, or when to choose this tool over sibling tools like find_and_fix or analyze_file.

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

suggest_editB

Propose targeted code edits from intent. apply=true auto-applies only high-confidence edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesThe file to suggest edits for
intentYesWhat change do you want to make?
contextNoAdditional context for the edit (optional)
maxSuggestionsNoMaximum suggestions to return (default: 5)
applyNoApply edits automatically if confidence >= minConfidence (default: false)
minConfidenceNoMinimum confidence 0-1 to auto-apply edits (default: 0.8)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, description carries full burden. It adequately discloses the critical safety mechanism (auto-apply only with high-confidence when apply=true), implying default read-only behavior. However, lacks details on output format, file modification risks, or what 'confidence' means.

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?

Two sentences, front-loaded with purpose followed by behavioral warning. Efficient length with minimal waste, though inline parameter reference ('apply=true') slightly blurs descriptive vs. instructional tone.

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 6-parameter tool with write capabilities and no output schema, coverage is minimal viable. Mention of auto-apply safety is essential, but missing: return value description, backup behavior, conflict handling, and explicit read vs. write distinction.

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%, establishing baseline 3. Description mentions 'apply=true' and 'high-confidence', adding semantic connection to the apply and minConfidence parameters, but does not elaborate on syntax or intent clarification beyond schema definitions.

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?

States clear verb+resource ('Propose targeted code edits') and input source ('from intent'). However, 'targeted' is vague and it fails to distinguish from siblings like find_and_fix, refactor_helper, or draft_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?

Provides no guidance on when to use this tool versus the numerous sibling editing tools (find_and_fix, refactor_helper, etc.). Only mentions the apply flag behavior, not selection criteria.

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

suggest_refactoringB

Suggest refactors with tradeoffs and safer alternatives.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile to analyze for refactoring

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It implies a read-only, analytical behavior ('suggest' rather than apply, plus 'tradeoffs'), but lacks explicit safety disclosure, output format details, or side effect warnings that would help an agent understand execution impact.

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 at 6 words, front-loaded with the action verb. While efficient, the brevity is arguably excessive given the crowded tool ecosystem with many similar refactoring-related siblings.

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 high complexity (many similar siblings like 'refactor_helper', 'suggest_edit', 'find_and_fix'), lack of annotations, and absence of an output schema, the 6-word description is insufficient to help an agent confidently select this tool over alternatives.

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

Parameters3/5

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

With 100% schema coverage ('path' is fully described as 'File to analyze for refactoring'), the baseline score is 3. The description adds no parameter-specific semantics, but none are required given the complete schema documentation.

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 uses a specific verb ('Suggest') and resource ('refactors'), and adds distinguishing detail by mentioning 'tradeoffs and safer alternatives' which implies an analytical comparison function. However, it does not explicitly differentiate from similar siblings like 'refactor_helper' or 'suggest_edit'.

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 like 'refactor_helper', 'suggest_edit', or 'find_and_fix'. The phrase 'tradeoffs and safer alternatives' hints at analysis vs. application, but lacks clear when/when-not conditions.

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

summarizeB

Summarize a file, folder, or repo. Use action=path|repo. Prefer compact mode to keep context small.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: path (file/directory), repo (entire repository)
pathNoPath to summarize (file or directory, for action=path)
rootNoRoot directory for repo summary (for action=repo)
modeNoSummary detail level (default: compact)

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 carries full burden. Mentions 'keep context small' hinting at output size constraints, but fails to disclose read/write nature, output format (structure/syntax), side effects, or failure modes.

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 compact two-sentence structure with no redundancy. Front-loaded with purpose. However, brevity sacrifices necessary behavioral details given zero annotations.

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?

Inadequate for a 4-parameter tool with no annotations and no output schema. Missing: output format description, safety characteristics (read-only?), semantic meaning of 'compact' vs 'extended' outputs, and guidance on path vs root exclusivity.

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 has 100% coverage with complete enum descriptions. Description reinforces action values and recommends mode, but adds minimal semantic depth beyond already-documented schema fields.

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?

States specific action (summarize) and clear targets (file, folder, repo). Implicitly distinguishes from sibling 'mcp_summarize_logs' by targeting code repositories vs logs, though could better differentiate from 'analyze_file' or 'codebase_qa'.

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?

Provides concrete parameter guidance ('Use action=path|repo') and preference advice ('Prefer compact mode'), but lacks explicit when-to-use vs alternatives like 'analyze_file' or 'codebase_qa', and no prerequisites mentioned.

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

todosC

Find or implement TODO/FIXME markers with prioritization options.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: find (scan and categorize), implement (LLM-powered fixes)
rootYesRoot directory to scan
groupByNoHow to group results (find action)
includeContextNoInclude surrounding code context (find action)
difficultyNoDifficulty level of TODOs to implement (implement action)
todoTypesNoTypes of TODOs to process (default: TODO, FIXME)
dryRunNoPreview changes without applying (implement action)
filesNoSpecific files to process
maxResultsNoMaximum TODOs to return/implement (default: 100 for find, 5 for implement)

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 carries the full burden of behavioral disclosure. It fails to indicate that "implement" mode modifies files destructively, that operations are LLM-powered (per schema), or what return format to expect. Only "prioritization options" hints at capabilities without explaining behavior.

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

Conciseness4/5

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

The single sentence is efficiently structured and front-loaded with the core action and target. However, for a 9-parameter dual-mode tool, it may be overly terse at the expense of necessary behavioral context, though it avoids fluff.

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, dual operational modes (read vs destructive write), and zero annotations, the description is insufficient. It omits critical safety warnings for "implement" mode, doesn't clarify output expectations, and fails to bridge the gap between the simple summary and the complex schema options.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The description adds minimal semantic value—"prioritization options" loosely maps to `difficulty` and `groupBy` parameters, but doesn't explain syntax, defaults (e.g., maxResults differs by action), or the conditional nature of params like `dryRun` (implement-only).

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 uses specific verbs ("Find or implement") and identifies the exact resource ("TODO/FIXME markers"), clearly distinguishing this from general refactoring siblings like `refactor_helper` or `find_and_fix`. However, it doesn't explain what "implement" entails (LLM-powered fixes) or how it differs from the `find_and_fix` sibling.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like `find_and_fix` or `suggest_refactoring`, nor does it explain when to choose "find" versus "implement" action modes or prerequisites like workspace setup.

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

workspaceB

Workspace metadata/snapshot/explore helper. Use for quick structure discovery before deeper tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesMode: metadata (file info), snapshot (directory structure for project overview), explore (LLM-powered exploration)
pathYesFile or directory path. Use "." for workspace root.
maxDepthNoMaximum directory depth for snapshot (default: 10, use 2-3 for quick overview)
includeHiddenNoInclude hidden files/directories in snapshot (default: false, set true to find AGENTS.md in .mcp-local-llm/)
extensionsNoFilter by file extensions (snapshot mode)
questionNoSpecific question about the directory (explore mode)
maxEntriesNoMaximum entries to analyze (explore mode)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions three modes but fails to explain behavioral differences between metadata (file info), snapshot (directory tree), and explore (LLM-powered). It omits whether operations are read-only, performance characteristics, or output format expectations for each mode.

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

Conciseness5/5

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

Two sentences with zero waste: first defines the tool's identity, second provides usage context. Every word earns its place. Front-loaded with the key concept (workspace structure discovery) immediately.

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 7 parameters with mode-specific applicability (question/maxEntries only for explore; maxDepth/extensions only for snapshot) and zero annotations/output schema, the description inadequately guides mode selection. The multi-modal complexity warrants explanation of which parameters apply to which modes and how outputs differ, which is absent here.

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 with clear mode-specific documentation (e.g., 'Maximum directory depth for snapshot'). The description mentions the three modes which reinforces the enum, but adds no syntax guidance, parameter relationships, or examples beyond what the schema already provides. Baseline 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 identifies the resource (workspace) and core actions (metadata/snapshot/explore) aligning with the enum values. It distinguishes from siblings via 'before deeper tools,' signaling this is preliminary/structural vs. analytical tools like analyze_file. However, 'helper' is vague and doesn't fully convey the three distinct behavioral modes.

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 phrase 'Use for quick structure discovery before deeper tools' provides implied sequencing (when to use), suggesting this precedes analysis-heavy siblings. However, it lacks explicit 'when not to use' guidance and doesn't name specific alternative tools from the sibling list for when users need deeper analysis.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 36 tool updatesv1.0.0
    • First observedagent_task
    • First observedanalyze_file
    • First observedanalyze_impact
    • First observedanalyze_test_gaps
    • First observedcli_orchestrate
    • First observedcode_helper
    • First observedcode_quality_analyzer
    • First observedcodebase_qa
    • First observedcross_file_links
    • First observeddiscover_tools
    • First observeddraft_file
    • First observedfind_and_fix
    • First observedfind_duplicates
    • First observedformatter
    • First observedgenerate_agents_md
    • First observedgenerate_docs
    • First observedindex_symbols
    • First observedlinter
    • First observedlocal_code_review
    • First observedmcp_analyze_complexity
    • First observedmcp_diff_summarizer
    • First observedmcp_error_explainer
    • First observedmcp_health
    • First observedmcp_plan_implementation
    • First observedmcp_summarize_logs
    • First observedmcp_translate_code
    • First observedorchestration
    • First observedrefactor_helper
    • First observedregex_helper
    • First observedsearch
    • First observedsecurity
    • First observedsuggest_edit
    • First observedsuggest_refactoring
    • First observedsummarize
    • First observedtodos
    • First observedworkspace

TDQS

C2.9/5.0
Disambiguation3/5

The tool set has clear functional groupings (e.g., analysis, code generation, refactoring), but there is significant overlap in purpose. For example, 'analyze_file', 'summarize', and 'codebase_qa' all involve analyzing or summarizing code content, which could lead to agent confusion. Similarly, 'code_quality_analyzer', 'linter', and 'security' tools all perform code quality checks with blurred boundaries.

Naming Consistency3/5

Naming conventions are mixed, with some tools using verb_noun patterns (e.g., 'analyze_file', 'generate_docs', 'suggest_edit') and others using noun_verb or other styles (e.g., 'code_helper', 'formatter', 'todos'). There is inconsistency in prefix usage, as some tools start with 'mcp_' while others do not, and abbreviations like 'qa' in 'codebase_qa' deviate from the general pattern.

Tool Count2/5

With 36 tools, the count is excessive for a local LLM server, leading to a bloated and overwhelming interface. This many tools suggests poor scoping, as many functions could be consolidated (e.g., multiple analysis tools) or omitted without losing core functionality. It exceeds typical well-scoped servers (3-15 tools) and risks usability issues.

Completeness4/5

The tool set covers a broad range of code-related tasks, including analysis, generation, refactoring, and quality checks, with no obvious major gaps for a local LLM server. However, minor gaps exist, such as the lack of a dedicated tool for version control operations (e.g., git integration) or real-time collaboration features, which could enhance the server's utility.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A local-first MCP server that provides AI agents with safe codebase access through file discovery, hybrid lexical-semantic search, and project introspection. It features durable local memory and semantic indexing while keeping all data and processing entirely on your local machine.
    74
    29
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Ultra-lightweight, local-first MCP server for AI-powered code intelligence, providing AST-based analysis and 20+ tools while ensuring zero data leakage.
    544
    10
    MIT

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/rodhayl/mcpLocalHelper'

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