Skip to main content
Glama

⚡ MCS (mcp-cs)

The Universal Campus Developer, Diagnostics & AlgoJudge Competitive Execution Suite

npm version License: MIT Node.js MCP Organization

MCS (Model Context Server for Computer Society) is a full-featured Model Context Protocol (MCP) server, standalone developer CLI, and visual console created for developers, university students, competitive programmers, and engineering teams.

InstallationTerminal CLIVisual ConsoleClient ConfigurationTool Catalog


🌟 Why MCS?

MCS connects your AI assistant (Antigravity, Cursor, Claude Desktop, Windsurf, Cline) directly to powerful local execution, repository diagnostics, database modeling, and competitive algorithm tools with zero manual configuration.

  • AlgoJudge Engine: Run sandboxed code (Python, JS/TS, C++, Go, Docker micro-containers), perform automated differential stress-testing, and check AST code similarity.

  • 🩺 Environment Doctor: Diagnose project setups, detect .env disparities, and inspect port conflicts with process PIDs.

  • 🗄️ Database & ERD: Parse SQL schemas and auto-generate Mermaid Entity-Relationship diagrams.

  • Web Performance: Scan for oversized raster assets and audit HTTP compression & security headers.

  • 🛡️ Security Guard: Detect leaked API keys, tokens, and hardcoded credentials before committing.

  • 🌐 API Playground: Live HTTP test client and realistic synthetic mock data generator.


Related MCP server: FastApply MCP Server

💻 Standalone Terminal CLI Commands

In addition to serving AI assistants, MCS works as a standalone terminal productivity CLI:

# 1. Run instant project diagnostics & .env synchronization check
mcs doctor

# 2. Inspect active network ports and process PIDs
mcs ports

# 3. Scan repository for leaked secrets and API keys
mcs scan

# 4. Generate Mermaid ER diagram from a SQL file
mcs erd schema.sql

# 5. Launch the embedded visual web dashboard
mcs ui

# 6. Launch the official Model Context Protocol Inspector
mcs inspector

🖥️ Interactive Visual Dashboard

Launch the embedded graphical visualizer locally with either command:

mcs ui
# or
npx mcp-cs --ui

📦 Installation Guide

Method 1: Instant Run via npx (Recommended — No install needed)

{
  "mcpServers": {
    "mcs": {
      "command": "npx",
      "args": ["-y", "mcp-cs"]
    }
  }
}

Method 2: Homebrew Installation (macOS & Linux)

brew tap ieeecsopen/tap
brew install mcs

Method 3: Global NPM Installation

npm install -g mcp-cs

🎛️ Modular Tool Filtering

To save prompt tokens in your AI assistants, enable only the specific tool modules you need:

# Enable only algorithm and doctor tools
MCS_MODULES=algo,doctor npx mcp-cs

# Or via CLI arguments
mcp-cs --modules=algo,security,db

Supported module tags: algo, doctor, security, db, perf, api, docs, code, git, problem, ci, wasm.


🔌 Client Configuration

1. Antigravity IDE

Add mcs to your global configuration file at ~/.gemini/config/mcp_config.json:

{
  "mcpServers": {
    "mcs": {
      "command": "npx",
      "args": ["-y", "mcp-cs"]
    }
  }
}

2. Claude Desktop

Add to your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on Mac or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "mcs": {
      "command": "npx",
      "args": ["-y", "mcp-cs"]
    }
  }
}

3. Cursor IDE

  1. Open Settings (Cmd + , on Mac or Ctrl + , on Windows).

  2. Go to Features $\to$ MCP.

  3. Click + Add New MCP Server:

    • Name: mcs

    • Type: command

    • Command: npx -y mcp-cs


🛠️ Complete Tool Catalog (25 Tools)

⚡ 1. AlgoJudge Competitive & Algorithm Engine

Tool

Description

Example Prompt

algo_run_sandboxed

Runs code in Python, JS, TS, C++, C, or Go in an isolated process with strict time and memory limits.

"Run this C++ solution with the test input 5\n1 2 3 4 5."

algo_run_docker

Runs code inside a zero-trust ephemeral Docker micro-container (python:alpine, node:alpine, gcc:alpine).

"Run this untrusted script inside a Docker sandbox."

algo_stress_test

Automated Differential Tester: Compares an optimal algorithm against a brute-force baseline on randomized inputs to find failing edge cases.

"Stress-test my Dijkstra implementation against a brute-force solution to find where it fails."

algo_check_plagiarism

Token-based AST code similarity checker that compares two code submissions and detects suspicious duplicated logic.

"Check if solution_a.py and solution_b.py have plagiarized logic."

algo_generate_edge_cases

Generates adversarial corner cases (min $N=1$, max constraints, identical items, extreme negatives, disconnected graphs).

"Generate edge testcases for a binary tree problem."


🗄️ 2. Database & Schema Suite

Tool

Description

Example Prompt

db_generate_erd

Parses SQL CREATE TABLE and foreign key statements to automatically generate Mermaid Entity-Relationship Diagrams.

"Generate a Mermaid ERD diagram from this schema.sql file."


⚡ 3. Web Performance Suite

Tool

Description

Example Prompt

perf_audit_assets

Scans directory for uncompressed raster images (>250KB) and calculates bandwidth savings from WebP/AVIF conversion.

"Audit the images in /public and show me how much size we can save with WebP."

perf_check_headers

Audits HTTP response headers of a web application for Gzip/Brotli compression, Cache-Control, and security headers.

"Check the performance and security headers on http://localhost:3000."


🩺 4. Environment & System Doctor

Tool

Description

Example Prompt

doctor_diagnose_project

Auto-detects runtime (Node, Next.js, Python, Docker), missing node_modules, missing .env, and unconfigured virtual environments.

"Diagnose why this repo won't start."

doctor_check_env

Diffs .env against .env.example to detect missing or surplus keys.

"Check if my .env is missing any keys from .env.example."

doctor_port_inspect

Identifies which background processes and PIDs are locking ports (3000, 6379, 5432).

"Check why port 6379 is occupied."


🛡️ 5. Security & Secrets Guard

Tool

Description

Example Prompt

security_scan_secrets

Scans codebase for leaked OpenAI keys, AWS access tokens, GitHub PATs, and private keys.

"Scan my repository for accidentally committed secrets."

security_auto_sanitize

Auto-replaces detected secrets with process.env references and populates .env.example.

"Sanitize all hardcoded keys across the project."


🌐 6. API Client & Mock Generator

Tool

Description

Example Prompt

api_test_request

Executes live HTTP calls (GET, POST, PUT, DELETE) with headers, auth, and query params — measures latency (TTFB) and formats JSON.

"Send a GET request to https://api.github.com/zen and show the latency."

api_generate_mock_data

Generates realistic synthetic mock datasets (users, products, posts, transactions) for frontend and backend testing.

"Generate 10 mock user records with IDs and emails."


📚 7. Documentation & Code Hygiene

Tool

Description

Example Prompt

docs_check_broken_links

Scans all markdown files (.md, .mdx) to detect broken internal links and dead file references.

"Check all markdown files in the repo for broken links."

docs_auto_fix_links

Automatically updates and rewrites broken markdown links when target files have moved.

"Fix broken links in the docs/ folder."

docs_extract_code_snippets

Extracts all fenced code blocks from markdown documentation for quick inspection.

"Extract all code snippets in docs/ so we can verify their syntax."

