Skip to main content
Glama
ellmos-ai

ellmos-codecommander-mcp

ellmos CodeCommander MCP Server

🇩🇪 Deutsche Version

Part of the ellmos-ai family.

License: MIT npm version CI Tests Tests Node.js Platform Privacy Security Security SLA Third-Party Audited Marketing Log Ecosystem Umbrella LLM Indexing

NOTE

For AI Assistants & LLMs: Machine-readable indexing documentation for this repository is available at llms.txt. The server exposes 23 specialized tools under the cc_ prefix.

A developer-focused Model Context Protocol (MCP) server that gives AI assistants code analysis, structural Python editing, JSON repair, encoding fix, import organization, format conversion, file diff, and regex testing capabilities.

23 tools optimized for developers - the coding companion to FileCommander.

Discoverability: Published on npm as ellmos-codecommander-mcp, visible on Glama, and prepared for the official MCP Registry with server.json under io.github.ellmos-ai/ellmos-codecommander-mcp. Registry and directory manifests server.json, glama.json, smithery.yaml, and llms.txt are maintained in full parity.


Quick Navigation

  1. Overview & Highlights

  2. Target Personas & Discoverability

  3. Comparative Matrix vs. Alternatives

  4. Architecture & System Overview

  5. Safe Structural Edit Lifecycle

  6. Governance & Runtime Invariants

  7. Developer Tool Suite (23 Tools)

  8. Shared Tools with FileCommander

  9. Installation & Quickstart

  10. Configuration & MCP Client Setup

  11. Multi-Language Support (i18n)

  12. Development & Quality Assurance

  13. Sibling Ecosystem & Partner Matrix

  14. Third-Party Licenses & Transparency

  15. Security Policy & Response SLA

  16. Changelog & Version History

  17. License & Liability Notice


Related MCP server: mcp-dev-utils

1. Overview & Highlights

While FileCommander handles filesystem operations and system processes, CodeCommander focuses specifically on code intelligence and developer precision:

  • Python, JavaScript & TypeScript Analysis — Extension-dispatched classes, methods, functions, complexity metrics, and import analysis; JS/TS analysis is regex-based and read-only.

  • BACH-derived Python Helpers — Runtime import diagnostics, structural edits, indentation checks, and template-based code generation.

  • Explicit Language Gates — Python-only path tools reject non-.py files explicitly instead of producing Python-shaped false findings.

  • JSON Repair & Validation — Automatically repair broken JSON (trailing commas, single quotes, BOM, comments) with precise error locations.

  • PEP 8 Import Organization — Sort and deduplicate Python imports per PEP 8 guidelines.

  • Encoding & Mojibake Repair — Fix Mojibake and double-encoded UTF-8 (27+ patterns) and broken German characters (70+ umlaut patterns).

  • Universal Format Conversion — Convert between JSON, CSV, INI, YAML, TOML, XML, and TOON formats losslessly.

  • Unified File Diff — Compare two files with LCS unified diff output and configurable context lines.

  • Regex Testing Workbench — Test regular expressions with match details, capturing groups, and replace previews.

  • Markdown Export — Convert Markdown to standalone HTML or PDF with syntax-styled code blocks, tables, and blockquotes.

  • Cross-Platform Native — Full support on Windows, macOS, and Linux.


2. Target Personas & Discoverability

CodeCommander MCP is engineered to address key bottlenecks in modern autonomous AI coding, local multi-agent swarms, and safety-compliant developer tooling:

Target Audience & Stakeholder Personas

  • [PERSONA-1] Autonomous AI Coding Agents & LLM Pair-Programmers

    • Profile: Agents such as Claude Code, Antigravity, Codex, Cursor, and Windsurf performing automated code refactoring, test repair, and feature development.

    • Pain Point: Standard LLM code outputs frequently suffer from hallucinated imports, broken indentation in complex Python control flows, invalid JSON configs, or syntax corruption during naive chunk edits.

    • Solution: Native AST extraction (cc_extract_classes, cc_analyze_methods), preview-safe structural editing with unified diffs (cc_python_structural_edit), automatic indentation checking (cc_check_indentation), and deterministic JSON repair (cc_fix_json).

  • [PERSONA-2] Full-Stack & Python/TypeScript Software Engineers

    • Profile: Developers maintaining polyglot projects, CLI utilities, and data pipelines requiring cross-language AST analysis and rapid configuration format transitions.

    • Pain Point: Tedious manual format conversions (JSON ↔ YAML ↔ TOML ↔ TOON ↔ XML), broken German umlauts or Mojibake from legacy encodings, and circular runtime imports.

    • Solution: Universal format converter (cc_convert_format), non-destructive encoding and umlaut repair (cc_fix_encoding, cc_fix_umlauts), isolated runtime import diagnostics (cc_runtime_import_diagnose), and interactive regex tester (cc_regex_test).

  • [PERSONA-3] Enterprise AI Safety, SecOps & Code Governance Officers

    • Profile: Security auditors, compliance engineers, and enterprise architects evaluating MCP toolchains for developer workstations and CI/CD runners.

    • Pain Point: Risk of confidential code leakage via cloud telemetry, unauthorized process elevation, or destructive in-place file overwrites by AI assistants.

    • Solution: 100% Zero-Egress local stdio transport (INV-LOCAL-01), unprivileged user-space execution (INV-SEC-02), mandatory timestamped .bak backups before mutations (INV-BAK-04), dry-run diff preview safety (INV-PREV-03), and isolated subprocess timeouts (INV-ISOL-05).

  • [PERSONA-4] Open-Source Ecosystem Architects & MCP Tool Developers

    • Profile: Maintainers building, publishing, and indexing MCP servers across Glama, Smithery, npm, and GitHub.

    • Pain Point: Fragmented directory manifests, missing third-party license disclosures, and lack of machine-readable indexing context for AI agents.

    • Solution: 100% manifest parity across package.json, server.json, glama.json, smithery.yaml, and llms.txt, verified by automated contract tests and a complete open-source license audit (THIRD_PARTY_LICENSES.md).

High-Intent Search Queries (SEO & Discoverability)

  • mcp code analysis server

  • model context protocol python ast tools

  • mcp server codecommander

  • python structural edit mcp

  • claude code developer mcp server

  • mcp json repair and encoding fix

  • local-first mcp tools for coding

  • mcp python runtime import diagnose

  • format converter mcp json yaml toml toon

  • offline code intelligence mcp server


3. Comparative Matrix vs. Alternatives

The following matrix compares CodeCommander MCP against alternative developer tooling approaches across 10 critical operational dimensions:

Dimension / Capability

Generic File MCP

Raw Shell / Ad-Hoc Scripts

Heavyweight Cloud LLMOps

Traditional IDE Plugins

ellmos CodeCommander MCP

1. AST Code Intelligence

None (raw text reads)

Requires custom python scripts

Cloud parser required

Built-in (GUI only)

Native AST & regex JS/TS (cc_analyze_code)

2. Safe Structural Edit Preview

None (blind overwrite)

High risk (sed/awk)

Cloud gateway dependent

Interactive dialog

Preview-safe diffs (mode: "preview")

3. Mandatory Pre-Mutation Backups

None

Manual scripting

None

Local history (opaque)

Automatic .bak creation (INV-BAK-04)

4. Runtime Import Diagnostics

None

Unsafe direct execution

None

Partial / static only

Isolated subprocess + timeout (INV-ISOL-05)

5. Encoding & Mojibake Recovery

None

Fragile iconv calls

None

Basic encoding switch

