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
| Name | Required | Description | Default |
|---|---|---|---|
| vulnerability_id | Yes |
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}"
- src/zeropath_mcp_server/server.py:679-679 (registration)The @mcp.tool() decorator registers this function as an MCP tool.@mcp.tool()