supply-chain-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVD_API_KEY | No | API key for NVD tools (50 req/30s instead of 5 req/30s) | |
| GITHUB_TOKEN | No | GitHub token for higher rate limits on GHSA and Scorecard tools | |
| LIBRARIES_API_KEY | No | API key for Libraries.io tools |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| osv_queryB | Query OSV database for known vulnerabilities affecting a specific package and optional version. |
| osv_query_commitB | Query OSV database for vulnerabilities associated with a specific git commit hash. |
| osv_query_purlB | Query OSV database using a Package URL (purl) for known vulnerabilities. |
| osv_batchB | Batch query OSV database for vulnerabilities across multiple packages at once. |
| osv_idA | Fetch full vulnerability details from OSV by ID (OSV, CVE, GHSA, RUSTSEC, PYSEC, etc.). |
| ghsa_idB | Fetch a GitHub Security Advisory by its GHSA or CVE identifier. |
| ghsa_searchB | Search GitHub Security Advisories by keyword, ecosystem, and severity. |
| ghsa_packageB | List GitHub Security Advisories affecting a specific package in a given ecosystem. |
| ghsa_recentB | List the most recently updated GitHub Security Advisories. |
| nvd_cveA | Fetch full CVE details from NVD (NIST National Vulnerability Database) by CVE ID. |
| nvd_searchB | Search NVD for CVEs by keyword and optional CVSS v3 severity. |
| nvd_recentA | Fetch recently published CVEs from NVD within a given number of days. |
| npm_packageA | Fetch npm package metadata including description, latest version, maintainers, license, repository, homepage, and publish timeline. |
| npm_versionB | Fetch metadata for a specific npm package version including dependencies, dist info (tarball, shasum, integrity), scripts, and deprecation status. |
| npm_downloadsA | Fetch npm download counts for a package over a given period (last-day, last-week, last-month). |
| npm_searchB | Search the npm registry for packages matching a query string. |
| npm_maintainersA | Extract maintainers and publish timeline from an npm package. Critical for detecting maintainer takeover attacks like the event-stream incident. |
| npm_scriptsA | Extract and analyze lifecycle scripts from a specific npm package version. Flags suspicious commands (curl, wget, eval, exec, etc.) commonly used in supply-chain attacks. |
| npm_provenanceA | Check whether an npm package version has Sigstore provenance attestations and signatures. Key for detecting unauthorized publishes like the Axios-style attacks. |
| npm_audit_bulkA | Bulk query npm security advisories for a set of packages and versions. Provide an object mapping package names to version arrays, e.g. {"express":["4.17.1"]}. |
| npm_attestationsB | Fetch full Sigstore attestation bundles for an npm package version. Returns SLSA provenance and publish attestations when available. |
| npm_download_rangeA | Get day-by-day npm download counts for a date range. Useful for detecting download anomalies or sudden spikes that may indicate dependency confusion attacks. |
| pypi_packageB | Fetch PyPI package metadata including author, license, summary, project URLs, classifiers, and Python version requirements. |
| pypi_versionA | Fetch metadata for a specific PyPI package version including release URLs with upload times, file sizes, digests, and yanked status. |
| pypi_releasesA | List all releases of a PyPI package with upload dates, sizes, and yanked status. Useful for detecting suspicious rapid version bumps or yanked releases. |
| pypi_maintainersB | Extract author and maintainer information from a PyPI package. Useful for detecting ownership changes or suspicious maintainer patterns. |
| crate_infoA | Fetch crates.io crate metadata including description, download counts, max version, repository, homepage, categories, and keywords. |
| crate_versionsB | List all versions of a crate with version number, yanked status, license, crate size, creation date, and download count. |
| crate_depsA | Fetch dependencies for a specific crate version including dependency kind (normal/dev/build), version requirement, and optional flag. |
| crate_ownersA | List owners of a crate on crates.io including login, name, URL, and kind (user/team). Useful for detecting ownership changes. |
| go_moduleA | Fetch Go module info from the module proxy: latest version and all available versions. Module paths are automatically encoded for the proxy. |
| go_versionA | Fetch info and go.mod contents for a specific Go module version. Returns version metadata and parsed dependency list from go.mod. |
| go_sumA | Look up a Go module version in the checksum database (sum.golang.org) for hash verification. Returns the checksum database entry. |
| deps_packageC | Look up a package on deps.dev to get metadata, versions, and security information |
| deps_versionB | Get detailed info about a specific package version from deps.dev including links, licenses, and advisories |
| deps_dependenciesB | Get the dependency tree for a specific package version from deps.dev |
| deps_dependentsA | Get packages that depend on a specific package version from deps.dev |
| deps_advisoryB | Fetch a security advisory by key (e.g. GHSA-xxxx-xxxx-xxxx) from deps.dev |
| deps_projectA | Get project information from deps.dev by repository URL (e.g. github.com/expressjs/express) |
| deps_queryA | Look up a package by its SHA256 artifact hash on deps.dev |
| deps_requirementsB | Get the requirements (version constraints) for a specific package version from deps.dev |
| deps_similar_packagesA | Find similarly named packages on deps.dev for typosquatting detection. Useful for verifying you're using the legitimate package. |
| deps_purl_lookupA | Look up a package by Package URL (purl) on deps.dev. Purl format: pkg:ecosystem/name@version |
| scorecard_repoA | Get the OpenSSF Scorecard security score for a GitHub repository, including individual check results |
| scorecard_compareB | Compare OpenSSF Scorecard security scores across 2-5 GitHub repositories side by side |
| libraries_packageA | Get package metadata from Libraries.io including repository info, versions, and popularity metrics |
| libraries_depsB | Get dependencies for a specific package version from Libraries.io |
| libraries_dependentsB | Get packages that depend on a specific package from Libraries.io |
| libraries_sourcerankB | Get the SourceRank quality score breakdown for a package from Libraries.io |
| rekor_searchA | Search the Rekor transparency log by email, SHA256 hash, or public key fingerprint and return matching entry UUIDs |
| rekor_entryA | Retrieve a specific Rekor transparency log entry by UUID, including body, attestation, and inclusion proof |
| rekor_log_infoA | Get the current Rekor transparency log status including rootHash, treeSize, signedTreeHead, and treeID |
| rekor_entries_searchB | Retrieve multiple Rekor log entries by their UUIDs or log indexes in a single request |
| rekor_verifyA | Verify whether a SHA256 artifact hash has been recorded in the Rekor transparency log, returning entry details if found |
| typosquat_checkA | Check if a package name is suspiciously similar to popular packages (potential typosquatting). Returns matches with edit distance <= 2. |
| typosquat_compareA | Compare two package names directly to assess typosquatting risk, showing edit distance, similarity percentage, character-level diff, and confusable character warnings |
| epss_scoreA | Get EPSS exploit probability and percentile for a single CVE ID. |
| epss_batchA | Batch EPSS scores for multiple CVEs (up to 100) in a single request. |
| epss_topB | Get the highest EPSS-scoring CVEs (most likely to be exploited). |
| epss_above_thresholdA | Find CVEs with EPSS score above a given threshold. |
| kev_lookupC | Check if a CVE is in the CISA Known Exploited Vulnerabilities (KEV) catalog. |
| kev_searchA | Search KEV entries by keyword (matched against vendor, product, name, description). |
| kev_recentA | Get recently added KEV entries within the last N days. |
| kev_statsA | Get KEV catalog statistics: total count, top vendors, entries per year, and ransomware usage breakdown. |
| go_vuln_idA | Fetch a Go vulnerability by its ID from the Go Vulnerability Database. Returns advisory details, affected modules, versions, and references. |
| go_vuln_listB | List all Go vulnerability IDs from the database index. Returns an array of entry objects with id and modified fields. |
| go_vuln_db_infoA | Get Go Vulnerability Database metadata including last modified time. |
| go_vuln_by_moduleB | Find Go vulnerabilities affecting a specific module. Fetches the modules index and filters for entries matching the given module path. |
| license_lookupB | Get curated license data for a software component from ClearlyDefined. |
| license_batchA | Batch license lookup for multiple components via ClearlyDefined. |
| license_searchB | Search ClearlyDefined for components by pattern. |
| badge_projectB | Get OpenSSF Best Practices badge status and criteria for a project by ID. |
| badge_searchC | Search OpenSSF Best Practices badge projects. |
| badge_by_repoA | Find OpenSSF Best Practices badge by GitHub repository URL. |
| repology_projectA | Get package versions across all Linux distributions from Repology. |
| repology_problemsB | Find packaging problems/issues for a repository on Repology. |
| repology_searchC | Search Repology projects by name. |
| gem_infoA | Fetch RubyGems gem metadata including name, version, authors, description, download counts, project URI, source code URI, and other package details. |
| gem_versionsA | List all versions of a RubyGems gem with release dates, platform info, and version numbers. |
| gem_searchA | Search the RubyGems registry for gems matching a query string. |
| gem_reverse_depsA | Get reverse dependencies of a RubyGems gem — lists all gems that depend on this gem. Useful for assessing blast radius of a compromised package. |
| nuget_packageB | Fetch NuGet package registration metadata including all versions, dependency groups, descriptions, and catalog entries. |
| nuget_searchB | Search the NuGet registry for packages matching a query string. |
| nuget_versionsB | List all published versions of a NuGet package from the flat container index. |
| nuget_catalog_entryA | Get specific version details from NuGet including dependency groups, description, license, and catalog metadata. |
| composer_packageA | Get PHP/Composer package metadata from Packagist including versions, description, maintainers, and repository information. |
| composer_searchA | Search Packagist for PHP packages matching a query string. |
| composer_statsA | Get Packagist package download statistics including total, monthly, and daily download counts. |
| composer_advisoriesB | Get security advisories for PHP packages from Packagist. Returns known vulnerabilities and CVEs affecting the specified package. |
| supplychain_list_sourcesA | List all 21 supply chain security data sources with their configuration status, required environment variables, available tools, and API base URLs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/supply-chain-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server