27+ Mojibake, 70+ Umlauts (cc_fix_encoding)

6. Universal Format Conversion

None

Multiple disparate CLI tools

SaaS conversion API

Multi-plugin setup

Lossless 7 formats (JSON/YAML/TOML/XML/TOON)

7. Diff Engine & Regex Workbench

None

Basic diff/grep

None

GUI panel only

LCS Unified Diff & Regex with groups/replace

8. Local-First & Zero-Egress

Host-dependent

Local

Cloud egress / telemetry

Often connects to cloud

100% Offline Stdio JSON-RPC (INV-LOCAL-01)

9. Multi-Language (i18n) Support

English only

None

English only

Language packs

Dynamic 6 languages (cc_set_language)

10. Registry & Manifest Parity

Minimal

None

Proprietary

Marketplace specific

npm, Glama, Smithery, MCP Registry, llms.txt


4. Architecture & System Overview

graph TD
    Client["MCP Clients<br/>(Claude Desktop / Claude Code / Cursor / Windsurf)"]
    Server["ellmos CodeCommander MCP Server<br/>(stdio transport • Node.js)"]

    subgraph Tools["Developer Tool Suites (23 Tools)"]
        subgraph CodeIntel["Code & Python Intelligence"]
            C1["cc_analyze_code"]
            C2["cc_analyze_methods"]
            C3["cc_extract_classes"]
            C4["cc_check_indentation"]
            C5["cc_generate_python_code"]
            C6["cc_python_structural_edit"]
        end

        subgraph Imports["Import Management"]
            I1["cc_organize_imports"]
            I2["cc_diagnose_imports"]
            I3["cc_runtime_import_diagnose"]
        end

        subgraph Repair["Text, JSON & Encoding Repair"]
            R1["cc_fix_json"]
            R2["cc_validate_json"]
            R3["cc_fix_encoding"]
            R4["cc_cleanup_file"]
            R5["cc_fix_umlauts"]
        end

        subgraph Utility["Utilities & Conversion"]
            U1["cc_convert_format (JSON/CSV/YAML/TOML/XML/TOON)"]
            U2["cc_diff_files (Unified Diff)"]
            U3["cc_regex_test (Regex Tester)"]
            U4["cc_scan_emoji"]
            U5["cc_generate_licenses"]
        end

        subgraph Export["Export & i18n"]
            E1["cc_md_to_html"]
            E2["cc_md_to_pdf"]
            E3["cc_set_language"]
            E4["cc_get_language"]
        end
    end

    Client -->|Stdio JSON-RPC| Server
    Server --> CodeIntel
    Server --> Imports
    Server --> Repair
    Server --> Utility
    Server --> Export

5. Safe Structural Edit Lifecycle

sequenceDiagram
    autonumber
    actor Developer as Developer / LLM Client
    participant Stdio as CodeCommander Server (stdio)
    participant Core as AST & Code Intelligence Core
    participant Disk as Local Filesystem

    Developer->>Stdio: cc_python_structural_edit (mode: "preview" / "apply")
    Stdio->>Core: Parse Python AST & Validate Syntax
    alt Validation Failed
        Core-->>Stdio: Syntax / Parsing Diagnostics
        Stdio-->>Developer: Error Diagnostics & Line References
    else Validation Passed
        Core->>Disk: Read Original File
        Core->>Core: Compute Unified Structural Diff
        alt Mode == "preview"
            Core-->>Stdio: Return Diff Preview (Zero File Mutations)
            Stdio-->>Developer: Structural Diff Preview
        else Mode == "apply"
            Core->>Disk: Create .bak Backup File
            Core->>Disk: Write Modified AST Code In-Place
            Core-->>Stdio: Confirmation with Applied Diff & Backup Path
            Stdio-->>Developer: Success Payload
        end
    end

6. Governance & Runtime Invariants

ellmos-codecommander-mcp guarantees 10 core architectural and runtime invariants across all platforms:

Invariant ID

Classification

Architectural Guarantee & Verification Mechanism

INV-LOCAL-01

Zero-Egress Privacy

Pure local stdio JSON-RPC transport; zero network telemetry, cloud beacons, or remote egress.

INV-SEC-02

Unprivileged Security

Standard user-space execution (RunAsInvoker) requiring zero root or administrative elevation.

INV-PREV-03

Preview Safety

Structural edits default to non-mutating preview mode (mode: "preview") with unified diff generation.

INV-BAK-04

Automatic Backups

File modifications automatically generate timestamped .bak files before in-place disk writes.

INV-ISOL-05

Subprocess Isolation

Python runtime import diagnosis executes in isolated, timeout-bounded child processes.

INV-GATE-06

Explicit Language Gates

Python-specific path tools reject non-.py files explicitly; JS/TS analysis is read-only and regex-based.

INV-ENC-07

Non-Destructive Encoding

Repaired text restores 27+ Mojibake and 70+ German umlaut patterns without loss or binary corruption.

INV-FMT-08

Format Interchange Parity

Lossless format conversions across JSON, CSV, INI, YAML, TOML, XML, and TOON with schema preservation.

INV-I18N-09

Runtime Multi-Language

Dynamic runtime language switching across 6 languages (EN, DE, ES, ZH, JA, RU) via cc_set_language.

INV-SLA-10

48h Security Response SLA

Verified across Ubuntu, Windows, macOS on Node 20, 22, 24 with public 48h response / 5-day triage commitment.


7. Developer Tool Suite (23 Tools)

Code Analysis (3 tools)

Tool

Description

cc_analyze_code

Read-only Python or regex-based JavaScript/TypeScript analysis: classes, functions, imports, LOC, complexity

cc_analyze_methods

Read-only Python or regex-based JavaScript/TypeScript method analysis; Python retains its BACH guardrails

cc_extract_classes

Extract Python classes/functions as separate text blocks, optionally including pycutter-style inline content

Import Management (3 tools)

Tool

Description

cc_organize_imports

Sort & deduplicate Python imports per PEP 8

cc_diagnose_imports

Read-only Python or regex-based JavaScript/TypeScript import diagnostics

cc_runtime_import_diagnose

Run isolated Python runtime imports with timeouts, __init__.py analysis, and circular-import hints

JSON Tools (2 tools)

Tool

Description

cc_fix_json

Repair broken JSON (BOM, trailing commas, comments, single quotes)

cc_validate_json

Validate JSON with detailed error position and context

Encoding & Text (3 tools)

Tool

Description

cc_fix_encoding

Fix Mojibake / double-encoded UTF-8 (27+ patterns)

cc_cleanup_file

Remove BOM, NUL bytes, trailing whitespace, normalize line endings

cc_fix_umlauts

Repair broken German umlauts (70+ patterns, HTML entities, escapes)

Scanning (1 tool)

Tool

Description

cc_scan_emoji

Scan files for emojis with codepoint info

Format & Documentation (2 tools)

Tool

Description

cc_convert_format

Convert between JSON, CSV, INI, YAML, TOML, XML, and TOON formats

cc_generate_licenses

Generate third-party license file (npm/pip)

Developer Utilities (2 tools)

Tool

Description

cc_diff_files

Compare two files with unified diff output (configurable context lines)

cc_regex_test

Test regex patterns against text/files with match details, groups, and replace preview

Python Assistance (3 tools)

Tool

Description

cc_check_indentation

Detect missing colons, unindented return/yield statements, and mixed tab/space indentation

cc_generate_python_code

Generate Python functions, classes, dataclasses, CLI stubs, tests, exceptions, and modules from templates

cc_python_structural_edit

