Skip to content
Tools/Nodes/get_nodes

get_nodes

Batch-fetch up to 50 entities by ID. Returns each node with its edges. Use instead of looping `get_node`.

Nodesatomic (read-only)

Arguments

idsarrayrequired

Array of node IDs to fetch (max 50)

compact_edgesbooleanoptional

Omit titles from edges

Returns

JSON array of node objects with edges.
Missing IDs are silently skipped.
May include a degraded block when the response was auto-trimmed to fit.

Examples

Live call against the Notion example graph.

Input

{
  "ids": [
    "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
    "1c051617-6cb7-4a59-b0a1-7779f404145b"
  ]
}

Output

{
  "nodes": [
    {
      "node": {
        "id": "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
        "type": "product",
        "title": "Notion (SATURATED test graph)",
        "slug": "notion-saturated-test-graph"
      },
      "edges_out": [
        {
          "id": "1d645a2e-391b-4bc7-b0de-e15691c8a7d6",
          "type": "product_serves_account",
          "source": "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
          "target": "dce7a627-2ef4-4cb7-a63a-5044a8ad1802"
        },
        {
          "id": "b4a77a49-7d28-4926-831f-464574d927fe",
          "type": "product_shares_metric_with_product",
          "source": "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
          "target": "2a3ab02e-4110-43f2-848b-a1ebeedb6fa9"
        },
        {
          "id": "1ee422bc-64c1-4da1-b797-62e4d206b79c",
          "type": "product_ships_via_release",
          "source": "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
          "target": "024aa3ef-d8e0-4791-8979-c8a9f2a69618"
        },
        {
          "id": "013ac760-b99a-423e-bb94-700acda058c0",
          "type": "product_sold_via_pipeline_sales",
          "source": "ec3d5479-4947-4bd9-9e77-b5ee01beb851",
          "target": "8737db50-a948-4225-9fa6-7a54ca4ca374"
        },
        {
          "id": "e72fc432-9b4e-443d-b0c3-619b4a1cff62",
          "type": "product_stored_in_code_repository",
          "source":
… (truncated)

Warnings

Pre-flight payload guardrail: refuses above `UPG_MCP_PAYLOAD_HARD_LIMIT` (default 150 KB), warns above `UPG_MCP_PAYLOAD_SOFT_LIMIT` (default 50 KB). 50 edge-heavy nodes can still cross 50 KB. Pass `compact_edges:true` to halve edge size.

Auto-degrade: between soft and hard limits, the server may drop edge titles, optional node fields, or truncate the result list. Surfaced as `degraded.applied[]` on the response.

See Also