code_find_todos

Scans the codebase for TODO, FIXME, HACK, and BUG comments with line numbers and file paths.

"Find all TODO and FIXME comments in the codebase."

code_inspect_heavy_dependencies

Inspects package.json to identify bloated dependencies (moment, lodash, monaco, katex) with optimization tips.

"Check if we have heavy dependencies slowing down our bundle."


🚀 8. Git, Release & CI/CD Suite

Tool

Description

Example Prompt

git_generate_changelog

Parses conventional git commit history between tags and outputs a clean markdown changelog.

"Generate a changelog for all commits since v1.0.0."

git_pr_readiness_check

Verifies uncommitted files, unpushed commits, and branch health before opening a Pull Request.

"Check if my branch is ready for a Pull Request."

git_generate_pr_description

Generates a structured markdown Pull Request description summarizing branch commits and diffs.

"Generate a structured PR description for my current branch."

problem_fetch_codeforces

Fetches problem statements, sample inputs/outputs, tags, and contest limits from Codeforces.

"Fetch the details for Codeforces problem 2060A."

ci_generate_workflow

Generates production-ready GitHub Actions CI/CD workflows for Next.js, NPM Publishing, Docker, or Python.

"Generate a GitHub Action workflow to automatically publish this package to NPM."


🧠 Agent Skills Suite (30 Skills • Compatible with skills.sh)

MCS bundles 30 production agent skills adhering to the open skills.sh standard. These provide AI assistants (Antigravity, Cursor, Claude Code, Windsurf) with specialized operational runbooks:

# 1-Click Install all 30 skills into any project (.agents/skills/)
mcs skills install

# Or install for Cursor (.cursor/rules/)
mcs skills install --cursor

# Or install via skills.sh open package manager
npx skills add ieeecsopen/mcp-cs

🎓 1. Campus & Student Engineering (8 Skills)

Skill Name

What It Instructs the AI Agent to Do

campus-fyp-architecture

Plans and documents university Final Year Projects (FYP) with C4 architecture diagrams, tech comparisons, and IEEE Std 830 SRS chapters.

campus-ieee-citation

Formats online software, journals, DOIs, and papers into strict IEEE referencing format.

campus-lab-report-generator

Auto-generates structured IEEE 2-column practical lab reports and experiment write-ups.

campus-git-team-workflow

Guides student group projects on feature branching, rebase strategies, and conventional commits.

campus-presentation-script

Generates 10-minute slide outlines and word-for-word viva defense speaking scripts.

campus-assignment-cleaner

Pre-flight LMS assignment validator (strips node_modules/.DS_Store, checks student ID headers).

campus-hackathon-fast-scaffold

10-minute rapid prototyping architecture for 12h/24h hackathons (SLIITXtreme).

campus-dsa-visualizer

Generates step-by-step ASCII memory traces for LinkedLists, BST trees, DP tables, and Graphs.

⚡ 2. Competitive Programming & Algorithms (4 Skills)

Skill Name

Description

algo-stress-testing

Differential testing against brute-force baselines to find edge-case failures.

algo-edge-case-generator

Generates corner cases ($N=1$, bounds, extremes, disconnected graphs).

algo-plagiarism-detector

AST token similarity analysis between code submissions.

algo-complexity-analyzer

Asymptotic Big-O time and space complexity auditing.

🎨 3. Frontend & UI Engineering (2 Skills)

Skill Name

Description

frontend-clean-ui

Modern, high-contrast, accessible SaaS UI design with Tailwind and dark mode tokens.

react-state-architecture

State architecture using Zustand, TanStack Query, and React Server Components.

🗄️ 4. Backend, Databases & APIs (4 Skills)

Skill Name

Description

backend-rest-api-design

Production REST API design with Zod schemas, status codes, and cursor pagination.

database-migration-guardian

Zero-downtime database schema migrations, indexes, and safe alterations.

db-architect

Parses SQL DDL statements into visual Mermaid ER diagrams.

api-mock-generator

Generates realistic synthetic datasets (users, products, transactions).

🤖 5. AI, Testing & DevOps (12 Skills)

Skill Name

Description

ai-rag-pipeline-architect

Retrieval-Augmented Generation (RAG) pipelines with vector embeddings and reranking.

ai-prompt-evaluator

System prompt engineering, red-teaming, and structured JSON output validation.

test-unit-generator

Vitest / Jest unit test suites with parameterized edge cases and 100% coverage.

test-e2e-playwright

Resilient Playwright browser test specs with user-facing accessibility locators.

devops-dockerfile-optimizer

Secure multi-stage Dockerfiles with layer caching and non-root users.

devops-vercel-render-deploy

Cloud hosting configuration for Vercel, Supabase, and Render.

repo-doctor

Identifies broken runtime dependencies, missing packages, and setup errors.

env-sync

Compares and synchronizes .env against .env.example.

port-inspector

Resolves socket collisions (EADDRINUSE) and identifies holding PIDs.

ci-workflow-architect

Generates GitHub Actions CI/CD workflows for Node, Docker, and Python.

security-auditor

Pre-flight scanner to detect and auto-sanitize leaked API credentials.

docs-broken-link-checker

Scans markdown files for broken internal links and dead references.

🧩 Interactive Prompts & Resources

Slash Commands / Prompts:

  • /diagnose-repo: Runs full system doctor diagnostics, checks environment variables, scans ports, and generates an onboarding report.

  • /stress-test-solution: Interactive algorithm stress-testing assistant to find counter-example edge cases.

  • /prepare-pr: Pre-flight PR creation checklist and summary.

Dynamic Context Resources:

  • resource://system/ports: Live socket feed of active network ports.

  • resource://git/status: Real-time repository branch and sync state.


💻 Local Development

# 1. Clone repository
git clone https://github.com/ieeecsopen/mcp-cs.git
cd mcp-cs

# 2. Install dependencies
npm install

# 3. Run automated tests (23 tests)
npm test

# 4. Build TypeScript
npm run build

# 5. Start in development mode with UI
npm run dev -- --ui

📄 License & Community

Distributed under the MIT License.

Maintained with ❤️ by the IEEE Computer Society of SLIIT.

Available Tools

28 tools
algo_check_plagiarismA

Compares two code submissions using token-level AST analysis and returns similarity percentage and verdict

ParametersJSON Schema
NameRequiredDescriptionDefault
codeAYesFirst code snippet
codeBYesSecond code snippet

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description must carry the burden of explaining behavior. It does disclose the core mechanism (token-level AST comparison) and top-level outputs, which implies a static, non-executing check. However, it does not define what 'verdict' means, what thresholds determine plagiarism, or what happens with incompatible inputs.

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 compact sentence that efficiently packs the action, method, and return values. There is no filler, and the most important information is 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 simplicity of this two-string-parameter tool, the description is largely complete: it explains what it analyzes, how it analyzes it, and what the output contains. Minor gaps remain around verdict semantics and language constraints, but they do not prevent a correct invocation.

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

Parameters3/5

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

Schema description coverage is 100% because both codeA and codeB are described as 'code snippet'. The tool description adds no parameter-specific meaning beyond this, so it earns the baseline score of 3.

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

Purpose5/5

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