Inspect and apply structural Python edits with preview, test-file, syntax-check and backup modes

Export (2 tools)

Tool

Description

cc_md_to_html

Markdown to standalone HTML with CSS styling (headers, code blocks, tables, nested lists, blockquotes, images, checkboxes)

cc_md_to_pdf

Markdown to PDF via headless browser (Edge/Chrome). Falls back to HTML if no browser is available

Runtime Language Management (2 tools)

Tool

Description

cc_set_language

Switch active runtime language (en, de, es, zh, ja, ru)

cc_get_language

Query currently active language and supported locale codes

Total: 23 developer tools available under the cc_ prefix.


8. Shared Tools with FileCommander

7 tools exist in both FileCommander and CodeCommander for convenience:

FileCommander

CodeCommander

Function

fc_fix_json

cc_fix_json

JSON repair

fc_validate_json

cc_validate_json

JSON validation

fc_fix_encoding

cc_fix_encoding

Encoding repair

fc_cleanup_file

cc_cleanup_file

File cleanup

fc_convert_format

cc_convert_format

Format conversion (JSON/CSV/INI/YAML/TOML/XML/TOON)

fc_md_to_html

cc_md_to_html

Markdown to HTML export

fc_md_to_pdf

cc_md_to_pdf

Markdown to PDF export

All tools in CodeCommander use the cc_ prefix to guarantee seamless coexistence with FileCommander's fc_ namespace.


9. Installation & Quickstart

Prerequisites

  • Node.js 20 or higher

  • npm 9 or higher

npm install -g ellmos-codecommander-mcp

Option 2: Install from Source

git clone https://github.com/ellmos-ai/ellmos-codecommander-mcp.git
cd ellmos-codecommander-mcp
npm install
npm run build

10. Configuration & MCP Client Setup

Claude Desktop

Add to your claude_desktop_config.json:

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

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

Global NPM Install:

{
  "mcpServers": {
    "codecommander": {
      "command": "ellmos-codecommander"
    }
  }
}

From Source Build:

{
  "mcpServers": {
    "codecommander": {
      "command": "node",
      "args": ["/absolute/path/to/ellmos-codecommander-mcp/dist/index.js"]
    }
  }
}

Coexistence with FileCommander

FileCommander and CodeCommander are designed to run concurrently:

{
  "mcpServers": {
    "filecommander": {
      "command": "ellmos-filecommander"
    },
    "codecommander": {
      "command": "ellmos-codecommander"
    }
  }
}

11. Multi-Language Support (i18n)

CodeCommander natively supports 6 languages for all tool descriptions, output notices, and diagnostic messages:

  • en — English (Default)

  • de — Deutsch (German)

  • es — Español (Spanish)

  • zh — 简体中文 (Chinese Simplified)

  • ja — 日本語 (Japanese)

  • ru — Русский (Russian)

Use cc_get_language to check the current language or cc_set_language to dynamically change it during an active MCP session.


12. Development & Quality Assurance

npm install
npm run dev               # TypeScript watch mode
npm run build             # Compile TypeScript to dist/
npm start                 # Run built server via stdio
npm test                  # Run Vitest unit suite (196 tests)
npm run test:integration  # Real MCP stdio test suite (52 assertions, build first)
npm run test:i18n         # Translation parity test suite (43 assertions)
npm run test:all          # Run full QA pipeline (build + vitest + integration + i18n)

The test gates are deliberately separated and automated in CI across Ubuntu, macOS, and Windows on Node.js 20, 22, and 24 (totaling 292 automated assertions, 100% green).


13. Sibling Ecosystem & Partner Matrix

Part of the ellmos-ai and open-bricks family of local-first tools:

MCP Server Family

Server

Tools

Focus

npm

FileCommander

50

Filesystem, process management, interactive sessions, cloud-lock-safe operations

ellmos-filecommander-mcp

CodeCommander

23

Code analysis, AST edits, JSON repair, diff, regex

ellmos-codecommander-mcp

Clatcher

12

File repair, format conversion, batch operations

ellmos-clatcher-mcp

n8n Manager

19

n8n workflow management via AI assistants

n8n-manager-mcp

ControlCenter

34

MCP stack discovery, profile management, control plane

ellmos-controlcenter-mcp

Homebase

51

Local-first LLM memory, knowledge, state, routing, swarm orchestration

ellmos-homebase-mcp (alpha)

ServerCommander

8

Server operations: health checks, log analysis, deploy dry-runs, mail diagnostics

ellmos-servercommander-mcp (alpha)

Blender Use

4

Headless Blender asset QA and FBX reimport verification

ellmos-blender-use-mcp (alpha)

Open Compute

16

Model-agnostic computer use: capture, safety-gated actions, Windows UIA

open-compute-mcp (alpha)

Sibling Developer, File & Document Tools

Ecosystem

Tool / Project

Focus & Capabilities

ellmos-ai

sqlite-transit-sync

Offline SQLite change distribution with HMAC verification

ellmos-ai

policy-registry

Cryptographically signed delegation policies for AI agents

ellmos-ai

clutch

Provider-neutral LLM orchestration with auto-routing and budget tracking

ellmos-ai

BACH

Local-first text-based OS for LLM agents — 113+ handlers, 550+ tools

dev-bricks

DevCenter

PySide6 Developer Desktop Suite & offline secret vault

dev-bricks

CodeBox

Fast desktop code snippet manager & local AST indexing

dev-bricks

MethodenAnalyser

Method flow & complexity diagnostic engine

doc-bricks

PDFtoPDFocr

Desktop OCR pipeline for searchable PDFs with Tesseract

doc-bricks

DokuReader

Multi-format document workspace & offline PDF export

file-bricks

ProFiler

Multi-pane file management & bulk batch operations

open-bricks

open-bricks

Umbrella organization for AI-native desktop applications


14. Third-Party Licenses & Transparency

This project strictly adheres to open-source transparency:

  • All runtime and development dependencies are audited in THIRD_PARTY_LICENSES.md.

  • Distributed exclusively under permissive open-source licenses (MIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0).

  • Comprehensive discoverability, personas, and marketing metrics are documented in MARKETING-LOG.txt.

  • Zero proprietary tracking, zero telemetric beacons, and zero viral copyleft dependencies.


15. Security Policy & Response SLA

Please review SECURITY.md for full vulnerability disclosure procedures.

  • Zero-Egress Guarantee: Completely local execution over stdio.

  • Preview & Backup Safety: Destructive operations create .bak backups and support non-mutating preview.

  • Unprivileged User Mode: Runs under standard unprivileged user permissions (RunAsInvoker).

  • Dedicated Response Channels: Contact security@ellmos.ai and support@lukasgeiger.com with a guaranteed 48-hour initial response SLA and 5-day triage commitment.


16. Changelog & Version History

See CHANGELOG.md for release notes and version history.


17. License & Liability Notice

This project is licensed under the MIT License — Copyright © 2026 Lukas Geiger (ellmos-ai).

Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz. Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.

This project is an unpaid open-source donation under German law. Liability is limited to intent and gross negligence (§ 521 German Civil Code), supplemented by the MIT License warranty disclaimer. Use at your own risk.

Available Tools

23 tools
cc_analyze_codeAnalyze CodeB
Read-onlyIdempotent

Analyzes a Python file: classes, functions, imports, metrics.

Args:

  • path (string): Path to the Python file

Returns:

  • Classes with methods, functions, import analysis, LOC, complexity

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the Python file

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint true, destructiveHint false, idempotentHint true. Description adds return value details (classes, methods, etc.) which is helpful but does not disclose behavior beyond what annotations provide. No contradiction.

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?

