Skip to main content
Glama

Server Details

Free live public-safety incident map: global crime, fire, disaster, weather and news feeds

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

Most tools are clearly distinct: incident lookup, news, trends, region listing, report submission, and dashboard lifecycle are all separate concerns. The only mild overlap is between get_crime_year and get_trends, since both expose historical VPD crime aggregates, though at different granularities.

Naming Consistency5/5

Tool names consistently follow the verb_noun pattern: create_dashboard, get_dashboard, get_incidents, get_news, get_trends, list_regions, submit_report. There are no mixed conventions or vague verbs.

Tool Count5/5

Eight tools is a well-scoped surface for a city safety data platform. Each tool covers a meaningful capability without redundancy or bloat.

Completeness4/5

The core workflows are covered: browse regions, query incidents/news/trends, submit reports, and create/read dashboards. Minor gaps exist around updating or deleting dashboards and managing saved report state, but agents can still accomplish primary use cases.

Available Tools

8 tools
create_dashboardCreate dashboardBInspect

Create a shareable dashboard. Returns {id, token} — the token grants write access via PUT /api/dashboards, so save it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
configYesDashboard config object, e.g. {areas, categories, defaultTab}

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses that the operation returns a token granting write access and instructs the agent to save it, which is meaningful. However, it does not mention whether the dashboard is persisted, whether it can be overwritten, or any side effects beyond token issuance.

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?

Two compact sentences with no filler. The purpose is front-loaded, and the critical security detail (token and its use) is placed prominently in the second sentence. Every word earns its place.

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

Completeness3/5

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

For a simple create operation, the description covers the return shape, which is useful given there is no output schema. However, it omits parameter semantics and any guidance on when to invoke this versus the get/list siblings. The token warning is good, but the overall guidance is thin for a tool with two parameters and no output schema.

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

Parameters2/5

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

Schema description coverage is only 50%; the 'name' parameter has no description, and the description does not compensate. The tool description contains zero parameter-level guidance, so an agent has to infer how 'name' is used. The config parameter is slightly explained in the schema, but the description adds nothing beyond the schema itself.

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 ('Create'), a distinct resource ('shareable dashboard'), and explicitly notes the return shape. This clearly separates it from the sibling get/list tools, so an agent can tell what it does without opening the schema.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention that it is the only create operation among siblings, nor does it state any prerequisites or conditions. The description only says what it does, not when it should be chosen.

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

get_crime_yearGet Vancouver crime yearAInspect

Full-year VPD crime data: totals and ranked neighbourhood stats. Vancouver only, 2003-present.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear, 2003 to present
includeIncidentsNoInclude every incident point (large; default false)

TDQS

A3.8/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the transparency burden. It accurately describes what data is returned and its scope, and 'get' implies read-only behavior, but it does not describe the output shape, size implications, or error/edge-case behavior.

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?

A single sentence front-loads the core facts, includes scope and content, and contains no filler. Every clause contributes useful information.

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

Completeness4/5

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

For a two-parameter read-only lookup, the description covers available years, geography, and the aggregate nature of the output, with the 100% schema coverage handling parameter details. It is complete enough, though it stops short of explicitly routing users to alternative tools for other needs.

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 description coverage is 100%, so the schema already explains year and includeIncidents. The description adds aggregate-output context but does not materially enhance the meaning of either parameter beyond what the schema provides.

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 names the resource (full-year VPD crime data), the output type (totals and ranked neighbourhood stats), and hard scope constraints (Vancouver only, 2003-present). This clearly separates it from point-incident or trend-oriented siblings.

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?

Usage is implied through scope constraints: use for Vancouver-only, full-year aggregate crime stats. However, there is no explicit guidance about when to prefer this over siblings like get_incidents or get_trends, and no when-not-to-use conditions are stated.

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

get_dashboardGet dashboardAInspect

Read a saved dashboard by id (shareable, read-only).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose that the operation is read-only, which is a key behavioral trait, and mentions 'shareable' as a characteristic of the dashboard. However, it does not mention error behavior, authorization requirements, or what the response contains, leaving some behavioral gaps.

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 a single, front-loaded sentence with no unnecessary words. The core action, resource, and parameter are stated immediately, and the parenthetical adds minimal valuable context. Every word earns its place.

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

