Skip to main content
Glama

TunnelMind Data API

get_bgp_events

Returns the routing anomalies the bgp-monitor has observed against TunnelMind's BGP watchlist — the witnessability layer's routing dimension. The monitor polls RIPEstat (RIPE NCC) on a cron, self-baselines each watched prefix's origin set on first sight, then records an event whenever a later poll deviates from that baseline.

Use this to check whether a prefix or ASN you depend on (an SSP's egress, a publisher's network, your own infrastructure) has shown a hijack-shaped routing event. event_type is one of:

  • origin_change — an origin AS not in the baseline is announcing the prefix (severity critical if that announcement also fails RPKI, else high).

  • rpki_invalid — a current announcement fails RPKI ROA validation.

  • withdrawn — a previously-announced prefix is no longer visible.

  • new_more_specific / visibility_drop — reserved for a later monitor pass.

prev_origins is the baseline the event deviated from. count is the full filtered set; events is bounded by limit, newest first. An empty events array means no anomalies in the window — the honest "all clear".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax events returned (default 100, hard cap 500).
resourceNoFilter to one watched resource — a CIDR prefix (e.g. 45.32.0.0/24) or an ASN (e.g. AS13335). Omit for all.
since_msNoUnix epoch milliseconds lower bound on observed_at.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers rich disclosure: it explains the polling source (RIPEstat), the self-baselining mechanism, the event-type taxonomy with severity mapping, and return semantics including 'count is the full filtered set; events is bounded by limit, newest first.' This goes well beyond what structured fields provide.

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?

The description is dense but purposeful; every sentence contributes technical or behavioral context. It front-loads the core purpose, then moves through usage and field semantics, using a clean list for event types and no filler.

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 read-only lookup with no output schema, the description fully equips the agent: it explains all event_type values, severity implications, `prev_origins`, pagination semantics, and the honest meaning of an empty `events` array. It even notes reserved event types for future monitor passes, leaving no critical interpretation gap.

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 coverage is 100%, so the baseline is 3, but the description adds meaningful semantics: it explains that `limit` bounds the `events` array while `count` remains the full filtered set, and that results are newest-first. It also clarifies `resource` as a watched CIDR or ASN, which reinforces but goes slightly beyond the schema.

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?

The description opens with a specific verb and resource: 'Returns the routing anomalies the bgp-monitor has observed against TunnelMind's BGP watchlist', immediately distinguishing it from sibling lookup and verification tools. It also grounds the tool in the 'witnessability layer's routing dimension', making its unique role clear.

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?

Explicitly instructs when to use: 'Use this to check whether a prefix or ASN you depend on... has shown a hijack-shaped routing event.' This is clear context, but it does not name sibling alternatives or state when not to use it, so it misses the explicit exclusion criterion for a 5.

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.

TDQS

B3.3/5.0
Disambiguation2/5

Many tools overlap in purpose, such as cross_lens_verify, cross_lens_lookup, profile_entity, and preflight_should_i_act, which all return node verdicts with subtle differences. Sigil verification tools and receipt-related tools also have similar names and require deep reading to distinguish.

Naming Consistency3/5

The tool names are mostly readable, but the pattern is mixed: some use verb_noun (get_domain, create_subscription) while others use domain prefixes (sigil_*, ghostroute_*, intel_*). Within each domain, naming is consistent, but the overall style lacks uniformity.

Tool Count1/5

With 90 tools, this server is extremely overloaded. Even for a multi-purpose data API, the sheer number overwhelms and makes navigation difficult, far exceeding the typical well-scoped MCP server. The count is an extreme mismatch for the apparent scope.

Completeness4/5

The tool surface is very comprehensive, covering tracker lookup, cross-lens verification, receipts, compliance, subscriptions, tasks, intel probes, and more. Minor gaps exist, such as no batch cross-lens verification, but core workflows are well covered.

Resources