Description is concise at 2 sentences plus a bullet list of return values. Essential information is front-loaded. Could potentially be more concise by removing the bullet list if not needed, but overall efficient.

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

Completeness3/5

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

Given the tool has 1 parameter with full schema coverage, no output schema, and rich annotations, the description adequately states the analysis scope and return value. However, it lacks details on error conditions (e.g., file not found) and implicit dependencies like Python installed. Lacking that, it's minimally complete.

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

Parameters3/5

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

The single parameter 'path' is fully described in the input schema (100% coverage). Description repeats the parameter description but adds no new meaning beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

Description clearly states it analyzes a Python file with specific elements (classes, functions, etc.) and metrics. Differentiates from sibling by mentioning 'Python file' and specific analysis outputs, but could be more distinct from cc_analyze_methods.

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?

Description implies use for investigating Python code structure and metrics. No mention of when to use alternatives like cc_analyze_methods or cc_diagnose_imports, but the scope is clear.

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

cc_analyze_methodsAnalyze MethodsA
Read-onlyIdempotent

Detailed method analysis of a Python file.

Args:

  • path (string): Path to the Python file

  • class_name (string, optional): Only methods of this class

Returns:

  • Methods with parameters, decorators, complexity, data flow

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the Python file
class_nameNoOnly analyze this class

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is read-only and idempotent. The description adds value by detailing what analysis is performed (parameters, decorators, complexity, data flow), which goes beyond annotations. No contradictions.

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 extremely concise: a one-line summary followed by organized Args and Returns sections. Every sentence is informative and earns its place.

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

Completeness4/5

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

Given the tool's complexity (method analysis), the description is fairly complete. It covers inputs, optional filter, and output. However, it does not mention performance considerations for large files, which would be helpful.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal extra beyond the schema. It repeats parameter descriptions but does not provide deeper semantics like file size limits or encoding requirements.

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

Purpose5/5

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

The description clearly states the tool performs detailed method analysis of a Python file, listing what is returned (methods with parameters, decorators, complexity, data flow). It is distinct from sibling tools like cc_analyze_code and cc_extract_classes.

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

Usage Guidelines4/5

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

The description includes explicit parameters (path and optional class_name) and the return format, but lacks guidance on when to use this tool versus alternatives like cc_analyze_code or cc_extract_classes. It is clear but does not exclude other tools.

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

cc_check_indentationCheck Python IndentationB
Read-onlyIdempotent

Prüft Python-Dateien auf fehlende Doppelpunkte, unindentierte return/yield-Zeilen und gemischte Tab-/Leerzeichen-Einrückung

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPython file or directory to check
recursiveNoRecurse into subdirectories when path is a directory
max_issuesNoMaximum number of issues to include

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds the specific checks performed, which is useful context but does not disclose return format, error behavior, or how results are reported.

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

Conciseness4/5

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

The description is a single sentence that efficiently communicates the tool's purpose with no redundant information. However, being in German may reduce clarity for English-speaking agents, but conciseness is otherwise excellent.

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

Completeness2/5

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

The tool has no output schema, so the description should explain what the tool returns (e.g., list of issues, file paths). It does not, leaving the agent uncertain about the result format. With moderate schema richness, this is a significant gap.

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

Parameters3/5

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

Schema coverage is 100% with good descriptions for path, recursive, and max_issues. The description does not add additional parameter meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool checks Python files for specific indentation issues like missing colons, unindented return/yield, and mixed tabs/spaces. The verb 'Prüft' and resource 'Python-Dateien' are specific, and the listed issues distinguish it from general code analysis siblings like cc_analyze_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?

The description provides no guidance on when to use this tool versus alternatives (e.g., cc_analyze_code). It merely states what it does, leaving the agent without context for selection.

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

cc_cleanup_fileCleanup FileA
Idempotent

Cleans up source code files: BOM, NUL bytes, trailing whitespace, line endings.

Args:

  • path (string): Path to the file

  • remove_bom (boolean): Remove BOM

  • remove_trailing_whitespace (boolean): Trailing whitespace

  • normalize_line_endings (string): "lf" | "crlf"

  • remove_nul_bytes (boolean): Remove NUL bytes

  • dry_run (boolean): Preview only

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
dry_runNoPreview only
remove_bomNoRemove BOM
remove_nul_bytesNoNUL bytes
normalize_line_endingsNoLine endings
remove_trailing_whitespaceNoTrailing whitespace

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate idempotency (idempotentHint=true) and non-destructive (destructiveHint=false). Description adds that dry_run is available for preview, making it safe to test. However, it doesn't mention file backup or undo behavior, which is acceptable given idempotency annotation.

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?

Description is concise and front-loaded with the purpose, followed by parameter list. The list format is clear. Minor waste: some descriptions are truncated (e.g., 'Trailing whitespace' could be more descriptive).

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

Completeness4/5

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

Given good schema coverage and annotations, the description is complete enough for a cleanup tool. It explains all operations and includes dry_run. No output schema, but the tool is simple and output is likely a success message or diff, which may be inferred.

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

Parameters3/5

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

Schema covers all 6 parameters with descriptions (100% coverage). The description repeats parameter info from schema, adding no new semantics beyond what schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it cleans up source code files with specific operations (BOM, NUL bytes, trailing whitespace, line endings). It distinguishes from siblings like cc_fix_encoding and cc_organize_imports by focusing on whitespace and byte-level cleanup.

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 lists operations but does not provide guidance on when to use this tool vs alternatives (e.g., cc_fix_encoding for encoding issues). No explicit when-not-to-use or prerequisites mentioned.

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

cc_convert_formatConvert FormatA
Idempotent

Converts between JSON, CSV, INI, YAML, TOML, XML, and TOON formats.

Args:

  • input_path (string): Source file

  • output_path (string): Target file

  • input_format (string): "json" | "csv" | "ini" | "yaml" | "toml" | "xml" | "toon"

  • output_format (string): "json" | "csv" | "ini" | "yaml" | "toml" | "xml" | "toon"

  • json_indent (number): JSON indentation

ParametersJSON Schema
NameRequiredDescriptionDefault
input_pathYesSource file
json_indentNoJSON indentation
output_pathYesTarget file
input_formatYesInput format
output_formatYesOutput format

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true, indicating repeated calls are safe. Description adds that it converts formats, but doesn't disclose whether input/output files are overwritten, if temporary files are created, or error handling. No contradiction with annotations (idempotentHint=true is consistent with conversion). Annotation contradiction: false.

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?

Description is concise (3 lines) with bullet-like listing of args. However, the Args section is essentially a duplication of the schema. Could be trimmed to just the first sentence plus a note about optional json_indent. Still, no wasted sentences.

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

Completeness4/5

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

Given no output schema, description lacks info on return value (e.g., success message, error handling). However, conversion tools typically return success/failure. Parameter coverage is complete. Suggestions for additional context: output file overwrite behavior or format conversion limitations.

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%, so baseline is 3. The description adds value by listing all parameters and their types, which is redundant but helpful in a quick look. It also mentions a non-schema item (json_indent with default) and provides format enums inline. Slight extra value beyond schema.

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

Purpose5/5

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

The description clearly states that the tool converts between multiple specific formats (JSON, CSV, INI, YAML, TOML, XML, TOON). The verb 'converts' and the list of formats provide high specificity. Sibling tools like cc_fix_json or cc_validate_json are related but distinct, and the description differentiates by covering many formats.

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 does not explicitly state when to use this tool versus alternatives. For example, if the goal is only to validate JSON, cc_validate_json might be better. However, the tool's broad format support implies it is the go-to for general conversion. No exclusion criteria or alternatives mentioned.

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

