Skip to main content
Glama

query_for_cve_affected

Query the OSV database to identify which software versions are affected by a specific CVE, returning a list of impacted versions for security assessment.

Instructions

Query the OSV database for a CVE and return the affected versions.

Args:
    cve: The CVE ID to query

Returns:
    A list of affected versions

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cveYes

Implementation Reference

  • MCP tool registration and handler for 'query_for_cve_affected'. Defines input schema via docstring and type hint (cve: str), instantiates OSVServer, and delegates to its query_for_cve_affected method.
    @mcp.tool()
    def query_for_cve_affected(cve: str):
        """
        Query the OSV database for a CVE and return the affected versions.
    
        Args:
            cve: The CVE ID to query
    
        Returns:
            A list of affected versions
        """
        osv = OSVServer()
        return osv.query_for_cve_affected(cve)
  • Core handler logic within OSVServer class: queries OSV API for the CVE and parses the affected versions using helper methods.
    def query_for_cve_affected(self, cve: str):
        """
        Query the OSV database for a CVE and return the affected versions.
        """
        data = self._query_cve(cve)
        versions = self._parse_versions(data)
        return versions
  • Helper method to query the OSV API endpoint for a specific CVE ID.
    def _query_cve(self, cve: str):
        """
        Query the OSV database for a CVE.
        """
        url = self.cve_url.format(cve_id=cve)
        response = requests.get(url)
        return response.json()
  • Helper method to parse affected version strings from the OSV response JSON.
    def _parse_versions(self, data: dict):
        """
        Parse version strings from the OSV response.
        Extracts versions from the 'versions' array in the affected package data.
        
        Args:
            data: The full OSV response JSON data
            
        Returns:
            List of version strings
        """
        versions = []
        if 'affected' in data:
            for affected in data['affected']:
                if 'versions' in affected:
                    versions.extend(affected['versions'])
                    versions = list(set(versions))
        return versions

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/EdenYavin/OSV-MCP'

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