Skip to main content
Glama

groundhog.markets

Server Details

groundhog.markets: free weather forecasts in one call, plus Kalshi and Polymarket market rules.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation3/5

Search and places both resolve locations using the same inputs, while fetch, forecast, and markets all return forecast-like data for a place. The descriptions help clarify differences, but the boundaries are blurry enough that an agent could misselect, especially between search and places.

Naming Consistency4/5

All tool names are single lowercase words, giving a visually consistent convention with no mixed casing or underscores. The main deviation is semantic: some names are action verbs (fetch, search) while others are resource nouns (history, markets, places).

Tool Count5/5

Eight tools is well-scoped for a weather forecast and market research server, and each tool maps to a recognizable area: place lookup, forecasts, history, markets, receipts, and sources. The count is neither thin nor bloated.

Completeness4/5

The surface covers place resolution, forecasts, historical as-issued data, market settlement context, verification receipts, and source status, which is broad lifecycle coverage for this domain. Minor gaps include no explicit market price/odds data and no obvious batch multi-place operation, though prices may be intentionally excluded.

Available Tools

8 tools
fetchFetch a placeB
Read-onlyIdempotent
Inspect

The 7-day forecast of a place id from search: {id, title, text, url, metadata}. Keep the credits and link the url when you repeat numbers.

NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), yet the description adds real value beyond them: the required id provenance from search, the attribution obligation ('Keep the credits and link the url'), and an inline sketch of the response fields despite there being no output schema.

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 short sentences with no filler, and the core purpose leads. The phrasing of the attribution clause ('when you repeat numbers') is slightly garbled but still actionable.

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 helpfully enumerates the return keys, but it does not explain what 'text' or 'metadata' contain or what happens when the id is unknown. Adequate for a one-parameter read tool, but not fully self-sufficient.

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 0% and the single 'id' property is an undescribed string, so the description must compensate. It does partially by stating the id comes from search, but gives no format, example, or failure behavior for an invalid id.

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 name 'fetch' is generic, and the description says it returns 'the 7-day forecast of a place id from search' while listing return fields {id, title, text, url, metadata} that read like a place record rather than a forecast. That internal tension leaves the actual resource ambiguous, and nothing distinguishes it from the sibling 'forecast' tool.

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?

'a place id from search' establishes a prerequisite: the id must come from the search tool, which is genuinely useful routing. However, it never says when to use this instead of 'forecast', 'places', or 'history', so the agent has no explicit selection rule among four plausibly overlapping siblings.

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

forecastForecast blendA
Read-onlyIdempotent
Inspect

Daily high/low for any place from every free forecast: median, spread, rain, current obs and active alerts, with credits and the page URL. line ≈321 tok, week ≈566, table ≈1,567, series ≈1,564. Keep the credits and link the page when you repeat numbers. size=runs: one place, each source's newest runs by day with run_utc and fetched_at; NBM adds XND, P12, Q12. variable=rain: members' share of 0.01 in or more and heavier (n = model families), NBM calibrated, amounts by source, so far today, month to date; rain line ≈647 tok, table ≈1,955.

NameRequiredDescriptionDefault
allNotable: also twin and stale rows
stnNorain: a settle station of the place, e.g. KORD
winNorain: lst = the climate day at a daily-rain settle station, cal = calendar day
dateNotoday | tomorrow | +N (0-7) | YYYY-MM-DD, each place's local date. Default: today before 15:00 local, else tomorrow.
daysNoweek/table days (default 7)
runsNosize=runs: newest runs per source (1)
sizeNodefault line; runs = each source's newest runs by day (trading fields)
stepNoseries step hours (temp 3, rain 6)
hoursNoseries hours (72)
placeYesSlug, name, 'City, ST', 'City, Country', ICAO or 'lat,lon'. An array (up to 10) for line/week.
unitsNodefault F in the US, else C; rain in inches with F, mm with C
formatNoline md, others tsv
creditsNo
variableNotemp (default) or rain
include_6hNotemp only: also count 6-hourly (~) days

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already establish readOnly, idempotent, non-destructive, non-open-world, so the safety profile is covered. The description adds genuinely useful behavior: token cost per size (~321 line, ~566 week, ~1,567 table, ~1,564 series, ~647 rain line), the credits requirement, and the page URL to cite. It does not explain error behavior or how many forecast sources are actually consulted.

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 front-loaded with what the tool returns and wastes few words, but the notation is telegraphic ('line ≈321 tok', 'size=runs:') and the second half is a dense run-on of mode variants that requires re-reading. Information density is high, but structure and readability suffer.

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?