Completeness4/5

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

For a simple single-parameter read operation, the description is largely complete: it states the action, the target resource, and the parameter's role. However, with no output schema and no annotations, it does not describe the return value or any potential errors. Given the low complexity of the tool, this is a minor gap rather than a critical one.

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?

The input schema has 0% description coverage, so the description must compensate. 'by id' clarifies that the 'id' parameter is the identifier of the saved dashboard, adding semantic meaning beyond the schema. Yet it provides no format, source, or example of what constitutes a valid dashboard id, so the compensation is only partial.

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 uses a specific verb ('Read') with a well-defined resource ('saved dashboard') and the identifying mechanism ('by id'). This clearly distinguishes it from siblings like create_dashboard (write vs. read) and the other get_* tools, which target different resources. The added parenthetical '(shareable, read-only)' further disambiguates the operation.

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?

The description provides clear context: this tool is for reading an existing saved dashboard when you have its id. It implies when to use it and makes the input requirement explicit, but it does not explicitly name alternatives or state when not to use it. Given the descriptive verb and resource, the usage context is strong but not fully explicit.

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

get_incidentsGet live incidentsAInspect

Merged live incidents from all feeds plus manual reports. Filter by region key, category, group, severity, source, or bbox. Anonymous and free-key calls get a shared ~15-minute delayed snapshot; a pro/business x-api-key header (from cityalert.live/account) unlocks real-time refresh and higher limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoCase-insensitive substring match on type/title/neighbourhood
bboxNo[minLon, minLat, maxLon, maxLat]
limitNoMax incidents to return (default 250)
groupsNoNormalized subtypes to include, e.g. ['violent','property','collision','wildfire']. See group keys in the /api/incidents OpenAPI doc.
regionNoFocus-region key, e.g. 'vancouver' (see list_regions)
sourceNoFeed source, e.g. 'usgs', 'gdacs', 'eccc', 'vpd', 'bcws', 'vernon-media', 'manual'
refreshNoBypass the feed cache and re-fetch sources
categoryNoIncident category
minSeverityNoMinimum severity (low < medium < high < critical)

TDQS

A4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it discloses crucial runtime behavior: anonymous/free-key calls get a ~15-minute delayed shared snapshot, while a pro/business x-api-key unlocks real-time refresh and higher limits. This goes well beyond the schema and directly addresses auth, rate, and freshness concerns.

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 compact and front-loaded: purpose first, filter summary second, auth/refresh caveat last. Every sentence carries useful information and there is no filler or repetition of schema details.

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

Completeness4/5

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

For a 9-parameter read tool with no output schema, the description plus the 100% schema coverage covers data scope, filtering, limits, auth, and freshness. It does not explicitly describe the returned incident shape or default unfiltered behavior, but these are minor gaps given the detailed schema and clear tool name.

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 description coverage is 100%, so the baseline is 3. The description's filter summary loosely maps to the schema ('group' vs 'groups', 'severity' vs 'minSeverity') and omits q, limit, and refresh, so it adds little semantic value beyond the already-detailed parameter descriptions.

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 identifies the resource ('live incidents from all feeds plus manual reports') and lists its main filtering capabilities, so an agent knows it returns aggregated incidents. It does not explicitly name or contrast sibling tools like get_news or get_crime_year, though the wording makes the distinction reasonably clear.

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?

The description implies use when the agent needs merged live incidents and gives useful auth context (anonymous/free-key vs pro/business), but it does not provide explicit when-not-to-use guidance or route to alternative tools such as get_crime_year for historical data.

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

get_newsGet safety newsCInspect

Per-region safety news items, or news for an arbitrary place name.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeNoPlace name for ad-hoc news, e.g. 'Kelowna'
refreshNoBypass the news cache

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It does not state that the operation is read-only, what the response format is, or how the 'refresh' parameter affects caching. The description adds no behavioral detail beyond what the schema already provides (e.g., 'Bypass the news cache').

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 a single, front-loaded sentence that states the core function efficiently. It is not bloated, but it may be too terse to convey all necessary usage context. Still, it earns a high score for conciseness.

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

Completeness2/5

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