cc_diagnose_importsDiagnose ImportsA
Read-onlyIdempotent

Diagnoses import issues: missing modules, circular imports, unused imports.

Args:

  • path (string): Path to the Python file

Detects: Missing modules, suspected circular imports, import issues

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the Python file

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already mark the tool as readOnly and non-destructive, so the description need not restate that. It adds value by detailing the types of issues detected (missing modules, circular imports, etc.), which goes beyond the annotations.

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 short and front-loaded with purpose. The second sentence repeats 'path' information from schema, minor redundancy.

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

Completeness4/5

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

Given the low complexity (one parameter, no nested objects), the description adequately covers purpose and detection. No output schema exists, but the tool's output (diagnosis list) is implicit and not critical.

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% for the single parameter 'path', so baseline is 3. The description restates the parameter's purpose but adds no extra detail beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states it diagnoses import issues like missing modules, circular imports, and unused imports. It distinguishes itself from siblings like cc_analyze_code and cc_organize_imports by focusing on diagnosing problems rather than general analysis or organization.

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

Usage Guidelines3/5

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

The description implies usage when encountering import problems, but does not explicitly state when to use this tool versus others. No when-not-to-use or exclusion criteria are given, leaving the agent to infer context.

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

cc_diff_filesDiff FilesA
Read-onlyIdempotent

Vergleicht zwei Dateien und zeigt Unterschiede im Unified-Diff-Format

ParametersJSON Schema
NameRequiredDescriptionDefault
file_aYesPath to first file
file_bYesPath to second file
context_linesNoNumber of context lines (default: 3)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, so the tool is clearly a safe, read-only, idempotent operation. The description adds the specific output format (Unified-Diff-Format), which provides useful behavioral context beyond annotations.

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, well-formed sentence that efficiently conveys the tool's purpose and output format. No unnecessary words or redundant information.

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

Completeness4/5

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

Given that the tool has simple inputs (two file paths and an optional context lines parameter), the description covers the core functionality. However, it does not mention any potential constraints like file existence or formats, but given the schema's completeness and the tool's simplicity, it is largely adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the three parameters with descriptions. The description does not add any further semantic context beyond what the schema provides, but it also does not need to. Baseline 3 is appropriate here.

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 that the tool compares two files and shows differences in unified diff format. It is a specific verb ('vergleicht') plus resource ('zwei Dateien') with an explicit output format, which distinguishes it from siblings like cc_analyze_code or cc_cleanup_file.

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

Usage Guidelines3/5

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

The description implies usage for comparing two files, but it does not provide any guidance on when to use this tool versus other tools that might also handle file comparisons (none directly, but siblings like cc_analyze_code could be related). No alternatives or exclusions are mentioned.

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

cc_extract_classesExtract ClassesA
Idempotent

Extracts Python classes and functions from a file as separate text blocks.

Args:

  • path (string): Path to the Python file

  • output_dir (string, optional): Output directory (otherwise display only)

  • include_content (boolean, optional): Include pycutter-style code blocks in the response

  • max_chars (number, optional): Maximum response characters for included code

Useful for code review and documentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the Python file
max_charsNoMaximum characters of included extracted content
output_dirNoOutput directory
include_contentNoInclude extracted class/helper content in the MCP response

TDQS

A4.1/5.0
Behavior4/5

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

Discloses that output_dir is optional and defaults to display only, which is behavioral. Annotations already mark it as idempotent and non-destructive, and description does not contradict. Adds value beyond annotations.

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?

Exceptionally concise: a single-sentence purpose, brief parameter list, and one-line usage note. No redundant or vague language, well-structured with clear front-loading.

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?

Covers purpose and parameter basics but lacks explanation of output format (e.g., what 'separate text blocks' look like) and what 'pycutter-style code blocks' means. With no output schema, more detail would be helpful.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description's 'Args' section largely repeats schema descriptions without adding new semantics or clarifying edge cases.

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

Purpose5/5

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

The description uses a specific verb-resource pair 'Extracts Python classes and functions' and clearly distinguishes it from sibling tools like cc_analyze_code by emphasizing extraction of separate text blocks.

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?

States 'Useful for code review and documentation', providing clear context. However, it does not explicitly mention when to avoid using this tool or how it differs from similar siblings (e.g., cc_analyze_methods).

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

cc_fix_encodingFix EncodingA
Idempotent

Repairs encoding errors (Mojibake, double UTF-8).

Args:

  • path (string): Path to the file

  • dry_run (boolean): Preview only

  • create_backup (boolean): Create backup

Repairs 27+ Mojibake patterns (German, French, Spanish).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
dry_runNoPreview only
create_backupNoCreate backup

TDQS

A4/5.0
Behavior4/5

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

Annotations declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description adds context that it repairs 27+ patterns for specific languages, which goes beyond annotations. No contradictions.

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 extremely concise: one sentence for purpose, a compact list of arguments, and a one-liner about patterns. Every word adds value; no filler.

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

Completeness4/5

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

Given the low complexity (3 parameters, no output schema), the description is adequate: it explains the tool's purpose, parameters, and supported patterns. Could mention that it modifies files in-place (destructiveHint=false but still writes), but completeness is high for the scope.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents parameters. The description briefly mentions the three params (path, dry_run, create_backup) but adds no extra context beyond what is in the schema.

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

Purpose5/5

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

The description states 'Repairs encoding errors (Mojibake, double UTF-8)' which is a specific verb-resource pair. It clearly distinguishes from siblings like cc_fix_json or cc_fix_umlauts by focusing on encoding issues.

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 implicitly suggests use for encoding errors but gives no explicit guidance on when to use vs alternatives like cc_fix_umlauts or cc_scan_emoji. No when-not or exclusion criteria provided.

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

cc_fix_jsonFix JSONA
Idempotent

Automatically repairs common JSON errors.

Args:

  • path (string): Path to the JSON file

  • dry_run (boolean): Only show issues

  • create_backup (boolean): Create backup

Repairs: BOM, trailing commas, single quotes, comments, NUL bytes

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the JSON file
dry_runNoPreview only
create_backupNoCreate backup

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, which the description does not contradict. The description adds behavioral context by listing specific error types repaired, and mentions backup creation, which is useful. However, it doesn't disclose if repairs are lossy or if output is overwritten.

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

Conciseness4/5

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

The description is concise with bullet-listed parameter descriptions and a clear summary of repairs. It could be slightly more structured, but it's effective and front-loaded.

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

Completeness4/5

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

Given the tool's simplicity (3 params, no output schema), the description covers the main use case and parameters. It lacks detail on return values and edge cases, but for a repair tool this is adequate. The annotations provide additional context like idempotency.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds minor clarity by listing the repairs and summarizing each parameter's purpose, but does not add further semantics beyond what the schema's descriptions provide.

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

Purpose5/5

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

The description clearly states the tool repairs common JSON errors, listing specific issues (BOM, trailing commas, etc.). This distinguishes it from siblings like cc_validate_json and cc_convert_format by focusing on fixing rather than validating or converting.

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 implicitly suggests use when JSON files have common errors, but it does not explicitly state when to use this vs alternatives like cc_validate_json. No when-not-to-use or exclusionary conditions are provided.

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

cc_fix_umlautsFix UmlautsA
Idempotent

Repairs broken German umlauts in source code files.

