MCP Tools
-
Profile — overview of a package’s release lines, gate topology, and trends
-
Dependencies — per-dependency vulnerability and upgrade compliance for a specific version
-
Gate Detail — forensic detail of a single gate evaluation with attestation proof
Authentication
MCP tools are served over HTTP and use the same authentication as all Develocity Provenance Governor resources:
-
OIDC — HTTP Bearer auth with OIDC access tokens
-
Basic — HTTP Basic auth with configured identities
MCP tools do not initiate the OAuth 2.0 client credentials flow or any other token acquisition; callers must obtain and refresh access tokens externally and present them using the mechanisms above. See Access Control for identity and permission configuration.
Presigned View URLs
Each tool response includes a viewUrl field — a presigned URI that deep-links to a graphical rendering of the same data.
When presigned access is not configured, the URL is returned unsigned (the path is still valid but requires standard authentication).
get-purl-profile-discovery
Returns release line summaries for a package, enabling an agent to understand the overall supply chain posture before drilling into a specific version range.
Parameters
| Parameter | Type | Description |
|---|---|---|
|
string |
A versionless PURL (e.g., |
Response
-
releaseLines(array) — One entry per release line:-
lineLabel(string) — Human-friendly label (e.g.,6.x,5.3.x). -
latestVersion(string) — Highest version in the line (including pre-releases). -
latestRelease(string, nullable) — Highest non-pre-release version. -
gateStatus(string, nullable) —PASSorFAILbased on the latest Policy Scan™ evaluation. -
vulnerabilityCount(int) — Vulnerability count from the latest evaluation.
-
-
viewUrl(string, nullable) — Presigned URI to the package dashboard.
get-purl-profile-focused
Returns detailed release history, gate topology, and cross-version trends for a specific version range.
Parameters
| Parameter | Type | Description |
|---|---|---|
|
string |
A versionless PURL. |
|
string |
A VERS range string (e.g., |
Response
-
publishHistory(array) — Per-version details within the range:-
version(string) — Version string. -
timePublished(string, nullable) — ISO 8601 timestamp. -
gateStatus(string, nullable) —PASSorFAIL. -
vulnerabilityCount(int) — Vulnerability count.
-
-
activePreRelease(object, nullable) — Latest pre-release evaluation:-
latestPreReleaseVersion(string) — Highest pre-release version within the range. -
gateStatus(string, nullable) —PASSorFAILfor the latest pre-release version.
-
-
gateTopology(object) — DAG of supply chain gates showing gate names, upstream/downstream relationships, and per-gate verification results:-
gates(array) — Gate nodes in the DAG:-
id(string) — Stable identifier for the gate node. -
policyUri(string) — URI of the policy or check implemented by this gate. -
status(string) — Evaluation status for this gate (for example,PASSorFAIL). -
evaluatedAt(string, nullable) — ISO 8601 timestamp of the last evaluation for this gate.
-
-
edges(array) — Directed edges indicating gate ordering:-
from(string) — ID of the upstream gate. -
to(string) — ID of the downstream gate.
-
-
-
trends(object) — Cross-version metrics:-
averageVulnerabilityCountPerRelease(number). -
gatePassRatePercent(number) — Percentage of the last 10 versions that passed all gates. -
medianDaysBetweenReleases(int).
-
-
latestVersion(string) — Latest version in the range. -
latestDigest(string) — Most recently attested digest for that version (format:sha256:<hex>). -
viewUrl(string, nullable) — Presigned URI to the versioned artifact dashboard.
get-purl-dependencies
Returns per-dependency vulnerability and upgrade SLO compliance data for a specific package version and digest. Dependencies with no vulnerabilities and no upgrade issues are omitted to reduce token cost.
Parameters
| Parameter | Type | Description |
|---|---|---|
|
string |
A versionless PURL. |
|
string |
Package version. |
|
string |
Digest of the package artifact (format: |
Response
-
summary(object) — Aggregate metrics:-
score,vulnerabilityScore,upgradeScore(int) — 0–100 scores. -
achievedTier(string, nullable) — Tier name (e.g.,Gold). -
vulnerabilityCountBySeverity(object) — Counts keyed byCRITICAL,HIGH,MEDIUM,LOW. -
licenseDistribution(object) — License string to count. -
upgradesAvailable(int) — Count of dependencies with available upgrades.
-
-
dependencies(array) — Per-dependency entries:-
purl(string) — Dependency PURL. -
licenses(array of strings) — Detected licenses. -
versions(object, nullable) — Current version and available upgrades (patch, minor, major). -
vulnerabilityDeductions(array) — Lightweight projections:vulnerabilityId,severity,recommendedUpgrade,daysOverSlo. -
upgradeDeductions(array) — Lightweight projections:strategy,recommendedUpgrade,daysOverSlo.
-
-
vulnerabilities(object) — Deduplicated vulnerability details keyed by ID, with full CVSS severity data. -
note(string, nullable) — Set when dependency insights data is unavailable. -
viewUrl(string, nullable) — Presigned URI to the dependency explorer.
get-purl-gate-detail
Returns the forensic detail of a single gate evaluation, including per-policy entries, evaluated policy snapshots, and attestation proof URIs.
Parameters
| Parameter | Type | Description |
|---|---|---|
|
string |
A versionless PURL. |
|
string |
Package version. |
|
string |
Digest of the package artifact (format: |
|
string |
PolicyScanDefinition name (e.g., |
Response
-
gate(string) — Gate name. -
verificationResult(string) —PASSEDorFAILED. -
timeVerified(string) — ISO 8601 timestamp of evaluation. -
verifier(object) — Verifier identity (URI and version map). -
evaluations(array) — Per-policy evaluation entries:-
policyUri(string) — URI of the evaluated policy. -
attestationUri(string, nullable) — URI of the evaluated attestation. -
status(string) —satisfied,unsatisfied, ornot-applicable. -
details(object) — Evaluator-specific diagnostic data. -
policyKind(string) — Policy kind (e.g.,AttestationsExist,TrustedPublicKeys). -
policyDescription(string) — Human-readable policy description. -
upstreamVerification(object, nullable) — ForVerificationSummarypolicies: upstream gate linkage with verifier ID, required result, and policy URI.
-
-
slsaLevels(array of strings, nullable) — Verified SLSA levels for this gate evaluation. -
evaluatedPolicies(object) — Map of policy URI to full policy definition snapshot at evaluation time. -
inputAttestations(array) — Input attestation descriptors (URI and digest). -
attestationProof(object) — Proof chain:-
pspProof(array) — Policy Scan Predicate proof entries asResourceDescriptorobjects (each containing the PSP resource URI and its SHA-256 digest). -
vsaStoreUri(string, nullable) — Verification Summary store URI.
-
-
viewUrl(string, nullable) — Presigned URI to the gate detail view.
Worked Example: AI Agent Workflow
A typical agent session uses the tools in sequence:
-
Discover release lines — the agent calls
get-purl-profile-discoverywithpkg:maven/org.springframework/spring-webmvc. The response shows three release lines (6.x,5.3.x,5.2.x) with the6.xline showingFAILgate status. -
Focus on 6.x — the agent calls
get-purl-profile-focusedwith VERS rangevers:maven/>= 6.0.0 | < 7.0.0. The response shows that version6.2.9is the latest, itsDeployEksDevelopmentgate is failing, and the gate topology reveals an upstreamBuildgate dependency. -
Inspect dependencies — the agent calls
get-purl-dependencieswith the version and digest from the focused response. The response reveals 3 vulnerability deductions and identifiessnakeyamlas carrying a CRITICAL CVE that is 45 days over SLO. -
Investigate the failing gate — the agent calls
get-purl-gate-detailwithgateset toDeployEksDevelopment. The response shows that the gate failed because the upstreamBuildgate hasverificationResult: FAILED. The agent directs the developer to investigate the Build gate.