The description names a specific verb ('compares'), a clear resource ('two code submissions'), a method ('token-level AST analysis'), and the expected outputs ('similarity percentage and verdict'). This is instantly distinguishable from sibling tools like algo_run_sandboxed or security_scan_secrets.

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 intended use is reasonably clear from the description: use this when two code submissions need to be checked for similarity or plagiarism. However, it does not explicitly state when to use it over alternatives, what inputs are invalid (e.g., different languages), or any exclusions.

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

algo_generate_edge_casesB

Generates adversarial corner cases (min N=1, max bounds, identical items, extreme negatives, disconnected graphs)

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNNoMaximum constraint bound (e.g. 100000)
typeNoData structure type

TDQS

B3.4/5.0
Behavior2/5

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

Since no annotations are provided, the description carries the full burden for behavioral transparency. It lists the types of edge cases generated but does not disclose the return format (e.g., array of test cases), determinism, or any side effects. The tool is a generator, but the description doesn't clarify what the output looks like, which is essential for an agent to use it correctly.

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

Conciseness5/5

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

The description is a single sentence with a clear verb and concrete examples, front-loading the purpose and key characteristics. There is no redundancy or unnecessary detail, making it highly efficient for an agent to parse.

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

Completeness2/5

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

Given the tool has no output schema and no annotations, the description should explain what the tool returns and how the output can be used. It does not mention the number of cases generated, the output format, or any other behavioral details. The description is adequate for understanding the general purpose but insufficient for an agent to know what to expect when invoking the tool.

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

Parameters3/5

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

Schema coverage is 100% with both parameters (maxN, type) described. The description adds some context by linking edge case examples to parameter types (e.g., disconnected graphs for graph type), but it doesn't explicitly explain how maxN or type affect the generation output. With full schema coverage, a score of 3 is baseline; the description provides marginal additional value.

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

Purpose5/5

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

The description clearly states the tool's purpose: it generates adversarial corner cases, and it lists concrete examples (min N=1, max bounds, identical items, extreme negatives, disconnected graphs). It distinguishes itself from sibling tools like algo_stress_test, which presumably generate random or stress test cases, by focusing on adversarial edge cases. The verb 'generates' is specific and the resource is well-defined.

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 testing purposes (generating edge cases to complement other testing tools) but does not explicitly state when to use it versus alternatives like algo_stress_test or algo_run_sandboxed. It lacks when-not guidance or mention of alternative tools. Usage is implied but not directly articulated.

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

algo_run_dockerA

Executes code inside a zero-trust ephemeral Docker container (python:alpine, node:alpine, gcc:alpine) with no network access

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code to execute
stdinNoStandard input provided to the container
languageNoProgramming language
timeoutMsNoTimeout in ms (default: 5000)

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully reveals that execution happens in a zero-trust, ephemeral container with no network access, which is important behavioral context. It does not mention output format, exit-code behavior, or resource limits beyond the schema's timeoutMs, but the disclosed isolation and networking traits are significant.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the core action and then adds the most important constraints. Every element earns its place, with no filler or redundant restating.

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 schema fully covers parameters and the description conveys core execution context, but there is no output schema and the description does not explain what the agent should expect as the result: captured stdout, stderr, exit code, or success/failure response. For an execution tool, this is a notable gap, though the essential isolation behavior is well covered.

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%, so the baseline is 3. The description adds extra value by naming specific Docker images (python:alpine, node:alpine, gcc:alpine), which helps map the language enum values to their runtime environments—something the schema does not provide. It reinforces the execution context without repeating parameter details.

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

Purpose4/5

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

The description clearly states a specific action—executing code inside a Docker container—and adds meaningful scope details: zero-trust, ephemeral, and no network access. It is distinguishable from siblings like algo_run_sandboxed by mentioning Docker and networking constraints, though it does not explicitly name or contrast any sibling tool.

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

Usage Guidelines2/5

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

The description implies this is for isolated, network-disabled, ephemeral code execution, but it does not explain when to choose this over algo_run_sandboxed, wasm_run_module, or algo_stress_test. There is no explicit guidance about when to use this tool versus alternatives.

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

algo_run_sandboxedB

Executes code in an isolated process with strict timeout and memory limits (supports python, javascript, typescript, cpp, c, go)

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code to execute
stdinNoStandard input provided to the process
languageNoProgramming language
timeoutMsNoExecution timeout in ms (default: 3000)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden and does add useful context: isolated process, strict timeout, and memory limits. However, 'strict' is vague, and the description does not disclose output format, error handling, or whether network/filesystem access is blocked.

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

Conciseness5/5

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

The description is a single sentence with a clear, active verb and a compact parenthetical language list. Every part contributes useful information, and there is no redundant filler.

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 description covers the essential what and key constraints, making basic invocation possible. But since there is no output schema and no annotations, the missing return-value behavior, default language behavior, and sibling differentiation leave notable gaps for an agent selecting among similar tools.

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

Parameters3/5

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

The input schema already documents all four parameters with descriptions and an enum, so the baseline is 3. The description only repeats the supported-language list from the enum and does not add extra parameter-level meaning.

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 a specific action ('Executes code') and resource ('an isolated process'), and it lists supported languages, so the tool's core function is unmistakable. However, it does not explicitly differentiate from sibling tools like algo_run_docker or wasm_run_vm_sandbox, leaving some selection ambiguity.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as algo_run_docker or wasm_run_vm_sandbox. The isolation wording implies safe execution, but there are no explicit conditions, exclusions, or recommended scenarios.

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

algo_stress_testA

Automated differential tester: runs a fast solution against a brute-force baseline using randomized inputs until a failing edge case is found

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage used (default: python)
solutionCodeYesFast algorithm to test
generatorCodeYesRandom testcase generator code
maxIterationsNoMax randomized iterations to run (default: 30)
bruteForceCodeYesSlow but 100% correct reference algorithm

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and it delivers: it discloses the core behavior of comparing two programs, the use of randomized inputs, and the loop-until-failure terminition. It doesn't mention execution environment or what happens when no failure is found, but the main operational traits are transparent.

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

Conciseness5/5

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

One tightly packed sentence that fronts the defining concept ('Automated differential tester') and then gives the mechanism and goal in order. Every word contributes; there is no repetition or filler.

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

Completeness3/5

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

With no output schema and no annotations, the description should explain what the tool returns or reports when it finds a failure, and what happens if no failure is found within maxIterations. The description is clear about the process but silent about the result shape, leaving an agent to guess at the tool's terminal behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so by the baseline rule this dimension already has adequate documentation. The description reinforces the roles of solutionCode and bruteForceCode through the 'fast solution versus brute-force baseline' framing but does not add syntax, format, or constraint details beyond the schema.

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

Purpose5/5

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

The description opens with 'Automated differential tester', a specific noun phrase that names the technique and resource. It then states exactly what it does — runs a fast solution against a brute-force baseline with randomized inputs — which clearly separates it from siblings like algo_run_sandboxed, algo_generate_edge_cases, and algo_check_plagiarism.

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 clearly indicates the use case: when you have a fast solution and a brute-force reference and want to find a failing edge case. It does not explicitly name alternatives or state when not to use it, but the differential-testing framing provides clear context without exclusions.

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

api_generate_mock_dataC

Generates realistic synthetic mock data (users, products, posts, transactions) for testing

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoEntity type
countNoNumber of mock items to generate (1-50)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full weight. It only states that it generates synthetic data, implying it does not affect real data, but this is not explicit. It does not disclose side effects, determinism, performance, or that it is a pure generation with no persistence. This is minimal behavioral disclosure for a tool with zero annotation coverage.

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