Args:

  • path (string): Path to the file

  • dry_run (boolean): Preview only

  • create_backup (boolean): Create backup

Detects 70+ patterns of broken umlauts and replaces them correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
dry_runNoPreview only
create_backupNoCreate backup

TDQS

A3.7/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, so the description aligns. It adds value by disclosing the 70+ patterns detected and replacement behavior, which is beyond annotations.

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?

Description is concise with three sentences, front-loading the core purpose. The Args list could be integrated into the first sentence to reduce redundancy, but overall efficient.

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

Completeness4/5

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

The description is complete given no output schema and 100% schema coverage. It explains the tool's unique capability (70+ patterns) and parameter functions sufficiently for an agent.

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

Parameters3/5

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

Schema has 100% description coverage, so parameters are fully described in schema. The description only lists parameter names, adding no extra meaning beyond what 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 clearly states the tool fixes broken German umlauts in source code files, specifying the resource type (source code) and the scope (German umlauts). It distinguishes from sibling tools like cc_fix_encoding by targeting a specific encoding issue.

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 does not explicitly state when to use this tool versus alternatives like cc_fix_encoding. It implies usage for German umlaut problems but lacks guidance on prerequisites or conditions.

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

cc_generate_licensesGenerate LicensesA
Idempotent

Generates a third-party license file for an npm or Python project.

Args:

  • project_dir (string): Project directory

  • output_path (string): Output file

  • format (string): "text" | "json" | "csv"

Reads package.json (npm) or pip packages and collects license info.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoFormattext
output_pathYesOutput file
project_dirYesProject directory

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already show idempotentHint=true (no side effects beyond output file) and destructiveHint=false. Description adds context: reads package.json or pip packages, so agent knows it doesn't modify project. No contradictions.

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?

Very concise: 4 lines with clear bullet for args and a short sentence on behavior. No fluff, front-loaded purpose.

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

Completeness4/5

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

Given no output schema, description doesn't detail return value, but that's acceptable. Enumerates supported project types and formats. Could mention if output file is overwritten, but idempotent hint implies content generation. Complete for a simple license generator.

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% with basic descriptions. Description adds meaning beyond schema: lists allowed format values (text/json/csv) and explains project_dir is for npm or Python projects. Slightly improves on schema.

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

Purpose5/5

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

Clearly states it generates a third-party license file for npm or Python projects. Specifies input (package.json or pip packages) and outputs (license info). Differentiates from siblings focusing on code analysis, conversion, or cleanup.

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?

Implies usage for generating license files, but no explicit guidance on when to use this vs alternatives. No mention of prerequisites (e.g., presence of package.json) or when not to use.

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

cc_generate_python_codeGenerate Python CodeB
Read-onlyIdempotent

Generiert Python-Code-Snippets aus BACH-abgeleiteten Templates ohne Dateien zu schreiben

ParametersJSON Schema
NameRequiredDescriptionDefault
actNoAct block for test generation
baseNoBase exception class for exception generation
bodyNoFunction or method body
kindNoTemplate kind
nameNoGenerated item name
targetNoTarget name for test generation
arrangeNoArrange block for test generation
contentNoModule content
docstringNoDocstring
main_bodyNoCLI main body
spec_jsonNoOptional full JSON spec. If set, it is merged with the explicit fields.
assertionsNoAssert block for test generation
bases_jsonNoJSON array of class base names
descriptionNoModule or CLI description
fields_jsonNoJSON array of dataclass fields
params_jsonNoJSON array of parameters: [{"name":"x","type":"int","default":"0"}]
return_typeNoReturn type annotation for functions
imports_jsonNoJSON array of import lines for module generation
init_params_jsonNoJSON array of __init__ parameters for classes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that it does not write files, which aligns with readOnly. However, it does not disclose other behavioral traits such as error handling, performance implications, or dependencies on external templates. With annotations providing the safety profile, the description adds minimal but useful context.

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

Conciseness4/5

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

The description is a single concise sentence in German with no wasted words. However, it lacks structure (e.g., bullet points, front-loading of key information). For its brevity, it is appropriate, but for a tool with 19 parameters, more structure would improve clarity.

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

Completeness2/5

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

Given the tool's complexity (19 parameters, no output schema), the description is insufficient. It does not explain how parameters interact (e.g., the relationship between kind and other fields), the purpose of spec_json merging, or expected output format. The agent would need to infer from parameter names and descriptions alone.

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%, with each parameter having a description. The tool's description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states it generates Python code snippets from BACH-derived templates without writing files. The name and title are self-explanatory, and the description adds the key constraint of not writing files. It does not explicitly distinguish from sibling tools, but no sibling directly competes with code generation, so purpose is sufficiently clear.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions 'BACH-abgeleiteten Templates' but does not explain what BACH is or in what scenarios this tool is preferable. There is no exclusion criteria or recommended context. The agent is left without usage direction.

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

cc_get_languageA

Get the currently configured output language and supported languages for CodeCommander tools

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. 'Get' implies a read-only operation with no side effects, and the description clarifies the data scope. However, it does not explicitly state that no configuration is modified, nor does it describe response format or error behavior. This is a minor gap for a zero-parameter getter.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It directly states what the tool does and what it returns.

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

Completeness4/5

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

For a zero-parameter tool with no output schema, the description covers the essential information: it returns the currently configured output language and the list of supported languages. It could mention the exact return format, but that is not critical for such a simple getter.

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

Parameters4/5

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

The input schema has no parameters, so the baseline is 4. The description does not need to explain parameter semantics because there are none to explain.

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

Purpose5/5

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

The description states a specific verb ('Get') and a clear resource: the currently configured output language and supported languages for CodeCommander tools. This clearly distinguishes it from the sibling tool cc_set_language, which would be for changing the language.

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

Usage Guidelines3/5

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

The description implies usage: call this when you need to know the current output language or supported languages. However, it does not explicitly mention the alternative cc_set_language or any conditions for when to use one over the other. For a simple getter, the implied usage is adequate but not explicit.

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

cc_md_to_htmlMarkdown to HTMLA
Idempotent

Converts Markdown to formatted HTML (printable as PDF).

Args:

  • input_path (string): Path to the Markdown file

  • output_path (string): Path to the HTML output

  • title (string, optional): Document title

Produces standalone HTML with CSS styling, printable as PDF via browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title
input_pathYesMarkdown file
output_pathYesHTML output

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate idempotentHint=true and no destructive/readOnly concerns. Description adds value by specifying 'produces standalone HTML with CSS styling' and 'printable as PDF via browser', which are behavioral traits not captured by annotations. No contradictions.

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?

Description is very concise with a single line plus an argument list. Front-loaded with main action and key output detail. Every sentence adds value: conversion purpose, arguments, output format and use case.

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

Completeness3/5

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

The tool has 3 parameters, no output schema, and moderate complexity. Description adequately covers inputs and output format, but lacks details on error handling, encoding, or behavior for invalid inputs. Given the simplicity, it is mostly sufficient but could be more complete.

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% but descriptions are brief ('Markdown file', 'HTML output', 'Document title'). Description adds context by grouping parameters and noting the optional title. Provides additional meaning beyond schema for input_path and output_path by linking to the conversion process.

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

Purpose5/5

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

Description clearly states verb 'Converts' and resource 'Markdown to formatted HTML'. Explicitly distinguishes from sibling 'cc_md_to_pdf' by noting HTML can be printed as PDF via browser, implying this tool is for HTML conversion while the sibling directly produces PDF.

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?

