{"id":559217,"recorded_at":"2026-10-27T21:07:29.238700Z","observed_at":"2026-10-27T21:07:29.238648Z","subject_kind":"endpoint","subject":"8bde1635-f37c-464a-9a8b-c9df384d5fd0","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":9,"tools":[{"description":"Your account's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires a stat-api sign-in or API key; costs 1 record.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"api_usage"},{"description":"Full contract for one table: fields with types and descriptions, the filters query_table accepts (with operators like __gte/__lte/__between/__like and required filter combinations), page-size limits, primary key, and a runnable example URL. No credentials needed. Always call this before query_table — filters not listed here are rejected.","inputSchema":{"additionalProperties":false,"properties":{"league":{"enum":["nfl","nba","mlb","nhl","pga","dfs","reference"],"type":"string"},"table":{"type":"string"}},"required":["league","table"],"type":"object"},"name":"describe_table"},{"description":"Games scheduled/played on one calendar date (US-Eastern) for nba, mlb, or nhl; defaults to today. Returns the same envelope as query_table on the games table. NFL is week-based, not date-based — for nfl, use query_table on nfl/games with season_id + week filters instead. Requires a stat-api sign-in or API key; rows count against quota.","inputSchema":{"additionalProperties":false,"properties":{"date":{"description":"YYYY-MM-DD; defaults to today in US-Eastern time","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"league":{"enum":["nba","mlb","nhl"],"type":"string"}},"required":["league"],"type":"object"},"name":"games_on_date"},{"description":"Fetch a single row by primary key. Returns the row object. Requires a stat-api sign-in or API key; costs 1 record of quota.","inputSchema":{"additionalProperties":false,"properties":{"id":{"description":"primary-key value (integer or text PK)","type":"string"},"league":{"enum":["nfl","nba","mlb","nhl","pga","dfs","reference"],"type":"string"},"table":{"type":"string"}},"required":["league","table","id"],"type":"object"},"name":"get_record"},{"description":"Run a GraphQL query against the same data with relations — nest from a game to its teams/players/odds in one call. Root fields are leagues (nfl, nba, …), each exposing its tables with the same filter arguments as REST plus `first`/`after` pagination. Do NOT send introspection queries (the schema is huge) — use describe_table instead; the SDL is at https://api.stat-api.com/api/v1/graphql/sdl. Requires a stat-api sign-in or API key; every row resolved anywhere in the tree counts against quota.","inputSchema":{"additionalProperties":false,"properties":{"query":{"type":"string"},"variables":{"type":"object"}},"required":["query"],"type":"object"},"name":"graphql_query"},{"description":"List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"list_leagues"},{"description":"List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.","inputSchema":{"additionalProperties":false,"properties":{"league":{"enum":["nfl","nba","mlb","nhl","pga","dfs","reference"],"type":"string"}},"required":["league"],"type":"object"},"name":"list_tables"},{"description":"Query any table. Returns `{\"<table>\": [rows], \"limit\": N, \"next_from_id\": M|null, \"has_more\": bool}`. To read every row, start with from_id=0 and re-call with from_id set to the previous next_from_id until it is null. A call without from_id returns the first page in the table's default sort with next_from_id null. filters is a flat object of `field` or `field__op` keys from describe_table (e.g. {\"season_id\": 2024, \"day__between\": \"20250101,20250131\"}). Requires a stat-api account: sign in when the app asks (free account at https://stat-api.com), or send an API key as Authorization: Bearer <key>. Every returned row counts against the monthly record quota.","inputSchema":{"additionalProperties":false,"properties":{"filters":{"additionalProperties":{"type":["string","number","boolean"]},"description":"field or field__op keys → scalar values; see describe_table","type":"object"},"from_id":{"description":"keyset cursor: 0 for the first page of a full walk, then the previous next_from_id","type":"integer"},"league":{"enum":["nfl","nba","mlb","nhl","pga","dfs","reference"],"type":"string"},"limit":{"minimum":1,"type":"integer"},"table":{"type":"string"}},"required":["league","table"],"type":"object"},"name":"query_table"},{"description":"Fuzzy player-name search (typo-tolerant). Currently NBA only — for other leagues query the players table with a name filter via query_table. Returns player rows ordered by match quality. Requires a stat-api sign-in or API key; rows count against quota.","inputSchema":{"additionalProperties":false,"properties":{"league":{"default":"nba","enum":["nba"],"type":"string"},"limit":{"default":10,"maximum":50,"minimum":1,"type":"integer"},"name":{"maxLength":100,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"name":"search_players"}]},"body_sha256":"9a13ef745df56aaaab0055a1dad484800669c2522df2e4e4f9beb266a4b01724","prev_id":null,"leaf":"0xccd88ba9e9c207f7068fc46375463a1f65f07ef996e9b2ab1da4894dcca18c30","leaf_text":"{\"body\":\"9a13ef745df56aaaab0055a1dad484800669c2522df2e4e4f9beb266a4b01724\",\"id\":559217,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793135249238648,\"prev\":null,\"subject\":\"8bde1635-f37c-464a-9a8b-c9df384d5fd0\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0xccd86a03c81e80eda9579f10394ed4aa440e7ba160084543cdb93e710f0629e7","0xd7eaf4d5ad6dd6099bb3e85309ff403f530d735df9a35b90eaf49985c2b21dda","0xd3e96f499428e76ea9dfd1bfc17035295f2aed2a32abf035b97e6ae7aea61f93","0x844e929020e956ca409617adbe7fa31b87912469fde3eeeb19fc8ff635f9c714","0x186b40314553947a4ec3ca1c20c71d36c92124cca05ed84cdf446f9ff4cb5344","0x47ed2d4fa42265dcc7ecc7aa0118294b7b9b535443269e90ef269f8037425918","0x91b23d7d67a02a7ca0ab2d75ec37b20d2cf5c75ae0bc0facbbcb8da542672f0f","0x77b30bfab32be1c4b0e3035d7ae6097e12c7d55c447f50e47783c372edb14043","0xba25a099aed38d4189ef565418ecacc44e462977528b1b32b29d477412367edd","0xb8405eeba75c6be56beb524c5fd7accc70de5ceb18b5c0866feaa3130c03653b","0xf6faea553d6354c2881afaf6cc13a2f3a8290ee9597618bbe3c61a828c5e4c23","0x6c0803f2d7123e0bcd2a148e9fde0f429f31dc964ced287e760ee656fcd9912f","0xeb77e9d1884bf470f4a13a5869956a83ac37957112a29ccb9e63ddf7791b5a0b","0xcc49fd573532e5a29f5be4033f62a2eff71456c020bd2258312b98e95cfe301e","0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683","0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5","0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}