Conciseness4/5

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

The description is a single, clear sentence that front-loads the purpose and lists the supported types. It is concise with no filler words. However, it might be slightly underspecified, but for a simple tool, the length is appropriate.

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

Completeness2/5

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

With no output schema, no annotations, and only 2 simple parameters, the description should at least hint at what the generated data looks like (e.g., array of objects, format) or clarify that it is non-destructive. It does neither. An agent cannot fully anticipate the return value or side effects, leaving the description incomplete for the tool's 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 description coverage is 100%, with both 'type' and 'count' having descriptions. The tool description merely lists the possible types, which the schema already provides via the enum. It adds no additional nuance about format, constraints beyond the schema's '1-50' hint, or how parameters interact. Baseline of 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description states a clear action ('Generates') and a specific resource ('synthetic mock data'), and enumerates the supported entity types (users, products, posts, transactions). It is specific enough to distinguish it from unrelated sibling tools, though it does not explicitly differentiate from any potential similar mock-data generator among the siblings.

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 gives no guidance on when to use this tool versus alternatives, no context on scenarios (e.g., testing, seeding databases), and no exclusions. The agent must infer usage from the name and types listed. There is no mention of prerequisites or when not to use it.

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

api_test_requestC

Executes an HTTP request (GET, POST, PUT, DELETE, PATCH) and measures latency & formats response data

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL (e.g. 'https://api.github.com/zen')
bodyNoOptional request body (for POST/PUT)
methodNoHTTP method
headersNoOptional request headers as key-value pairs
timeoutMsNoRequest timeout in milliseconds (default: 10000)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool executes an HTTP request, which implies network activity, but it does not warn that mutating methods (POST, PUT, DELETE, PATCH) can modify remote resources, nor does it mention potential side effects, error handling, or authentication requirements. The added details about latency measurement and formatting are helpful but insufficient for a tool that can cause external changes.

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, compact sentence that front-loads the core action and includes the supported methods, followed by the secondary outputs. It conveys the essential information without waste. Minor improvement could be splitting into two sentences (execution vs. measurement/formatting) but overall it is appropriately concise.

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

Completeness2/5

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

Given the tool's complexity (network call, 5 parameters, potential side effects) and the absence of an output schema, the description is too sparse. It does not explain what the formatted response looks like, how latency is measured, what happens on error, or whether authentication is required. An agent calling this tool would lack critical context for interpreting results and handling failures.

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

Parameters3/5

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

The input schema describes all 5 parameters with 100% coverage, so the schema already documents each field's meaning (url, body, method, headers, timeoutMs). The description adds no extra semantic detail beyond the schema, so the baseline of 3 applies. The description does not compensate for any schema gaps because there are none.

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

Purpose4/5

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

The description states a specific action ('executes an HTTP request'), enumerates the supported methods, and adds two further outputs (latency measurement and response formatting), which is more specific than the tool name alone. It is not explicitly differentiated from sibling tools, but the siblings are all in different domains (security, docs, git, etc.), so the risk of confusion is low. A clear, unambiguous statement of function.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. While the action itself implies a use case (testing an API endpoint), there is no explicit statement such as 'use for live HTTP testing' or 'not for generating mocks'. The agent is left to infer usage entirely from the purpose.

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

ci_generate_workflowB

Generates production-ready GitHub Actions CI/CD workflows for Next.js, NPM Publishing, Docker, or Python

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesWorkflow type

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. 'Generates' is vague—it does not state whether the tool writes files to the repository, returns content to the caller, requires authentication, or has any side effects. This ambiguity is a significant gap for an agent deciding how to invoke and handle the result.

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, focused sentence that front-loads the core purpose and enumerates supported variants. There is no filler or redundancy—every word earns its place.

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

Completeness2/5

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

The description omits critical context: what the generated workflow contains, whether it is created as a file or returned as text, and any required project setup. With no output schema or annotations, an agent cannot fully anticipate the tool's behavior or end state, making this incomplete for a generation tool.

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

Parameters3/5

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

The schema covers the single parameter 'type' comprehensively with an enum of allowed values and a description ('Workflow type'). The tool description adds nothing beyond the schema; it merely lists the same types in the prose. Since schema coverage is 100%, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Generates' and the resource 'GitHub Actions CI/CD workflows' with specific types (Next.js, NPM Publishing, Docker, or Python). This is unambiguous and distinguishes it from all sibling tools, none of which generate workflows.

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 tool's purpose is self-evident given it is the only workflow-generation tool among siblings, so usage context is implied. However, the description provides no explicit guidance on when to use it, no prerequisites, and no exclusions, leaving the agent to infer appropriate usage.

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

code_find_todosA

Scans the codebase for TODO, FIXME, HACK, and BUG comments with line numbers and file paths

ParametersJSON Schema
NameRequiredDescriptionDefault
targetDirNoDirectory to scan (defaults to cwd)

TDQS

A3.8/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 entire burden of disclosing behavior. It implies a read-only scan but does not explicitly state that no modifications occur, nor does it mention limits like skipping node_modules or honoring .gitignore. It conveys the core operation but lacks detail on potential side effects or constraints.

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

Conciseness5/5

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

The description is a single, tightly crafted sentence. It front-loads the action ('Scans the codebase') and then packs the target comment types and output information efficiently. Every word contributes to meaning, with no filler or 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?

For a tool with a single optional parameter and no output schema, the description covers the essential operation and the nature of the results (line numbers and file paths). It does not elaborate on output format, performance, or configuration details, but these are not critical given the tool's simplicity. It is reasonably 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 input schema fully describes the single parameter (targetDir) with its meaning and default behavior, so schema coverage is 100%. The description adds no additional parameter guidance, which aligns with the baseline score of 3. The tool description itself does not mention the parameter at all, so no extra value is provided.

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 ('Scans'), names the resource ('the codebase'), and enumerates the exact comment types (TODO, FIXME, HACK, BUG) plus the deliverables (line numbers and file paths). This is precise and readily distinguishes it from the sibling tools, which target entirely different concerns like security, docs, or API testing.

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 clearly states what the tool does, so an agent can infer it is used when code comments need to be surfaced, but it provides no explicit usage context, exclusions, or guidance on when an alternative might be preferable. The 'when to use' is implied rather than stated.

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

code_inspect_heavy_dependenciesA

Inspects package.json to identify bloated dependencies (moment, lodash, monaco, katex) with optimization tips

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoPath to project root with package.json

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. The verb 'Inspects' clearly signals a read-only analysis rather than a mutation, and 'with optimization tips' discloses the deliverable. It does not explicitly say the tool never modifies anything, but 'inspects' makes that interpretation reasonable.

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

Conciseness5/5

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

A single sentence that front-loads the verb and resource, then adds specific examples and the expected deliverable. There is no filler or redundant restating of the tool name.

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

Completeness3/5

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

For a simple one-parameter inspection tool this is mostly sufficient. The main gaps are the absence of an output schema or clearer return-value description beyond 'optimization tips', and no guidance for the case where projectPath is omitted, especially since the schema lists no required parameters.

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

Parameters3/5

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

The only parameter, projectPath, is already documented in the schema with 100% coverage ('Path to project root with package.json'). The tool description adds no additional parameter-level meaning, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb ('Inspects'), a concrete target ('package.json'), and a precise outcome ('identify bloated dependencies' with optimization tips). The named examples sharpen the scope and distinguish it from sibling tools like perf_audit_assets or doctor_diagnose_project.

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?

