{"serverId":"mcp-registry/com.it.scorptech/x402","tools":[{"name":"json_canonicalize","fixed":{"name":"json_canonicalize","description":"RFC 8785 JSON Canonicalization Scheme (JCS): deterministic serialization with keys sorted by UTF-16 code units and ECMAScript number formatting, plus SHA-256 / SHA-512 digests of the canonical bytes for signing, caching and deduplication. Also returns sorted pretty JSON and document stats (depth, keys, values, bytes). POST JSON body {json}. Price: $0.002 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/json-canonicalize","inputSchema":{"type":"object","required":["json"],"properties":{"json":{"description":"Any JSON value","type":"string"},"pretty":{"type":"boolean","default":false,"description":"Also return an indented key-sorted rendering"}}},"annotations":{"title":"Json Canonicalize","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Json Canonicalize"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: json. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":205,"tokensAfter":209},{"name":"json_diff","fixed":{"name":"json_diff","description":"Structural diff of two JSON documents: list of added / removed / changed values with JSON Pointer paths and old/new values, an RFC 6902 JSON Patch that turns a into b, and counts. Arrays are aligned by longest common subsequence (inserted items show as inserts, not a cascade of changes) or matched by an id field. POST JSON body {a, b}. Price: $0.003 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/json-diff","inputSchema":{"type":"object","required":["a","b"],"properties":{"a":{"description":"Original JSON value (any type)","type":"string"},"b":{"description":"New JSON value (any type)","type":"string"},"arrayKey":{"type":"string","maxLength":100,"description":"Match array elements that are objects by this field (e.g. \"id\") instead of by position"},"maxChanges":{"type":"integer","default":1000,"maximum":5000,"minimum":1}}},"annotations":{"title":"Json Diff","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Json Diff"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: a, b. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":249,"tokensAfter":258},{"name":"json_patch","fixed":{"name":"json_patch","description":"Apply a JSON Patch (RFC 6902: add, remove, replace, move, copy, test) or a JSON Merge Patch (RFC 7386) to a JSON document and return the result. Atomic: any failing operation or test returns 422 with the operation index and nothing is applied. POST JSON body {document, patch}. Price: $0.002 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/json-patch","inputSchema":{"type":"object","required":["document","patch"],"properties":{"mode":{"enum":["auto","json-patch","merge-patch"],"type":"string","default":"auto"},"patch":{"description":"RFC 6902 operations array, or an object = RFC 7386 merge patch","type":"string"},"document":{"description":"Target JSON value","type":"string"}}},"annotations":{"title":"Json Patch","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Json Patch"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: patch, document. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":207,"tokensAfter":216},{"name":"json_schema_infer","fixed":{"name":"json_schema_infer","description":"Infer a JSON Schema (draft 2020-12) from one JSON document or many samples: types (integer vs number), nested objects and arrays, required keys (present in every sample), nullable fields, string formats (date-time, date, email, uri, uuid, ipv4/6) and optionally enums and numeric bounds. Turns API responses into a contract for validation or tool definitions. POST JSON body. Price: $0.003 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/json-","inputSchema":{"type":"object","properties":{"json":{"description":"One JSON document","type":"string"},"enums":{"type":"boolean","default":false,"description":"Emit enum for low-cardinality repeated strings"},"title":{"type":"string","maxLength":200},"bounds":{"type":"boolean","default":false,"description":"Emit minimum/maximum for numbers"},"samples":{"type":"array","maxItems":1000,"description":"Several sample documents of the same shape (better required/nullable detection)"}}},"annotations":{"title":"Json Schema Infer","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Json Schema Infer"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: json. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":282,"tokensAfter":287},{"name":"json_to_types","fixed":{"name":"json_to_types","description":"Generate typed models from sample JSON: TypeScript interfaces, Zod schemas, Python Pydantic models, Go structs (json tags) or Rust serde structs. Nested objects become named types, optional and nullable fields are detected across samples, arrays are typed by their merged items. POST JSON body {json or samples, language, rootName}. Price: $0.003 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/json-to-types","inputSchema":{"type":"object","properties":{"json":{"description":"One JSON sample","type":"string"},"samples":{"type":"array","maxItems":1000,"description":"Several samples (optional/nullable detection)"},"language":{"enum":["typescript","zod","pydantic","go","rust"],"type":"string","default":"typescript"},"rootName":{"type":"string","default":"Root","pattern":"^[A-Za-z_][A-Za-z0-9_]*$","maxLength":64}}},"annotations":{"title":"Json To Types","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Json To Types"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: json. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":250,"tokensAfter":255},{"name":"jsonpath","fixed":{"name":"jsonpath","description":"Query JSON with JSONPath (RFC 9535): dot and bracket names, indexes, slices, wildcards, recursive descent (..) and filters with comparisons, && || !, and length() / count() / match() / search() / value() functions, e.g. $.store.book[?@.price < 10].title. Returns matched values with their normalized paths. Several queries per call. POST JSON body {json, query}. Price: $0.003 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/jsonpath","inputSchema":{"type":"object","required":["json"],"properties":{"json":{"description":"JSON document to query","type":"string"},"limit":{"type":"integer","default":1000,"maximum":10000,"minimum":1},"query":{"type":"string","maxLength":2000,"description":"JSONPath expression starting with $"},"queries":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20,"description":"Several expressions at once (alternative to query)"}}},"annotations":{"title":"Jsonpath","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Jsonpath"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: json. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":266,"tokensAfter":271},{"name":"markdown_table","fixed":{"name":"markdown_table","description":"Build or parse Markdown (GitHub-flavoured) tables. Build: from an array of objects, an array of arrays or CSV, with column selection / order / renaming, alignment (numeric columns right-aligned automatically), pipe / newline escaping, cell truncation and padding that respects wide CJK / emoji characters; also returns an HTML table. Parse: extract every table from Markdown into headers, alignment and typed rows (JSON). Price: $0.001 USDC per successful call (x402, Solana). Same tool over HTTPS: P","inputSchema":{"type":"object","properties":{"data":{"description":"Rows: array of objects, array of arrays (first row = header unless headers given) or a CSV string","type":"string"},"align":{"type":"array","items":{"enum":["left","center","right","auto"],"type":"string"},"maxItems":100,"description":"Per-column alignment (default auto)"},"pretty":{"type":"boolean","default":true,"description":"Pad columns to equal width"},"columns":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100,"description":"Columns to include, in order"},"headers":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100,"description":"Header labels (rename / for header-less arrays)"},"numbers":{"type":"boolean","default":true,"description":"Parse mode: convert numeric cells"},"markdown":{"type":"string","maxLength":200000,"description":"Parse mode: Markdown containing tables"},"maxWidth":{"type":"integer","default":200,"maximum":1000,"minimum":3,"description":"Truncate cells wider than this"}}},"annotations":{"title":"Markdown Table","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Markdown Table"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: data. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":430,"tokensAfter":435},{"name":"schema_validate","fixed":{"name":"schema_validate","description":"Validate JSON data against a JSON Schema (Ajv + formats). Body: { \"schema\": {...}, \"data\": {...} }. Returns valid boolean and error list. Price: $0.005 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/schema-validate","inputSchema":{"type":"object","required":["schema","data"],"properties":{"data":{"type":"string"},"schema":{"type":"object"}}},"annotations":{"title":"Schema Validate","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Schema Validate"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: data. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":120,"tokensAfter":125}],"toolsChanged":8,"tokensSaved":0,"todo":[{"tool":"abundance","params":["n"]},{"tool":"abundancy","params":["n"]},{"tool":"achilles","params":["n"]},{"tool":"additive_persistence","params":["n"]},{"tool":"airport_status","params":["airport"]},{"tool":"aliquot","params":["n"]},{"tool":"almost_perfect","params":["n"]},{"tool":"alt_factorial","params":["n"]},{"tool":"alt_sum","params":["hi","lo"]},{"tool":"alternating_factorial","params":["n"]},{"tool":"alternating_mod","params":["m","n"]},{"tool":"alternating_next","params":["n"]},{"tool":"alternating_prime","params":["n"]},{"tool":"alternating_sum","params":["n"]},{"tool":"amicable","params":["n"]},{"tool":"apery","params":["n"]},{"tool":"apery_mod","params":["m","n"]},{"tool":"apery_prime","params":["n"]},{"tool":"apery_sum","params":["n"]},{"tool":"apery_term","params":["k","n"]},{"tool":"arithmetic_count","params":["n"]},{"tool":"arithmetic_derivative","params":["n"]},{"tool":"arithmetic_mean","params":["n"]},{"tool":"arithmetic_next","params":["n"]},{"tool":"arithmetic_number","params":["n"]},{"tool":"arithmetic_second","params":["n"]},{"tool":"arithmetic_sum","params":["n"]},{"tool":"automorphic","params":["n"]},{"tool":"balanced_prime","params":["n"]},{"tool":"balanced_ternary","params":["n"]},{"tool":"ballot","params":["k","n"]},{"tool":"bank_id_validate","params":["type","value"]},{"tool":"barcode_generate","params":["bg","fg","type"]},{"tool":"base_convert","params":["to","from","value"]},{"tool":"baum_sweet","params":["n"]},{"tool":"beatty","params":["d","n"]},{"tool":"beatty_sqrt2","params":["n"]},{"tool":"beatty_sqrt2_comp","params":["n"]},{"tool":"bell","params":["n"]},{"tool":"bell_sum","params":["hi","lo"]},{"tool":"bernoulli","params":["n"]},{"tool":"bernoulli_denom","params":["m"]},{"tool":"bernoulli_sum","params":["n"]},{"tool":"betrothed","params":["n"]},{"tool":"bezier_cubic","params":["t","points"]},{"tool":"bezier_derivative","params":["points"]},{"tool":"bezier_quadratic","params":["t","points"]},{"tool":"bezier_split","params":["t","points"]},{"tool":"bezier_tangent","params":["t","points"]},{"tool":"big_omega","params":["n"]},{"tool":"binary_partition","params":["n"]},{"tool":"binary_partition_sum","params":["n"]},{"tool":"binom","params":["k","n","mod"]},{"tool":"bit_length","params":["n"]},{"tool":"bit_reverse","params":["n","width"]},{"tool":"bit_subset","params":["a","b"]},{"tool":"biunitary_abundant","params":["n"]},{"tool":"biunitary_count","params":["n"]},{"tool":"biunitary_deficient","params":["n"]},{"tool":"biunitary_perfect","params":["n"]},{"tool":"biunitary_sigma","params":["n"]},{"tool":"black_scholes","params":["type","strike","dividendYieldPct"]},{"tool":"blum","params":["n"]},{"tool":"blum_count","params":["n"]},{"tool":"blum_factors","params":["n"]},{"tool":"blum_next","params":["n"]},{"tool":"blum_sum","params":["n"]},{"tool":"bond_calc","params":["faceValue","yearsToMaturity"]},{"tool":"brocard","params":["n"]},{"tool":"byte_sum","params":["hex","text","algorithm"]},{"tool":"cake_number","params":["n"]},{"tool":"calkin_wilf","params":["n","den","num"]},{"tool":"cantor_bit","params":["n"]},{"tool":"cantor_count","params":["n"]},{"tool":"card_validate","params":["number","numbers"]},{"tool":"carmichael","params":["n"]},{"tool":"carmichael_count","params":["n"]},{"tool":"carmichael_factors","params":["n"]},{"tool":"carmichael_next","params":["n"]},{"tool":"carmichael_number","params":["n"]},{"tool":"carmichael_sum","params":["n"]},{"tool":"carol","params":["n"]},{"tool":"cas_validate","params":["value"]},{"tool":"catalan","params":["n","mod"]},{"tool":"cayley","params":["n"]},{"tool":"cayley_rooted","params":["n"]},{"tool":"centered_polygonal","params":["n","s"]},{"tool":"central_binomial","params":["n"]},{"tool":"central_index","params":["value"]},{"tool":"central_mod","params":["n","mod"]},{"tool":"central_ratio","params":["n"]},{"tool":"central_sum","params":["hi","lo"]},{"tool":"cf_best","params":["value","maxDen"]},{"tool":"cf_convergent","params":["index","terms"]},{"tool":"cf_expand","params":["value"]},{"tool":"cf_sqrt","params":["s","count"]},{"tool":"cf_value","params":["terms"]},{"tool":"champernowne_digit","params":["pos"]},{"tool":"champernowne_len","params":["m"]},{"tool":"champernowne_owner","params":["pos"]},{"tool":"champernowne_place","params":["pos"]},{"tool":"champernowne_start","params":["m"]},{"tool":"chart_svg","params":["type","yMax","yMin","theme","title","width","colors","height","xLabel","yLabel"]},{"tool":"chebyshev_disc","params":["n","x"]},{"tool":"chebyshev_prod","params":["a","b","x"]},{"tool":"chebyshev_rec","params":["n","x","kind"]},{"tool":"chebyshev_t","params":["n","x"]},{"tool":"chebyshev_u","params":["n","x"]},{"tool":"chen_prime","params":["n"]},{"tool":"chmod_apply","params":["mode","spec","umask","directory"]},{"tool":"cipher_suite_info","params":["limit"]},{"tool":"coin_check","params":["a","b","n"]},{"tool":"coin_count","params":["a","b"]},{"tool":"coin_min","params":["a","b","n"]},{"tool":"coin_ways","params":["a","b","n"]},{"tool":"collatz_drop","params":["n"]},{"tool":"collatz_glide","params":["n"]},{"tool":"collatz_length","params":["n"]},{"tool":"collatz_max","params":["n"]},{"tool":"collatz_next","params":["n"]},{"tool":"collatz_odd","params":["n"]},{"tool":"collatz_parity","params":["n"]},{"tool":"collatz_peak","params":["n"]},{"tool":"collatz_step","params":["n"]},{"tool":"collatz_steps","params":["n"]},{"tool":"color_palette","params":["color","schemes"]},{"tool":"complexity","params":["n"]},{"tool":"complexity_count","params":["n"]},{"tool":"complexity_least","params":["k"]},{"tool":"complexity_max","params":["n"]},{"tool":"complexity_sum","params":["n"]},{"tool":"compound_interest","params":["years","principal","compounding","contributionTiming","monthlyContribution"]},{"tool":"container_check","params":["value"]},{"tool":"coord_convert","params":["geohashPrecision"]},{"tool":"cosine_law","params":["a","b","c"]},{"tool":"cototient","params":["n"]},{"tool":"cousin_prime","params":["n"]},{"tool":"cows_index","params":["n"]},{"tool":"cows_mod","params":["m","n"]},{"tool":"cows_next","params":["n"]},{"tool":"cows_sum","params":["n"]},{"tool":"crc16","params":["hex","text","algorithm"]},{"tool":"creditor_ref","params":["value"]},{"tool":"crt","params":["a","m"]},{"tool":"css_angle","params":["value"]},{"tool":"css_length","params":["value"]},{"tool":"css_resolution","params":["value"]},{"tool":"css_time","params":["value"]},{"tool":"csv_profile","params":["topValues"]},{"tool":"csv_to_sql","params":["csv","table","header","dialect","delimiter","createTable"]},{"tool":"ct_subdomains","params":["domain"]},{"tool":"cube_min","params":["n"]},{"tool":"cube_sum","params":["n"]},{"tool":"cube_ways","params":["n"]},{"tool":"cubefree","params":["n"]},{"tool":"cubefree_count","params":["n"]},{"tool":"cubefull","params":["n"]},{"tool":"cullen","params":["n"]},{"tool":"currency_format","params":["mode","sign","display","rounding"]},{"tool":"cusip_validate","params":["value"]},{"tool":"cyclotomic","params":["a","n"]},{"tool":"cyclotomic_coeff","params":["k","n"]},{"tool":"cyclotomic_height","params":["n"]},{"tool":"cyclotomic_neg","params":["n"]},{"tool":"cyclotomic_one","params":["n"]},{"tool":"date_calc","params":["op","tz","weekStart"]},{"tool":"day_count","params":["end","mode","start","principal","convention"]},{"tool":"dedekind_psi","params":["n"]},{"tool":"dedupe_records","params":["keep","mode"]},{"tool":"deficiency","params":["n"]},{"tool":"delannoy","params":["m","n"]},{"tool":"delannoy_central","params":["n"]},{"tool":"delannoy_sum","params":["m","hi"]},{"tool":"depolignac","params":["n"]},{"tool":"depreciation","params":["method"]},{"tool":"derivative_fixed","params":["n"]},{"tool":"digit_power_sum","params":["k","n"]},{"tool":"digit_rev","params":["n"]},{"tool":"digit_sum","params":["n"]},{"tool":"digital_root","params":["n"]},{"tool":"divisor_count","params":["n"]},{"tool":"divisor_record","params":["n"]},{"tool":"divisor_sum","params":["n"]},{"tool":"dmarc_report_parse","params":["maxSources"]},{"tool":"dns_dump","params":["domain"]},{"tool":"dnssec_check","params":["domain"]},{"tool":"dockerfile_lint","params":["dockerfile"]},{"tool":"domb","params":["n"]},{"tool":"domb_gcd","params":["n"]},{"tool":"domb_mod","params":["m","n"]},{"tool":"domb_sum","params":["n"]},{"tool":"domb_term","params":["k","n"]},{"tool":"double_factorial","params":["n"]},{"tool":"dudeney","params":["n"]},{"tool":"duffinian","params":["n"]},{"tool":"duffinian_count","params":["n"]},{"tool":"duffinian_gcd","params":["n"]},{"tool":"duffinian_next","params":["n"]},{"tool":"duffinian_sum","params":["n"]},{"tool":"dyck_word","params":["word"]}],"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."}