Skip to main content
Glama
cmosig

RuralCheck MCP server

Analyse a plot

analyse_plot

Analyze a rural land plot in Europe to run checks such as flood risk, noise, sunlight, and access, returning computed figures and sources.

Instructions

Analyse a plot of rural land in Europe and return the result of each check.

Checks a chosen one depends on run too and are returned with it. Most answers take a few seconds. If one runs longer than this call waits, the answer carries an id to pass to get_report.

An account can start one new report a minute, so name every check needed in one call. Fetching a report with get_report does not count.

Show the attribution lines to whoever reads the results: the data licences require it.

Input Schema

NameRequiredDescriptionDefault
latYesLatitude in degrees (WGS84).
lonYesLongitude in degrees (WGS84).
checksNoCheck names from list_checks, e.g. ['flood', 'noise', 'sun']. Omit for every check the account's plan includes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior5/5

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

The description carries substantial behavior beyond the annotations: typical latency ('most answers take a few seconds'), the async escape hatch (an id passed to get_report), the one-new-report-per-minute rate limit, the detail that get_report fetches don't count toward it, and the licence obligation to surface `attribution` lines. These are exactly the operational constraints an agent needs and none are derivable from readOnlyHint/openWorldHint/idempotentHint.

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 purpose and the rate-limit warning are front-loaded and every sentence carries operational value. It is slightly undercut by the garbled clause 'Checks a chosen one depends on run too', which costs clarity without adding 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?

With no output schema, the description does the necessary work of explaining what comes back (a result per check, an id for unfinished checks, required attribution lines). It never sketches the shape of an individual check result, so an agent still has to discover the payload structure at runtime.

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 coverage is 100%, so lat/lon bounds and the checks enum-by-reference ('from list_checks, omit for plan defaults') are already documented in the schema. The description only reinforces the batching intent for `checks` ('name every check needed in one call'), which is useful but not additive enough to exceed the baseline.

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?

States a specific verb and resource — 'Analyse a plot of rural land in Europe and return the result of each check' — which tells an agent exactly what it gets back. It implicitly separates itself from list_checks/get_report by describing the run-and-collect flow, though it never names a sibling explicitly.

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?

Gives clear operating context: batch all needed checks into one call because of the one-report-per-minute limit, and use get_report with the returned id for long-running checks. It lacks an explicit 'do not use this for X / use save_plot or file_plot instead' exclusion, so it stops short of a full routing rule.

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