{"serverId":"mcp-registry/io.github.ifan6oy/sorqen","tools":[{"name":"describe_authentication","fixed":{"name":"describe_authentication","description":"Explain the discovery/data boundary and how to attach a Sorqen API key. No API key required.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"How to authenticate to Sorqen"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"describe_methods","fixed":{"name":"describe_methods","description":"Describe the versioned fair-value method and refusal philosophy. No API key required. Use it to interpret Sorqen numbers; use list_fair_values for current data.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"How Sorqen fair value is computed"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"describe_plans","fixed":{"name":"describe_plans","description":"Describe public plan limits and entitlements. No API key required. Free is authenticated real access, not anonymous data access.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Sorqen Free and paid plans"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"get_fair_value","fixed":{"name":"get_fair_value","description":"Return one current fair value by canonical outcome id. Requires a Sorqen key. Use when the outcome id is already known; use list_fair_values for discovery.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["outcome_id"],"properties":{"outcome_id":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"One current Sorqen fair value"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"get_fair_value_history","fixed":{"name":"get_fair_value_history","description":"Return fair-value history for one outcome, bounded by the caller plan. Requires a Sorqen key. Free has no history; Builder and above unlock history windows.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["outcome_id"],"properties":{"days":{"type":"integer","maximum":3650,"minimum":1},"outcome_id":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"Historical Sorqen fair values"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"get_plan","fixed":{"name":"get_plan","description":"Return the caller plan, limits and entitlements. Requires a Sorqen key. Use when a field is locked or a limit is reached.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Authenticated caller plan"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"get_settlement_rules","fixed":{"name":"get_settlement_rules","description":"Return Sorqen settlement-context rules and tie prior used by the local client comparison path. Requires a Sorqen key. This is context, not a venue market feed.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Settlement context for local venue comparison"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"list_fair_values","fixed":{"name":"list_fair_values","description":"Return current no-vig sportsbook-consensus probabilities for supported upcoming markets. Requires a Sorqen key. Free keys receive real values within Free limits; evidence is available on paid plans. Use for scanning/filtering; use get_fair_value for one known outcome.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":5000,"minimum":1},"cursor":{"type":"string"},"league":{"type":"array","items":{"enum":["nfl","nba","mlb","nhl"],"type":"string"}},"market_type":{"type":"array","items":{"enum":["moneyline","spread","total"],"type":"string"}},"min_confidence":{"type":"number","maximum":1,"minimum":0}}},"annotations":{"readOnlyHint":true},"title":"Current sportsbook-consensus fair values"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"list_leagues","fixed":{"name":"list_leagues","description":"List supported league ids, market types and periods. No API key required. Use before a fair-value query when you do not already know the allowed ids; do not use it for live prices.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Leagues and market types Sorqen covers"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75}],"toolsChanged":9,"tokensSaved":0,"todo":[{"tool":"get_fair_value","params":["outcome_id"]},{"tool":"get_fair_value_history","params":["days","outcome_id"]},{"tool":"grade","params":["outcome_id"]},{"tool":"list_fair_values","params":["limit","cursor","league","market_type","min_confidence"]}],"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."}