Skip to main content
Glama
DeepMapAI
by DeepMapAI

DeepMap AI — Earth Grounding MCP

Verifiable physical-world ground truth for AI agents. Ask about subsurface water, seismic and space-weather hazard, ground stability, and resource indications for any point on Earth — and every answer carries a Bitcoin-anchored provenance record, so a physical-world claim can be checked rather than trusted.

This repository holds the published thin client: a small stdio Model Context Protocol server that proxies your calls to DeepMap's hosted engine at https://deepmapai.com/mcp. It is stdlib-only — no dependencies, no platform code, no proprietary data. The answers and their provenance come from the hosted service.

Quick start

uvx deepmap-earth-grounding-mcp

A free demo key works with no signup:

export DEEPMAP_API_KEY=demo-free

Claude Code, hosted (no install):

claude mcp add --transport http deepmap-earth-grounding https://deepmapai.com/mcp --header "apiKey: demo-free"

Claude Code, local stdio:

claude mcp add deepmap-earth-grounding -e DEEPMAP_API_KEY=demo-free -- uvx deepmap-earth-grounding-mcp

Per-client config snippets (Claude Desktop, Cursor, VS Code, generic) are in connectors/; see INSTALL.md.

Related MCP server: pointmoon-mcp

Tools

Eight answer questions about a place. Three answer questions about the evidence itself — those are the ones worth reading twice.

tool

what it answers

water_availability

replenishable-water availability at a point

seismic_hazard

seismic hazard via the public, outcome-excluded prediction ledger

ground_stability

subsidence / void / karst / fault risk from verified observations

resource_indication

geothermal / mineral / gas / water indication (gated)

space_weather_grid_risk

live geomagnetic (Kp) activity as GIC / grid exposure

verify

verify a claim hash / the ledger hash chain against the Bitcoin anchor

ground_truth

the bundled five-question answer + one provenance record

capabilities

what DeepMap can answer now + public coverage counts

check_hypothesis

has this Earth-science hypothesis already been tested? Queries the Null Museum and the anchored hypothesis registry, and returns the verdict with the positive control that proves the test was sensitive

list_nulls

the documented nulls, bounds and retractions — we carry our own, and that is the point

run_controlled_test

Lab-as-an-API: fetches real data, runs a bounded controlled test with a local-background null and a positive control, and returns UNTESTABLE rather than a fabricated null

Why it answers differently

  • Grounded on a geophysical sensor network and live feeds, not on the open web.

  • Verifiable — answers reference a Bitcoin-anchored, pre-registered ledger. Call verify on any claim hash and check it yourself.

  • Honest by construction — it returns null rather than a fabricated value, publishes no platform-wide accuracy headline, and will tell you a question is UNTESTABLE instead of inventing a clean answer. A negative result is only worth anything next to the positive control that shows the test could have detected something; both are returned.

Design

tools/list is answered locally, so the tool surface is visible offline and without a key. tools/call is proxied to the hosted endpoint with your apiKey. If the endpoint is unreachable the client returns an honest tool error rather than crashing — and never a substituted value.

Run the self-test:

python -m deepmap_earth_mcp --self-test

Support

info@deepmapai.com · service terms: https://deepmapai.com/terms

Available Tools

11 tools
capabilitiesB

What DeepMap can answer now + coverage counts (public aggregate).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations and no parameters, the only behavioral facts the agent needs are scope and safety, and 'public aggregate' usefully signals that results are anonymized/aggregated rather than raw records. It does not, however, state that the call is read-only, whether the coverage counts are per-domain, or how current the snapshot is.

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?

A single compact sentence with the payload front-loaded and no filler. It is slightly cryptic in the '+ coverage counts' phrasing, which is terse enough to be ambiguous, but there is no waste to cut.

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?

With no output schema, the description must carry the return-value burden, and it only partially does: the agent knows it gets capability info and coverage counts but not the shape, granularity (per-domain vs. global), or freshness of those counts. Adequate for a trivial nullary tool, but thin for a discovery call an agent would use to plan.

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 tool takes zero parameters, so there is no parameter semantics to document; the baseline for a nullary tool is 4. The description does not contradict anything in the empty schema.

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

Purpose3/5

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

The description says it reports what DeepMap can answer plus coverage counts, which is more than a pure restatement of the name 'capabilities,' but it uses no concrete verb+resource pairing and does not distinguish itself from the domain siblings. An agent can infer it is a meta/discovery tool, but only by elimination.

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?

There is no statement of when to call this versus the domain tools (water_availability, seismic_hazard, etc.) or the verification tools. The natural use case — checking available coverage before querying a domain — must be inferred entirely by the agent.

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

check_hypothesisB

Has this Earth-science hypothesis been tested? Query the Null Museum + the Bitcoin-anchored hypothesis registry. A direct match returns the verdict + the positive control that proves the test was sensitive + the honest bound + the anchor -- so an agent never re-runs a dead idea.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimYesthe hypothesis in plain words, e.g. 'does dv/v predict earthquakes'
limitNo
domainNooptional filter, e.g. earthquake_precursor

TDQS

B3.4/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. It usefully discloses what a direct match returns (verdict, positive control, honest bound, anchor) and that two sources are queried, which is real value given no output schema. But it says nothing about auth needs, behavior on no/partial match, or any rate/cost constraints.

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?

Three tight sentences with the purpose question front-loaded and no filler. Some jargon ('honest bound', 'positive control that proves the test was sensitive') costs a little clarity, but nothing is wasted.

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?

With no annotations and no output schema, the description is the sole source of behavioral context and it only partially compensates: return contents are sketched, but the undocumented 'limit' parameter, no-match behavior, and failure modes are unaddressed. Adequate but with clear gaps.

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 67%: 'claim' and 'domain' have descriptions and examples, while 'limit' is undocumented in both schema and description. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

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+resource (check whether an Earth-science hypothesis has been tested) and names the two data sources (Null Museum + Bitcoin-anchored hypothesis registry). It is distinguishable from siblings like list_nulls and run_controlled_test, though it never explicitly names an alternative. Purpose is clear but sibling differentiation is only implied.

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 phrase 'so an agent never re-runs a dead idea' implies the usage context: check before running a test. However, there is no explicit when-not guidance, no named alternative (e.g. run_controlled_test vs verify), and no prerequisites. Usage is implied rather than stated.

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

ground_stabilityC

Subsidence / void / karst / fault risk from verified observations.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
radius_kmNo

TDQS

C2.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 the full behavioral burden, yet it discloses almost nothing: no auth requirements, no rate limits, no spatial resolution, and no explanation of what 'verified observations' means operationally or what the response contains. It hints at a provenance/quality dimension without specifying it.

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

Conciseness3/5

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

The single fragment is front-loaded and free of waste, which is good. But for a three-parameter geospatial tool it is under-specified rather than concise, leaving no room for the usage or parameter detail an agent needs.

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 annotations, no output schema, and three parameters at 0% schema coverage, the description is far too thin. An agent cannot determine the spatial semantics of radius_km, the return shape, or when this tool beats its siblings.

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?

Schema description coverage is 0% and the description never mentions lat, lon, or radius_km. The agent gets no indication of coordinate convention, units for radius_km (km is implied only by the name), or its default behavior. With three undocumented parameters and no compensating text, this is a clear gap.

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 names a specific resource and scope: 'Subsidence / void / karst / fault risk from verified observations.' This is concrete and distinguishes it reasonably well from siblings like seismic_hazard and water_availability. However, it is a bare noun phrase with no verb, so the agent must infer that the tool assesses/queries this risk rather than reporting on it.

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?

There is no when-to-use guidance, no prerequisites, and no alternatives named. The agent must infer from the sibling list that seismic_hazard covers earthquakes and this covers subsidence/karst, but nothing in the description states that routing.

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

ground_truthC

The bundled five-question answer + one provenance record.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses only that the output is 'bundled' and includes one provenance record; it says nothing about permissions, rate limits, determinism, or what the 'five questions' are.

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 a single short sentence, but its brevity comes from under-specification rather than efficiency; the front-loaded content is a cryptic noun phrase with no actionable information for an agent.

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 annotations and no output schema, the description must supply everything, and it does not: the nature of the 'five-question answer', what the coordinates select, and the output shape are all absent. For a 2-parameter required tool this is inadequate.

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 coverage is 0% and the description never mentions lat or lon, so it adds no meaning beyond the bare schema property names. It partially compensates only in that lat/lon are conventional and self-explanatory, but the description contributes nothing itself.

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

Purpose2/5

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

The description names an artifact ('five-question answer') and a 'provenance record' but never states a verb or the actual operation, so it reads more like a fragment of the return value than a purpose. It does not distinguish this tool from siblings such as ground_stability or resource_indication, and the term 'five-question answer' is unexplained.

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?

There is no statement of when to use this tool, when not to, or how it relates to any of the numerous siblings. The only hint of context is the implicit lat/lon geographic grounding, which is not made explicit.

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

list_nullsC

List DeepMap's documented nulls / bounds / retractions (the Null Museum), optionally by domain -- each with the positive control that makes it trustworthy. We carry our own retractions; that is the credibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainNo

TDQS

C2.9/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 behavioral burden, and it does disclose meaningful context beyond the name: each entry ships with a 'positive control' and the museum includes DeepMap's own retractions. That tells the agent something real about data trustworthiness. However, it says nothing about pagination, ordering, the effect of 'limit,' response size, or permissions, so the disclosure is partial.

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

Conciseness3/5

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

The purpose is front-loaded and the whole description is short, but the trailing sentence 'We carry our own retractions; that is the credibility' is rhetorical positioning that consumes space where parameter or return-shape detail was needed. Two of three sentences earn their 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?

The tool has no annotations, no output schema, and zero parameter documentation, so the description should do more work. It partially compensates by describing what each returned item contains (the positive control), but omits limit/pagination semantics, domain value expectations, and return structure, leaving an agent under-informed for invocation.

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% for both parameters, so the description must compensate. It explains 'domain' as an optional filter but gives no format, valid values, or enumeration for it, and says nothing at all about 'limit' (default, maximum, or truncation behavior). Half the parameters remain completely opaque.

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 gives a specific verb ('List') and a concrete resource ('DeepMap's documented nulls / bounds / retractions (the Null Museum)'), so an agent can tell this is a catalog of documented negative/limiting findings. It does not explicitly distinguish itself from the many sibling tools (verify, ground_truth, capabilities), but the resource is specific enough to be identifiable.

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?

The only usage hint is 'optionally by domain,' which describes a parameter, not a when-to-use condition. There is no guidance on when this tool is preferable to verify, ground_truth, or check_hypothesis, nor any stated prerequisites or exclusions. An agent must infer the use case from the resource name alone.

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

resource_indicationC

Geothermal / mineral / gas / water indication (gated, low-confidence).

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
typeNo

TDQS

C2.6/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, and it does disclose two real traits: access is gated and the signal is low-confidence. It does not explain what the gate is (auth/tier?), whether calls are metered, or what an indication actually returns, so material behavior remains undisclosed.

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

Conciseness3/5

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

A single terse fragment with no filler and the key qualifier front-loaded is efficient. But the brevity tips into under-specification rather than crispness, and there is no structure distinguishing purpose from caveats.

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?

No output schema and no annotations, with a 3-parameter schema at 0% coverage in a technical geospatial domain. The agent is left guessing the return shape, confidence semantics, coordinate conventions, and the meaning of 'gated' - the definition is far too thin for the tool's complexity.

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 coverage is 0%, so the description must compensate. It implicitly enumerates the likely values of the 'type' parameter (geothermal/mineral/gas/water), which is genuinely useful, but lat/lon formats, valid ranges, and whether 'type' is optional/required are left entirely undocumented.

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

Purpose3/5

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

Names the resource being probed (geothermal/mineral/gas/water) and calls it an 'indication', which is more specific than a tautology. However, it never states it is a lat/lon spatial lookup, and it overlaps conceptually with the sibling water_availability without saying how the two differ.

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?

The parenthetical '(gated, low-confidence)' hints that results are restricted and unreliable but gives no when-to-use, when-not-to-use, or alternative-tool guidance. Nothing routes the agent between this and water_availability or ground_truth.

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

run_controlled_testA

The Lab-as-an-API: run a REAL, bounded controlled test at a location and get an honest verdict. DeepMap fetches real data, runs a lock-in detection with a local-background null AND a positive control (a known reference line must be recovered, else UNTESTABLE). Free tier runs a synthetic demo; the live lab is the authenticated tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
observableNoe.g. 'geomagnetic' (live) or 'synthetic' (demo)

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden and does disclose meaningful behavior: real data fetching, a lock-in detection run against a local-background null plus a positive control, and the failure mode 'UNTESTABLE' when the reference line is not recovered. It also reveals the auth/tier distinction. It stops short of stating cost, latency, or rate limits, but the safety/behavior profile is substantially communicated.

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

Conciseness3/5

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

Three dense sentences; the leading 'The Lab-as-an-API:' clause is branding rather than operational content, and the middle sentence packs several internal mechanics into one line. It is not bloated, but it is jargon-heavy and not maximally front-loaded for an agent scanning for the action and its inputs.

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 fairly complex tool with no output schema and no annotations, the description covers the workflow and a key failure mode, but leaves gaps: it does not describe the shape of the 'honest verdict', the set of possible verdict states beyond UNTESTABLE, or the consequence of all parameters being optional. Adequate but incomplete for the tool's complexity.

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 only 33% (lat and lon carry no descriptions; observable does). The description adds 'at a location' hinting at lat/lon and the synthetic-vs-live distinction that maps to the observable argument, but it does not explain formats or the valid observable values beyond what the schema already says. It partially, not fully, compensates for the low coverage.

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 states a concrete verb+resource: 'run a REAL, bounded controlled test at a location and get an honest verdict,' and names the mechanism (DeepMap data fetch + lock-in detection). It is clear what the tool does, but it never explicitly contrasts itself with siblings like verify or check_hypothesis, which appear to operate in the same hypothesis-testing space.

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?

It gives tier-level guidance ('Free tier runs a synthetic demo; the live lab is the authenticated tier'), which implies an authenticated tier is needed for real results. However, it offers no explicit when-to-use or when-not-to-use relative to alternatives such as verify, ground_truth, or check_hypothesis. Usage is implied rather than stated.

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

seismic_hazardD

Seismic hazard via the public, outcome-excluded prediction ledger.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
regionNo
horizon_daysNo

TDQS

D1.8/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 the full behavioral burden and largely fails. The phrase 'outcome-excluded prediction ledger' weakly implies the results come from a leak-free forecast source, but nothing states read-only vs mutating behavior, auth requirements, data freshness, or rate limits.

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 a single short sentence with no wasted words, but this is under-specification rather than effective conciseness. Nothing is front-loaded beyond a bare label, and the sentence does not earn enough value for an agent to act on.

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?

For a four-parameter geospatial tool with no annotations, no output schema, and 0% schema coverage, the description is drastically incomplete. It omits what is returned, how lat/lon/region interact, what horizon_days does, and what 'outcome-excluded' means operationally.

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?

Schema description coverage is 0% across four parameters (lat, lon, region, horizon_days), and the description adds no meaning for any of them - no units, no required/optional distinction, no format for region, no range for horizon_days. The description does nothing to compensate for the total schema documentation gap.

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

Purpose2/5

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

The description is essentially a noun phrase - 'Seismic hazard' restates the tool name with no verb stating what the tool actually does (compute? retrieve? estimate?). The qualifier 'via the public, outcome-excluded prediction ledger' hints at a data source but is too cryptic to clarify the action. An agent cannot tell from this whether the tool queries, predicts, or returns a hazard value.

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?

There is no guidance on when to use this tool versus siblings like ground_stability, water_availability, or resource_indication, all of which appear to be region-based environmental lookups. No preconditions, no exclusions, no alternatives are named. Usage must be fully inferred.

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

space_weather_grid_riskC

Live geomagnetic activity (Kp) as GIC / space-weather grid exposure.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it only discloses one trait: the data is 'live' (current rather than historical). It says nothing about update cadence, whether values are observed or forecast, units, or how GIC exposure is derived from Kp.

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

Conciseness3/5

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

It is a single compact phrase with no filler, so nothing is wasted. However, the brevity reflects under-specification rather than disciplined editing: it is a noun fragment, not a front-loaded statement of what the tool returns.

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 coordinate-driven tool with no annotations, no output schema, and undocumented parameters, the description is far too thin. It does not explain what the response contains, what units or index scale applies, or how the result should be interpreted.

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?

Two required parameters (lat, lon) exist with 0% schema description coverage, and the description never mentions them. It gives no format, units, coordinate convention, or valid range, so an agent has to guess how to supply a location.

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?

Names a specific resource and measurement: live geomagnetic activity (Kp) expressed as GIC / grid exposure. It is clearly distinguishable from the geological and water siblings, which deal with entirely different hazards. It lacks an explicit verb and never states that it returns a risk value for a coordinate pair, so it stops short of a 5.

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?

There is no statement of when to use this tool, when not to, or how it relates to siblings like seismic_hazard or ground_stability. The agent must infer usage entirely from the name and the fragment of description.

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

verifyC

Verify a claim hash / the ledger hash chain against the Bitcoin anchor.

ParametersJSON Schema
NameRequiredDescriptionDefault
claim_hashNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It says verification is against a Bitcoin anchor, but does not disclose whether the operation is read-only, what permissions or network access are required, how failures are reported, or what a successful verification returns.

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 front-loaded sentence with no wasted words. The verb 'Verify' leads immediately into the specific targets and the Bitcoin anchor context.

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?

No annotations, no output schema, and 0% parameter description coverage leave the definition thin. For a verification tool with two unclear modes and one undocumented parameter, the description should explain return behavior and invocation conditions but does not.

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 0%, so the description must compensate. It does name 'claim hash' and implies an optional path for verifying the ledger hash chain, adding meaning beyond the bare schema, but it omits hash format, optionality, and what happens when claim_hash is omitted.

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: verifying a claim hash or the ledger hash chain against a Bitcoin anchor. This distinguishes it from most siblings through the unique Bitcoin-anchor and ledger-chain scope, though it does not explicitly name an alternative tool.

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 when-to-use, when-not-to-use, or alternative guidance is provided. The slash between 'claim hash' and 'ledger hash chain' hints at two modes, but the description never states which conditions select each mode or how this differs from siblings like check_hypothesis or ground_truth.

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

water_availabilityB

Replenishable-water availability at a point. Free = public groundwater trend; paid adds a derived (non-locating) atlas indication.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
depth_mNo

TDQS

B3.1/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. It does disclose a meaningful behavioral trait — free returns a public groundwater trend while paid adds a derived, explicitly non-locating atlas indication — but leaves uncovered precision, whether results are modeled vs measured, latency/rate limits, and what depth_m changes about the response.

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?

Two tightly packed sentences with the core purpose front-loaded and zero filler. The closing phrase 'derived (non-locating) atlas indication' is jargon-heavy and slightly opaque, which costs a point on clarity.

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 three-parameter geospatial query with no annotations, no output schema, and zero schema documentation, the description should specify depth_m semantics, units, and expected return shape. None of that is present, so an agent cannot call it confidently.

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%, so the description must compensate for all three parameters. It implies coordinates via 'at a point' and hints at groundwater via 'trend', but never explains depth_m, its units, or its effect on results, leaving the least obvious parameter entirely undocumented.

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 resource (replenishable-water availability) and scope (at a point), so an agent knows it is a point-based water lookup. It does not distinguish itself from the closest sibling, resource_indication, and the free/paid clause describes tiers rather than the tool's core function.

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 free-vs-paid breakdown hints at what an agent will receive under different access tiers, which is useful routing context, but there is no explicit when-to-use statement, no comparison to resource_indication, and no statement of prerequisites or exclusions.

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. 11 tool updatesv0.3.0
    • First observedcapabilities
    • First observedcheck_hypothesis
    • First observedground_stability
    • First observedground_truth
    • First observedlist_nulls
    • First observedresource_indication
    • First observedrun_controlled_test
    • First observedseismic_hazard
    • First observedspace_weather_grid_risk
    • First observedverify
    • First observedwater_availability

TDQS

B3/5.0

Scored across 11 tools

Disambiguation4/5

The hazard tools (water_availability, seismic_hazard, ground_stability, space_weather_grid_risk) each target a distinct exposure with clear boundaries. However, resource_indication explicitly covers 'water' and overlaps with water_availability, which could cause misselection, and the meta tools (ground_truth, capabilities, check_hypothesis) require careful reading to distinguish 'answer now' vs 'registry query'.

Naming Consistency4/5

All names use snake_case, which is consistent. There is a minor stylistic split between bare domain nouns (seismic_hazard, ground_stability, capabilities) and verb_noun action names (check_hypothesis, list_nulls, run_controlled_test, verify), but each name is readable and predictable.

Tool Count5/5

11 tools is well within the sweet spot for a domain server and each tool appears to earn its place across hazard lookups, verification, and the hypothesis/null registry.

Completeness4/5

The surface covers a broad lifecycle: query geohazard data, verify provenance/anchors, test hypotheses, list nulls, and run controlled tests. There is no obvious create/update flow, but for a read-oriented ground-truth service this is close to complete; minor gaps are workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    62 live, cryptographically signed data tools for AI agents and robots: weather, natural hazards, flights, shipping, space, CVEs, sanctions, software versions, sea ice and more. Every datapoint carries source, licence, timestamp and an Ed25519 signature.
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides sourced, current physical and environmental field-truth (weather, air quality, water, terrain, etc.) for any location, with provenance and typed silence to prevent hallucination.
    20 npm
    Apache 2.0