Skip to main content
Glama

Get a situation timeline

get_situation_timeline
Read-onlyIdempotent

Get the full chronological timeline of one situation. A situation is an ongoing storyline (story arc) that groups related news events over time; it carries a maintained summary plus every event in order, so you see not just what happened but how it developed. Each event is a cluster (one happening grouped from the outlets covering it and deduplicated) with its date, a significance score (1 to 10, where 8 and above is exceptional), a source count, and a canonical clstr.news link. Use this to brief on a story's history or answer 'how did this develop'. Get a situation id from search_situations or get_top_situations, or from a clstr.news URL. An id that was retired when two situations merged resolves to the successor, flagged with merged_into_shown. Results carry canonical clstr.news links.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "situation_id": "<situation_id>"
    },
    "name": "get_situation_timeline"
  }
}

Input Schema

NameRequiredDescriptionDefault
situation_idYesSituation id or slug (from other tools or clstr.news URLs).
timeline_limitNoTimeline entries to return, newest first. Default 50, and 50 is also the maximum without an API key. A free key raises it to 500: https://clstr.news/developers
timeline_beforeNoCursor: cluster id (a UUID) from a previous page, to continue past it.

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / data / properties / timeline / items / properties / url / description
      Previous value: -"Canonical clstr.news URL. Cite this."New value: +"Canonical clstr.news URL."
    • changedOutput schema / properties / data / properties / url / description
      Previous value: -"Canonical clstr.news URL. Cite this."New value: +"Canonical clstr.news URL."
  2. Changed2 schema fields changed
    • changedInput schema / properties / timeline_before / description
      Previous value: -"Cursor: cluster id from a previous page to continue past."New value: +"Cursor: cluster id (a UUID) from a previous page, to continue past it."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "data": {
      +      "properties": {
      +        "categories": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "category": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "cluster_count": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "day_span": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "first_seen": {
      +          "description": "ISO-8601 UTC timestamp.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "is_timeline_page": {
      +          "description": "True on a timeline_before continuation page, which omits the header fields.",
      +          "type": "boolean"
      +        },
      +        "last_updated": {
      +          "description": "ISO-8601 UTC timestamp.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "latest_cluster_title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "merged_into_shown": {
      +          "description": "Present when a retired id was served as its successor.",
      +          "type": "boolean"
      +        },
      +        "requested_id": {
      +          "description": "The retired id that was asked for, alongside merged_into_shown.",
      +          "type": "string"
      +        },
      +        "significance_score": {
      +          "description": "AI-generated significance, 1 to 10, where 8 and above is exceptional.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "slug": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "source_count": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "status": {
      +          "description": "ACTIVE or QUIET.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "summary": {
      +          "description": "The maintained situation summary, in full.",
      +          "type": "string"
      +        },
      +        "summary_preview": {
      +          "type": "string"
      +        },
      +        "timeline": {
      +          "description": "Member events, newest first.",
      +          "items": {
      +            "properties": {
      +              "category": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "countries": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "id": {
      +                "type": "string"
      +              },
      +              "published_at": {
      +                "description": "ISO-8601 UTC timestamp.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "significance_score": {
      +                "description": "AI-generated significance, 1 to 10, where 8 and above is exceptional.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "slug": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "sources": {
      +                "description": "How many outlets are behind this event.",
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "summary": {
      +                "type": "string"
      +              },
      +              "title": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "updated_at": {
      +                "description": "ISO-8601 UTC timestamp.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "url": {
      +                "description": "Canonical clstr.news URL. Cite this.",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "timeline_cursor": {
      +          "properties": {
      +            "has_more": {
      +              "type": "boolean"
      +            },
      +            "next_before": {
      +              "description": "Pass back as timeline_before for the next page.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "remaining_count": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "total_count": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "url": {
      +          "description": "Canonical clstr.news URL. Cite this.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "is_timeline_page",
      +        "timeline",
      +        "timeline_cursor"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a read-only, idempotent, non-destructive operation, so the description's job is to add context beyond safety. It does so well: it explains that events are clustered and deduplicated, describes the significance score scale, notes that retired ids resolve to merged successors with merged_into_shown, and states that results carry canonical clstr.news links.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then layers in useful context, so it is appropriately structured for a multi-part retrieval tool. It is slightly redundant in mentioning canonical clstr.news links both in the event description and again at the end, but overall it remains dense and useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations, complete parameter schema, and presence of an output schema, the description supplies everything an agent needs: purpose, usage, id sourcing, event composition, merged-id behavior, and return-link context. No critical gap remains for correct tool selection or invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, including limits and cursor behavior. The description adds useful meaning beyond the schema by naming the exact sibling tools for obtaining a situation_id and by explaining the merged-id resolution behavior, though it does not further elaborate on timeline_limit or timeline_before.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: retrieve the full chronological timeline for one situation. It defines what a situation is and how events relate, making the tool's scope clear. Sibling differentiation is only partial: it names search_situations and get_top_situations as id sources, but does not explicitly contrast this with get_cluster for individual cluster details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage guidance: use this to brief on a story's history or answer 'how did this develop', and obtain the situation id from search_situations, get_top_situations, or a clstr.news URL. It lacks explicit when-not-to-use guidance or a direct alternative for related tasks such as drilling into a single event.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources