Skip to main content
Glama
malloryai

Mallory MCP Server

Official
by malloryai

find_vulnerability

Get detailed vulnerability information by CVE identifier, including severity scores, technical details, and exploitation status for threat assessment and patching prioritization.

Instructions

Find a vulnerability by CVE identifier

Use this tool when you need detailed information about a specific vulnerability, including its severity scores, description, and whether it has been exploited in the wild. This is particularly useful for threat assessment, prioritizing patching, or understanding the technical details of a specific CVE.

Args: cve (str): The CVE to search for

Returns: Dict[str, Any]: Dictionary containing vulnerability details including: - uuid: Unique identifier for this vulnerability record - cve_id: The CVE identifier - description: Detailed description of the vulnerability - created_at/updated_at: Timestamps for record creation and updates - cvss_base_score: Severity score (0.0-10.0, higher is more severe) - cvss_version: Version of the CVSS scoring system used - cvss_vector: Detailed scoring vector showing attack characteristics - cvss_data: List of all available CVSS scores from different sources - epss_score: Exploit Prediction Scoring System score (probability of exploitation) - epss_percentile: Percentile ranking of the EPSS score - cisa_kev_added_at: When CISA added this to Known Exploited Vulnerabilities catalog (if applicable) - weaknesses: List of CWE identifiers associated with this vulnerability - mentions_count: Number of references to this vulnerability - detection_signatures_count: Number of detection signatures available - exploits_count: Number of known exploit implementations - exploitations_count: Number of recorded instances of exploitation in the wild - vulnerable_configurations_count: Number of affected system configurations

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cveNo

Implementation Reference

  • The handler function for the 'find_vulnerability' MCP tool. It is decorated with @mcp.tool() for automatic registration and @handle_api_errors for error handling. The function takes a CVE identifier as input and returns detailed vulnerability information by calling the malloryai_client API. The docstring provides the input schema (cve: str) and detailed output schema.
    @mcp.tool()
    @handle_api_errors
    async def find_vulnerability(
        cve: str = None,
    ) -> Dict[str, Any]:
        """Find a vulnerability by CVE identifier
    
        Use this tool when you need detailed information about a specific vulnerability,
        including its severity scores, description, and whether it has been exploited in the wild.
        This is particularly useful for threat assessment, prioritizing patching, or
        understanding the technical details of a specific CVE.
    
        Args:
            cve (str): The CVE to search for
    
        Returns:
            Dict[str, Any]: Dictionary containing vulnerability details including:
                - uuid: Unique identifier for this vulnerability record
                - cve_id: The CVE identifier
                - description: Detailed description of the vulnerability
                - created_at/updated_at: Timestamps for record creation and updates
                - cvss_base_score: Severity score (0.0-10.0, higher is more severe)
                - cvss_version: Version of the CVSS scoring system used
                - cvss_vector: Detailed scoring vector showing attack characteristics
                - cvss_data: List of all available CVSS scores from different sources
                - epss_score: Exploit Prediction Scoring System score (probability of exploitation)
                - epss_percentile: Percentile ranking of the EPSS score
                - cisa_kev_added_at: When CISA added this to Known Exploited Vulnerabilities catalog (if applicable)
                - weaknesses: List of CWE identifiers associated with this vulnerability
                - mentions_count: Number of references to this vulnerability
                - detection_signatures_count: Number of detection signatures available
                - exploits_count: Number of known exploit implementations
                - exploitations_count: Number of recorded instances of exploitation in the wild
                - vulnerable_configurations_count: Number of affected system configurations
        """
        return await malloryai_client.vulnerabilities.get_vulnerability(cve)
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by explaining what the tool returns (detailed vulnerability data) and its practical applications. It doesn't mention rate limits, authentication needs, or error conditions, but provides substantial behavioral context about the type and structure of information returned.

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?

Well-structured with purpose statement, usage guidelines, and detailed return documentation. The return value section is comprehensive but lengthy; however, every sentence adds value. Could be slightly more concise in the returns section but overall efficient.

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

Completeness5/5

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

For a single-parameter lookup tool with no annotations and no output schema, the description provides complete context: clear purpose, usage guidelines, parameter explanation, and exhaustive documentation of return values. The detailed return field descriptions effectively substitute for a missing output schema.

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

Parameters5/5

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

Schema description coverage is 0% (parameter 'cve' has no description in schema), but the description fully compensates by clearly explaining the parameter: 'cve (str): The CVE to search for'. This adds crucial meaning beyond the bare schema type definition.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Find a vulnerability by CVE identifier' with specific details about what information is retrieved (severity scores, description, exploitation status). It distinguishes from siblings like 'get_vulnerabilities' (likely a list operation) by focusing on a single CVE lookup.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'when you need detailed information about a specific vulnerability' and provides concrete use cases (threat assessment, prioritizing patching, understanding technical details). It differentiates from siblings by specifying this is for detailed info on a single CVE, not lists or other related data.

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

Install Server

Other Tools

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/malloryai/mallory-mcp-server'

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