MCP tools
Develocity Provenance Governor exposes an MCP (Model Context Protocol) server that enables AI agents to query Policy Scan™ data and inspect the supply chain posture of packages without parsing raw attestation JSON.
The server exposes a single tool, inspect-package-supply-chain, that uses progressive disclosure to control depth.
Rather than separate tools for each data domain, the include parameter lets agents request exactly the sections they need in each call.
Responses are narrative text with embedded identifiers, not JSON.
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 may include presigned URIs that deep-link to the Develocity Provenance Governor dashboard. View URLs appear on their own line in the narrative, never buried in prose. When presigned access is not configured, view URLs are omitted from the response.
Section-specific view URLs include tab parameters:
-
Package overview:
https://provenance-governor.example.com/packages/{purl} -
Provenance tab:
https://provenance-governor.example.com/packages/{purl}?tab=provenance -
Dependencies tab:
https://provenance-governor.example.com/packages/{purl}?tab=dependencies
inspect-package-supply-chain
Inspects the supply chain of a package identified by its PURL. Returns narrative text describing the package’s identity, gate topology, provenance governance evaluations, and dependency compliance data.
Supported package types: pkg:maven (for example, pkg:maven/org.springframework/spring-webmvc@6.2.0) and pkg:oci (for example, pkg:oci/nginx?tag=1.27).
Use oci not docker for container images.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
yes |
Package URL (PURL) to inspect. Supported types: |
|
string |
no |
Release line label (for example, |
|
string |
no |
Gate URI from the topology. Required when requesting |
|
string |
no |
Comma-separated dot-notation section paths controlling progressive disclosure. Omit for discovery mode. |
The include parameter
The include parameter uses a dot-notation tree.
Requesting a child path automatically includes all parent paths (for example, requesting provenanceGovernance.evaluations also includes provenanceGovernance).
| Path | Description |
|---|---|
(empty) |
Discovery mode. Returns package identity and hints for drilling deeper. |
|
Gate URIs and labels. |
|
Governance summary for a gate. |
|
All policy evaluations. |
|
Policy specification for each evaluation. |
|
Evaluation details prose for each evaluation. |
|
Attestation disclosure. |
|
Breakdown only: score, tier, counts by category and severity. |
|
All vulnerabilities. |
|
Vulnerabilities filtered by severity ( |
|
CVSS scoring details per vulnerability. |
|
OSV advisory detail for all vulnerabilities. |
|
Advisory detail for specific vulnerability IDs. Multiple IDs accumulate as separate segments (for example, |
|
All available upgrades. |
|
Upgrades filtered by strategy ( |
|
Score breakdown by category (vulnerability, upgrade, weights, next tier). |
|
Remediation actions from Policy Scan data. |
Parameterized filter paths are supported on evaluations and dependency compliance sections.
For example: provenanceGovernance.evaluations.status:UNSATISFIED.kind:BuildTool
Intent-driven narration
The tool adapts its response based on the PURL:
-
Unversioned PURL (for example,
pkg:maven/com.google.guava/guava): The response includes discovery content such as known versions and release lines. -
Versioned PURL (for example,
pkg:maven/com.google.guava/guava@33.4.0-jre): Discovery content is skipped. The response focuses on the specific version’s supply chain posture.
Response format
Responses are narrative text, not JSON.
Each response ends with one or more -> hint lines containing literal parameter values for the next logical invocation.
The agent can copy-paste these hints without interpolation.
Identifiers such as PURLs, CVE IDs, and gate URIs appear as unambiguous, copy-pasteable tokens in the narrative.
All lists are bounded. When a section contains more items than the bound, the narration includes a count of remaining items and a dashboard view URL for the full data.
Error handling
Errors that the agent can act on (for example, malformed PURL, unsupported package type, unknown gate URI) are returned as narrated text in a normal response.
The narration explains what went wrong and provides the information the agent needs to correct its inputs and retry.
The MCP response isError flag is false for these cases.
Errors that the agent cannot resolve (for example, an internal service failure) propagate as exceptions.
The MCP framework sets isError: true on the response.
Retrying with different parameters will not help; the agent should report the failure to the user.
The following actionable error conditions are narrated:
-
Malformed PURL: Explains the expected format with examples of both supported types
-
Unsupported package type: Lists the supported types (
maven,oci) -
Unknown include path: Lists all valid paths
-
Package not found: Confirms the PURL was valid but no data exists
-
Unknown gate URI: Lists the available gate URIs from the topology
-
No gates configured: Explains that gates appear after a Policy Scan definition evaluates an attestation
Worked example: AI agent workflow
A typical agent session uses progressive disclosure to drill from discovery to detail:
-
Discovery. The agent calls
inspect-package-supply-chainwithpackageUrl=pkg:maven/com.google.guava/guava@33.4.0-jreand noinclude. The response confirms the package is tracked and provides hints for deeper inspection.Package: com.google.guava/guava 33.4.0-jre (Maven) This package is tracked by Develocity Provenance Governor. Policy Scan data is available. -> To discover gate topology use: inspect-package-supply-chain with packageUrl=pkg:maven/com.google.guava/guava@33.4.0-jre, include=gateTopology -
Gate topology. The agent adds
include=gateTopology. The response lists available gates with their URIs, and hints guide the agent to select a gate for deeper inspection.Package: com.google.guava/guava 33.4.0-jre (Maven) Gates (2): 1. Production Release (uri: /api/gates/production-release) 2. Internal Preview (uri: /api/gates/internal-preview) -> To inspect provenance governance use: inspect-package-supply-chain with packageUrl=pkg:maven/com.google.guava/guava@33.4.0-jre, include=provenanceGovernance, gate=/api/gates/production-release -> To inspect dependency compliance use: inspect-package-supply-chain with packageUrl=pkg:maven/com.google.guava/guava@33.4.0-jre, include=dependencyCompliance, gate=/api/gates/production-release -
Provenance governance. The agent selects a gate and requests evaluations with spec and details. The response shows which Policy Scan evaluations passed and which require attention.
Package: com.google.guava/guava 33.4.0-jre (Maven) Gate: Production Release Provenance Governance: 5 of 6 evaluations satisfied 1. Build Tool [SATISFIED]: Gradle 8.12 detected Spec: buildTool must be Gradle >= 8.0 or Maven >= 3.9 ... View full provenance governance: https://provenance-governor.example.com/packages/pkg:maven/ com.google.guava/guava@33.4.0-jre?tab=provenance -> To inspect dependency compliance use: inspect-package-supply-chain with packageUrl=pkg:maven/com.google.guava/guava@33.4.0-jre, include=dependencyCompliance, gate=/api/gates/production-release -
Dependency compliance. The agent drills into vulnerabilities. The response lists vulnerabilities bounded to 20, with overflow to the dashboard.
Package: com.google.guava/guava 33.4.0-jre (Maven) Gate: Production Release Dependency Compliance: 4 vulnerabilities across 2 dependencies 1. CVE-2024-1234 (HIGH, CVSS 8.1), protobuf-java 3.25.0 2. CVE-2024-5678 (MEDIUM, CVSS 5.3), protobuf-java 3.25.0 3. CVE-2024-9012 (LOW, CVSS 2.1), error-prone-annotations 2.27.0 4. CVE-2024-3456 (LOW, CVSS 1.8), error-prone-annotations 2.27.0 View full dependency compliance: https://provenance-governor.example.com/packages/pkg:maven/ com.google.guava/guava@33.4.0-jre?tab=dependencies -> To see CVSS details use: inspect-package-supply-chain with packageUrl=pkg:maven/com.google.guava/guava@33.4.0-jre, include=dependencyCompliance.vulnerabilities.cvss, gate=/api/gates/production-release