Skip to main content
Glama
rteina

geoparquet-mcp

by rteina

geoparquet_summarize_h3

Bin features in a geographic rectangle into H3 hexagonal cells and return counts per cell, revealing density and hotspots in large remote GeoParquet files without downloading data.

Instructions

Bin the features inside a rectangle into H3 hexagonal cells and return the count per cell. A density map, computed remotely.

WHEN TO USE IT. For "where are these densest", "how is this spread across the city", and anything you would answer with a heatmap. The binning and counting happen inside the remote file, so the answer is a few hundred cells whether they cover a thousand features or ten million — you never transfer the features to find out where they cluster.

PARAMETERS. source: dataset name. min_lon, min_lat, max_lon, max_lat: the rectangle to bin, in WGS 84 degrees. All four are required; this tool has no whole-world mode by design. resolution: the H3 level, 0 to 15. 0 is continent-sized, 6 is a city, 8 is roughly a neighbourhood, 9 a block, 11 a building. Choosing too fine a resolution for a wide box returns thousands of near-empty cells; start at 8 for a city and adjust. limit: maximum cells, ordered by count descending, so the limit keeps the hotspots. include_cell_centre: adds the latitude and longitude of each cell's centre, which is what you need to plot the result.

WHAT COMES BACK. cells, each with h3_cell (the canonical hexadecimal id), feature_count and optionally the centre; plus features_binned, truncated, and the scan block.

Features are binned on their bounding-box centre rather than their true geometry, which avoids fetching the widest column in the file: exact for point datasets, the envelope's centre for polygonal ones. Requires DuckDB's H3 extension; if it cannot be loaded the tool says so rather than falling back to something slower.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
sourceNooverture_places
max_latYes
max_lonYes
min_latYes
min_lonYes
resolutionNo
include_cell_centreNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

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

  1. First observedv0.1.0

TDQS

A4.8/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 behavioral burden and exceeds it: it discloses remote computation, bounded result size, bounding-box-center binning versus true geometry, DuckDB H3 extension dependency, and the explicit failure behavior if the extension cannot be loaded. This gives an agent strong insight into side effects and limitations.

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 structured into clear sections - usage, parameters, return values, and caveats - and every sentence adds information. Even the H3 extension note earns its place by preventing the agent from assuming a silent fallback exists.

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?

Despite the absence of annotations and schema-level parameter descriptions, the description fully equips an agent to select and invoke this tool correctly. It covers input semantics, output structure (cells, feature_count, centre, features_binned, truncated, scan), and edge-case behavior around resolution and extension loading.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate, and it does. Every parameter is explained: source, the four rectangle coordinates in WGS84 with requiredness, resolution with real-world scale examples and tuning guidance, limit with ordering semantics, and include_cell_centre with its plotting purpose.

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: "Bin the features inside a rectangle into H3 hexagonal cells and return the count per cell." It further distinguishes the tool by labeling it "A density map, computed remotely," separating it from sibling aggregation and filtering tools.

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 an explicit "WHEN TO USE IT" section with concrete queries like "where are these densest" and "how is this spread across the city," plus the heatmap heuristic. It does not explicitly name alternative sibling tools or state when not to use this tool, but the use cases and efficiency rationale are clear.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rteina/geoparquet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server