Usage is implied: call this when auditing package.json for oversized dependencies and optimization advice. However, it never states when not to use it or which alternative to prefer, leaving routing partly to the agent.

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

db_generate_erdA

Parses SQL table definitions and generates a clean Mermaid Entity-Relationship (ER) Diagram

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaSqlYesDDL SQL string containing CREATE TABLE statements

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It states the input (SQL table definitions) and output (Mermaid ER diagram) but does not disclose edge-case behavior (e.g., invalid SQL handling, foreign key detection, input size limits) or confirm non-destructive/read-only nature. For a generation tool, the core behavior is clear, but lacks depth.

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

Conciseness5/5

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

The description is a single sentence with no filler. It front-loads the action and resource, and every word contributes meaning. Ideal conciseness.

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 explains the output (Mermaid ER Diagram) despite no output schema, which is helpful. However, it does not specify the exact return format (e.g., string, file path) or error behavior. For a simple one-parameter tool with clear input/output, the description is mostly complete, but minor details are absent.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already provides a clear description of the parameter (DDL SQL string containing CREATE TABLE statements). The description does not add any additional semantics beyond what the schema offers, so the baseline 3 applies.

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

Purpose5/5

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

The description clearly states a specific verb (parses, generates) and resource (SQL table definitions → Mermaid ER Diagram). It is unambiguous and distinct from all sibling tools, none of which mention ERD or DDL processing.

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 provides clear context for when to use the tool: when you have DDL SQL and want an ER diagram. It does not explicitly exclude alternatives, but since no sibling tool serves a similar purpose, the context is sufficient. Missing explicit 'when not to use' guidance, but not a significant gap.

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

docs_extract_code_snippetsB

Extracts all fenced code blocks from markdown documentation for quick inspection and review

ParametersJSON Schema
NameRequiredDescriptionDefault
targetDirNoDirectory to scan (defaults to cwd)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the extraction action but does not disclose whether files are modified, the output structure, or any side effects. The phrase 'for quick inspection and review' hints at a read-only purpose, but does not explicitly state safety or behavioral traits. This is a notable gap for an operation that could potentially affect the environment.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core action ('Extracts all fenced code blocks from markdown documentation') and adds a brief purpose without redundancy. Every word earns its place.

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

Completeness3/5

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

For a tool with one simple parameter and no output schema, the description covers the essential action. However, it lacks usage context (when to choose this over siblings), and does not mention details like recursion depth or handling of non-markdown files. Given the simplicity, it is adequate but not fully 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 input schema has a single parameter, targetDir, with a description ('Directory to scan (defaults to cwd)') that provides full coverage. The tool description does not add additional parameter semantics, but since schema coverage is 100%, the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a clear verb and resource: 'Extracts all fenced code blocks from markdown documentation'. The added purpose 'for quick inspection and review' gives context. While it doesn't explicitly differentiate from siblings like docs_check_broken_links, the action is distinct enough that an agent can infer its main function.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, typical scenarios, or when another tool would be more appropriate. For a documentation-related tool among siblings like docs_auto_fix_links, some routing information would be expected.

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

doctor_check_envA

Compares .env against .env.example and flags missing or extra environment keys

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path to project root (defaults to cwd)

TDQS

A3.8/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 full burden. It discloses the core behavior (comparing and flagging differences) but does not explicitly state whether the operation is read-only or has side effects. It also does not describe the return format or error handling. The description is not contradictory, but it is minimal in disclosing potential behavioral details.

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

Conciseness5/5

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

The description is a single, well-structured sentence with no fluff. It front-loads the action and immediately conveys the tool's purpose without unnecessary qualifiers. Every word 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 simplicity (one parameter, no output schema, no nested objects), the description is largely complete. It states what the tool does and what it flags. However, it does not explain the exact format of the output (e.g., a list, structure), which might be useful for an agent expecting a specific return type. This is a minor gap, not a critical omission.

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 schema provides 100% coverage of the single parameter (projectPath) with a clear description. The tool description does not add parameter-specific meaning beyond the schema, but given full coverage, baseline 3 is appropriate. No additional semantic context is needed.

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 ('Compares') and resource ('.env against .env.example') and clearly indicates the action ('flags missing or extra environment keys'). It distinguishes itself from sibling tools like doctor_port_inspect and doctor_diagnose_project by focusing on environment file consistency.

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 context (checking environment configuration) but does not explicitly state when to use this tool versus alternatives. It provides no exclusions or conditions beyond the action itself. Since the purpose is distinct enough from siblings, the omission is not severely penalized, but it lacks explicit routing guidance.

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

doctor_diagnose_projectA

Scans project structure, detects language/framework, missing dependencies, and setup issues

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path to project root (defaults to cwd)

TDQS

A3.8/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 full burden for behavior disclosure. It states the core action (scanning, detecting) but does not mention whether the operation is read-only, if it requires network access, has prerequisites, or what the output format is. These gaps leave uncertainty for agents.

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

Conciseness5/5

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

A single sentence that is front-loaded with the action and delivers all key information without waste. It is appropriately concise for the tool's simplicity.

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

Completeness4/5

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

For a simple diagnostic tool with one well-documented parameter, the description covers the essential purpose and actions. It lacks mention of output structure or side effects, but given the low complexity and absence of an output schema, the definition is reasonably complete for agent decision-making.

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

Parameters3/5

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

Schema description coverage is 100%, so the single parameter (projectPath) is fully documented in the schema. The description adds no extra semantics beyond the schema, which is acceptable per the baseline, but it does not compensate with any additional parameter-related insights.

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 ('scans') and resource ('project structure'), and lists concrete detections (language/framework, missing dependencies, setup issues). This clearly distinguishes it from siblings like doctor_port_inspect and doctor_check_env that target different diagnostic scopes.

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 project-level diagnostics but does not explicitly state when to use it over alternatives or any exclusions. The intended context is inferable from the phrasing, but there is no direct comparison to sibling tools or guidance on suitability.

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

doctor_port_inspectA

Checks if specific network ports (e.g. 3000, 6379, 5432) are occupied and by which process PID

ParametersJSON Schema
NameRequiredDescriptionDefault
portsYesArray of port numbers to check (e.g. [3000, 6379, 5432])

TDQS

A3.8/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 disclosing behavioral traits. It states the tool checks port occupancy and reports the PID, implying a read-only inspection with no side effects. However, it does not disclose whether admin privileges are needed, whether it scans localhost only, or the format of the returned data. The description gives the core behavior but lacks edge-case context that annotations would typically cover.

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-structured sentence with no fluff. It front-loads the core purpose (checking ports) and specifies the output (PID) efficiently. Every word adds value, and the example ports make the input format immediately clear.

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 one-parameter diagnostic tool with no output schema or annotations, the description is adequately complete. It explains what it does, what input is expected, and what information it provides (occupancy and PID). It does not specify the exact response format, but this is a minor gap for a simple inspection tool. The description could benefit from stating that it is a read-only check or that it only scans the local machine, but overall it is sufficient.

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

Parameters3/5

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