Description provides clear context: converts markdown to HTML with CSS styling for PDF printing. However, it does not explicitly state when to use this over cc_md_to_pdf or when not to use it, missing a clear alternative exclusion.

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

cc_md_to_pdfMarkdown to PDFA
Idempotent

Converts Markdown to PDF using a headless browser (Edge/Chrome).

Args:

  • input_path (string): Path to the Markdown file

  • output_path (string): Path to the PDF output

  • title (string, optional): Document title

Uses the same Markdown parser as cc_md_to_html. Requires Edge or Chrome. Falls back to HTML if no browser is found.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title
input_pathYesMarkdown file
output_pathYesPDF output

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate idempotentHint=true and no destructiveness; description adds value by disclosing the browser dependency, fallback to HTML, and relation to cc_md_to_html. No contradictions found.

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

Conciseness4/5

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

The description is concise, with meaningful sections. It front-loads the main action and includes args list. Minor verbosity in the fallback line could be trimmed.

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

Completeness4/5

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

Given the simplicity (3 params, no output schema, idempotent), the description covers the core behavior, browser requirement, and fallback. However, it could mention possible errors or output location clarity.

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

Parameters2/5

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

Schema description coverage is 100% (all params described generically), but the description adds details like the optional title doc title and the browser dependency, which are useful but not essential. Score reduced because the description largely repeats parameter names without deeper semantics.

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

Purpose5/5

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

The description clearly states the verb 'converts' and the resource 'Markdown to PDF', specifying the browser-based approach and distinguishing it from sibling cc_md_to_html by mentioning the same parser and fallback behavior.

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

Usage Guidelines4/5

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

The description indicates when to use this tool (for PDF conversion), mentions a prerequisite (Edge/Chrome), and a fallback (to HTML). However, it does not explicitly state when NOT to use it or compare with siblings like cc_convert_format.

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

cc_organize_importsOrganize ImportsA
Idempotent

Organizes Python imports per PEP 8: sorted, deduplicated, grouped.

Args:

  • path (string): Path to the Python file

  • dry_run (boolean): Preview only

Groups: 1) future 2) stdlib 3) third-party 4) local

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the Python file
dry_runNoPreview only

TDQS

A4.2/5.0
Behavior5/5

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

Annotations include idempotentHint: true, destructiveHint: false, readOnlyHint: false. Description mentions preview via dry_run, groups. No contradiction.

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?

Brief, includes parameters and groups. Well-structured with bullet points.

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

Completeness4/5

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

Given no output schema, description explains output implied (organized file). Could mention that modifying file side-effect, but annotations cover idempotency.

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

Parameters3/5

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

Schema coverage is 100%, so schema describes parameters well. Description adds grouping info and clarifies dry_run behavior, but baseline is 3.

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

Purpose5/5

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

Description clearly states it organizes Python imports per PEP 8, sorted, deduplicated, grouped. Distinct from siblings like cc_analyze_code or cc_cleanup_file which have different purposes.

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?

Gives a general usage context (organizing imports) but does not explicitly say when to use vs alternatives or when not to use. No mention of prerequisites.

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

cc_python_structural_editPython Structural EditA

Prüft und wendet BACH-abgeleitete strukturelle Python-Edits mit Vorschau, Testdatei und Backup-Schutz an

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNo1-based line for position=line or replace_line
modeNopreview returns a diff, test writes a .test.py file, apply writes the sourcepreview
pathYesPython file to inspect or edit
contentNoInserted code or replacement line content
elementNoClass/function/method name, e.g. MyClass.method
elementsNoComma-separated element names for create_edit_file
positionNoInsert position for operation=insert
edit_fileNoEdit file path for merge_edit_file
operationYesStructural edit operation
class_nameNoTarget class for position=in_class
output_pathNoOptional output path for test or edit-file modes
python_pathNoPython executable path for syntax checks
syntax_checkNoCompile-check edited Python before writing
create_backupNoCreate a backup when mode=apply
indent_spacesNoIndent inserted non-empty lines

TDQS

A3.7/5.0
Behavior4/5

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

The description discloses key behaviors: it applies edits with preview, test file modes, and backup protection. Annotations provide no destructive hint, but the description clarifies the tool can modify files with safeguards. No contradiction with annotations.

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

Conciseness4/5

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

The description is a single sentence that captures the core functionality. It is concise and front-loaded with the key idea, though it could be slightly more structured.

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

Completeness3/5

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

Given 15 parameters and no output schema, the description is relatively brief. While the schema covers parameter details, the description lacks guidance on how the different operations (inspect, insert, etc.) relate to each other or the overall workflow.

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% with all parameters having descriptions. The description does not add extra meaning beyond the schema, but the schema itself is thorough, so baseline 3 is elevated to 4.

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

Purpose4/5

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

The description clearly states it handles structural Python edits with preview, test file, and backup protection. The name also indicates Python structural editing. However, the phrase 'BACH-abgeleitete' is obscure and may not be understood by all agents.

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 implicitly suggests use for structural edits but provides no explicit guidance on when to use this tool versus sibling tools like cc_generate_python_code or cc_analyze_methods. No when-not-to-use or alternative comparisons are given.

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

cc_regex_testRegex TesterB
Read-onlyIdempotent

Testet reguläre Ausdrücke gegen Text oder Dateiinhalt

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoText to test against (or use file_path)
flagsNoRegex flags (g, i, m, s, u)g
patternYesRegular expression pattern
file_pathNoFile to test against (alternative to text)
replace_withNoOptional replacement string

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool's safety is clear. The description adds that it tests against text or file content but does not elaborate on return format or behavior beyond annotations. With annotations covering much, the description provides marginal extra transparency.

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

Conciseness4/5

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

The description is a single sentence, front-loaded, and to the point. It wastes no words, though it is in German, which may reduce clarity for English-speaking agents.

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

Completeness2/5

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

Given 5 parameters and no output schema, the description should indicate return format or provide usage hints. It lacks any mention of matches, results, or replacement functionality. Annotations are helpful but don't fill the completeness gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are well-documented in the schema. The description adds no new parameter semantics beyond what the schema provides; it merely restates 'text or file content'. Thus, baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool tests regular expressions against text or file content, which is specific and distinguishes it from sibling tools that focus on code analysis, JSON validation, or formatting. However, it could be more precise by mentioning pattern and flags.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or when not to use it. Sibling tools are unrelated, so context is missing.

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

cc_runtime_import_diagnoseRuntime Import DiagnoseB
Read-only

Führt BACH-abgeleitete Python-Runtime-Importdiagnosen in isolierten Subprozessen aus

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPython project directory or file
modulesNoOptional module list: package.mod:Class,other.module
max_modulesNoMaximum auto-discovered modules to import
python_pathNoPython executable path; defaults to PYTHON/PYTHON_EXECUTABLE/python
timeout_secondsNoTimeout per isolated import subprocess

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds that execution occurs in isolated subprocesses, which is useful behavioral context. However, it does not explain BACH or any potential side effects beyond the annotations.

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

Conciseness5/5

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

The description is a single concise sentence that immediately states the core function. There is no redundant information, and it is efficiently front-loaded.

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 5 parameters and no output schema, the description lacks explanation of return values or diagnostic results. The term 'BACH-abgeleitete' is undefined, and the tool's behavior beyond isolation is unclear. More context is needed for a diagnostic tool.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema; it merely states parameters implicitly through the task. No enrichment of parameter semantics is provided.

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 specifies a concrete action: performing Python runtime import diagnostics in isolated subprocesses, derived from BACH. It distinguishes the tool from static analysis siblings like cc_diagnose_imports by emphasizing 'runtime' and 'subprocess', but does not explicitly compare with 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?

