Skip to main content
Glama

Polymarket Archive

polymarket_archive
Read-onlyIdempotent

Index of the bulk Polymarket L2 archive: one Parquet file per UTC day and stream (book_events, trades, l1_quotes), either multi-asset ('flat') or per asset and tenor ('family', e.g. btc + 5m). view='datasets' (default) lists files, filtered and paged, with bytes and rows where recorded; view='url' resolves exactly one file to a download link (give date and stream, plus asset and tenor together for a family file). This tool never downloads anything: the link is valid for 7 days (expires_at) and needs no API key, so fetch it yourself and do not share it. asset and tenor match family files ONLY, so supplying either hides every flat file. Returns {datasets, limit, offset, total} for 'datasets', one dataset row for 'url'.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "polymarket_archive"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNoview=url only. Required there. The UTC day, YYYY-MM-DD.
viewNodatasets = list files (default); url = resolve one file.datasets
assetNoFamily files only, e.g. `btc`. With view=url give it together with `tenor`, or neither.
limitNoview=datasets only. Files per page (default 50, max 1000; `total` counts every match).
tenorNoFamily files only, e.g. `5m`. Pairs with `asset`.
offsetNoview=datasets only. Skip this many matching files (default 0).
streamNoOne stream. Required for view=url.
date_toNoview=datasets only. Last UTC day, YYYY-MM-DD, inclusive (the REST route spells it `to`).
date_fromNoview=datasets only. First UTC day, YYYY-MM-DD, inclusive (the REST route spells it `from`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / limit / description
      Previous value: -"view=datasets only. Files per page (default 50, max 200; `total` counts every match)."New value: +"view=datasets only. Files per page (default 50, max 1000; `total` counts every match)."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description adds genuinely new operational facts: this tool never downloads, the resolved link expires in 7 days (`expires_at`), requires no API key, and should not be shared. Those are behavioral traits not derivable from the annotations.

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?

Front-loaded with the core concept and zero filler, but the single dense paragraph packs multiple parenthetical clauses (file taxonomy, mode rules, expiry, return shapes) into one block, making it harder to scan than a lightly structured version would be.

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?

For a 9-parameter tool with no output schema, the description covers what an agent needs: mode semantics, required-field combinations, filter side effects, pagination (`total` counts every match), link lifetime, and the exact return shapes ({datasets, limit, offset, total} vs one dataset row).

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 coverage the baseline is 3, but the description adds cross-parameter semantics the schema only hints at: date and stream are required for view=url, asset and tenor must be supplied together for family files, and either one alone filters out all flat files. That is meaning beyond per-field descriptions.

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?

States a specific verb and resource: an index of the bulk Polymarket L2 archive, one Parquet file per UTC day and stream. It immediately distinguishes its two modes ('datasets' lists files, 'url' resolves exactly one file) and names the file taxonomy (flat vs family), so an agent can tell it apart from siblings like polymarket_tape or polymarket_market_trades.

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 explicit conditions for each mode ('view=url resolves exactly one file ... give `date` and `stream`, plus `asset` and `tenor` together') and warns that supplying asset or tenor hides every flat file, which is a real usage constraint. It does not explicitly route the agent against sibling tools for the same data, so it falls short of a full 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.