The schema description is 100% complete for the single parameter 'ports', including an example, so the baseline is 3. The tool's description adds little beyond what the schema already provides—it reiterates the port examples but does not clarify additional details like valid ranges or duplicate handling. Therefore, it meets but does not exceed the baseline.

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 ('Checks'), resource ('specific network ports'), and the precise outcome (whether occupied and by which PID). It clearly distinguishes itself from sibling tools like doctor_diagnose_project and doctor_check_env, which address broader system/project health rather than port occupancy.

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 intended use case is implied: if you need to know whether specific ports are occupied and by what process, use this tool. However, it does not explicitly state when not to use it or mention alternatives such as doctor_check_env for environment checks or security_scan_secrets for security-related scans. No exclusions or comparative guidance are provided.

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

git_generate_changelogA

Parses conventional git commit history between tags and outputs a clean markdown changelog

ParametersJSON Schema
NameRequiredDescriptionDefault
toTagNoEnding git commit or tag (defaults to 'HEAD')
fromTagNoStarting git commit or tag (e.g. 'v1.0.0')

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It does disclose the key format assumption — only 'conventional' commits are parsed, implying non-conventional commits are excluded or ignored. But it does not disclose side effects (expected read-only is never stated), error behavior when tags are missing or commits are absent, or whether the operation is safe to run repeatedly.

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

Conciseness5/5

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

A single, front-loaded sentence with zero filler. The core action, input scope, and output format are packed into one clause, and every word earns its place.

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

Completeness3/5

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

With no output schema, no annotations, and a moderate-complexity task, the description gives a reasonable output hint ('clean markdown changelog') but omits edge-case behavior: what happens with no tags, gaps between tags, or repositories with no conventional commits. The essentials for a normal call are present; the failure modes are not.

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

Parameters3/5

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

Schema description coverage is 100% — both toTag and fromTag are fully documented in the schema, so the baseline of 3 applies. The description's phrase 'between tags' loosely maps to the range parameters but adds no syntax, format, or ordering details 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 states a specific verb ('Parses...and outputs'), a clear resource ('conventional git commit history between tags'), and a distinct deliverable ('clean markdown changelog'). It cleanly separates this tool from siblings like git_generate_pr_description (PR text) and git_pr_readiness_check (readiness evaluation), so an agent can discriminate immediately.

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 usage context is implied rather than stated: an agent would select this when it wants an auto-generated changelog from git history. However, there is no explicit when-to-use, when-not-to-use, or mention of alternatives among the git siblings, and no prerequisites (e.g., a populated git repo with tag history) are called out.

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

git_generate_pr_descriptionA

Generates a structured markdown Pull Request description summarizing branch commits and diffs

ParametersJSON Schema
NameRequiredDescriptionDefault
targetBranchNoTarget merge branch (default: 'main')

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the output is 'structured markdown' and that it summarizes 'commits and diffs', which gives useful context. However, it does not disclose whether the tool needs a clean working tree, whether it pushes anything, whether it writes to the repository or just outputs text, or what happens with large diffs. For a generation tool, this is a moderate gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that packs the verb, resource, method, and output format. No wasted words, and the key information is front-loaded. It earns its place entirely.

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 is relatively simple (one optional parameter, no output schema, no nested objects), the description covers the essential purpose and output format. It could benefit from clarifying whether it writes to the repo or only generates text, but for its simplicity, it is nearly complete. Missing behavioral details slightly lower the score from 5.

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% and the single parameter (targetBranch) is fully documented in the schema. The description adds no additional meaning about the parameter, such as format, constraints, or behavior when omitted. Given high coverage, baseline 3 is appropriate — the description doesn't detract but doesn't enhance either.

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 ('Generates'), a resource ('Pull Request description'), and the method ('summarizing branch commits and diffs'). It clearly distinguishes this from a generic 'generate' tool by specifying the exact artifact produced. It also differs from the sibling git_generate_changelog, which produces a different artifact.

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 when to use it (when a PR description is needed) and mentions the method (summarizing branch commits and diffs), which gives some context. However, it does not explicitly say when NOT to use it or name alternatives like git_generate_changelog or git_pr_readiness_check, which an agent might confuse it with. The implied usage is clear enough but lacks explicit routing.

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

git_pr_readiness_checkA

Verifies uncommitted files, unpushed commits, and branch health before opening a Pull Request

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'verifies' implies a read-only check, it does not explicitly state that the tool makes no modifications to files or commits, nor does it describe what it returns or how errors are handled. This is a meaningful gap for a tool that could be expected to perform side-effect-free checks.

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-structured sentence. It front-loads the key actions (verifies uncommitted files, unpushed commits, branch health) and the context (before opening a PR) with no wasted words.

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

Completeness3/5

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

The description tells what the tool does and when to use it, but it does not describe the output format or what constitutes 'branch health' beyond vague terms. Since there is no output schema, the agent is left unsure what the tool returns (e.g., a boolean, a report, a list of issues). For a simple no-parameter check, this is a notable completeness gap.

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 tool has zero parameters and 100% schema coverage (vacuously), so there is nothing for the description to add beyond the schema. The baseline for 0 parameters is 4, and the description is silent on parameters, which is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: it verifies uncommitted files, unpushed commits, and branch health before opening a PR. The verb 'verifies' and specific resources distinguish it from sibling tools like git_generate_changelog or git_generate_pr_description, which generate artifacts rather than assess readiness.

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?

It gives a clear temporal context ('before opening a Pull Request') that tells the agent when to use it. However, it does not explicitly name alternative tools or state when not to use this tool versus others, such as git_generate_changelog or doctor_check_env, so it stops short of full routing guidance.

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

perf_audit_assetsA

Scans repository for oversized raster images (>250KB) and calculates bandwidth savings from WebP/AVIF conversion

ParametersJSON Schema
NameRequiredDescriptionDefault
targetDirNoDirectory to scan (defaults to cwd)
thresholdKbNoFile size threshold in KB (default: 250)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It mentions scanning and calculation but does not state whether the tool modifies any files, requires network access, or is read-only. For a scan-and-analyze tool, the lack of explicit non-destructive or side-effect disclosure is a significant gap.

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

Conciseness5/5

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

A single, concise sentence that front-loads the primary purpose and outcome. There is zero extraneous information, and every clause contributes to understanding the tool's function. Structure is optimal for quick agent comprehension.

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 relatively simple scan tool with two well-documented parameters and no output schema, the description provides adequate context to invoke it correctly. It explains the scan target and the calculation performed. It does not describe the return format, but for a scan tool this is a minor omission given the overall 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 description coverage is 100%, and the parameter descriptions in the schema already cover defaults and meanings. The tool description adds no additional semantic detail beyond what the schema provides (e.g., it repeats the threshold and target directory defaults). Baseline score of 3 is appropriate given full schema coverage.

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

Purpose5/5

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

The description states a specific verb ('Scans') and resource ('repository for oversized raster images') and clearly distinguishes its outcome ('calculates bandwidth savings from WebP/AVIF conversion'). This is precise and differentiates it from sibling tools like perf_check_headers or code_inspect_heavy_dependencies without ambiguity.

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

Usage Guidelines3/5

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

The description provides clear context for when to use the tool (auditing repository for image size and conversion benefits) but does not explicitly mention alternatives or when not to use it. No comparison to sibling tools and no exclusions are given, so usage guidance is implied rather than explicit.

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

perf_check_headersA

Audits HTTP response headers of a web application for Gzip/Brotli compression, Cache-Control, and security headers

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL (e.g. 'http://localhost:3000')

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies the tool makes an HTTP request to the target URL and inspects response headers, which is a read-only audit. However, it does not explicitly state that no modifications are made, nor does it disclose any potential latency or failure behavior. It is adequate but not explicit about side effects or limitations.

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 front-loads the action and clearly enumerates the scope. There is no wasted wording, and it is appropriately concise for a tool with one parameter.

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

Completeness3/5

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

Given the simplicity of the tool (one parameter, no output schema), the description gives a clear picture of the audit scope. However, it does not describe what the tool returns (e.g., a report or findings) or any assumptions about the target (e.g., server must be running). While not critical, a bit more context on output could improve completeness.

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

Parameters3/5

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

The single parameter 'url' is fully described in the schema with an example, so schema coverage is 100%. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states a specific verb ('Audits') and resource ('HTTP response headers of a web application'), and then specifies the exact aspects checked (Gzip/Brotli compression, Cache-Control, and security headers). This distinguishes it from the sibling perf_audit_assets, which targets assets rather than headers.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. It simply states what it does, leaving the agent to infer when it is appropriate. Among siblings like perf_audit_assets, there is no comparative guidance.

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

problem_fetch_codeforcesA

Fetches problem statement metadata, tags, and contest limits from Codeforces

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesProblem letter (e.g. 'A', 'B', 'C')
contestIdYesCodeforces contest ID (e.g. '2060')

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. 'Fetches... from Codeforces' signals a read-only external lookup, which gives a basic behavioral profile, but it does not disclose potential rate limits, authentication needs, failure modes, or the exact return format. This is adequate but not rich.

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 short sentence with no filler. It front-loads the action and names all relevant data categories, making it easy to parse quickly.

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 tool is simple, with only two fully documented parameters and no nested objects or output schema. The description identifies the return content categories, which is enough for an agent to call the tool correctly, though it leaves the precise response shape to inference.

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

Parameters3/5

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

The input schema already provides full descriptions for both parameters, including examples. The tool description adds no parameter-specific detail beyond the schema, so the 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 uses a specific verb ('Fetches') and names a concrete resource: Codeforces problem statement metadata, tags, and contest limits. It is immediately clear what the tool does and it does not overlap with any sibling tool in the list, so there is no confusion about its role.

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 clearly implies the tool should be used when an agent needs Codeforces problem metadata, tags, or contest limits. It does not explicitly discuss exclusions or alternatives, but no direct alternative appears among the sibling tools, so the implied usage context is sufficient.

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

security_auto_sanitizeA

Auto-replaces detected hardcoded secrets with process.env references and populates .env.example

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoIf true, previews changes without writing files (default: true)
targetDirNoDirectory to sanitize (defaults to cwd)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It does disclose the two main side effects: replacing secrets and populating .env.example. However, it does not mention whether changes are reversible, how detection is triggered, or what happens to an existing .env.example, which is meaningful for a mutating tool.

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

Conciseness5/5

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

A single sentence with no filler. The action, target, and result are all front-loaded, and every clause earns its place.

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

Completeness3/5

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

For a simple two-optional-parameter tool, the description plus fully documented schema is enough to invoke it correctly. Still, there is no output schema and no mention of what the tool returns or confirms, and the mutating behavior lacks safety caveats beyond the dryRun parameter in the schema.

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 both dryRun and targetDir are already documented. The description does not add extra meaning for parameters, but the schema alone is sufficient, matching the baseline of 3.

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

Purpose5/5

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

The description uses a specific verb ('Auto-replaces') with a clear resource ('detected hardcoded secrets') and states the resulting outcome ('process.env references' and '.env.example'). This clearly distinguishes it from siblings like security_scan_secrets, which scans rather than mutates.

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 when to use the tool: when you want hardcoded secrets replaced with environment references. However, it does not explicitly compare against alternatives such as security_scan_secrets, nor does it state when not to use it or whether a prior scan is required.

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

security_scan_secretsA

Scans repository text files for accidentally hardcoded API keys, JWTs, and private tokens

ParametersJSON Schema
NameRequiredDescriptionDefault
targetDirNoTarget directory to scan (defaults to cwd)

TDQS

A3.8/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 full burden of behavioral disclosure. It does add one useful behavioral trait — the scan is limited to 'text files' (excluding binary artifacts). However, it never explicitly confirms a read-only, non-destructive operation, which is material given the destructive sibling security_auto_sanitize_secrets, nor does it disclose limits such as file-type filters, symlink handling, or performance on large repos.

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

Conciseness5/5

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

One tight sentence with zero filler; the action verb leads, and the specific secret types are enumerated efficiently. Every token 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 simplicity (single optional param, full schema coverage, no nested objects), the description is largely complete. The main gap is the return value: with no output schema in place, the description does not tell the agent what the scan yields (e.g., matched files, line numbers, severity), so an agent cannot predict how to interpret results. This is a minor gap for an otherwise simple tool.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter targetDir is already documented as 'Target directory to scan (defaults to cwd)'. The description adds no parameter-specific detail beyond the schema, so it does not exceed the baseline for a fully-covered one-parameter tool.

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

Purpose5/5

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

The description uses a specific verb ('Scans'), names the resource ('repository text files'), and enumerates the precise targets ('accidentally hardcoded API keys, JWTs, and private tokens'). It clearly distinguishes itself from the sibling security_auto_sanitize_secrets by framing this as detection ('scans') versus remediation ('sanitize'), so an agent can tell them apart without opening schemas.

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 intended context (pre-commit secret detection) is implied by the purpose, but the description offers no explicit when-to-use or when-not-to-use guidance, no prerequisites (e.g., git repo, network access), and does not route the agent to the complementary sibling security_auto_sanitize_secrets once findings are discovered. The use case is inferable but never stated.

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

skills_installA

Installs official MCS agent skills (algo-stress-testing, repo-doctor, db-architect, security-auditor) into local repository (.agents/skills/ or .cursor/rules/)

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoSkill target format (default: agents)
targetDirNoTarget repository root directory (defaults to cwd)

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 full burden of behavioral disclosure. It communicates the installation destinations and the two supported formats, but does not mention file overwrite behavior, idempotency, or any side effects beyond installation. Some behavioral context is present, but key mutation details are missing.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action, includes concrete examples of what will be installed, and specifies the destination paths. Every part earns its place without 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?

For a simple tool with two optional parameters and no output schema, the description covers the essential information an agent needs: what gets installed, where, and in which formats. It could be more explicit about the tool's side effects on the target directory, but the core context is 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?

Schema description coverage is 100%, so the schema already documents both parameters and their defaults. The description adds the skill names and target path details, which maps to the format parameter meaning, but does not provide substantial additional semantic value beyond the schema.

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

Purpose5/5

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

The description states a specific action ('Installs'), a specific resource ('official MCS agent skills'), lists the exact skills, and names the target locations. This clearly distinguishes it from all sibling tools, none of which perform skill installation.

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 makes clear the tool is for installing official MCS skills into a local repository, which is sufficient context for when to use it. It does not explicitly state exclusions or alternatives, but no sibling tool overlaps with this functionality, so the guidance is adequate.

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

wasm_run_moduleC

Executes pre-compiled WebAssembly (.wasm) binary in memory with exported function calls

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoNumerical arguments passed to function
wasmBase64YesBase64-encoded WASM binary buffer
functionNameYesExported function name to call

TDQS

C2.9/5.0
Behavior2/5

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

Description reports that execution happens in memory and that calls are made to exported functions, which are useful behavioral facts. However, with no annotations, it omits safety, sandboxing, side-effect, or return behavior for executing arbitrary WASM, which is material for this kind of tool.

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

Conciseness5/5

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

One sentence that packs the core action into eleven words with no filler. The key qualifier 'in memory' is placed early.

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

Completeness2/5

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

Given no output schema and no annotations, the description should explain what happens after execution (return value, side effects, failures). It does not, so an agent cannot predict the tool's observable behavior beyond the input contract.

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 schema already documents all three parameters at 100% coverage, bringing the baseline to 3. The description's phrase 'exported function calls' only restates the functionName parameter and adds no format or constraint details.

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

Purpose4/5

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

Clearly names a specific action ('Executes'), the resource ('pre-compiled WebAssembly (.wasm) binary'), and the mode ('in memory with exported function calls'). It is broadly clear, but it does not explicitly contrast with sibling wasm_run_vm_sandbox, so an agent must infer the distinction.

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

Usage Guidelines2/5

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

No guidance on when to choose this tool over wasm_run_vm_sandbox or the algo_run_* execution tools. It neither states preferred use cases nor exclusions, leaving the choice to the model.

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

wasm_run_vm_sandboxA

Executes JavaScript in an isolated Node.js VM context with strict execution timeout and zero filesystem access

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript code string to evaluate
timeoutMsNoExecution timeout in ms (default: 2000)

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly discloses that execution is isolated, has a strict timeout, and has zero filesystem access. It does not mention network access or exact return behavior, which are minor gaps, but the core safety-relevant behavior is transparently described.

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 filler. It conveys the action, environment, safety guarantees, and execution constraint in a compact and efficient manner.

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 two-parameter tool with no output schema, the description covers the essential context: what is executed, where it runs, timeout behavior, and filesystem restrictions. It does not explicitly state the return value format or network-access boundaries, which would improve completeness, but nothing essential to invoking the tool correctly is missing.

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

Parameters3/5

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

The input schema already documents both parameters with 100% coverage, so the baseline is 3. The description does not add per-parameter detail beyond what the schema provides, though it reinforces the timeout and sandboxing context. No meaningful semantic addition is made for 'code' or 'timeoutMs'.

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 ('Executes'), a clear resource ('JavaScript in an isolated Node.js VM context'), and key constraints ('strict execution timeout', 'zero filesystem access'). This makes the tool's purpose immediately clear and distinguishes it from sibling tools like wasm_run_module or algo_run_docker, which target different execution environments.

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

Usage Guidelines3/5

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

The description implies the tool should be used when you need to run JavaScript safely in a sandboxed Node.js environment, but it does not explicitly state when to prefer this over siblings like algo_run_sandboxed or wasm_run_module. It gives no exclusions or alternatives, so the agent is left to infer usage from the purpose.

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

Tool Schema Changelog

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

  1. 10 tool updatesv2.2.0
    • Addedalgo_run_docker
    • Changedalgo_run_sandboxed1 field changed
      • removedInput schema / properties / engine
        Removed value: -{
        -  "description": "Execution engine (default: 'native')",
        -  "enum": [
        -    "native",
        -    "vm"
        -  ],
        -  "type": "string"
        -}
    • Removedalgo_run_wasm
    • Changedalgo_stress_test1 field changed
      • removedInput schema / properties / engine
        Removed value: -{
        -  "description": "Execution engine (default: 'native')",
        -  "enum": [
        -    "native",
        -    "vm"
        -  ],
        -  "type": "string"
        -}
    • Changeddocs_auto_fix_links2 fields changed
      • removedInput schema / properties / createStubs
        Removed value: -{
        -  "description": "If true, creates missing document stubs automatically (default: false)",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / dryRun / description
        Previous value: -"If true, simulates fixes without writing files (default: false)"New value: +"If true, previews updates without writing files (default: true)"
    • Addedsecurity_auto_sanitize
    • Removedsecurity_auto_sanitize_secrets
    • Addedskills_install
    • Addedwasm_run_module
    • Addedwasm_run_vm_sandbox
  2. 25 tool updatesv2.1.0
    • First observedalgo_check_plagiarism
    • First observedalgo_generate_edge_cases
    • First observedalgo_run_sandboxed
    • First observedalgo_run_wasm
    • First observedalgo_stress_test
    • First observedapi_generate_mock_data
    • First observedapi_test_request
    • First observedci_generate_workflow
    • First observedcode_find_todos
    • First observedcode_inspect_heavy_dependencies
    • First observeddb_generate_erd
    • First observeddocs_auto_fix_links
    • First observeddocs_check_broken_links
    • First observeddocs_extract_code_snippets
    • First observeddoctor_check_env
    • First observeddoctor_diagnose_project
    • First observeddoctor_port_inspect
    • First observedgit_generate_changelog
    • First observedgit_generate_pr_description
    • First observedgit_pr_readiness_check
    • First observedperf_audit_assets
    • First observedperf_check_headers
    • First observedproblem_fetch_codeforces
    • First observedsecurity_auto_sanitize_secrets
    • First observedsecurity_scan_secrets

TDQS

B3.3/5.0
Disambiguation4/5

Category prefixes like security_, algo_, and docs_ mostly keep tools organized, and most pairings (scan/sanitize, check/fix) have distinct roles. A couple of execution tools are easy to confuse, especially `wasm_run_vm_sandbox` (which runs JavaScript, not WebAssembly) alongside `wasm_run_module`, and `algo_run_sandboxed` vs `algo_run_docker` require a close read.

Naming Consistency4/5

The overwhelming majority follows a `category_verb_noun` snake_case pattern, e.g. security_scan_secrets, ci_generate_workflow, docs_check_broken_links. Minor deviations like `git_pr_readiness_check`, `doctor_port_inspect`, and `security_auto_sanitize` break the pattern slightly but don't make the set unpredictable.

Tool Count2/5

With 28 tools spanning security, algo, wasm, db, perf, doctor, api, docs, code, git, problem, skills, and ci, this exceeds a reasonable single-server scope and feels like several focused servers merged. Category prefixes mitigate the chaos, but the count is too high for a coherent tool collection.

Completeness3/5

The server has useful workflows in a few areas, such as secret scan→sanitize, docs check→fix links, and algorithm stress testing, but many domains are represented by only one-off tools (db_generate_erd, problem_fetch_codeforces, skills_install). There are notable lifecycle gaps: git stops at PR description instead of PR creation/merging, and CI generates a workflow but does not validate or update it.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides unified development tools including code analysis, debugging, refactoring, documentation, testing, and project automation through multiple LLM providers (KIMI, GLM, OpenRouter). Features agentic audit capabilities with multi-model consensus for finding issues and generating direct fixes.
    -
  • F
    license
    C
    quality
    D
    maintenance
    Enterprise-grade code intelligence platform providing AI-powered code analysis, semantic search, security scanning, and automated refactoring capabilities. Integrates with local AI models for zero-cost operations while delivering comprehensive development workflow automation.
    2
    8
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI-powered development tools including code generation, refactoring, debugging, performance optimization, and test generation, along with smart prompts for code analysis and documentation, and a built-in knowledge base of coding best practices.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides intelligent error detection and debugging capabilities across multiple programming languages with real-time monitoring of build, lint, runtime, console, and test errors. Offers AI-enhanced error analysis with automated resolution suggestions and context-aware debugging.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ieeecsopen/mcp-cs'

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