No guidance is provided on when to use this tool versus siblings (e.g., cc_diagnose_imports). There is no mention of prerequisites, scenarios, or exclusions, leaving the agent to infer usage context entirely.

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

cc_scan_emojiScan EmojiA
Read-onlyIdempotent

Scans files for emojis and shows ASCII alternatives.

Args:

  • path (string): Path to the file or directory

  • recursive (boolean): Scan recursively

  • extensions (string): Only certain extensions

Useful for systems that don't support Unicode/Emoji.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath
recursiveNoRecursive
extensionsNoExtensions.py,.js,.ts,.json,.md,.txt

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the agent knows it is safe and non-destructive. The description adds that it 'shows ASCII alternatives' and that scanning can be recursive or filtered by extensions, providing behavioral context beyond the annotations.

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 extremely concise—two short sentences plus a bullet list of args. Every sentence adds value, and the structure (one line summary, then args) is clear. No fluff.

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

Completeness4/5

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

Given the tool's simplicity (3 parameters, no output schema, single purpose), the description covers the essential aspects. The absence of output schema is fine; the result is likely a list of found emojis with alternatives, which the description implies. Could mention what 'shows ASCII alternatives' means (e.g., output format) but not critical.

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 description coverage is 100%, but the descriptions in the schema are minimal (e.g., 'Path', 'Recursive'). The tool description adds context: path is a file or directory, recursive is for recursive scanning, and extensions specifies which file types. This adds meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool scans files for emojis and shows ASCII alternatives, which is a specific verb+resource combination. This distinguishes it from siblings like cc_fix_encoding or cc_fix_umlauts which handle encoding/umlaut issues, not emoji detection.

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

Usage Guidelines4/5

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

The description mentions usefulness for systems that don't support Unicode/Emoji, giving a clear use case. It does not explicitly state when NOT to use it or mention alternatives, but the context is clear enough.

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

cc_set_languageB

Set the output language for CodeCommander tools

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYesLanguage code

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description bears full responsibility. It only states a state change ('set') without disclosing persistence, scope, reversibility, or side effects, leaving key behavioral traits unspecified.

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

Conciseness4/5

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

The description is a single sentence that is front-loaded with the verb. It is concise, though it sacrifices some informative 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 low complexity, the description should clearly explain the effect (e.g., affects all subsequent tool outputs) but fails to do so, leaving ambiguity about the tool's role.

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

Parameters3/5

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

Schema coverage is 100% with a clear enum description. The description adds no extra meaning beyond the schema, so it meets the baseline for high-coverage cases.

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

Purpose5/5

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

The description clearly specifies the action ('Set') and the resource ('output language for CodeCommander tools'), distinguishing it from siblings that perform other tasks like diffing files or scanning emoji.

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?

No guidance is given on when to use this tool (e.g., before other tools) or alternatives, but its purpose is self-contained and differs from all listed siblings, reducing the need for explicit exclusions.

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

cc_validate_jsonValidate JSONB
Read-onlyIdempotent

Validates JSON with detailed error information and position.

Args:

  • path (string): Path to the JSON file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the JSON file

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, which already signal safe behavior. The description adds that it provides 'detailed error information and position', offering some behavioral context. However, it does not specify output format or behavior on non-existent 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?

The description is short and front-loaded, stating the core purpose in the first sentence. The Args section is concise but could be integrated. Overall efficient.

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

Completeness3/5

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

The tool is simple (one parameter, no output schema, clear annotations). The description covers the purpose and parameter but lacks details on return values or error handling, which is acceptable given the simplicity.

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

Parameters3/5

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

Schema coverage is 100% with one parameter. The description restates the parameter 'path' as 'Path to the JSON file', adding minimal value beyond the schema description. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states that the tool validates JSON and provides detailed error information with position. The verb 'validates' and resource 'JSON' are specific. While it does not explicitly differentiate from siblings like 'cc_fix_json' (which likely fixes JSON), the distinct name and title help distinguish it.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'cc_fix_json'. The description does not mention prerequisites (e.g., file existence) or scenarios where this tool is appropriate.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.3.24
    • Addedcc_get_language
  2. 6 tool updatesv1.3.16
    • Addedcc_check_indentation
    • Changedcc_extract_classes2 fields changed
      • addedInput schema / properties / include_content
        Added value: +{
        +  "default": false,
        +  "description": "Include extracted class/helper content in the MCP response",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 12000,
        +  "description": "Maximum characters of included extracted content",
        +  "maximum": 100000,
        +  "minimum": 1000,
        +  "type": "integer"
        +}
    • Addedcc_generate_python_code
    • Addedcc_python_structural_edit
    • Addedcc_runtime_import_diagnose
    • Changedcc_set_language1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "de",
        -  "en"
        -]New value: +[
        +  "de",
        +  "en",
        +  "es",
        +  "zh",
        +  "ja",
        +  "ru"
        +]
  3. 18 tool updatesv1.3.8
    • First observedcc_analyze_code
    • First observedcc_analyze_methods
    • First observedcc_cleanup_file
    • First observedcc_convert_format
    • First observedcc_diagnose_imports
    • First observedcc_diff_files
    • First observedcc_extract_classes
    • First observedcc_fix_encoding
    • First observedcc_fix_json
    • First observedcc_fix_umlauts
    • First observedcc_generate_licenses
    • First observedcc_md_to_html
    • First observedcc_md_to_pdf
    • First observedcc_organize_imports
    • First observedcc_regex_test
    • First observedcc_scan_emoji
    • First observedcc_set_language
    • First observedcc_validate_json

TDQS

A3.6/5.0

Scored across 23 tools

Disambiguation4/5

Most tools target distinct tasks (analysis, fixing, conversion), but some overlap exists: cc_diagnose_imports and cc_runtime_import_diagnose both address import issues, and cc_fix_encoding vs cc_fix_umlauts are similar. Descriptions generally clarify the differences, so ambiguity is limited.

Naming Consistency4/5

All tools share the 'cc_' prefix and mostly follow verb_noun ordering (e.g., get_language, fix_json, organize_imports). A few deviate like runtime_import_diagnose and python_structural_edit, but the pattern is largely predictable.

Tool Count3/5

At 23 tools, this is at the high end of reasonable for a broad code-utility toolkit. The count is slightly heavy but justifiable given the wide range of functions (analysis, fixing, conversion, generation).

Completeness4/5

The tool surface covers a wide variety of code operations: static analysis, import handling, JSON/encoding fixes, format conversion, markdown output, and license generation. Minor gaps exist (e.g., no general-purpose code formatting or search), but core workflows are well represented.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A modular MCP server that provides tools for file operations, regex-based code searching, and structural analysis of functions and classes across multiple programming languages. It also includes AI-powered features for intelligently updating files according to architectural changes.
    -
  • F
    license
    A
    quality
    D
    maintenance
    A lightweight MCP server providing everyday developer utilities such as JSON formatting, UUID generation, Base64 conversion, HTTP status lookup, and Unix timestamp conversion as tools and resources.
    5
    -
  • F
    license
    B
    quality
    D
    maintenance
    MCP server providing 37 developer tools for hashing, encoding, regex, JSON, SQL, cron, QR codes, UUID, JWT, and more, all powered by bmobot.ai APIs.
    37
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A unified developer toolbox MCP server providing utilities for base64, JWT, timestamps, UUID, JSON formatting, hashing, URL handling, case conversion, color conversion, number bases, string operations, and regex.
    9 npm
    MIT