Skip to main content
Glama
badchars

MCP Vulnerability Reporting

by badchars

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools have distinct purposes, but get_report_preview and get_report_template could be confused as both relate to report formatting. Additionally, export_report and get_report_preview both produce markdown output, though one saves to file and the other displays inline.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (create, calculate, add, export, list, get, get). The pattern is predictable and readable, with no mixed conventions or vague verbs.

    Tool Count5/5

    Seven tools is well-scoped for a vulnerability reporting server, covering creation, scoring, evidence, export, listing, preview, and template retrieval. Each tool serves a clear purpose without redundancy or bloat.

    Completeness3/5

    The tool surface lacks update and delete operations for reports, and while get_report_preview provides a partial retrieval, there is no full report getter. This creates notable lifecycle gaps, though add_evidence_to_report offers a limited update mechanism.

  • Average 3.5/5 across 7 of 7 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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 only states the action and resource without describing what the preview includes (e.g., truncated, rendered, full report) or any side effects. This is insufficient for an agent to predict the tool's behavior.

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

    Conciseness5/5

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

    The description is a single, focused sentence with no filler. It front-loads the action and resource effectively, making it easy 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?

    Despite the tool's simplicity, the description is under-specified. It fails to explain what a 'preview' entails (e.g., snippet, full report, rendered view) and how it differs from export_report. The presence of sibling export_report makes this distinction critical, yet it's 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?

    The schema already fully documents the single parameter reportId with 'The report ID to preview'. The description adds no extra semantic context beyond what's in 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.

    Purpose4/5

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

    The description clearly identifies the action 'get' and resource 'preview of the generated markdown report'. It is distinct enough from siblings like export_report and list_reports, though it doesn't explicitly highlight the difference.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like export_report or get_report_template. It neither states typical use cases nor exclusions, leaving the agent to infer.

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

  • 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 does disclose that the AI should be concise and brief, and provides a template structure for generated fields, but it does not state whether the tool persists data, returns a report ID, or requires authentication. This leaves the agent without key behavioral expectations.

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

    Conciseness3/5

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

    The description is moderately sized and uses a numbered list for clarity. However, it duplicates much of the information already in the parameter schema, and the 'IMPORTANT FOR AI' repetition could be trimmed. It is structured but not maximally efficient.

    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 (7 params, nested objects, no output schema), the description omits important contextual details such as return value, error conditions, or how it relates to the report lifecycle. It covers the content format for AI-generated fields but leaves the overall workflow unclear.

    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 71%, and many parameter descriptions already contain length/format constraints. The main description largely reiterates these constraints (e.g., '2-3 sentences', '3-4 brief bullet points') without adding new syntax or type information. Thus it provides minimal added 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 begins with a clear verb-action: 'Create a professional vulnerability report following the standardized template format.' This clearly identifies the tool's purpose and distinguishes it from sibling tools like list_reports or export_report.

    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 (e.g., needing browser_test_payload results), nor does it differentiate from sibling tools like add_evidence_to_report or get_report_template.

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

  • Behavior2/5

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

    Annotations are absent, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, whether it modifies the report, what inputs are expected beyond reportId, or what the output format might be. The calculation behavior and side effects are entirely unspecified.

    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 conveys the tool's purpose without unnecessary words or repetition. It is well-structured and easy 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?

    Despite having only one parameter and no nested objects, the description omits important details such as the return format (score and vector values) and any behaviors like validation or error conditions. With no output schema and no annotations, the description should compensate but does not.

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

    Parameters3/5

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

    Schema coverage is 100%, with reportId described as 'The report ID to calculate CVSS for.' The description adds no extra meaning beyond this, but the schema is already clear. Baseline 3 is appropriate given the high schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool calculates a CVSS score and vector for a report, using a specific verb ('Calculate') and resource ('CVSS score and vector'). This distinguishes it from sibling tools like create_vulnerability_report or export_report, 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?

    No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only says 'for a report' but does not elaborate on scenarios or why a user might choose this over other report-related tools.

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

  • Behavior2/5

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

    With no annotations, the description carries full disclosure burden. It only states 'export', which implies a file write, but does not mention side effects like whether it overwrites existing files, requires specific permissions, or creates directories. There is also no mention of return values or error behavior.

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

    Conciseness5/5

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

    The description is a single, focused sentence that immediately says what the tool does. It is front-loaded and contains no filler words, making it highly concise and structured effectively.

    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-parameter tool with full schema coverage, the description is minimally viable. However, it lacks behavioral context (side effects, permissions) and does not differentiate from sibling tools, leaving the agent to infer when to use it.

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

    Parameters3/5

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

    Schema description coverage is 100%, with both parameters (reportId and outputPath) having descriptive meanings. The description itself adds no parameter details, but the schema is sufficient, so the 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 uses a specific verb 'export' with a clear resource ('vulnerability report') and format ('as markdown file'). This clearly distinguishes it from sibling tools like create_vulnerability_report, get_report_preview, and get_report_template.

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

    Usage Guidelines3/5

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

    The description implies usage when a user wants to save a report to a file. However, it does not explicitly state when to use this tool over alternatives like get_report_preview or get_report_template, nor does it mention any prerequisites or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It only states that evidence is added, but doesn't disclose side effects (append vs. replace), required existence of the report, error handling, or permissions. This is minimal for a mutation tool.

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

    Conciseness5/5

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

    The description is a single, clear sentence that front-loads the action and resources. No unnecessary words.

    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 a simple tool with fully documented schema (4/4 params described) and no output schema, the description is sufficient. It establishes purpose and the report existence constraint. Missing behavioral details are covered by the transparency score, so this dimension remains adequate.

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

    Parameters3/5

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

    The schema provides 100% parameter coverage, so the baseline is 3. The description adds no meaningful detail beyond paraphrasing the evidence types already in the enum. It doesn't clarify format constraints or relationships between parameters.

    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 'Add' with a clear resource 'evidence' and target 'existing report'. It lists the types of evidence (screenshots, requests, responses, PoC code), which distinguishes it from sibling tools like create_vulnerability_report.

    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 phrase 'existing report' clearly indicates this tool is for modifying an existing report, not creating one. While it doesn't explicitly name alternatives, the context is clear and would guide selection away from creation tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states the core action but does not disclose whether the listing is paginated, what fields are returned, or any side effects. For a read-only list, this is minimal transparency.

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

    Conciseness5/5

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

    The description is a single sentence of six words, extremely concise and front-loaded. Every word contributes to the meaning with no filler.

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

    Completeness4/5

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

    Given the tool's simplicity (no params, no annotations, no output schema), the one-sentence description is mostly complete. However, it does not specify what data the list returns, leaving some ambiguity compared to sibling tools like get_report_preview.

    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 input schema is vacuously complete. The baseline for zero parameters is 4, and the description adds no irrelevant parameter information.

    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 lists all generated vulnerability reports, using a specific verb and resource. This distinguishes it from sibling tools like create_vulnerability_report and get_report_preview, which perform different actions.

    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 this tool is for listing all reports, but it does not explicitly contrast it with alternatives such as get_report_preview or export_report. There is no when-not-to-use guidance, making usage context only implicit.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It indicates the tool retrieves a template format and mentions 'exact structure and formatting requirements,' which gives some insight into what the agent will receive. However, it does not specify the actual return format, whether it's a simple read operation, or any details about the template's contents, leaving some behavioral ambiguity.

    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 two sentences long, with the core purpose front-loaded in the first sentence. It wastes no words, clearly stating what the tool does and why to use it. It is appropriately concise and well-structured.

    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 the tool (no parameters, no output schema), the description provides sufficient context for the agent to understand its role. It explains that the tool provides the template format to follow, which is complete enough for the task. However, it could have briefly distinguished itself from get_report_preview to fully contextualize within the sibling set, but that is a minor 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 the schema is empty with 100% coverage. Since there are no parameters to explain, the description does not need to provide parameter details. The baseline for zero-parameter tools is 4, and the description appropriately focuses on the tool's purpose without any parameter-related gaps.

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

    Purpose5/5

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

    The description uses a specific verb+resource: 'Get the report template format' and clearly states the purpose as understanding the exact structure and formatting requirements for vulnerability reports. This distinguishes it from sibling tools like create_vulnerability_report (creation), get_report_preview (preview of a specific report), and list_reports (listing existing reports).

    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 by saying 'Use this to understand the exact structure and formatting requirements for vulnerability reports,' implying it should be used when preparing to create or format a report. It does not explicitly mention alternatives or when not to use, but the guidance is clear enough for the agent to decide when to call it.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-vulnerability-reporting MCP server

Copy to your README.md:

Score Badge

mcp-vulnerability-reporting MCP server

Copy to your README.md:

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/badchars/mcp-vulnerability-reporting'

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