Skip to main content
Glama

WorldMonitor news and maps

open_news_dashboard
Read-onlyIdempotent

Open the embedded WorldMonitor news and map dashboard and return the full feed digest (categories with items, publication dates, source provenance, coordinates, feedStatuses, coverage) plus requestedView. The view arguments (query, source, category, country, time_range, renderer, map_layers, map center and zoom) configure the rendered instance; requestedView echoes what was requested, not an already-open map's applied state, and empty arguments open the default dashboard. Requires a paid plan; weight 2 on API plans. On dedicated paid plans one dashboard request covers the news load and bounded map snapshot loads, repeat opens reuse it for at least five minutes, and refresh with request_id starts one new request. Read-only; up to 1 MB of digest.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "open_news_dashboard"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryNoOpen the existing WorldMonitor search with this query.
sourceNoShow only items from one feed source, matched exactly against each item's source name. Omit for all sources.
countryNoUppercase ISO 3166-1 alpha-2 code. Keeps items that mention that country and enables the country-brief control.
refreshNoRefresh news and map observations with one new paid request. Default false reuses the loaded dashboard request.
categoryNoShow only one news panel (category id such as "conflict" or "economy"); an unknown id is reported in the receipt. Omit for all panels.
jmespathNoOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
map_zoomNoMap zoom level from 1 (world) to 8 (city scale).
rendererNoMap projection to render: flat or globe. The receipt reports a fallback when the requested renderer is unavailable.
map_layersNoReplace selected hazard and landmark layers. Hazard data is a bounded global snapshot, independent of news country filters. Empty array clears layers.
request_idNoStable ID for a refresh; retries share one paid request.
time_rangeNoPublication window applied to the news list and the map time filter (default all).
map_latitudeNoLatitude of the map center in degrees. Must be given together with map_longitude.
map_longitudeNoLongitude of the map center in degrees. Must be given together with map_latitude.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "categories": {
      -        "additionalProperties": {
      -          "properties": {
      -            "items": {
      -              "items": {
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "items"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "object"
      -      },
      -      "coverage": {
      -        "type": "object"
      -      },
      -      "feedStatuses": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "generatedAt": {
      -        "type": "string"
      -      },
      -      "panelRequest": {
      -        "$schema": "https://json-schema.org/draft/2020-12/schema",
      -        "additionalProperties": false,
      -        "properties": {
      -          "expiresAt": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -            "type": "string"
      -          },
      -          "panel": {
      -            "const": "news",
      -            "type": "string"
      -          },
      -          "reused": {
      -            "type": "boolean"
      -          },
      -          "token": {
      -            "maxLength": 160,
      -            "type": "string"
      -          },
      -          "usage": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "limit": {
      -                "anyOf": [
      -                  {
      -                    "minimum": 0,
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "remaining": {
      -                "anyOf": [
      -                  {
      -                    "minimum": 0,
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "resetsAt": {
      -                "format": "date-time",
      -                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                "type": "string"
      -              },
      -              "unit": {
      -                "const": "requests",
      -                "type": "string"
      -              },
      -              "used": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "used",
      -              "limit",
      -              "remaining",
      -              "resetsAt",
      -              "unit"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "token",
      -          "expiresAt",
      -          "reused",
      -          "usage",
      -          "panel"
      -        ],
      -        "type": "object"
      -      },
      -      "requestedView": {
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "categories"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "required": [
      -      "projection"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "data",
      -      "_attribution"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "_budget_exceeded"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "_jmespath_error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "categories": {
      +        "additionalProperties": {
      +          "properties": {
      +            "items": {
      +              "items": {
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "items"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "object"
      +      },
      +      "coverage": {
      +        "type": "object"
      +      },
      +      "feedStatuses": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "generatedAt": {
      +        "type": "string"
      +      },
      +      "panelRequest": {
      +        "$schema": "https://json-schema.org/draft/2020-12/schema",
      +        "additionalProperties": false,
      +        "properties": {
      +          "expiresAt": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          "panel": {
      +            "const": "news",
      +            "type": "string"
      +          },
      +          "reused": {
      +            "type": "boolean"
      +          },
      +          "token": {
      +            "maxLength": 160,
      +            "type": "string"
      +          },
      +          "usage": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "limit": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "remaining": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "resetsAt": {
      +                "format": "date-time",
      +                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +                "type": "string"
      +              },
      +              "unit": {
      +                "const": "requests",
      +                "type": "string"
      +              },
      +              "used": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "used",
      +              "limit",
      +              "remaining",
      +              "resetsAt",
      +              "unit"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "token",
      +          "expiresAt",
      +          "reused",
      +          "usage",
      +          "panel"
      +        ],
      +        "type": "object"
      +      },
      +      "requestedView": {
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "categories"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "required": [
      +      "projection"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "data",
      +      "_attribution"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "_budget_exceeded"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "_jmespath_error"
      +    ]
      +  }
      +]
  2. Changed8 schema fields changed
    • addedInput schema / properties / category / description
      Added value: +"Show only one news panel (category id such as \"conflict\" or \"economy\"); an unknown id is reported in the receipt. Omit for all panels."
    • addedInput schema / properties / country / description
      Added value: +"Uppercase ISO 3166-1 alpha-2 code. Keeps items that mention that country and enables the country-brief control."
    • addedInput schema / properties / map_latitude / description
      Added value: +"Latitude of the map center in degrees. Must be given together with map_longitude."
    • addedInput schema / properties / map_longitude / description
      Added value: +"Longitude of the map center in degrees. Must be given together with map_latitude."
    • addedInput schema / properties / map_zoom / description
      Added value: +"Map zoom level from 1 (world) to 8 (city scale)."
    • addedInput schema / properties / renderer / description
      Added value: +"Map projection to render: flat or globe. The receipt reports a fallback when the requested renderer is unavailable."
    • addedInput schema / properties / source / description
      Added value: +"Show only items from one feed source, matched exactly against each item's source name. Omit for all sources."
    • addedInput schema / properties / time_range / description
      Added value: +"Publication window applied to the news list and the map time filter (default all)."
  3. Added

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses plan requirements ('requires a paid plan; weight 2'), request batching ('one dashboard request covers the news load and bounded map snapshot loads'), a five-minute reuse window, refresh semantics via request_id, and a 1 MB response ceiling. It also clarifies that 'requestedView echoes what was requested, not an already-open map's applied state', which prevents a real misinterpretation.

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 one dense paragraph that front-loads the action and return payload before cost and caching details. Every clause carries operational information, though the packing of plan weights, caching windows, and size limits into one block makes it slightly heavy.

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?

With an output schema present and annotations covering the safety profile, the description supplies the remaining essentials an agent needs: default behavior with no arguments, paid-plan/cost impact, caching and refresh semantics, and response-size bounds. Nothing material for correct invocation appears missing.

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 per-parameter documentation is already present. The description adds meaningful framing beyond the schema: the empty-argument default and the distinction between requestedView and an already-open map's applied state, which clarifies how all view parameters map to the response.

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 — 'Open the embedded WorldMonitor news and map dashboard' — and enumerates the return payload (categories, items, publication dates, coordinates, feedStatuses, coverage). It does not explicitly contrast itself with siblings like open_country_brief or get_world_brief, so it falls short of full sibling differentiation.

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

Usage Guidelines3/5

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

It notes that 'empty arguments open the default dashboard' and that 'refresh with request_id starts one new request', which implies usage context. However, it never says when an agent should choose this rendered-dashboard tool over the many data-oriented siblings, leaving the routing decision implicit.

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.