Skip to main content
Glama

MegaLinter MCP Server

Down At The Bottom Of The Mole Hole banner

Note: This is a community-maintained MCP server. It is not an official Model Context Protocol server, but it is sanctioned by Ox Security as a complement to their official MegaLinter tools.

CI/Publish Coverage npm License: MIT Node Version

A Model Context Protocol (MCP) server for running Ox Security MegaLinter through mega-linter-runner. Works with any CI/CD platform (GitHub Actions, GitLab CI, Azure DevOps, CircleCI, Jenkins) or locally.

Overview

This server provides 15 MCP tools in total: 10 core tools and 5 convenience aliases across execution, discovery, and analysis workflows.

  • megalinter_quick_action for short, natural requests with sensible defaults.

  • megalinter_run to execute MegaLinter with configurable runtime and runner options.

  • megalinter_write_config to generate a minimal .mega-linter.yml file.

  • megalinter_list_flavors to return common MegaLinter flavors.

  • megalinter_get_linters to discover available linters by language, security focus, and auto-fix capability.

  • megalinter_get_security_info to group security linters by threat category.

  • megalinter_get_reporters to list supported report output formats and CI-targeted reporters.

  • megalinter_parse_reports to parse JSON or SARIF report artefacts.

  • megalinter_get_issue_summary to aggregate report issues by linter and severity.

  • megalinter_get_security_recommendations to generate security-focused remediation guidance.

Quick Start (Short Prompts)

If you prefer short prompts, use megalinter_quick_action first:

  • @megalinter quick scan this repository

  • @megalinter security scan

  • @megalinter summarise errors

  • @megalinter list python security linters

  • @megalinter write config

Or use ultra-short aliases for minimal typing:

  • @megalinter scan — Quick scan with defaults

  • @megalinter summary — Summarise last run's errors

  • @megalinter parse — Parse JSON report

  • @megalinter help_quick — Context-aware help for your project

Platform Compatibility

This MCP server is platform-agnostic and works universally:

  • Locally — Run MegaLinter from your IDE or command line

  • GitHub Actions — Integrate with workflows

  • GitLab CI/CD — Use in GitLab pipelines

  • Azure DevOps — Run in Azure Pipelines

  • CircleCI, Jenkins, Bitbucket Pipelines — Any CI/CD platform with Docker support

  • AI Agents & Copilot — Automated code quality checks via MCP

The only requirement is Docker (or a compatible container runtime like Colima).

Tool Matrix

Tool

Category

Typical outcome

megalinter_quick_action

Interactive

Handle short natural requests with defaults

scan

Alias

Ultra-short alias for quick scan

summary

Alias

Ultra-short alias for error summary

parse

Alias

Ultra-short alias for report parsing

help_quick

Alias

Ultra-short alias for context-aware help

megalinter_help_quick

Help

Context-aware suggestions for your project

megalinter_run

Execution

Run linting and produce report artefacts

megalinter_write_config

Configuration

Generate baseline .mega-linter.yml

megalinter_list_flavors

Discovery

Identify an appropriate flavour for your stack

megalinter_get_linters

Discovery

Filter linters by language, security, and auto-fix support

megalinter_get_security_info

Discovery

View security linters grouped by SAST, secrets, container, and IaC

megalinter_get_reporters

Discovery

Select output/reporting formats for local and CI workflows

megalinter_parse_reports

Analysis

Read JSON or SARIF reports in structured form

megalinter_get_issue_summary

Analysis

Summarise issue totals and top failing linters

megalinter_get_security_recommendations

Analysis

Produce practical shift-left security actions

Related MCP server: kube-lint-mcp

Tools

megalinter_quick_action

Interactive shortcut that accepts a short request and routes it to the right workflow.

Inputs:

  • request (string, optional): Short instruction. Default: quick scan.

  • action (string, optional): Explicit quick action (scan, config, flavors, linters, security, reporters, parse, summary, recommendations).

  • scanMode (string, optional): Scan preset (quick, full, security, fix).

  • target (string, optional): Directory to scan. Default: ..

  • workingDirectory (string, optional): Command working directory.

  • reportsPath (string, optional): Reports directory. Default: megalinter-reports.

  • reportType (string, optional): Parse format (json or sarif).

  • severity (string, optional): Summary filter (error, warning, info).

  • language (string, optional): Language filter for linter queries. For scans, maps to a flavor hint (python, javascript, terraform, and similar).

  • securityOnly (boolean, optional): Return only security linters in linter queries. For scans, forces security flavor.

  • autoFixOnly (boolean, optional): Return only auto-fix linters in linter queries.

  • timeoutMinutes (number, optional): Timeout for scan actions. Default: 20.

  • summaryOnly (boolean, optional): Return concise output for scans. Default: true.

  • flavor (string, optional): Optional flavor override for scan actions.

  • fix (boolean, optional): Force auto-fixes for scan actions.

  • targetPath (string, optional): Config output path for write-config requests.

