Title100/100
List projects
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
List the projects of your Depi organisation, riskiest first. A project is a repository that Depi scans for supply chain risks. Each project gives its ID, name, risk score, severity, issue counts, package counts per ecosystem and last scan date. filter_count gives the number of matching projects.
The description explains the capability, when to use it, and what to expect.
Inputs90/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
search
Part of the project name
Clear enough to supply this argument.
status
Which projects to list. Depi scans active projects and skips inactive ones.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
The page to return. filter_count in the answer counts the matches on all pages.
Clear enough to supply this argument.
limit
The number of projects on each page
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Output schema61/100
Describe the returned fields so an agent can interpret the result.
View output schema
{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
{
"type": "null"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data",
"total_count",
"filter_count"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"kind",
"risk_score",
"priority_label",
"severity",
"issues",
"packages",
"status",
"visibility",
"upstream_status",
"link"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"enum": [
"github",
"gitlab",
"push_pull",
"wiz_project"
],
"type": "string"
},
"link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"issues": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"status": {
"type": "string"
},
"packages": {
"type": "object",
"properties": {
"npm": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"pip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"cargo": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"maven": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"bundler": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"github_action": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"severity": {
"enum": [
"Good",
"Compliance",
"Low",
"Medium",
"High",
"Critical"
],
"type": "string"
},
"manifests": {
"type": "array",
"items": {
"type": "string"
}
},
"risk_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string"
},
"catalog_info": {
"anyOf": [
{
"type": "object",
"required": [
"api_version",
"kind",
"metadata"
],
"properties": {
"kind": {
"type": "string"
},
"spec": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"system": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lifecycle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"metadata": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"labels": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "null"
}
]
},
"annotations": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"api_version": {
"enum": [
"backstage.io/v1alpha1",
"backstage.io/v1beta1"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"git_metadata": {
"anyOf": [
{
"type": "object",
"properties": {
"sha": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"commit_date": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"last_scan_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"priority_label": {
"enum": [
"P1",
"P2",
"P3",
"P4"
],
"type": "string"
},
"pipelines_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"upstream_status": {
"enum": [
"in_use",
"archived",
"missing"
],
"type": "string"
},
"package_projects": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"filepath",
"version",
"definition",
"relation",
"live",
"link"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"live": {
"type": "boolean"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"filepath": {
"type": "string"
},
"relation": {
"enum": [
"direct",
"transitive"
],
"type": "string"
},
"definition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"active_threats_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"active_incidents_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"catalog_info_synced_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"fix_request_target_branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fix_request_default_branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"total_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"filter_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}