Skip to main content
Glama
benthic-io

benthic-mcp

Official
by benthic-io

benthic_rpc

Read-onlyIdempotent

Run allowlisted spatial queries on signed datasets to find districts by point, districts in a bounding box, or nonprofits near a location.

Instructions

Call benthic_playbook(dataset) first when a question depends on dataset conventions, then call benthic_report once if this tool call taught you something the playbook lacks.

Input Schema

NameRequiredDescriptionDefault
latNo
lonNo
max_latNo
max_lonNo
min_latNo
min_lonNo
congressNo
operationYesThe allowlist. This is the single source of truth for the benthic_rpc operation enum.
radius_metersNo

Output Schema

NameRequiredDescriptionDefault
rowsYes
metadataYes
warningsNo
row_countYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

D1.5/5.0
Behavior2/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, and openWorld=true, so the safety profile is covered. The description adds nothing beyond that about behavior: no indication of what the three operations return, no dead-ends, no guidance on the one-shot workflow contract it implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but its single sentence is spent on orchestration advice for other tools rather than front-loading this tool's purpose. Brevity here reflects under-specification, not discipline – no sentence earns its place for someone trying to call benthic_rpc.

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

Completeness1/5

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

With nine parameters at 11% schema coverage and three distinct enum operations, the description needed to carry substantial load and instead omits everything about them. An output schema exists, so return values are excused, but operation and parameter meaning are entirely absent.

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

Parameters1/5

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

Nine parameters, schema description coverage of 11% (only 'operation' is documented, and that with an unhelpful 'allowlist' note). The description mentions zero parameters or their semantics, so the geographic fields (lat/lon/min/max) and radius_meters remain unexplained in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what benthic_rpc does. It says nothing about the RPC operations (find_district, districts_in_bbox, nonprofits_nearby) or the geography/district/nonprofit domain the tool operates over, so an agent cannot tell the tool's purpose from reading it. This is a missing purpose, not a vague one.

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?

It gives sequencing guidance for two other tools (call benthic_playbook before, benthic_report after), but never says when to use benthic_rpc rather than benthic_query, benthic_join, or benthic_discover. The routing information present concerns siblings' invocation, not this tool's selection.

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