{"serverId":"mcp-registry/com.coinmarketcal/events","tools":[{"name":"get_coin","fixed":{"name":"get_coin","description":"Returns the full coin payload by slug. 404 when the slug doesn't match any coin (tracked or otherwise).","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug"],"properties":{"slug":{"type":"string","minLength":1,"description":"Coin slug (e.g. `bitcoin`). Lowercase, URL-safe."}}},"annotations":{"readOnlyHint":true},"title":"Fetch a single coin"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"get_event","fixed":{"name":"get_event","description":"Returns the full event payload by id. Tier-gated fields follow the caller's plan. A recently removed event returns `410 Gone` with its `id` and `cancelledAt`. An unknown, temporarily unpublished, or out-of-window event returns `404`.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string","minLength":1,"description":"The event id, as returned by `GET /v2/events`."}}},"annotations":{"readOnlyHint":true},"title":"Fetch a single event"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"get_usage","fixed":{"name":"get_usage","description":"Returns the authenticated key's monthly usage counters. Does not consume quota beyond the cost of the HTTP call itself. Use this to backoff before hitting 429s or to drive alerts in your integration.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"Monthly usage"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"list_categories","fixed":{"name":"list_categories","description":"Returns every category in the editorial taxonomy with the count of upcoming events per category (tier-windowed). Standard+ only. Query parameters are ignored; the list is not paginated.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"List categories"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"list_coins","fixed":{"name":"list_coins","description":"Returns a paginated list of coins ordered by `rank` ascending (top-ranked first). Pass the `tracked` filter only when you need to limit results by editorial coverage.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"q":{"type":"string","description":"Free-text search across name + symbol. Case-insensitive substring match."},"limit":{"type":"integer","maximum":200,"minimum":1,"description":"Page size (1–200)."},"cursor":{"type":"string","description":"Opaque pagination cursor."},"tracked":{"type":"boolean","description":"Filter by editorial coverage. Omit to return both tracked and untracked coins; set `true` for actively monitored coins only; set `false` for coins outside active coverage only."}}},"annotations":{"readOnlyHint":true},"title":"List coins"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222},{"name":"list_event_cancellations","fixed":{"name":"list_event_cancellations","description":"Returns removal records ordered by `cancelledAt`, then `id`. Available to every API V2 tier. Poll regularly and never leave more than 90 days between successful requests, even when webhooks are enabled.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Page size (1–100)."},"since":{"type":"string","description":"Inclusive cancellation-time lower bound. Accepts RFC3339 or `YYYY-MM-DD`; defaults to 90 days ago."},"cursor":{"type":"string","description":"Opaque pagination cursor returned in the previous response's `meta.cursor`."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"List permanently removed events"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"list_events","fixed":{"name":"list_events","description":"Returns a paginated list of upcoming and historical events within the date window available to the caller's plan. Default sort is `date asc` (soonest first). The `coins`, `categories`, and date filters compose with `AND`.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"to":{"type":"string","description":"Inclusive upper bound on `date`. Default = today + tier upcoming window (e.g. 7 days on Free, 90 days on Standard, full on Pro+)."},"from":{"type":"string","description":"Inclusive lower bound on `date`. Default = today. Free and Standard clamp past values to today; Pro clamps them to the previous 30 days; Elite and Enterprise can query the complete public catalog history since 2017."},"coins":{"type":"string","description":"Comma-separated coin **slugs** (e.g. `bitcoin,ethereum`). Tickers are accepted but **strongly discouraged**; symbols collide across coins (e.g. `UNI` resolves to several different projects). Use `GET /v2/coins` to look up canonical slugs."},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Page size (1–100)."},"cursor":{"type":"string","description":"Opaque pagination cursor returned in the previous response's `meta.cursor`."},"sortBy":{"enum":["date_asc","date_desc","created_desc","created_desc_and_updated_desc","impact_desc"],"type":"string","description":"Sort order. Default `date_asc` (soonest first). `impact_desc` is Elite+ only; lower tiers receive 403."},"keyword":{"type":"string","description":"Free-text search across event title and description. Case-insensitive substring match."},"impactMin":{"type":"number","maximum":10,"minimum":0,"description":"Lower bound on the precise impact score (0.0–10.0). Elite+ only; lower tiers receive 403."},"categories":{"type":"string","description":"Comma-separated category ids. Case-insensitive. Standard+ only; Free requests using this filter return 403. Use `GET /v2/categories` to look up the canonical id list."}}},"annotations":{"readOnlyHint":true},"title":"List events"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":562,"tokensAfter":562}],"toolsChanged":7,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}