Tickerz
Server Details
Daily indexes of what people do, from public data. On-chain in Bitcoin, so nobody can edit them.
- Status
- Healthy
- Uptime
- 100.0% over 45 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
Each tool has a clearly distinct purpose: asset vs board (single vs all assets), get_index vs list_indices (detail vs summary), arena vs open_questions (prediction game vs referee questions), and get_rule vs get_report vs list_feeds (rule, signed print, oracle feed list) are all separable by their descriptions. Overlap among index-related tools is minimal because each targets a different aspect of the index lifecycle.
Names are all snake_case and readable, but conventions are mixed: verb-prefixed tools (get_index, list_indices, submit_forecast, name_a_number) coexist with bare-noun tools (arena, asset, board, receipts, methodology). This is not a consistent verb_noun pattern, though it still communicates intent.
16 tools is slightly above the typical 3-15 range, but the server covers a broad domain (indices, assets, questions, arena, oracle feeds, reports, methodology, requests). Each tool appears to earn its place, making the count reasonable though a bit heavy.
The surface covers core read operations (list/get indices, assets, board, receipts, questions, feeds, rules, reports) and write operations (submit_forecast, name_a_number, get_listing_kit). Minor gaps exist, such as no dedicated tool to list all questions across states or to update/remove data, but these are not critical for the apparent read-heavy oracle and prediction-market purpose.
Available Tools
16 toolsarenaArenaCRead-onlyIdempotentInspect
The Arena: predict the number an index lands on. Each index that takes calls has one open question on its next period ("$MINTS for Sep 24. Forecast the number."), with the level it is called against, the forecast count and when forecasts close (when the period called begins). recent: closed questions with the Arena number (the points-weighted mean of the top 10 ranked handles that answered, frozen at close; labeled Arena, never official) and the final number once it lands. standings: handle, graded, mean_points, best_streak; ranked from 3 graded. Points per forecast: 100 times max(0, 1 minus absolute percent error / 25%), rounded. With id, one question: forecasts are listed only after it closes, with the proof of the forecasts that stood. Same data as GET /api/arena and GET /api/arena/question/{id}. Points only: no money, no prizes. Not advice.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional question id, e.g. mints-2026-09-24 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so safety and idempotency are covered. The description adds useful context: forecasts are only listed after a question closes, the Arena number is frozen at close and never official, and points are calculated without money or prizes. However, it doesn't describe pagination, rate limits, or response format beyond what's implied, and some statements (e.g., 'forecasts are listed only after it closes') are behavioral constraints already implied by the read-only, closed-world nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that packs multiple concepts (current questions, recent results, standings, points calculation, id behavior, disclaimers) without clear separation or front-loading. It is hard to parse quickly and includes redundant details (e.g., exact points formula, 'Same data as GET /api/arena' which may be unnecessary for an agent). It lacks structure and prioritization.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one optional parameter and no output schema, the description provides enough context to know the tool returns Arena data, including questions, recent results, and standings. However, it does not clarify the exact response shape or what fields are returned, and the dense packing makes it incomplete for an agent trying to decide if this tool returns the needed data versus using get_question or open_questions. It covers the domain but leaves gaps in usage and output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the single optional 'id' parameter is fully described in the schema. The description adds context about what happens with id ('with id, one question: forecasts are listed only after it closes'), which clarifies the id's effect but doesn't add syntax or format details beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'The Arena: predict the number an index lands on,' which does state a specific purpose and distinguishes the tool from siblings like open_questions or get_question by positioning it as a hub for Arena data. However, it immediately dives into mechanics (index, forecast count, close time) without clearly stating the tool's primary function: returning Arena state (current questions, recent results, standings). The name 'arena' and lack of a clean verb+resource opener leave the purpose somewhat buried.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives like get_question (for a single question) or open_questions (for active questions). The description says it returns 'the same data as GET /api/arena and GET /api/arena/question/{id}', which implies it can be used for both, but does not clarify when to prefer this tool over those siblings. No exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assetAssetARead-onlyIdempotentInspect
Use when someone asks about one coin or stock: why $X is moving, whether its volume is unusual, how its past spikes turned out, or where it trades. One asset in depth: latest snapshot, scores_30d (30 days of readings, every fourth stored tick, hourly), the open event and the 10 most recent past events with score_at_open, peak_score and receipts, and venues: where it trades (spot, perpetuals, futures, prediction markets), plain unpaid links checked nightly against each venue's product list. latest.score is the newest Activity score, the same number as the last point of scores_30d. When no event is open, driver is null and reason is no open event: a driver is read from the open event. Same data as GET /api/asset/{symbol}, plus score on latest and that reason. heat_7d (the same readings, each ts and heat) and peak_heat are deprecated aliases of scores_30d and peak_score, same values, kept until at least 2026-12-31.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Ticker symbol, e.g. BTC or GME |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered. The description does add genuinely useful behavior context the annotations cannot convey: driver is null when no event is open, score equals the last scores_30d point, and links are 'plain unpaid... checked nightly against each venue's product list'. That is meaningful, but it drifts into return-value documentation with no output schema, so it is not a clean disclosure of operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single run-on block of roughly 180 words with no paragraph or bullet structure, mixing usage triggers, response anatomy, deprecation policy, and an API cross-reference. The key differentiator is front-loaded, but the remainder is dense and hard to scan, so sentences do not obviously earn their place individually.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description compensates by describing the returned shape and the no-open-event null behavior, and it pre-loads the deprecation timeline for heat_7d/peak_heat. But it omits pagination or size bounds for '10 most recent past events', and the REST endpoint reference is a distraction rather than necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (symbol, with a 'e.g. BTC or GME' example), so the schema carries parameter meaning. The description's only parameter-adjacent signal is the mention of 'GET /api/asset/{symbol}', which adds no new semantics beyond the schema's ticker definition. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('One asset in depth') and enumerates the returned artifact set (snapshot, scores_30d, events, venues). The opening 'Use when someone asks about one coin or stock' distinguishes it from the index/board siblings, so the agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete triggering questions ('why $X is moving', 'whether its volume is unusual') that map cleanly to this tool rather than arena or board. However, it never names a sibling alternative or an exclusion, so the when-not is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_rateBase rateARead-onlyIdempotentInspect
Use when someone asks what usually happens after a spike like the one an asset shows today, or whether moves like it tend to fade. What historically happened after a move like this asset's current one. Uses 3,213 crypto attention spikes on 175 coins since 2022, found with the live score's formula, matched on direction, size of move and how many other coins are unusual right now: the median, spread and share of cases that beat Bitcoin over 1, 7 and 30 days, next to what an ordinary day did. A base rate, not a forecast or advice. On days with a score of 70 or more. Stocks read a separate study measured against SPY and get a rate only where one of its groups holds; today none does, so stocks return null with the study's reason. Returns base_rate null with a reason for quieter days, and groups that are too small, dominated by one date, or not distinguishable from an ordinary day.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Ticker symbol, e.g. SOL or PEPE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering the safety profile (readOnly, idempotent), the description still adds substantial behavior: the dataset size and provenance, the matching criteria, the 1/7/30-day output windows, and the specific null-with-reason cases (stocks, quiet days, small/dominated/indistinguishable groups). This is exactly the kind of context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The use-case trigger is front-loaded, which is good, but the second sentence ('What historically happened after a move like this asset's current one.') repeats the first, and the methodology sentence is long enough to obscure the operative facts. Some consolidation would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must (and does) explain the return shape: median, spread, and share beating Bitcoin over three horizons versus an ordinary day, plus the null-and-reason paths. Nothing needed to interpret a response is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (symbol) and schema description coverage is 100%, so the schema already carries the semantics. The description adds no syntax or format guidance for the symbol beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific analytical operation: what historically happened after a move like this asset's current one, computed from 3,213 attention spikes. It's clearly distinct from siblings like arena, asset, or methodology. It loses a point only because the opening clause and the follow-up sentence restate the same idea rather than sharpening it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger: 'Use when someone asks what usually happens after a spike like the one an asset shows today.' It also describes failure conditions (stocks return null, quieter days return null). It does not name a sibling alternative for related questions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boardTerminalARead-onlyIdempotentInspect
Use when someone asks what is unusual in crypto or US stocks right now, which coins trade far above their normal volume today, or how many are moving at once. Current Tickerz Terminal: all tracked assets with the 24h move, the activity score as score (0-100; score_1h is one hour earlier) and vol_mult (24h volume over the asset's 30-day baseline mean, measured), plus updated_at and breadth. assets mixes crypto and US stocks in one list sorted by score, so the first rows may be stocks: send class crypto or equity to get one kind, or filter on each asset's class. breadth counts crypto only, whatever class is sent: unusual is how many scored crypto assets are at 70 or more right now, scored counts the crypto assets with a score (an asset still building its 14 day baseline has score null and is not counted), and band is the study's band for the share: lone under 3% (so 0 unusual also reads lone), mid between, crowd at 30% or more. Same data as GET /api/board. heat and heat_1h are deprecated aliases of score and score_1h, same values, kept until at least 2026-12-31. No prices: they come from licensed vendors whose terms do not allow passing them on; tickerz.com shows them.
| Name | Required | Description | Default |
|---|---|---|---|
| class | No | Optional: crypto or equity (US stocks and listed funds). Leave out for every asset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/idempotent/non-destructive), it discloses non-obvious traits: assets are mixed crypto+equity sorted by score, breadth counts crypto only regardless of class, score is null for assets still building a 14-day baseline, heat/heat_1h are deprecated aliases kept until 2026-12-31, and no prices are returned due to vendor licensing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the use case before the field details, and every clause carries information given there is no output schema. It is dense and parenthetical-heavy, which slightly hurts readability, but nothing is truly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return-value semantics, and it does: score/score_1h scale, vol_mult definition, updated_at, breadth bands (lone/mid/crowd), and the null-score rule. An agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the enum is already documented, but the description adds real meaning: the default (omit for every asset), the fact that mixing happens by default, and that breadth ignores the class filter. It goes beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with concrete trigger scenarios (unusual crypto/US stock activity, coins far above normal volume) and then names the resource precisely: 'Current Tickerz Terminal: all tracked assets with the 24h move...'. It is unmistakably a market-anomaly board, distinct from asset, arena, or get_index siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use is given via the opening scenarios, plus guidance on the class filter ('send class crypto or equity to get one kind, or filter on each asset's class'). It does not name alternative tools or state when-not-to-use, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexIndexARead-onlyIdempotentInspect
Use for the history, rules, source and proof of one index named by list_indices (LAYOFFS, YESNO, TRENCHES, MINTS, GIGS, WAGE, JOBS, UNEMP, CPI, CORECPI). JOBS, UNEMP, CPI and CORECPI are monthly, from the Bureau of Labor Statistics: a day's value is the Bureau's figure now, its settlement_value is the first print Tickerz read at release, and a month loaded as history carries a note and no settlement_value. One Tickerz Index: its definition, every period in its read window with its band and signed z, the first print of the newest complete period, the open round, past rounds, and the newest proof. latest_complete is the finished period; a provisional latest is a partial UTC day (partial_day true), and its change_pct, also given as partial_change_pct, is not a full-day change. WAGE days, latest and latest_complete carry p25 and p75 where the store has them. GIGS and WAGE complete days carry thin and sampled_payers: thin is true when sampled paying wallets are under 70% of the median of the 28 complete days before that day, once 14 earlier days are on file, and the level stays. Fewer earlier days is not marked. For what is on-chain, read proof: covers_period and covers_value are the newest period of this index a proof holds and its value there, stamped_on is the UTC day that proof was stamped, with digest_sha256, bitcoin_height, proof_url (the exact text hashed, as JSON) and ots_url (the OpenTimestamps file), status (on_chain, awaiting_bitcoin, none or unavailable), and latest_complete with on_chain true or false. A live source's day is complete at 00:00 UTC and goes on-chain in the next day's proof, stamped after 12:00 UTC, so stamped_on is a day after covers_period and the newest complete day is often not on-chain yet. seal is the newest daily proof for every index: seal.day is the day it was stamped, not a period of this index. first_print is for latest_complete and stays null until a proof holds it. forecast is Forecast v1 for the next period: p10, p50 and p90 (an 80% range and its middle), the model the daily run chose, backtest (periods walked forward, coverage_80, skill_vs_last_number: the share of error removed against repeating the last number, negative when worse) and the live record; display only, never a settled number, null when none. Same data as GET /api/indices/{ticker}, plus proof. Levels a source's terms keep out of the API are null.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Index ticker without the dollar sign, e.g. MINTS or YESNO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read (readOnlyHint, idempotentHint, non-destructive), but the description goes far beyond them: it explains null levels under source terms, partial UTC days and partial_change_pct, live-source completion at 00:00 UTC with on-chain stamping after 12:00, the definition of thin (<70% of the 28-day median once 14 days exist), and that forecast is display-only. This is unusually rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the body is a dense single-paragraph run-on with no bullets or field grouping, making it hard to scan. Much of the length is defensible given there is no output schema to explain return fields, yet the presentation is inefficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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-shape burden and does so thoroughly: it documents definition, periods with band and signed z, first_print semantics, partial days, seal, proof fields (covers_period, digest_sha256, bitcoin_height, ots_url, status), and forecast sub-fields. Nothing an agent needs to interpret the response is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single ticker parameter, so the baseline is 3. The description adds value by enumerating the entire valid ticker set (LAYOFFS, YESNO, TRENCHES, MINTS, GIGS, WAGE, JOBS, UNEMP, CPI, CORECPI) where the schema only gives two examples, reducing invalid inputs for a parameter with no enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a specific verb and resource: 'Use for the history, rules, source and proof of one index named by list_indices.' It explicitly ties the tool to a sibling (list_indices) that supplies the ticker, so an agent can distinguish this single-index detail lookup from the list tool without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the requirement that the ticker come from list_indices and by the enumerated valid tickers, giving a routing hint. However, there is no explicit when-to-use vs. when-not guidance (e.g., pointing to list_indices for enumeration or to arena/board for related views), so context must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listing_kitListing kitARead-onlyIdempotentInspect
Use when someone wants to list, write or settle a prediction market on a Tickerz index. A market on the index's next print, ready to paste, for LAYOFFS, MINTS, GIGS, WAGE: question (one sentence, with {strike} left to fill from strikes), period (the next UTC day, or the week ending the Saturday named, that has not begun), strikes (the 10th, 30th, 50th, 70th and 90th percentiles of the last 30 published numbers, two significant digits, equal ones listed once, null under 14 prints), settle_time_utc (when that period's number is expected to be published; null for the weekly index, where settle_rule gives the window), settle_rule (the number as first published, in column settlement_value of the settlement file; a later revision never changes it), tie_rule (a print equal to the strike resolves No), fallback, precision, grade and rulebook from the index's rulebook, source_url, settlement_file (CSV), mirror_file (the same file on a public mirror), proof (the daily OpenTimestamps proof), recount (the commands that recount a print from the chain; null where none exists), next_print_at, license, and paste: the whole market as plain text under 600 characters. Any other index returns no_kit with the reason. Same data as GET /api/indices/{ticker}/listing.json. Showing a number is free; settling real money on it is licensed: https://tickerz.com/pricing. Not advice.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Index ticker, with or without the dollar sign: LAYOFFS, MINTS, GIGS, WAGE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: a no_kit fallback for unsupported indices, a licensing gate for real-money settlement, a 'not advice' disclaimer, and a 600-character cap on the paste output. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is one enormous run-on sentence enumerating roughly fifteen returned fields inside the same breath as the usage guidance. The use case is front-loaded, but the middle is an undifferentiated field glossary that is hard to scan and would be better as a structured list or deferred to an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing the return shape, and it does enumerate question, period, strikes, settle_time_utc, settle_rule, tie_rule, fallback, proof, recount, license and paste. This is sufficient for an agent to know what it gets back, though the presentation density hurts usability rather than leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole ticker parameter is fully documented in the schema (including the four supported tickers and the optional dollar sign). The description restates the ticker set without adding new syntax or format meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a clear triggering condition and verb ('list, write or settle a prediction market') and names the resource (a Tickerz index market kit), plus an endpoint equivalence (GET /api/indices/{ticker}/listing.json). It is distinguishable from get_index/get_question because it produces a pasteable market rather than raw data, though the purpose statement is nearly swallowed by the following field dump.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use trigger ('when someone wants to list, write or settle a prediction market on a Tickerz index') and a boundary case ('Any other index returns no_kit with the reason'). It stops short of naming which sibling to use instead (get_index, get_rule, methodology) for adjacent needs, so it is clear context without alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_questionQuestionARead-onlyIdempotentInspect
One question by id, open or resolved: the statement, the nulls, Tickerz's answer, the crowd split once answers have closed, the outcome (the first stored Activity score at or after the resolve time; void when none lands within 3 hours) and who was right. proofs[] holds each OpenTimestamps proof: the question's canonical_json at once, each hourly answer batch's once answers close; sha256(canonical_json) equals digest_sha256. Same data as GET /api/questions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Question id (uuid), from open_questions or GET /api/questions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely useful behavior beyond that: crowd split only appears once answers close, and the outcome is 'the first stored Activity score at or after the resolve time; void when none lands within 3 hours'. It does not cover auth or rate-limit behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded correctly ('One question by id...'), but the remainder is a dense run-on paragraph mixing payload fields, OpenTimestamps mechanics, and a REST-equivalence note. Much of the content is justified by the absent output schema, yet the phrasing is packed enough to impede fast parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of describing the return payload, and it does so thoroughly: statement, nulls, answer, crowd split, outcome/void rule, right/wrong, and the proofs[] structure with the digest equality check. Only minor details like auth or error behavior are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents that id is a uuid sourced from open_questions. The description adds only the trivial 'by id' framing, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: 'One question by id, open or resolved', which an agent can distinguish from the sibling list tool open_questions. However, it never names open_questions or any alternative explicitly, so the 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the id must come from open_questions or the REST list endpoint (that hint actually lives in the schema, not the description). There is no explicit when-to-use/when-not or named alternative, so an agent must infer the lookup-by-id workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportSigned reportARead-onlyIdempotentInspect
Use when a contract, a venue or a person needs the signed Tickerz print for an index: the report (ticker, period, value as a scaled integer with decimals, status provisional, final or corrected, rule version and hash, the provider reads with their snapshot hashes, settleable), its hash, the publisher's Ed25519 signature, the independent recount's co-signatures, and the Solana feed account that holds it. Optional period (YYYY-MM-DD; a month as YYYY-MM-01). How to verify: https://tickerz.com/.well-known/tickerz-signer.json. Same data as GET /api/indices/{ticker}/report. Every signed print with its recount status: https://tickerz.com/signed.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | The period, YYYY-MM-DD; newest when left out | |
| ticker | Yes | Index ticker, with or without the dollar sign |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety burden is lifted; the description adds substantive behavior beyond them: the Ed25519 publisher signature, independent recount co-signatures, provider snapshot hashes, settleable status, and the verification endpoint. It does not discuss error cases or missing-signature behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The leading "Use when..." clause is well front-loaded, but the first sentence is an overstuffed run-on enumerating every return field, which taxes readability. The verification and endpoint URLs earn their place; the field list could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so thoroughly (ticker, period, scaled-integer value, status enum, rule version/hash, signatures, feed account), plus verification instructions and the REST equivalent. Nothing an agent needs to call or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it clarifies that period is optional and that a month is expressed as YYYY-MM-01, which goes beyond the schema's pattern and "newest when left out" note. Ticker semantics are already fully covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (the signed Tickerz print for an index) and enumerates exactly what that artifact contains (signature, co-signatures, hash, Solana feed account), so the agent knows this is not the plain index lookup. It never names a sibling (e.g., get_index or receipts) to sharpen the boundary, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use when a contract, a venue or a person needs the signed Tickerz print" gives concrete selection context, and the follow-up URLs tell the agent how to verify the result. There is no explicit when-not guidance or named alternative tool, which keeps it below 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ruleIndex ruleARead-onlyIdempotentInspect
Use when someone needs to know exactly how a Tickerz index is counted before relying on it: the machine-readable rule (source, query, transform, aggregation, cadence, unit, decimals, precision, revision policy, grade, and settlement rights with the terms page and the quoted clause), its version, and its hash (sha256 of the canonical JSON). settleable says whether a market may settle on it: the source's terms allow it and the grade is not display. Same data as GET /api/indices/{ticker}/rule.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Index ticker, with or without the dollar sign |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context beyond that: it discloses the return payload structure (rule + version + sha256 hash of canonical JSON), explains the settleable flag and its conditions (source's terms allow it and grade is not display), and even maps the response to a REST endpoint — all of which help an agent reason about downstream use without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense, front-loaded sentence that leads with the usage trigger, which is good structure. However, it packs a long enumeration of rule fields plus a settleable explanation into one unwieldy sentence, which reduces scannability and makes it harder to isolate the key call conditions — efficient in word count but not in information architecture.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, and it does so thoroughly by enumerating the rule components, version, hash, and the settleable flag with its conditions. The main gap is that it does not mention error or not-found behavior for an invalid ticker, so it is not fully complete for a tool an agent may call speculatively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and describes the single ticker parameter including the 'with or without the dollar sign' detail, so the schema already does the heavy lifting. The description does not add parameter-level syntax or format guidance beyond what the schema provides, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (retrieve the machine-readable rule for a Tickerz index) and enumerates exactly what the rule contains — source, query, transform, aggregation, cadence, unit, decimals, precision, revision policy, grade, settlement rights with terms page and quoted clause, version, and hash. This is precise enough to distinguish it from siblings like get_index or methodology without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit when-to-use condition — 'Use when someone needs to know exactly how a Tickerz index is counted before relying on it' — which is a clear contextual trigger. However, it does not name alternatives (e.g., methodology, get_index) or state when NOT to use this tool, so the routing guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feedsOracle feedsARead-onlyIdempotentInspect
Use when a contract, a venue or a person wants every Tickerz oracle feed at once, as on https://oracle.tickerz.com: per index the newest signed value and its period, status (signed, recounted, final, corrected or disputed), how often it is signed, whether a market may settle on it and why, how many reads must agree, the rule version and hash, and its feed account on Solana. live says whether the Solana program is written to yet; before it is, read the signed reports (get_report). Read from a stored copy; read_at says when.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, and closed-world. The description adds genuinely new behavioral context beyond them: data is served 'from a stored copy' with read_at indicating staleness, and the 'live' flag communicates whether on-chain state has been written yet. That staleness/state caveat is the kind of disclosure annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The length is defensible because no output schema exists, so the return-field enumeration earns its place. However, it is delivered as one long run-on sentence stringing status values, signing cadence, settlement rules, and account details together, which impedes front-loaded scanning after the first clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of explaining return values and does so thoroughly (per-index value, period, status, cadence, settlement eligibility, read threshold, rule version/hash, Solana account). Combined with the staleness note and the get_report fallback, an agent has enough to call and interpret the tool, though the settling-rule and status enumerations remain terse.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters at 100% coverage, so there is nothing parameter-level for the description to compensate for. Baseline 4 applies; the description correctly does not invent or describe inputs, and instead spends its words on the response shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a clear verb and resource ('every Tickerz oracle feed at once'), and the tool is distinguishable from get_report, which is named as the alternative for scenarios where the Solana program is not yet live. The bulk of the description enumerates return fields, which is output detail rather than purpose, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger ('when a contract, a venue or a person wants every feed at once') and names a concrete alternative with a condition: when 'live' is false, read signed reports via get_report instead. It stops short of covering other sibling tools (get_index, list_indices) that an agent might weigh, but the primary routing decision is spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_indicesIndexesARead-onlyIdempotentInspect
Use when someone asks how many memecoins launched on pump.fun, what memecoin launchpads earned in fees, how much traded on Kalshi and Polymarket, how many Americans filed first jobless claims, how many paid calls wallets made over x402 on Base and what each cost, or what the US jobs number, unemployment rate, CPI or core CPI was when first published, before the Bureau of Labor Statistics revised it. Tickerz reads each as an index against its own normal (daily, weekly for LAYOFFS, monthly for JOBS, UNEMP, CPI and CORECPI), each reading timestamped in Bitcoin so it cannot be changed afterward. Every Tickerz Index: what it counts, its source, the newest day, the Activity score and signed z of the newest complete day, and the last 30 complete days as period, value and band. GIGS counts paid x402 calls settled on Base; WAGE is dollars per call, the payer-balanced median. WAGE days carry p25 and p75, the 25th and 75th percentiles in dollars per call, where the store has them. GIGS and WAGE complete days carry thin and sampled_payers: thin is true when sampled paying wallets are under 70% of the median of the 28 complete days before that day, once 14 earlier days are on file, and the level stays. Fewer earlier days is not marked. For a finished period read latest_complete. latest is the newest period on file; when it has provisional true it is a partial UTC day still counting, marked partial_day true, and its change_pct (also given as partial_change_pct) compares that partial day with a full one, so it is not a full-day change. Some sources land late (jobless claims about ten days after the week ends, Chicago crime over about a week), so latest_complete can be days behind today. Same data as GET /api/indices. A source whose terms keep its levels out of the API is served with its score and bands only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the bar is low — yet the description goes well beyond them, disclosing Bitcoin timestamping for immutability, provisional/partial_day semantics, the thin and sampled_payers flags with their exact threshold logic, late-arriving sources, and sources whose terms withhold levels from the API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger sentence is front-loaded well, but the body is a dense, run-on wall of edge cases (thin/sampled_payers math, p25/p75, partial_change_pct) that reads like response documentation compressed into one paragraph. Much of it is relevant only because no output schema exists, but it is still longer than an agent needs to select and call a no-argument list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description has to carry the entire return-value burden, and it does: it explains the per-index fields, the 30-day window, banding, timing caveats and source restrictions. Nothing an agent needs in order to interpret results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema leaves nothing to explain; per the zero-parameter baseline this is a 4. There is no argument syntax the description could add value on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Concrete examples ('how many memecoins launched on pump.fun', 'what memecoin launchpads earned in fees') plus 'Every Tickerz Index: what it counts, its source, the newest day...' make the verb (list all) and resource (Tickerz indices) unmistakable. It never names the sibling get_index, however, so the agent gets no explicit routing signal for the single-index case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use when someone asks...' enumerates many concrete trigger questions, which is strong positive guidance for invocation. There is no when-not guidance and no alternative tool is named, so the agent must infer that get_index handles single-index lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
methodologyMethodologyARead-onlyIdempotentInspect
Public Sigma-1 methodology as text (same disclosure as https://tickerz.com/methodology). No proprietary parameters. The text content is Markdown; structuredContent carries the same text as JSON (model, url, markdown, and its sections as heading and text) for clients that parse JSON.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by explaining that the response is Markdown text and that structuredContent contains the same text as JSON with model, url, markdown, and section headings, which is useful beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first sentence states the tool's purpose and source, the second clarifies no proprietary parameters, and the third describes the output format. Each sentence earns its place without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool, the description is complete. It covers what the tool returns, the serialization structure of the output, and the public source URL. The absence of an output schema is mitigated by the explicit structuredContent description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description explicitly says 'No proprietary parameters,' confirming there are no hidden inputs and that the tool is parameter-free.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Public Sigma-1 methodology) and the produced result (text), and distinguishes it from the sibling tools by its standalone methodology focus. However, it lacks an explicit verb like 'retrieve' or 'get', and does not directly contrast itself with the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives such as open_questions or get_question. The only contextual clue is the title and the standalone nature of the description, which is insufficient for an agent deciding among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
name_a_numberName a numberAInspect
Use when someone wants a number counted that Tickerz does not publish yet, or a market needs a number nobody sells. Send counts (what should be counted, one line, 3 to 160 characters), optionally source_url (where it can be read) and ticker (2 to 12 letters or digits). Tickerz reads the source's terms, then within 48 hours either builds it as a ticker (rule, source, a script that recounts it, the first reading on record) or posts the plain reason it cannot be built, at https://tickerz.com/x. What you send is never shown publicly; the answer is in Tickerz's own words. Returns the count of numbers named so far. At most 3 a day from one address. Same as POST /api/indices/requests. Free. For an on-chain count that can go live in minutes instead, a person can type it at https://tickerz.com/launch.
| Name | Required | Description | Default |
|---|---|---|---|
| counts | Yes | What should be counted, in one line, e.g. "new Farcaster accounts per day" | |
| ticker | No | Optional: a ticker for it, 2 to 12 letters or digits, with or without the dollar sign | |
| source_url | No | Optional: where the number can be read, http(s) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only marking it as a write (readOnlyHint=false), the description carries substantial extra load: a 48-hour processing window, the two possible outcomes (built as a ticker or a posted rejection reason), a dedicated response URL, the fact that submissions are never shown publicly, a 3-per-day rate limit, and 'Free'. This is exactly the behavioral context annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is long, but front-loads the trigger condition and every subsequent sentence adds a distinct behavioral fact (timeline, outcomes, privacy, rate limit, cost). There is mild redundancy in the closing marketing line about /launch, but overall it is dense and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a submission tool with no output schema, the description covers what happens after the call, the return value ('count of numbers named so far'), rate limits, privacy, and cost. An agent has everything needed to set expectations and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented. The description mostly restates the schema (one line, 3-160 chars, source location, ticker format) rather than adding new meaning; it also loosely says '2 to 12 letters or digits' where the schema allows maxLength 13, a minor mismatch. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly frames this as a request/submission tool for counts Tickerz does not yet publish, and even equates it to POST /api/indices/requests. It distinguishes itself from siblings like get_index/list_indices by targeting unpublished numbers, though the core verb ('request a new ticker to be built') is conveyed narratively rather than stated crisply up front.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger ('when someone wants a number counted that Tickerz does not publish yet, or a market needs a number nobody sells') and names an alternative route for on-chain counts via /launch. The condition that selects this tool over alternatives is spelled out, not inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_questionsOpen questionsBRead-onlyIdempotentInspect
The referee's questions still waiting on their answer: one on-chain attention question per crypto event, "$SYM reads 40 or more at <event open + 24h> UTC", answered at_or_above (40 or more) or below (Under 40). Each carries the score and volume multiple at open, the three nulls frozen at creation (base rate: the share of past crypto events that read 40 or more 24 hours after open; persistence: the latest reading carried forward; always below) and Tickerz's own answer, which is the base-rate null. accepting_answers is true until 4 hours after the question opened; the crowd split stays null until then. calibration: hit rates of the crowd majority and each null over every resolved question, each with its n. Optional symbol filter. Same data as GET /api/questions?state=open. About attention, not price. Not advice.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Optional ticker, e.g. HBAR |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavioral context beyond that: accepting_answers is true until 4 hours after open, the crowd split stays null until then, and the three nulls are frozen at creation. It omits pagination/volume limits, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, but the body is a single dense run-on paragraph packed with domain-specific terms. Every sentence carries information, yet the wall-of-text structure hurts readability without a clear field-by-field breakdown.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 does explain the returned fields (score, volume multiple, three nulls, Tickerz answer, calibration hit rates). It is highly complete for a complex domain tool, missing only edge cases like empty/open-empty states.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single symbol parameter, so the schema already documents it as an optional ticker. The description's 'Optional symbol filter' adds no syntax or format detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a specific resource and state: the referee's questions still awaiting answers, explicitly mapped to GET /api/questions?state=open. It is distinguishable from the single-question sibling get_question, though heavy domain jargon ('referee', 'Tickerz') slightly obscures the plain purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It notes an optional symbol filter and that it is 'not advice', but gives no explicit when-to-use or when-not guidance and never routes the agent to alternatives like get_question, base_rate or board for related data. Usage must be inferred from the 'still waiting on their answer' phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receiptsReceiptsARead-onlyIdempotentInspect
Use when someone asks how past attention spikes turned out, or wants a track record they can check, losses included. Closed events, newest first, each with its 24h, 7d and 30d receipts (forward return, or null until due; benchmark is BTC for crypto and SPY for stocks, with benchmark_ret_pct over the same window), score_at_open, peak_score and the driver with its source. Each event carries symbol (the same ticker as assets.symbol). Each proofs row carries proof_url, the proof as JSON, an absolute link in the same form as an index first_print.proof_url. A receipt is due 24 hours, 7 days and 30 days after the event opened, so the newest page has null 30d receipts until they are due: page back to events old enough for them with before and before_id: each page carries next_before (its last event's opened_at, exactly as stored) and next_before_id (that event's id), null when there is nothing older. Send both back and the next page starts right after that event, including events opened at the same time. before alone (any ISO time) reads events opened strictly before that time, so on its own it can skip events opened at exactly that time. Optional symbol filter, applied in the query, so limit counts only that ticker's events and an empty page means none older on record. Same store as GET /api/receipts. peak_heat is the deprecated alias of peak_score, same value, kept until at least 2026-12-31.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 1 to 100, default 30 | |
| before | No | Optional cursor: only events opened before this time (ISO 8601, e.g. 2026-09-01T00:00:00Z). Send next_before from a page, with before_id, for the page before it; without before_id, events opened at exactly this time are skipped | |
| symbol | No | Optional ticker to filter, e.g. BTC | |
| before_id | No | Optional, with before: next_before_id from a page. The next page starts right after that event, so events opened at the same time are not skipped |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, idempotent, closed-world. The description adds value beyond that: receipts become null until due, cursor semantics via next_before/next_before_id, and a deprecation horizon (peak_heat until 2026-12-31). Strong added context despite annotations doing the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph mixing return-shape details, cursor semantics, filter behavior, deprecation notes, and cross-endpoint references. Front-loaded usage is good, but the wall of clauses about null receipts and cursor edge cases is hard to parse; it should be broken into bullets or short sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, yet the description enumerates the return fields (receipts, benchmark, score_at_open, peak_score, driver, proof_url, next_before/next_before_id, peak_heat alias) and cursor contract, so an agent can consume the response. Would reach 5 with clearer field/key naming for the proofs rows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description goes further, explaining interaction between 'before' and 'before_id' (skip vs. include same-time events) and clarifying that 'symbol' filters in the query so 'limit' counts only that ticker. Adds real semantic value on top of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: closes events with their receipts, newest first. Distinguishes from siblings like arena, base_rate, board by describing a concrete track-record surface with named fields. An agent can tell what this returns without opening anything.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit when-to-use trigger ('Use when someone asks how past attention spikes turned out, or wants a track record they can check, losses included') and mentions 'Same store as GET /api/receipts'. Does not name an alternative sibling to use instead, so it falls short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_forecastSubmit a forecastAIdempotentInspect
Two kinds of forecast. 1) Arena (numeric): send question_id as an Arena id from the arena tool (e.g. mints-2026-09-24) or ticker (e.g. MINTS), plus handle (3 to 20 letters, digits or underscores) and value (a number in the index's unit). A handle is claimed by the address that first uses it; the first forecast that stands under a handle returns handle_key, a secret shown once: send it with every later forecast under that handle and it is accepted from any address, so an agent whose address changes keeps its handle. Without it, only the first address may use the handle. One forecast per handle per question; the latest sent before close stands; forecasts close when the period called begins and stay hidden until then. Graded on the number as first published: 100 times max(0, 1 minus absolute percent error / 25%), rounded. Public standings by mean points, ranked from 3 graded. 2) Referee (attention question): send question_id as a uuid from open_questions and answer: at_or_above (it reads 40 or more at the stated time) or below, with an optional probability, 0 to 1, your chance it reads 40 or more, which must agree with the answer. An agent answering for someone sends agent, its name (e.g. Muse): the answer is stored as an agent's, never counts in the crowd split, and is shown by name beside the crowd once answers close. One answer per caller per question and at most 3 per address (the first one stands; a repeat is acknowledged with already_answered true and is not echoed back); answers close 4 hours after the question opens and are recorded with OpenTimestamps in hourly batches; everyone is graded at 24 hours against the nulls, Tickerz included, with no ranking of callers. Both: no login, no prizes, no money. Not advice.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Referee only, optional: the agent's name when an agent answers for someone, e.g. Muse. 1 to 32 letters, digits, spaces, dots, hyphens or underscores. Never counted in the crowd split; shown by name after answers close | |
| value | No | Arena only: your number for the period, in the index's unit | |
| answer | No | Referee only. at_or_above: it reads 40 or more. below: under 40 | |
| handle | No | Arena only: your public handle, 3 to 20 letters, digits or underscores | |
| ticker | No | Arena only, instead of question_id: the index ticker, e.g. MINTS; forecasts its open question | |
| handle_key | No | Arena only: the secret key returned with the first forecast under this handle (hk_ and 32 characters). Send it with every later forecast so the handle is accepted from any address. Never share it | |
| probability | No | Referee only, optional: your probability that it reads 40 or more, 0 to 1 | |
| question_id | No | Referee question id (uuid) from open_questions, or an Arena id (e.g. mints-2026-09-24) from the arena tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far beyond the annotations, it discloses handle claiming (first address owns it), the one-time handle_key secret and its cross-address effect, one-forecast-per-handle-per-question with 'latest before close stands', hidden-until-close behavior, the exact grading formula, the 3-graded standings threshold, referee limits (1 per caller, 3 per address, first stands, already_answered true), 4-hour close with OpenTimestamps batches, 24-hour grading, and no-login/no-money constraints. Nothing here contradicts the readOnly=false / idempotent=true hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The 'Two kinds of forecast' front-loading and the closing 'Both:' sentence give it a usable skeleton, and most sentences carry non-obvious rules (grading, close timing, repeat handling) that cannot be found in the schema. It is dense with long multi-clause sentences, though, which makes skimming harder than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does cover the key outputs (handle_key shown once, already_answered true, public standings, named agent answers). It does not describe the shape of a normal success response (e.g. confirmation or forecast id), which is the remaining gap for an 8-parameter, two-mode tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot express: handle_key must accompany every later forecast under a handle, probability must agree with answer, and agent names are never counted in the crowd split. That relational context lifts it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with an explicit taxonomy ('Two kinds of forecast. 1) Arena (numeric) ... 2) Referee (attention question)') and names the specific resources involved (question_id, handle, value, answer, probability). An agent can immediately tell this tool apart from siblings like arena or open_questions because the description states which ids come from which sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing conditions: Arena ids come from the arena tool, Referee uuids come from open_questions, and ticker can substitute for question_id. That is strong mode-selection guidance, but it never states when an agent should prefer this tool over alternatives or what to do if an id matches neither source.
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 tool update
- Added
name_a_number
1 tool update
- Added
list_feeds
2 tool updates
- Added
get_report - Added
get_rule
1 tool update
- Added
get_listing_kit
2 tool updates
- Changed
board1 field changed- added
Input schema / properties / classAdded value: +{ + "description": "Optional: crypto or equity (US stocks and listed funds). Leave out for every asset", + "enum": [ + "crypto", + "equity" + ], + "type": "string" +}
- Changed
receipts2 fields changed- added
Input schema / properties / beforeAdded value: +{ + "description": "Optional cursor: only events opened before this time (ISO 8601, e.g. 2026-09-01T00:00:00Z). Send next_before from a page, with before_id, for the page before it; without before_id, events opened at exactly this time are skipped", + "type": "string" +} - added
Input schema / properties / before_idAdded value: +{ + "description": "Optional, with before: next_before_id from a page. The next page starts right after that event, so events opened at the same time are not skipped", + "type": "string" +}
Related MCP Connectors
Daily data: jobs, VC funding, domain drops, patents, gov contracts, crypto. Bitcoin pay-per-month.
Read-only on-chain and market crypto analytics for Bitcoin, Ethereum and more, from our own nodes.
Bitcoin custody scores, failure registry, ETF custody, stablecoin and x402 data, source router.
DeFi Protocol Activity Index -- quantitative on-chain activity metric from DefiLlama data
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceBitcoin data for AI agents. Pay-per-query via x402 micropayments. No API keys. No subscriptions. No tokens.MIT
- AlicenseNot gradedqualityBmaintenanceDaily Bitcoin/crypto cycle scoring, on-chain indicators, strategy insights, on-demand backtests. Bearer + x402 pay-per-callMIT
- AlicenseAqualityCmaintenanceRead-only Bitcoin market data and indicator explanations: the Bitcoin Barometer heat score and zone, eight on-chain and market indicators, and score history. No API key, no tracking.3390 npmMIT

ai-visibility-indexofficial
AlicenseNot gradedqualityAmaintenanceRead-only access to the AI Visibility Index: the measured share of answer that 20 SaaS and 24 crypto brands hold across ChatGPT, Perplexity and Gemini, re-measured weekly on a frozen prompt panel with every past release kept at a permanent URL. Five tools — full index, one brand, brand list, complete history, methodology — served from dabyte.ai and dablock.ai with no API key and no auth; the dataMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.