Examples:

  • request: "quick scan" -> Runs ci_light against changed files.

  • request: "full scan" -> Runs all flavor.

  • request: "security scan" -> Runs security flavor.

  • request: "summarise errors" -> Returns issue summary filtered to errors.

  • request: "parse sarif report" -> Parses SARIF output.

  • action: "summary", severity: "error" -> Deterministic summary with no phrase parsing.

  • action: "scan", scanMode: "security" -> Deterministic security scan.

scan (Ultra-short alias)

Run a quick scan with minimal typing. Accepts optional parameters for customization.

Inputs:

  • language (string, optional): Target language mapped to flavor (e.g., python, javascript, terraform).

  • scanMode (string, optional): Scan preset (quick, full, security, fix). Default: quick.

  • summaryOnly (boolean, optional): Return concise output. Default: true.

Example: @megalinter scan runs a quick scan with concise output.

summary (Ultra-short alias)

Summarise errors from the last MegaLinter run with minimal typing.

Inputs:

  • severity (string, optional): Filter by severity (error, warning, info).

  • linterFilter (string, optional): Filter by linter name.

Example: @megalinter summary shows all error/warning totals.

parse (Ultra-short alias)

Parse MegaLinter report files with minimal typing.

Inputs:

  • reportType (string, optional): Report format (json or sarif). Default: json.

  • reportsPath (string, optional): Reports directory path.

Example: @megalinter parse parses the JSON report.

megalinter_help_quick

Get context-aware help based on your current repository. Detects languages, frameworks, Docker, Terraform, and security files to suggest relevant commands.

No inputs required.

Example: @megalinter help_quick returns tailored suggestions for your project.

megalinter_run

Use this tool when you need full argument-level control. For short prompts, prefer megalinter_quick_action.

Runs mega-linter-runner via npx.

Inputs:

  • workingDirectory (string, optional): Command working directory. Defaults to current process directory.

  • path (string, optional): Directory path to lint.

  • flavor (string, optional): MegaLinter flavor. Default: all.

  • release (string, optional): MegaLinter image tag. Default: v9.

  • image (string, optional): Full Docker image override.

  • env (string, optional): Environment variable string passed to --env.

  • fix (boolean, optional): Apply auto-fixes.

  • help (boolean, optional): Show mega-linter-runner help.

  • install (boolean, optional): Generate MegaLinter starter config.

  • containerName (string, optional): Docker container name override.

  • removeContainer (boolean, optional): Remove container after run.

  • configFile (string, optional): Path to .mega-linter.yml.

  • reportsPath (string, optional): Reports directory. Default: megalinter-reports.

  • disableLinters (string, optional): Comma-separated list of linters to disable.

  • lintChangedFilesOnly (boolean, optional): Sets VALIDATE_ALL_CODEBASE=false when true.

  • runnerVersion (string, optional): npm version for mega-linter-runner (for example latest).

  • timeoutSeconds (number, optional): Timeout in seconds. Default: 3600.

  • summaryOnly (boolean, optional): Return concise logs. Default: false.

  • extraArgs (string[], optional): Additional CLI arguments.

megalinter_write_config

Writes a minimal MegaLinter configuration.

Inputs:

  • targetPath (string, optional): Output file path. Default: .mega-linter.yml.

  • applyFixes (string, optional): Value for APPLY_FIXES. Default: none.

  • showElapsedTime (boolean, optional): Value for SHOW_ELAPSED_TIME. Default: true.

  • flavorSuggestions (boolean, optional): Value for FLAVOR_SUGGESTIONS. Default: false.

  • disableLinters (string[], optional): Values for DISABLE_LINTERS.

megalinter_list_flavors

Returns the built-in list of common flavors (all, javascript, python, terraform, and others).

megalinter_get_linters

Returns linter metadata from the built-in catalogue and supports targeted filtering.

Inputs:

  • language (string, optional): Filter by language (for example python, javascript, terraform).

  • securityOnly (boolean, optional): Return only security-focused linters.

  • autoFixOnly (boolean, optional): Return only linters with automatic fix capability.

megalinter_get_security_info

Returns security linters grouped into categories such as SAST, secrets, supply chain, container, and infrastructure.

Inputs:

  • None.

megalinter_get_reporters

Returns available MegaLinter reporters, including CI-targeted formats.

Inputs:

  • None.

megalinter_parse_reports

Parses MegaLinter report files from the reports directory.

Inputs:

  • reportsPath (string, optional): Report directory path. Default: megalinter-reports.

  • reportType (string, optional): Report type (json or sarif). Default: json.

megalinter_get_issue_summary

Summarises issues from megalinter-report.json and can apply severity/linter filters.

Inputs:

  • reportsPath (string, optional): Report directory path. Default: megalinter-reports.

  • severityFilter (string, optional): Filter results by severity (error, warning, info).

  • linterFilter (string, optional): Filter results by linter name.

megalinter_get_security_recommendations

Generates security recommendations based on active linters in the parsed report data.

Inputs:

  • reportsPath (string, optional): Report directory path. Default: megalinter-reports.

Prompt Cookbook

Use these copy/paste prompts in Copilot Chat with @megalinter. CLI tools default to the current workspace root when no path is given. If you add a file or folder as Copilot context (#file or #folder), reference it in your prompt and the tool will target that path.

Quick Actions (megalinter_quick_action)

@megalinter quick scan
@megalinter full scan
@megalinter security scan
@megalinter summarise errors
@megalinter parse sarif report
@megalinter write config

Expected output: Routes each short request to the correct tool with sensible defaults.

Deterministic alternatives using explicit action fields:

@megalinter run quick action with action summary and severity error
@megalinter run quick action with action parse and reportType sarif
@megalinter run quick action with action scan and scanMode security

Run MegaLinter (megalinter_run)

@megalinter run megalinter with flavor all on . with reports in megalinter-reports

Expected output: Executes linters and reports issues found across all languages. Creates megalinter-reports/ with JSON, SARIF, and text reports.

Create Config (megalinter_write_config)

@megalinter create a MegaLinter config at .mega-linter.yml

Expected output: Creates .mega-linter.yml with specified settings ready for customization.

List Flavors (megalinter_list_flavors)

@megalinter list all available MegaLinter flavors

Expected output: Table of flavors (all, python, javascript, go, etc.) with descriptions and use cases.

Query Linters (megalinter_get_linters)

@megalinter list python security linters with autofix support

Expected output: Filtered list of Python-related and multi-language security linters from the current catalog that support autofix (if any match the query).

Security Categories (megalinter_get_security_info)

@megalinter show MegaLinter security linter categories

Expected output: Security categories (for example, sast, secrets, supply-chain, container, infrastructure) with associated linters (gitleaks, trivy, etc.).

List Reporters (megalinter_get_reporters)

@megalinter list available MegaLinter reporters

Expected output: List of reporters (console, json, sarif, github-comment, etc.) with activation methods.

Parse Reports (megalinter_parse_reports)

@megalinter parse the json report from megalinter-reports

Expected output: Parsed MegaLinter JSON or SARIF report content as structured data (raw report payload).

Issue Summary (megalinter_get_issue_summary)

@megalinter summarise issues from megalinter-reports with severity error

Expected output: Summary of issues filtered by severity and linter inputs, aggregated by linter with totals and run counts.

Security Recommendations (megalinter_get_security_recommendations)

@megalinter generate security recommendations using megalinter-reports

Expected output: Actionable security recommendations prioritized by severity with linter names, rule IDs, and suggested next steps.

Dependencies

System Dependencies

  • Node.js >=24.0.0

  • npm (bundled with Node.js)

  • Docker Engine or Docker Desktop (must be running for megalinter_run)

  • Optional local container runtime wrapper such as Colima

npm Dependencies

Runtime:

  • @modelcontextprotocol/sdk (MCP server SDK)

Development:

  • typescript (build/compile)

  • tsx (development runner)

  • @types/node (Node.js typings)

Runtime note:

  • mega-linter-runner is executed via npx at runtime and can be pinned with the runnerVersion tool input.

Installation

npm install
npm run build

Configuration

Usage with VS Code Copilot Chat

This workspace is preconfigured in .vscode/mcp.json:

{
  "servers": {
    "megalinter": {
      "type": "stdio",
      "command": "node",
      "args": ["./dist/index.js"]
    }
  }
}

Reload VS Code (Cmd+Shift+PDeveloper: Reload Window) after changing MCP configuration.

Then query the server from Copilot Chat with @megalinter, for example:

@megalinter list available flavors
@megalinter list security linters for javascript

Usage with Other MCP Clients

Use a stdio server configuration that runs the compiled entrypoint:

{
  "name": "megalinter-mcp-server",
  "type": "stdio",
  "command": "node",
  "args": ["/absolute/path/to/megalinter-mcp/dist/index.js"]
}

Build first with npm run build, then start your MCP client.

Running

npm start

Development mode:

npm run dev

Debugging

Use .vscode/launch.json:

  • Debug MCP Server (runs npm run dev)

  • Debug MCP Server (Built) (runs dist/index.js after build)

Set breakpoints in src/index.ts, then press F5.

Testing

See docs/TESTING.md for Copilot Chat scenarios, manual JSON-RPC checks, and troubleshooting guidance.

Quick validation prompt in Copilot Chat:

@megalinter list available flavors

Interactive VS Code Workflows

1. Shift-Left Security Triage

  1. Ask Copilot to run a scan:

@megalinter run megalinter on this repository with reports enabled
  1. Parse the generated report:

@megalinter parse the json report in megalinter-reports
  1. Summarise and prioritise:

@megalinter summarise error-level issues and top failing linters
  1. Request security guidance:

@megalinter generate security recommendations from the current report

2. Language-Specific Linter Onboarding

  1. Discover linters for your stack:

@megalinter list python security linters with autofix support
  1. Generate starter config:

@megalinter create a megalinter config file with apply fixes set to none
  1. Disable unsuitable linters and iterate.

3. CI/CD Reporter Selection

  1. List reporters:

@megalinter list available reporters
  1. Select formats for your pipeline (for example SARIF for security tooling, Markdown for human-readable summaries).

Best Practices

  • Start with megalinter_write_config, then tighten rules in small steps.

  • Use lintChangedFilesOnly during fast feedback loops, and full scans in CI.

  • Keep reportsPath stable so downstream analysis tools always read from a known location.

  • Prefer megalinter_get_issue_summary for triage before requesting full report dumps.

  • Run megalinter_get_security_recommendations regularly to maintain shift-left coverage.

Additional Use Cases

  • Pre-merge quality gates: Run megalinter_run in PR checks and publish SARIF output.

  • Repo onboarding packs: Use megalinter_get_linters and megalinter_list_flavors to choose a baseline quickly.

  • Security baseline reporting: Combine megalinter_parse_reports and megalinter_get_issue_summary for recurring snapshots.

  • Compliance evidence: Store generated reports and summaries as CI artefacts for audit trails.

  • Developer self-service: Let contributors query available linters/reporters directly through Copilot Chat.

Official MegaLinter Resources

CI/CD Integrations

Model Context Protocol

Community and Contributing

Attribution and License

Maintained by Carl Dawson under the Down At The Bottom Of The Mole Hole organization.

Licensed under the MIT License. MegaLinter is managed by Ox Security.

Available Tools

15 tools
help_quickB

Ultra-short alias for context-aware help. Same as megalinter_help_quick.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'context-aware help', which is vague. No disclosure of whether it's read-only, what it returns, or any side effects. Lacks behavioral detail beyond being an alias.

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

Conciseness5/5

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

Extremely concise: two short clauses. Every word serves a purpose. No wasted text. Well-structured for an alias definition.

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

Completeness2/5

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

Despite zero parameters and no output schema, the description fails to explain why both help_quick and megalinter_help_quick exist as siblings. This creates confusion about which to use. Missing contextual differentiation.

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

Parameters4/5

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

Input schema has zero parameters, so baseline is 4. Description adds 'context-aware' hint, implying it uses conversational context, which is meaningful beyond the empty schema.

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

Purpose4/5

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

Clearly states it's an alias for context-aware help and specifically mentions being the same as megalinter_help_quick. However, it doesn't elaborate on what 'help' entails, but the purpose as a help alias is evident.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It merely says it's an alias for another tool, but doesn't explain why both exist or when one is preferred. Absence of usage or exclusion criteria.

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

megalinter_get_issue_summaryC

Analyze and summarize issues from MegaLinter reports by severity, linter, and category. Enables filtering and targeted remediation.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportsPathNoPath to the reports directory. Defaults to megalinter-reports.
severityFilterNoFilter issues by severity level.
linterFilterNoFilter issues by specific linter name.

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description fails to disclose whether the tool is read-only, what the summary includes, or any side effects. Only states high-level action without 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.

Conciseness4/5

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

Two sentences, no wasted words. However, the first sentence includes an extraneous reference to 'category' that doesn't align with the schema.

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

Completeness2/5

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

No output schema and description does not explain the format of the summary (e.g., counts, groupings). Lacks completeness for a tool that produces a summary.

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

Parameters2/5

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

Schema coverage is 100%, so baseline is 3, but the description adds misleading info by mentioning 'category' which is not a parameter. This confuses rather than clarifies.

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

Purpose3/5

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

The description clearly states the tool analyzes and summarizes issues, but mentions 'category' as a filter which is not in the schema, causing slight confusion. It distinguishes from sibling tools by focusing on issue summary.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like megalinter_parse_reports. Usage is implied but not clarified.

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

megalinter_get_lintersA

Discover available linters by language, security category, or auto-fix capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoFilter by programming language (e.g., python, javascript, terraform).
securityOnlyNoReturn only security-focused linters.
autoFixOnlyNoReturn only linters that support automatic fixes.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It implies a read-only operation by saying 'Discover' but does not explicitly state that no changes are made. The behavior is straightforward (filtering and listing), but the description lacks explicit safety or side-effect disclosure.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the purpose and filtering capabilities with no wasted words. It is concise and easy to parse.

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 there is no output schema, the description should hint at the return format (e.g., a list of linter names or details). It only says 'Discover available linters' without describing the output structure. For a simple filtering tool, this 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?

Schema coverage is 100% (each parameter has a description). The description adds a brief mapping ('by language, security category, or auto-fix capability') but does not provide additional meaning beyond what the schema already offers. 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 tool discovers available linters and lists three filtering criteria that directly correspond to the input schema parameters. It distinguishes itself from sibling tools like megalinter_run or megalinter_get_issue_summary by focusing on linter discovery.

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 discovering linters before running, but it does not explicitly state when to use this tool versus alternatives like megalinter_get_security_info or when not to use it. No exclusions or context on prerequisites are given.

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

megalinter_get_reportersA

List all available MegaLinter reporters and their configuration options.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description must convey behavior. It correctly implies a read-only operation without side effects by stating 'list'. It adds context by mentioning 'configuration options', but does not detail potential rate limits or data completeness beyond 'all available'.

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

Conciseness5/5

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

The description is a single sentence of seven words, containing no fluff. Every word is essential and front-loaded with the action and subject.

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 has no parameters and no output schema, the description sufficiently explains what the tool does. It could be slightly improved by hinting at the return format, but it is largely complete for a simple listing tool.

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

Parameters4/5

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

There are zero parameters, so the baseline is 4. The description adds no parameter information, but none is needed since the schema already covers all properties.

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 'list' and the resource 'all available MegaLinter reporters and their configuration options'. This distinguishes it from sibling tools like 'megalinter_get_linters' which list linters, not reporters.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like 'megalinter_get_linters' or 'megalinter_get_security_info'. The purpose is implied by the name and description, but the agent gets no direct when/when-not instructions.

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

megalinter_get_security_infoA

Get comprehensive information about security-focused linters organized by category (SAST, secrets, supply-chain, container, infrastructure).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states 'get comprehensive information' but does not disclose whether the data is static or dynamic, if authentication is required, or the structure of the output. For a zero-parameter tool, the behavioral implications are minimal but still could be more explicit.

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

Conciseness5/5

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

The description is a single sentence of 15 words with no redundancy. It efficiently conveys the tool's purpose and organizational structure.

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

Completeness3/5

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

Given no output schema, the description could better define what 'comprehensive information' entails (e.g., lint names, rules, severity). However, for a zero-parameter retrieval tool, it is minimally adequate but lacks full specificity.

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

Parameters4/5

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

There are zero parameters and schema coverage is 100%. The description adds value by listing the categories of linters, but no parameter documentation is needed beyond the schema.

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

Purpose5/5

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

The description clearly states the tool retrieves comprehensive information about security-focused linters, organized by specific categories (SAST, secrets, supply-chain, container, infrastructure). This differentiates it from sibling tools like megalinter_get_linters which covers all linters.

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

Usage Guidelines3/5

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

The description implies usage when security linter info is needed but does not explicitly state when to use it over alternatives like megalinter_get_security_recommendations or megalinter_get_linters. No exclusion or prerequisite guidance is provided.

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

megalinter_get_security_recommendationsB

Generate security-focused recommendations based on active linters and common threat categories (SAST, secrets, container, infrastructure).

ParametersJSON Schema
NameRequiredDescriptionDefault
reportsPathNoPath to the reports directory. Defaults to megalinter-reports.

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 must disclose behavioral traits. It only states 'generate' without specifying whether this is a read-only operation, any required permissions (e.g., file system access for reportsPath), or side effects. For a tool without annotations, this is insufficient.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the core purpose. However, it lacks structure like bullet points for threat categories or examples, which could improve scannability.

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 13 sibling tools, no annotations, and no output schema, the description should provide more context about how the tool fits into the ecosystem, what the output format looks like, or when to use it. Currently, it only covers the basic purpose.

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% for the single parameter 'reportsPath', which is fully described in the schema. The tool description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool generates security-focused recommendations based on active linters and specific threat categories (SAST, secrets, container, infrastructure). This distinguishes it from sibling tools like megalinter_get_security_info which likely provides raw security data rather than recommendations.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as megalinter_get_security_info or megalinter_get_linters. The description does not mention exclusions, prerequisites, or use cases, leaving the agent without decision context.

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

megalinter_help_quickA

Get context-aware help and examples based on your current repository. Suggests relevant commands for detected languages and frameworks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only mentions 'context-aware' and 'suggests relevant commands' without disclosing whether it scans files, requires network access, or alters state. The behavioral impact is unclear.

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 functionality. Every word adds value without redundancy.

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

Completeness3/5

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

Given no output schema and zero parameters, the description adequately conveys the basic purpose but lacks details on the return format (e.g., text, list of commands) or how 'context-aware' is determined. It is sufficient but not fully complete.

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

Parameters4/5

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

With zero parameters, the baseline is 4. The description adds no parameter details because none exist, and the schema's 100% coverage is trivial. No deduction is warranted.

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 provides context-aware help based on the repository, which distinguishes it from siblings like megalinter_run or megalinter_get_linters. It uses specific verbs ('get', 'suggests') and defines the resource ('help and examples', 'relevant commands').

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 obtaining quick, repository-specific help but does not explicitly state when to use this tool versus alternatives like help_quick or other megalinter tools. No exclusions or when-not-to-use guidance is provided.

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

megalinter_list_flavorsB

List commonly used MegaLinter flavors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only indicates that the tool lists 'commonly used' flavors, implying a filtering behavior. No information about authentication, rate limits, or return format is given, which is a gap for a read operation.

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 directly states the tool's function. No superfluous words, and it is appropriately front-loaded for quick understanding.

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 has no parameters and no output schema, the description is mostly complete. However, not specifying the return format (e.g., list of strings vs objects) slightly reduces completeness. The qualifier 'commonly used' also lacks precise definition.

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

Parameters3/5

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

The input schema has no parameters, and schema description coverage is 100%. The description adds no additional parameter info, but the baseline score is 3 as per instructions when coverage is high.

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 'List commonly used MegaLinter flavors' clearly states the action (list) and resource (flavors), distinguishing it from sibling tools that list linters or reporters. The qualifier 'commonly used' adds a slight ambiguity but still conveys the purpose effectively.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like `megalinter_get_linters`. However, the name and sibling context imply use for listing flavors, which is adequate but not comprehensive.

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

megalinter_parse_reportsA

Parse MegaLinter JSON or SARIF reports from the reports directory. Returns structured report data for analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportsPathNoPath to the reports directory. Defaults to megalinter-reports.
reportTypeNoType of report to parse. Defaults to json.json

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the tool parses and returns structured data, without disclosing any behavioral traits like permissions needed, side effects, or performance implications. More transparency is needed for a parse operation.

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

Conciseness5/5

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

The description is a single sentence that conveys action and resource upfront. No redundant information. Every word adds value, making it highly efficient.

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

Completeness3/5

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

The tool has two optional parameters and no output schema. The description states returns structured data but does not specify the format or structure of the output. Given the presence of sibling analysis tools, more detail on what 'structured report data' entails would 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?

Both parameters have descriptions in the input schema (100% coverage). The description does not add any extra meaning beyond what the schema provides, such as example values or format constraints. 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 tool parses MegaLinter JSON or SARIF reports and returns structured data. It specifics the resource (reports) and action (parse), distinguishing it from siblings like 'megalinter_get_issue_summary' which likely summarize rather than parse raw reports.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies usage for parsing reports, but does not mention when to choose JSON or SARIF, nor does it exclude specific contexts. This is adequate but lacks differentiation from other analysis tools.

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

megalinter_quick_actionB

Interactive shortcut tool for short requests (for example: quick scan, security scan, summarise errors, list python security linters).

ParametersJSON Schema
NameRequiredDescriptionDefault
requestNoShort instruction. Examples: quick scan, full scan, security scan, summarise errors, parse sarif report, write config.quick scan
actionNoOptional explicit action. Use this for deterministic quick workflows.
scanModeNoScan preset when action is scan (or request implies a scan).
targetNoDirectory to scan for run requests. Defaults to .
workingDirectoryNoDirectory where commands run. Defaults to current process directory.
reportsPathNoReport directory for parse, summary, and recommendation requests.megalinter-reports
reportTypeNoReport format for parse requests. Defaults to json unless sarif is requested.
severityNoSeverity filter for summary requests.
linterFilterNoLinter filter for summary requests.
languageNoLanguage filter for linter-list requests. For scans, this maps to a flavor hint (e.g., python -> python, typescript -> javascript).
securityOnlyNoFilter linter-list requests to security linters. For scans, forces security flavor.
autoFixOnlyNoFilter linter-list requests to auto-fix linters.
timeoutMinutesNoRun timeout in minutes for scan requests.
summaryOnlyNoUse concise output for scan requests. Set false for full logs.
flavorNoOptional flavour override for scan requests (e.g., javascript, python, security).
fixNoForce auto-fix for scan requests.
targetPathNoOutput file path for write-config requests. Defaults to .mega-linter.yml.

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 must fully disclose behavioral traits. It only describes the tool as 'interactive shortcut' without mentioning side effects, permissions, or whether operations are read-only or mutating. This is insufficient for safe agent invocation.

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

Conciseness4/5

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

The description is concise—one sentence plus examples—and front-loaded with the core purpose. It avoids unnecessary elaboration while still being informative.

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

Completeness2/5

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

Despite the schema covering parameter descriptions, the tool description is too brief for a tool with 17 parameters and no output schema. There is no explanation of interactions between parameters (e.g., how 'request' and 'action' relate), default behaviors, or error handling. This leaves gaps for effective use.

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 detailed parameter descriptions. The tool description adds high-level context (e.g., examples mapping to parameters) but does not significantly enhance understanding beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies this as an 'interactive shortcut tool for short requests' and provides concrete examples (quick scan, security scan, summarise errors). This distinguishes it from sibling tools like megalinter_run which handles full runs, though the differentiation is not explicitly stated.

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 use for short requests but does not provide explicit guidance on when to use this tool vs. alternatives such as megalinter_run or scan. No 'when not to use' information is given.

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

megalinter_runA

Run Ox Security MegaLinter using mega-linter-runner with full low-level control. For short prompts, use megalinter_quick_action.

ParametersJSON Schema
NameRequiredDescriptionDefault
workingDirectoryNoDirectory where the command is executed. Defaults to current process directory.
pathNoDirectory path to lint.
flavorNoMegaLinter flavor.all
releaseNoMegaLinter Docker image tag.v9
imageNoOptional full Docker image override.
envNoEnvironment variable string passed to --env (for example: DISABLE_LINTERS=SPELL_CSPELL,MARKDOWN_MARKDOWNLINT).
fixNoApply auto-fixes.
helpNoShow mega-linter-runner help.
installNoGenerate MegaLinter starter config files.
containerNameNoOptional Docker container name.
removeContainerNoRemove container after completion.
configFileNoPath to .mega-linter.yml file.
reportsPathNoDirectory where reports are written.megalinter-reports
disableLintersNoComma-separated list of linters to disable.
lintChangedFilesOnlyNoIf true, sets VALIDATE_ALL_CODEBASE=false to lint only changed files.
runnerVersionNomega-linter-runner npm version. Use 'latest' or a specific version.latest
timeoutSecondsNoCommand timeout in seconds.
summaryOnlyNoReturn concise logs instead of full stdout/stderr output.
extraArgsNoAdditional CLI arguments to append.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It lacks behavioral traits such as whether it modifies files, authentication requirements, or rate limits. 'Full low-level control' is vague.

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose and sibling distinction. 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?

With 19 parameters, 100% schema coverage, no output schema, and no annotations, the description is minimal. It achieves basic completeness but lacks behavioral guidance; the agent would rely heavily on parameter names and schema descriptions.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no parameter-level detail beyond the schema; it only provides a high-level summary.

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 runs Ox Security MegaLinter with full low-level control, and explicitly distinguishes it from the sibling tool 'megalinter_quick_action' for short prompts.

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

Usage Guidelines4/5

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

Provides a clear context for when to use this tool (full low-level control) vs. a simpler alternative (megalinter_quick_action for short prompts). However, no explicit when-not or exclusion criteria for other siblings.

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

megalinter_write_configB

Generate a minimal .mega-linter.yml configuration file.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetPathNoOutput path for the MegaLinter config file. Defaults to .mega-linter.yml
applyFixesNoValue for APPLY_FIXES (none, all, or linter list).none
showElapsedTimeNoSet SHOW_ELAPSED_TIME.
flavorSuggestionsNoSet FLAVOR_SUGGESTIONS.
disableLintersNoOptional list for DISABLE_LINTERS.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden to disclose side effects. It states 'Generate' but does not clarify that this creates or overwrites a file on disk, nor does it mention any permissions or potential destructive behavior. The minimal nature of the output is also undefined.

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

Conciseness5/5

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

The description is a single sentence that is short, direct, and front-loaded with the key action and resource. Every word earns its place, with no unnecessary details.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should provide more context about what the generated config contains, whether it overwrites existing files, and how it integrates with other tools. The current description leaves important gaps for a config-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?

Schema coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond the schema's parameter descriptions, which are already clear. Thus 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 uses a specific verb 'Generate' and clearly identifies the resource as 'a minimal .mega-linter.yml configuration file'. This distinguishes the tool from siblings like megalinter_run or megalinter_get_linters, which serve different purposes.

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

Usage 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 does not mention prerequisites, typical workflow placement, or scenarios where this tool is appropriate, leaving the AI agent without context for selection.

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

parseB

Ultra-short alias for report parsing. Same as megalinter_quick_action with action='parse'.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportTypeNoType of report to parse.json
reportsPathNoReports directory path.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description only says it's an alias without detailing behavior such as input/output processing or side effects.

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

Conciseness4/5

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

Description is exceptionally short and front-loaded with purpose, but lacks completeness for a standalone description.

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

Completeness2/5

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

Given no annotations and no output schema, the description fails to explain tool behavior, output, or usage context, leaving significant gaps.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters; description adds no 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 clearly states the tool is for report parsing and explicitly identifies it as an alias for megalinter_quick_action with action='parse', distinguishing it from siblings.

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 use via alias for quick action, but does not specify when to use this tool over the full megalinter_quick_action or other parsing tools.

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

scanB

Ultra-short alias for quick scan. Same as megalinter_quick_action with action='scan'.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoTarget language to map into a scan flavor (e.g., python, javascript, terraform).
scanModeNoScan preset mode.quick
summaryOnlyNoReturn concise output.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description only states it's an alias, with no disclosure of behavioral traits (e.g., mutability, permissions, side effects). Schema shows scan modes but description lacks elaboration.

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

Conciseness5/5

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

Extremely concise: two sentences, no wasted words. Front-loaded with key point 'ultra-short alias'.

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

Completeness3/5

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

Adequate for a simple alias tool given full schema coverage, but lacks context on return values, behavior for different scan modes, and overall tool purpose beyond being an alias.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds no extra meaning to the parameters already documented in the schema.

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

Purpose4/5

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

Description clearly states it's an alias for a quick scan, referencing megalinter_quick_action. It identifies the verb (scan) and resource (quick scan) but does not differentiate from sibling tools in detail.

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

Usage Guidelines3/5

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

Implies usage for quick scans via 'Ultra-short alias', but no explicit when/when-not or alternatives beyond referencing the equivalent function.

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

summaryA

Ultra-short alias for error summary. Same as megalinter_quick_action with action='summary'.

ParametersJSON Schema
NameRequiredDescriptionDefault
severityNoFilter by severity level.
linterFilterNoFilter by linter name.
reportsPathNoReports directory path.

TDQS

A3.9/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It explains that the tool behaves identically to megalinter_quick_action with a specific parameter, but does not elaborate on the summary's content or any side effects, offering minimal behavioral detail.

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

Conciseness5/5

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

The description is extremely concise: two sentences that front-load the purpose and provide essential context without any extraneous 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?

While the description correctly identifies the tool as an alias, it lacks details about the output or behavior beyond the equivalence. For a tool with 3 parameters and no output schema, this is adequate but not 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 100% coverage with descriptions for each parameter. The description adds no additional meaning to the parameters, so it meets the baseline expectation.

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 is an alias for an error summary and explicitly names the equivalent sibling tool with its action parameter, making the purpose immediately understandable and differentiating it from sibling tools.

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

Usage Guidelines4/5

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

The description indicates that this tool is a shorthand for megalinter_quick_action with action='summary', providing a clear alternative. It implies when to use this tool (quick access) but does not explicitly state when not to use it or other exclusions.

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

TDQS

B3.1/5.0
Disambiguation2/5

Multiple tools are direct aliases (e.g., help_quick and megalinter_help_quick; parse, scan, summary for megalinter_quick_action), creating ambiguity about which to use. While the descriptions mention the aliasing, it adds unnecessary overlap.

Naming Consistency3/5

Most tools follow a consistent megalinter_verb_noun pattern, but the inclusion of aliases like help_quick, parse, scan, and summary breaks the pattern, mixing short and full names.

Tool Count4/5

With 15 tools, the count is at the high end of well-scoped. However, some tools are redundant due to aliases, so not every tool earns its place, but overall the scope is reasonable.

Completeness4/5

The tool surface covers the core lifecycle: listing, running, parsing reports, writing config, and security recommendations. Minor gaps like updating config or managing multiple runs are absent, but essential functionality is present.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DownAtTheBottomOfTheMoleHole/megalinter-mcp'

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