Skip to main content
Glama

get_safety_stats

Puerto Rico reported crime statistics (PRPD Type I via the Instituto de Estadísticas): island year-to-date totals vs the same period last year, monthly homicide series, victim demographics, and per-municipio counts with violent-crime rates per 10k residents (prior full year). Reported incidents, not victimization surveys.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
townNoOptional municipio name or slug (e.g. 'Ponce' or 'san-juan'); omit for the island summary with all 78 towns

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Added

TDQS

A4.4/5.0
Behavior4/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. It adds valuable context: source (PRPD Type I), period comparisons, and the important caveat that these are reported incidents, not victimization surveys. This goes beyond the basic 'get data' expectation and helps interpretation.

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 dense sentences with zero fluff. Every phrase adds value: source, geographic scope, time periods, data dimensions, rate calculation, and the critical caveat. The information is front-loaded with the core purpose and then specifies details efficiently.

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?

The description thoroughly explains what data is included but does not specify the exact return format (e.g., JSON shape or pagination). Since there is no output schema or annotations, the description could go a bit further, but it covers the essential content and caveats well.

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 for the 'town' parameter is 100%, so the baseline is 3. The description adds meaning by explaining that per-municipio counts include violent-crime rates per 10k residents and referencing the island summary, connecting the parameter to the output scope. This provides extra semantic value 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 clearly states it provides Puerto Rico crime statistics with specific breakdowns (year-to-date totals, monthly homicides, victim demographics, per-municipio rates). It uses a specific resource and data source, distinguishing it from sibling tools like news searches or general municipality lookups.

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 gives clear context that this tool is for police-reported crime data in Puerto Rico, and the optional town parameter clarifies when to use it (for municipio-level stats). It doesn't explicitly name alternatives or exclusions, but the context is strong enough to guide selection.

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

A4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes: ask synthesizes answers, search_news does semantic retrieval, keyword_search_news does keyword matching, and the get_/list_ tools target specific data types. However, search_pr_news is a redundant alias, and get_by_entity vs get_by_municipality overlap on place queries, creating minor ambiguity.

Naming Consistency3/5

Tool names use a mix of prefixes (get_, list_, search_) and include a bare verb (ask), which is not fully consistent. The legacy alias search_pr_news further deviates from the pattern, though the rest are readable and predictable.

Tool Count5/5

With 13 tools spanning news, Q&A, weather, cost-of-living, and safety, the count fits the server's broad purpose without being excessive. Each major domain has dedicated tools, and despite one redundant alias, the set remains well-scoped.

Completeness4/5

The tool set covers article discovery, synthesis, weather, demographics, and safety statistics, providing solid domain coverage. Minor gaps include no full-text article retrieval and no dedicated section browsing, but summaries and links make these workable.

Resources