For a 15-parameter tool with no output schema, the description does a solid job of sketching output shape and cost per size, and it flags the two major mode branches (runs and rain). Gaps remain around what 'median/spread' means across mixed sources and around several secondary parameters, but the core is covered.

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?

With 93% schema coverage the baseline is 3, and the description earns more by explaining mode-specific semantics the schema does not: that size=runs surfaces each source's newest run with run_utc/fetched_at and that NBM additionally emits XND, P12 and Q12, and that variable=rain reports members' share of >=0.01in with n = model families. Still, several params (stn, win, credits enum values, include_6h) get no narrative elaboration.

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 opening sentence gives a concrete verb+resource: daily high/low for a place aggregated across every free forecast, plus rain, obs, alerts, credits and page URL. It is unmistakably a forecast-reading tool, but it never names a sibling to distinguish it from 'fetch' or 'history', so differentiation is left to inference.

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?

Mode selection guidance is present in fragments ('size=runs: one place, each source's newest runs by day', 'variable=rain: ...'), which tells the agent when to pick those modes. There is no statement of when to prefer this tool over fetch/history/sources, and no exclusions or prerequisites. The 'Keep the credits and link the page' line is attribution guidance, not tool-selection guidance.

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

historyAs-issued historyA
Read-onlyIdempotent
Inspect

As-issued history for backtests (no look-ahead): kind=daily (every source's daily hi/lo/rain per run at a place), nbm (NBM text columns: TXN, XND, P12, Q12; view=day = the books' day view) or obs (settlement truth: CLI, routine-METAR max/min). from/to (<= 366 days, 1 unit per 31 days); run=ISO | lead=N (+cycle=H: the run issued N days before) | asof=ISO (what was known then). Rows carry fetched_at and origin (bf:* = backfilled). TSV by default.

NameRequiredDescriptionDefault
toNolast target date (default from)
elsNokind=nbm: elements, comma list (TXN,XND,P12,Q12,TMP)
runNoone run, YYYY-MM-DDTHH:MMZ
stnNoICAO (kind=nbm, obs)
asofNonewest run fetched by this UTC time (no look-ahead)
fromYesfirst target date YYYY-MM-DD
kindNodaily (default) | nbm | obs
leadNothe run issued N UTC days before each date
prodNokind=nbm: nbe (default) | nbs
viewNokind=nbm: raw (default) | day
cycleNowith lead: only runs at H UTC
placeNoslug, name or ICAO (kind=daily; nbm/obs: its station)
formatNotsv (default) | json
sourceNokind=daily: source ids, comma list (e.g. nbm,gfs,ifs)
productNokind=obs

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior. The description adds valuable context beyond that: the no-look-ahead guarantee, the presence of fetched_at and origin (bf:* = backfilled) in rows, and the default TSV output. This gives the agent a clear picture of the data's provenance and safety.

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 description is a single dense paragraph that front-loads the core purpose and then efficiently packs parameter guidance. It is appropriately sized for a 15-parameter tool, though the heavy use of shorthand and parentheticals makes it slightly harder to parse on first read.

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?

For a complex tool with 15 parameters and no output schema, the description covers the essential behavioral context: the three kinds, date-range constraints, run selection logic, and output format defaults. It does not explain all returned columns, but given the schema's completeness and the annotations, this is largely sufficient.

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?

With 100% schema description coverage, the schema already documents each parameter. The description still adds meaningful semantics: the from/to constraint (<= 366 days, 1 unit per 31 days), the run/lead/cycle/asof relationships, and the meaning of kind values. It does not repeat the schema verbatim but enhances understanding.

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 clearly states it returns 'as-issued history for backtests (no look-ahead)' and enumerates three distinct kinds (daily, nbm, obs) with their respective data. It does not explicitly differentiate itself from siblings like 'forecast', but the 'as-issued/no look-ahead' framing makes its specific niche apparent.

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 context 'for backtests' implies when to use it, and the description explains the semantics of the kind and date parameters. However, it does not explicitly say when to choose this over alternatives such as 'forecast' or 'fetch', nor does it state any exclusions or prerequisites.

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

marketsWeather marketsA
Read-onlyIdempotent
Inspect

Weather markets in a place (Kalshi, Polymarket high/low/rain): settlement station and rule, the number so far under that rule, our value and the official result once settled, forecast daily max/min at the station. No prices. Needs place or family. line ≈520 tok, table ≈1,757; every city ≈36,291. With neither: the list of market cities.

NameRequiredDescriptionDefault
dateNotoday | tomorrow | yesterday | YYYY-MM-DD, each place's local date (default today)
sizeNoline (default with place) | table (default without)
placeNoSlug, name, 'City, ST' or ICAO; an array for up to 10 places
familyNohigh | low | rain | all (default all); alone: every market city
formatNoline md, table tsv
creditsNo

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare read-only, idempotent, non-destructive behavior, while the description adds useful context: no prices, settlement/rule semantics, token estimates for line/table/all-cities output, and a fallback city-list behavior. It does not mention permissions or rate limits, but it adds behavior beyond the annotations without contradicting them.

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 dense but front-loaded: it leads with the resource and content, then states constraints, fallback behavior, and token-cost implications. Every clause carries operational information, including the no-prices exclusion and size-cost estimates.

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?

Because there is no output schema, the description carries the return-content burden and does so by listing the market fields and forecast values. It also explains fallback behavior and output size costs, though 'credits' remains undocumented and the exact output shape is only partially described.

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 83%, and the schema already documents enums and defaults for date, place, family, size, and format. The description adds useful meaning for place/family requirement and size token costs, but it omits the 'credits' parameter entirely and adds little detail for date/format beyond the schema.

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 the resource (weather markets) and enumerates the returned content: settlement station and rule, the observed number, our value, the official result, and forecast daily max/min. It also explicitly excludes prices, making the purpose specific enough to distinguish it from a generic forecast tool, though it does not directly name sibling alternatives.

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 states the key input constraint, 'Needs place or family,' and explains the fallback when neither is supplied: the list of market cities. It also ties size defaults to whether a place is provided, but it does not compare this tool with forecast/history/search or state when not to use it.

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

placesFind a placeB
Read-onlyIdempotent
Inspect

Find a place slug by name, City, ST, airport code or lat,lon; says full blend or grid only.

NameRequiredDescriptionDefault
qYes
limitNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive behavior, and openWorldHint=false, so the safety profile is covered. The description adds that the result is a place slug and lists accepted lookup formats, but it does not explain response shape, failure behavior, or the ambiguous phrase 'says full blend or grid only'.

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 description is a single front-loaded sentence with no wasted preamble. It is almost too terse, and the trailing phrase 'says full blend or grid only' is cryptic rather than informative, but overall it remains compact.

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 simple two-parameter lookup tool with no output schema and rich safety annotations, the description covers the main query forms and result type. It is still incomplete because it omits limit semantics and leaves the final clause ambiguous, which matters when schema coverage is 0%.

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 carry parameter meaning. It substantially documents the required q parameter by listing accepted formats such as name, City, ST, airport code, and lat/lon, but it never explains the optional limit parameter or its 1-10 bound.

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 clearly states a specific verb and resource: find a place slug. It also lists accepted query forms (name, City, ST, airport code, lat/lon), which makes the tool's purpose easy to distinguish from generic siblings like search or fetch. However, it does not explicitly name an alternative or clarify its relationship to those siblings.

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 description gives no explicit when-to-use guidance, no exclusions, and no named alternatives among fetch, search, forecast, history, markets, receipts, or sources. The accepted input formats imply it is for location resolution, but an agent must infer when this tool is preferable to search.

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

receiptsMarket receiptsC
Read-onlyIdempotent
Inspect

How often our settle value matched the venue's result, with every miss. No prices.

NameRequiredDescriptionDefault
daysNolast N days (30)
venueNo
familyNo
formatNodefault tsv

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds useful scope detail that every mismatch is included and prices are excluded, but it does not explain pagination, limits, or output structure.

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 short sentences with no wasted language, and the key scope constraints are front-loaded. The 'No prices.' fragment is terse but useful.

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 description conveys the basic return concept (match frequency with every miss, no prices), which partially compensates for the lack of an output schema. It still leaves important parameter semantics and output detail gaps for an audit-oriented tool.

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 only 50%, and the description does not clarify the venue, family, days, or format parameters. The 'family' enum values (high, low, rain, all) are especially cryptic without description-level explanation.

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 identifies the resource as settle-value match results versus venue results, including misses, and 'No prices' scopes it away from price data. However, it lacks a clear action verb and the name 'receipts' is ambiguous, so the purpose is only implied rather than stated directly. Sibling differentiation is minimal beyond the price exclusion.

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 explicit guidance on when to use this tool instead of siblings like history or markets, nor any prerequisites or exclusions beyond 'No prices'. The audit/reconciliation use case is only implied by the content.

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

sourcesSourcesC
Read-onlyIdempotent
Inspect

Open sources groundhog uses: licence, latest run, age, status.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior4/5

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

The annotations provide robust operational guarantees (ReadOnly, DestructiveHint=false). The description successfully supplements this by specifying the content of the output, listing the four key attributes ('licence, latest run, age, status'), which is valuable content context for the agent.

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 description is a single, concise sentence that directly lists the key information being provided. It avoids unnecessary filler while still attempting to define the scope of the data.

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?

While it adequately describes the contents of the return value (the attributes), it is slightly incomplete because it fails to specify that the tool *retrieves* or *lists* these sources, which is the necessary action.

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?

The input schema is empty, resulting in 0 parameters. With 100% coverage and no input parameters to describe, the description is merely at the baseline score for parameter semantics.

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 informs the user about the attributes available ('licence, latest run, age, status') but lacks a specific action verb combined with the resource, making the purpose somewhat vague. It doesn't clearly state that the tool retrieves or lists these sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Since there are no parameters and no alternative tools are mentioned in the context that this tool should compete against, there is zero guidance on when to invoke this tool versus its sibling tools.

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. 8 tool updates
    • First observedfetch
    • First observedforecast
    • First observedhistory
    • First observedmarkets
    • First observedplaces
    • First observedreceipts
    • First observedsearch
    • First observedsources

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides calibrated weather probability signals for Kalshi prediction markets by combining dual-model forecasting (NWS + GFS ensemble) to identify mispriced temperature markets. Enables AI agents to access bias-corrected forecasts and edge signals for weather prediction market intelligence.
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Prediction market probability oracle for AI agents. 26 tools across 500+ live markets from Kalshi and Polymarket. Cross-source arbitrage detection, structured TPF signals, Kelly Criterion sizing, agent performance tracking, and webhook alerts.
    9
    21 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Unified access to prediction market data from Kalshi and Polymarket, enabling natural language queries for real-time odds, orderbooks, and trade history.
    17 npm
    11
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Trade and monitor prediction markets across Polymarket, Kalshi, Opinion, Limitless, and PredictFun from any AI agent. Unified real-time data, live orderbook streaming, and order execution — one API key, one interface, five exchanges.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources