Skip to main content
Glama
ZeroPathAI

ZeroPath MCP Server

Official
by ZeroPathAI

get_sca_vulnerability

Retrieve detailed information about specific software composition analysis (SCA) vulnerabilities by providing their ID, enabling security assessment and remediation planning.

Instructions

Get detailed information about a specific SCA vulnerability.

Args:
    vulnerability_id: The ID of the vulnerability to retrieve

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vulnerability_idYes

Implementation Reference

  • The handler function decorated with @mcp.tool(), implementing the core logic to fetch and format SCA vulnerability details by ID via API request.
    @mcp.tool()
    def get_sca_vulnerability(vulnerability_id: str) -> str:
        """
        Get detailed information about a specific SCA vulnerability.
    
        Args:
            vulnerability_id: The ID of the vulnerability to retrieve
        """
        if not vulnerability_id:
            return "Error: Vulnerability ID is required"
    
        response, error = make_api_request(
            "sca/vulnerabilities/get",
            {"id": vulnerability_id}
        )
    
        if error:
            return error
    
        if response.status_code == 200:
            vuln = response.json()
    
            output = "SCA Vulnerability Details:\n\n"
            output += f"ID: {vuln.get('id', 'N/A')}\n"
            output += f"Package: {vuln.get('packageName', 'N/A')}\n"
            output += f"Version: {vuln.get('version', 'N/A')}\n"
            output += f"Ecosystem: {vuln.get('ecosystem', 'N/A')}\n"
            output += f"Severity: {vuln.get('severity', 'N/A')}\n"
            output += f"CVSS Score: {vuln.get('cvssScore', vuln.get('severityScore', 'N/A'))}\n"
    
            # Advisory info
            if vuln.get('aliases'):
                output += f"Aliases: {', '.join(vuln['aliases'])}\n"
            if vuln.get('cve'):
                output += f"CVE: {vuln['cve']}\n"
    
            output += f"\nSummary: {vuln.get('summary', 'N/A')}\n"
            output += f"\nDescription: {vuln.get('description', 'N/A')}\n"
    
            # Fix info
            if vuln.get('fixedVersion'):
                output += f"\nFixed in Version: {vuln['fixedVersion']}\n"
            if vuln.get('references'):
                output += "\nReferences:\n"
                for ref in vuln['references'][:5]:  # Limit to 5 references
                    output += f"  - {ref}\n"
    
            return output
        elif response.status_code == 401:
            return "Error: Unauthorized - check API credentials"
        elif response.status_code == 400:
            return f"Error: Bad request - {response.text}"
        else:
            return f"Error: API returned status {response.status_code}: {response.text}"
  • The @mcp.tool() decorator registers this function as an MCP tool.
    @mcp.tool()

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/ZeroPathAI/zeropath-mcp-server'

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