Skip to content

centrality_top

Graph · From docs/MCP_TOOLS.md on GitHub

Category graph · sensitivity confidential · capabilities read_state · readOnly true, destructive false, idempotent true, openWorld false · outputSchema no · timeout: layer default (300 s)

Most connected or most "in the middle" assets in the relationship graph. degree, in_degree and out_degree are NetworkX degree centralities; betweenness marks chokepoints that many shortest paths cross. Placeholder nodes take part in the computation but are not ranked. Scores are cached per metric and dataset version. Items are asset briefs plus score (5 decimals) and degree; sampled says whether betweenness was sampled.

Argument Type Default Constraints Description
metric string "degree" one of degree, in_degree, out_degree, betweenness Centrality measure. Betweenness is sampled (k=300, seed 7) above 1,500 nodes.
top integer 20 1..200 Number of assets returned.
asset_types string[] or null null Only rank these AssetType values.
dataset string "" Dataset name (see list_datasets). Empty = the active dataset.

Called with the arguments below, centrality_top returned this structuredContent.

{"metric": "betweenness", "top": 3}
{
  "dataset": "sample",
  "metric": "betweenness",
  "sampled": false,
  "items": [
    {
      "id": "app-role",
      "name": "app-role",
      "type": "IAM_ROLE",
      "provider": "AWS",
      "region": "global",
      "account_id": "111111111111",
      "arn": "arn:aws:iam::111111111111:role/app-role",
      "internet_exposed": false,
      "open_findings": 0,
      "max_severity": null,
      "uri": "cloudg://assets/app-role",
      "score": 0.06078,
      "degree": 5
    },
    {
      "id": "vpc-prod",
      "name": "prod-vpc",
      "type": "VPC",
      "provider": "AWS",
      "region": "us-east-1",
      "account_id": "111111111111",
      "arn": "arn:aws:ec2:us-east-1:111111111111:vpc/vpc-0prod",
      "internet_exposed": false,
      "open_findings": 1,
      "max_severity": "INFO",
      "uri": "cloudg://assets/vpc-prod",
      "score": 0.04863,
      "degree": 3
    },
    {
      "id": "acct-prod",
      "name": "prod",
      "type": "CLOUD_ACCOUNT",
      "provider": "AWS",
      "region": "global",
      "account_id": "111111111111",
      "arn": "arn:aws:iam::111111111111:root",
      "internet_exposed": false,
      "open_findings": 0,
      "max_severity": null,
      "uri": "cloudg://assets/acct-prod",
      "score": 0.03805,
      "degree": 2
    }
  ]
}

Called with the arguments below, centrality_top returned this structuredContent.

{"metric": "in_degree", "top": 3, "asset_types": ["IAM_ROLE"]}
{
  "dataset": "sample",
  "metric": "in_degree",
  "sampled": false,
  "items": [
    {
      "id": "app-role",
      "name": "app-role",
      "type": "IAM_ROLE",
      "provider": "AWS",
      "region": "global",
      "account_id": "111111111111",
      "arn": "arn:aws:iam::111111111111:role/app-role",
      "internet_exposed": false,
      "open_findings": 0,
      "max_severity": null,
      "uri": "cloudg://assets/app-role",
      "score": 0.04545,
      "degree": 5
    },
    {
      "id": "deploy-role",
      "name": "deploy-role",
      "type": "IAM_ROLE",
      "provider": "AWS",
      "region": "global",
      "account_id": "222222222222",
      "arn": "arn:aws:iam::222222222222:role/deploy-role",
      "internet_exposed": false,
      "open_findings": 1,
      "max_severity": "HIGH",
      "uri": "cloudg://assets/deploy-role",
      "score": 0.04545,
      "degree": 4
    },
    "... 1 more"
  ]
}