With no output schema and no annotations, the description leaves significant gaps: it does not explain what 'per-region' means or how to specify a region, what the response looks like, or when to set 'refresh'. The tool's full behavior is underspecified for an agent to use it confidently.

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 description coverage is 100%, so the baseline is 3. The description's phrase 'arbitrary place name' aligns with the 'place' parameter but adds no extra constraints or format details. The 'refresh' parameter is only documented in the schema; the description does not clarify when it is useful.

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 clearly states the tool returns safety news, with a distinction between per-region and arbitrary place queries. It names the resource ('safety news items') and the two usage modes. However, it does not explicitly differentiate from sibling tools like get_incidents or get_trends, though 'news' is conceptually distinct.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The description implies usage for news, but there are no explicit exclusions or conditions. Sibling tools like get_incidents or get_crime_year are not referenced, so an agent must infer which tool fits a given request.

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

list_regionsList focus regionsAInspect

List CityAlert focus regions (key, label, center, zoom, bbox). Use region keys with get_incidents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The verb 'List' implies a read-only operation, and the referenced fields provide some context, but the description does not disclose authentication requirements, whether the list is static or dynamic, or any other behavioral caveats. It is adequate but not rich.

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?

Two short, dense sentences. The first states the action and output fields; the second provides a cross-reference to get_incidents. No filler or redundancy.

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

Completeness4/5

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

Since there is no output schema, the description compensates by listing the returned fields and explaining how to use them with get_incidents. Given the tool has no parameters and a simple list behavior, this is nearly complete, though it stops short of detailing formats like bbox structure.

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?

The input schema has zero properties, so there are no parameters to explain. Per the rubric, a zero-parameter tool gets a baseline of 4; the description adds no parameter semantics because none are needed.

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 uses a specific verb and resource: 'List CityAlert focus regions,' and enumerates the returned fields (key, label, center, zoom, bbox). This clearly distinguishes it from sibling tools like get_incidents, which return incident data rather than region metadata.

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?

The sentence 'Use region keys with get_incidents' explicitly tells the agent when to use this tool (to obtain region keys) and how the output feeds another sibling. It does not explicitly mention when not to use it, but for a zero-parameter list tool this is sufficient context.

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

submit_reportSubmit incident reportBInspect

File a manual geolocated incident report (same as POST /api/reports).

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
titleYes
categoryNo
severityNo
descriptionNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions it is a write operation ('File') but does not disclose side effects, authentication requirements, response format, or error conditions. The reference to POST /api/reports hints at the underlying behavior but does not explain it.

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 a single, focused sentence with the action front-loaded and no wasted words. The parenthetical API reference adds useful context without bloating the text.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is overly sparse. It does not explain return values, required permissions, or how success/failure manifests. The API reference is only helpful if the agent knows that endpoint, which is not assumed. Significant information is missing.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter-specific meaning. It only hints at geolocation via the word 'geolocated', but does not clarify lat/lon, category, severity, or description. The schema's property names are self-explanatory, but the description fails to compensate for the coverage gap.

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 clearly states the action ('File') and the resource ('manual geolocated incident report'), and explicitly maps to POST /api/reports, giving precise semantics. It is easily distinguished from the sibling tools, which are all retrieval or dashboard operations.

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?

The description conveys that this is for creating a report manually and that it is geolocated, which implies the use case. Given that all siblings are read-oriented, the tool is obviously the write alternative, though no explicit exclusions or alternative suggestions are provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updates
    • First observedcreate_dashboard
    • First observedget_crime_year
    • First observedget_dashboard
    • First observedget_incidents
    • First observedget_news
    • First observedget_trends
    • First observedlist_regions
    • First observedsubmit_report

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time monitoring of Seattle Fire Department incident data, allowing users to check for active fires, evacuation orders, and retrieve live emergency response information through natural language queries.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Near-real-time worldwide wildfire ignition data from NASA FIRMS, GOES and Meteosat MTG satellites plus AI-verified witness reports, served by kanari.io as a remote MCP server (no API key). Tools: active_fires, fire_archive_search, fire_details, wildfire_stats, firefighting_aircraft, earliness_cases. Open data, CC BY 4.0.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM agents to access live seismic data, calculate emergency vehicle routes, and dispatch first responders to incidents.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources