MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Payments & trading

Tickerz

Everything gets a ticker. Indexes of what people do, each with its rule, source and proof. No key.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
1730 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
16

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1730 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name tickerz.

  • Pass
    Lists tools

    tools/list returned 16 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1730 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1730 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    26 of 26 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-10T16:33:18.67843Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Tickerz

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http tickerz https://tickerz.com/mcp

Capabilities

Tools 16

arena

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.

Discovered
asset

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.

Discovered
base_rate

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.

Discovered
board

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.

Discovered
get_index

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.

Discovered
get_listing_kit

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.

Discovered
get_question

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}.

Discovered
get_report

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 public 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.

Discovered
get_rule

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.

Discovered
list_feeds

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.

Discovered
list_indices

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.

Discovered
methodology

How the Activity score is computed, 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.

Discovered
name_a_number

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.

Discovered
open_questions

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.

Discovered
receipts

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.

Discovered
submit_forecast

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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1730 ms16