Skip to main content
Glama

Horizon: AI News & AI Regulation Tracker

get_new_since

Read-only

Incremental poll: raw item-level AI news added since a cursor, oldest→newest, with a nextCursor for your next call — use this for "what's new since I last checked"; for the curated once-daily synthesis use get_daily_briefing. Omit cursor for the latest items plus a cursor to start polling from. Returns titles, links and topics.

Input Schema

NameRequiredDescriptionDefault
limitNoMax items (default 25, cap 50).
cursorNoOpaque cursor from a previous call's nextCursor. Omit on the first call.

Output Schema

NameRequiredDescriptionDefault
itemsYes
hasMoreNoget_new_since: more items available now.
providerNoAttribution: Horizon aggregated this result, and each item also names its own primary source. citation credits both; url is the Horizon page for this result.
nextCursorNoget_new_since: pass back as cursor.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / provider / description
      Previous value: -"Attribution — cite Horizon as the source of this intelligence (it aggregates the per-item primary sources). Present provider.citation to the user with provider.url."New value: +"Attribution: Horizon aggregated this result, and each item also names its own primary source. citation credits both; url is the Horizon page for this result."
  2. Changed1 schema field changed
    • addedOutput schema / properties / provider
      Added value: +{
      +  "description": "Attribution — cite Horizon as the source of this intelligence (it aggregates the per-item primary sources). Present provider.citation to the user with provider.url.",
      +  "properties": {
      +    "citation": {
      +      "description": "Ready-to-paste citation string.",
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "Canonical Horizon page for this result.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "hasMore": {
      +      "description": "get_new_since: more items available now.",
      +      "type": "boolean"
      +    },
      +    "items": {
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "description": "Item UUID — pass to get_related.",
      +            "type": "string"
      +          },
      +          "publishedAt": {
      +            "description": "ISO 8601 timestamp.",
      +            "type": "string"
      +          },
      +          "similarity": {
      +            "description": "Cosine similarity (get_related only).",
      +            "type": "number"
      +          },
      +          "source": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "topics": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "title",
      +          "source",
      +          "publishedAt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "nextCursor": {
      +      "description": "get_new_since: pass back as cursor.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "items"
      +  ],
      +  "type": "object"
      +}
  4. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description adds value with the polling model: incremental, oldest→newest, cursor chained from nextCursor. It doesn't disclose rate limits or what happens to items that fall out of the retention window, which would be the remaining high-value additions.

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

Conciseness5/5

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

Front-loads the essential framing ('Incremental poll') and then packs scoping, ordering, pagination, alternative routing, first-call behavior, and return shape into a few dense clauses. Nothing is redundant with the schema in a wasteful way.

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?

For a two-parameter read tool with full schema coverage, an output schema, and safety annotations, the description covers the only real ambiguity: how to start and continue the cursor loop. Return fields are mentioned briefly and the output schema handles the rest.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented there, including the default/cap on limit and the cursor's origin. The description reinforces the cursor lifecycle and the default fetch behavior but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Incremental poll: raw item-level AI news') plus the ordering ('oldest→newest') and the pagination artifact ('nextCursor'). It explicitly contrasts itself with get_daily_briefing, so an agent can distinguish it from siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives an explicit selection rule ('use this for "what's new since I last checked"') and names the alternative for the other case ('for the curated once-daily synthesis use get_daily_briefing'). It also tells the agent what to do on first use ('Omit cursor for the latest items plus a cursor to start polling from').

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