addrbookFor publishers
← The evidence ledger

Evidence row 799009

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 192ca454-fdd2-4d97-bd68-ecc31f58a3f7
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
ae9e36622144ff3a6d7558dadfcaa5eb9e7f15fc5b75185231259eb657002b3a
Leaf
0x5143424bd974d1fce43baa9ce25016e2da42772e8a8c8295f00f76ab813ccd0c

What was observed

{
  "count": 70,
  "tools": [
    {
      "description": "Encodes UTF-8 text to standard or url-safe base64, or decodes either form; binary results that are not valid UTF-8 come back as hex. Returns encode: { base64, variant, bytes } · decode: { text | null, hex | null, utf8, bytes } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "description": "Text to encode, or base64 (standard or url-safe, padding optional) to decode.",
            "maxLength": 48000,
            "type": "string"
          },
          "mode": {
            "description": "encode turns text into base64; decode turns base64 into text (or hex).",
            "enum": [
              "encode",
              "decode"
            ],
            "type": "string"
          },
          "variant": {
            "default": "standard",
            "description": "Output alphabet when encoding: standard (+/ and padding) or url (-_ without padding).",
            "enum": [
              "standard",
              "url"
            ],
            "type": "string"
          }
        },
        "required": [
          "mode",
          "data"
        ],
        "type": "object"
      },
      "name": "base64"
    },
    {
      "description": "Says whether an IPv4 or IPv6 address is in Cloudflare's published edge ranges, and which range. Returns { ip, version, cloudflare, range, rangesAsOf }: range is the matching CIDR or null. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ip": {
            "description": "IPv4 (dotted quad) or IPv6 address, without a port or zone id.",
            "maxLength": 64,
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "ip"
        ],
        "type": "object"
      },
      "name": "cf-ip-check"
    },
    {
      "description": "Splits text for retrieval by estimated tokens, sentences or markdown headings, with token overlap and stable SHA-256 chunk ids. Returns { chunks: [{ id (sha-256 hex of the chunk text), index, text, tokens, start, end, heading? }], count, mode, size, overlap, family, method } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "family": {
            "default": "cl100k",
            "description": "Tokenizer family used for counts: cl100k, o200k, claude or llama (all estimates).",
            "enum": [
              "cl100k",
              "o200k",
              "claude",
              "llama"
            ],
            "type": "string"
          },
          "mode": {
            "default": "sentences",
            "description": "Split by estimated tokens, by sentence boundaries, or by markdown heading sections (each chunk carries its heading).",
            "enum": [
              "tokens",
              "sentences",
              "headings"
            ],
            "type": "string"
          },
          "overlap": {
            "default": 40,
            "description": "Estimated tokens repeated from the end of one chunk at the start of the next; must be under half of size.",
            "maximum": 1999,
            "minimum": 0,
            "type": "integer"
          },
          "size": {
            "default": 400,
            "description": "Target maximum estimated tokens per chunk, 32 to 4000.",
            "maximum": 4000,
            "minimum": 32,
            "type": "integer"
          },
          "text": {
            "description": "Text or markdown to chunk, up to 60,000 characters.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "chunk-text"
    },
    {
      "description": "Picks one label from your list (2 to 20 labels) for a piece of text. Returns { label, labels }: the chosen label (one of yours, or null if none fit) and the labels sent. Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "labels": {
            "description": "Candidate labels, 2 to 20, each 1 to 40 characters; the answer is always one of these or null.",
            "items": {
              "maxLength": 40,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 20,
            "minItems": 2,
            "type": "array"
          },
          "text": {
            "description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text",
          "labels"
        ],
        "type": "object"
      },
      "name": "classify"
    },
    {
      "description": "Lints a CLAUDE.md: size, structure, @imports, and secrets, passwords or email addresses that should not be there. Returns { ok, stats { characters, lines, approxTokens, headings, imports }, findings[{ severity: error|warning|info, code, path, message }] and counts { error, warning, info } }. Paths are line numbers. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "The CLAUDE.md text, up to 60,000 characters.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "claude-md-lint"
    },
    {
      "description": "Reviews a code snippet and returns concrete issues (bugs, security, performance, style) with severity and a fix for each. Returns { language, summary, issues: [{ severity, line, issue, fix }] } Price: 4 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "Source code to review, up to 6,000 characters.",
            "maxLength": 6000,
            "minLength": 1,
            "type": "string"
          },
          "language": {
            "description": "Language name, or omit to auto-detect.",
            "maxLength": 40,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "code-review"
    },
    {
      "description": "Turns a unified diff into a Conventional Commits message: type, scope, subject and body. Returns { message, type, scope, subject, body } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "diff": {
            "description": "Unified diff (git diff output), up to 7,000 characters.",
            "maxLength": 7000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "diff"
        ],
        "type": "object"
      },
      "name": "commit-message"
    },
    {
      "description": "Computes the WCAG 2.2 contrast ratio of two colours, pass/fail for AA and AAA, and the nearest passing foreground when it fails. Returns { ratio, aa_normal, aa_large, aaa_normal, aaa_large, ui_components, suggested_foreground } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "background": {
            "description": "Background colour, hex.",
            "pattern": "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
            "type": "string"
          },
          "foreground": {
            "description": "Text colour, hex.",
            "pattern": "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
            "type": "string"
          }
        },
        "required": [
          "foreground",
          "background"
        ],
        "type": "object"
      },
      "name": "contrast-check"
    },
    {
      "description": "Sends a GET with an Origin header (and an OPTIONS preflight for non-simple methods, custom headers or credentials) to a public URL and reports the Access-Control-* headers with an allowed/blocked verdict. Returns { url, finalUrl, origin, status, preflight: { status } | null, headers: { acao, acac, acam, acah, vary }, allowed, issues } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "credentials": {
            "default": false,
            "description": "Whether the call sends cookies or auth (credentials: include).",
            "type": "boolean"
          },
          "method": {
            "default": "GET",
            "description": "Method the browser call would use; non-simple methods trigger a preflight.",
            "pattern": "^[A-Za-z]{3,10}$",
            "type": "string"
          },
          "origin": {
            "default": "https://example.com",
            "description": "Origin the browser would send, e.g. https://app.example.com.",
            "maxLength": 512,
            "pattern": "^https?://",
            "type": "string"
          },
          "requestHeaders": {
            "description": "Request header names the call would send (triggers a preflight when non-empty).",
            "items": {
              "pattern": "^[A-Za-z0-9-]{1,64}$",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "cors-check"
    },
    {
      "description": "Explains a 5-field cron expression in plain English (UTC, as Cloudflare runs it). Returns { cron, explanation }: the expression and a plain-English reading of it. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cron": {
            "description": "Five-field cron expression (minute hour day-of-month month day-of-week), read as UTC like Cloudflare Cron Triggers.",
            "maxLength": 100,
            "minLength": 9,
            "type": "string"
          }
        },
        "required": [
          "cron"
        ],
        "type": "object"
      },
      "name": "cron-explain"
    },
    {
      "description": "Checks a cron expression against Cloudflare Cron Trigger syntax, explains it, lists the next runs and gives the wrangler snippet. Returns { valid, cron, errors, warnings, explanation, nextRuns (up to 5 ISO times, standard syntax only), snippets { jsonc, toml } }. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cron": {
            "description": "Cron expression. Cloudflare uses 5 fields in UTC, weekdays 1 to 7 with 1 = Sunday (or SUN-SAT), and allows L, W and #.",
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "cron"
        ],
        "type": "object"
      },
      "name": "cron-to-cf"
    },
    {
      "description": "Converts a curl command into JavaScript fetch, Python requests, Go net/http or PHP code. Returns { language, request: { url, method, headers, data }, code } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "curl": {
            "description": "A curl command line.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          },
          "language": {
            "description": "Target language, default javascript.",
            "enum": [
              "javascript",
              "python",
              "go",
              "php"
            ],
            "type": "string"
          }
        },
        "required": [
          "curl"
        ],
        "type": "object"
      },
      "name": "curl-to-code"
    },
    {
      "description": "Converts JSONL between OpenAI-style chat, Anthropic-style messages and Alpaca rows. System prompts move between the system message and the top-level field; rows that cannot convert are listed. Returns { from, to, converted, skippedCount, skipped: [{ line, reason }], jsonl } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "default": "auto",
            "description": "openai (messages with system/user/assistant/tool), anthropic (top-level system + user/assistant messages), alpaca (instruction/input/output), or auto to detect from the first parseable row.",
            "enum": [
              "auto",
              "openai",
              "anthropic",
              "alpaca"
            ],
            "type": "string"
          },
          "jsonl": {
            "description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          },
          "to": {
            "description": "Target format: openai, anthropic or alpaca (alpaca takes single user/assistant exchanges only).",
            "enum": [
              "openai",
              "anthropic",
              "alpaca"
            ],
            "type": "string"
          }
        },
        "required": [
          "jsonl",
          "to"
        ],
        "type": "object"
      },
      "name": "dataset-convert"
    },
    {
      "description": "Deterministic seeded shuffle and train/val/test split of JSONL rows. The same seed and input always give the same split. Returns { seed, ratios, counts: { train, val, test, skipped }, train, val, test } (each split as JSONL) Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "jsonl": {
            "description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          },
          "seed": {
            "default": "highland",
            "description": "Shuffle seed; any string.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "test": {
            "default": 0.1,
            "description": "Share of rows for test.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "train": {
            "default": 0.8,
            "description": "Share of rows for train. train + val + test must equal 1.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "val": {
            "default": 0.1,
            "description": "Share of rows for validation.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "jsonl"
        ],
        "type": "object"
      },
      "name": "dataset-split"
    },
    {
      "description": "Checks chat (OpenAI-style), messages (Anthropic-style) or Alpaca JSONL: per-line errors, role order, empty turns, duplicates, token estimates and a training-cost estimate from your price. Returns { format, lines, valid, invalid, ok, errors: [{ line, code, message }] (first 100), errorCount, errorsTruncated, duplicates: [{ line, firstLine }], duplicateCount, tokens: { total, mean, max }, costEstimate } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "epochs": {
            "default": 3,
            "description": "Training epochs for the cost estimate, 1 to 50.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "format": {
            "default": "auto",
            "description": "openai (messages with system/user/assistant/tool), anthropic (top-level system + user/assistant messages), alpaca (instruction/input/output), or auto to detect from the first parseable row.",
            "enum": [
              "auto",
              "openai",
              "anthropic",
              "alpaca"
            ],
            "type": "string"
          },
          "jsonl": {
            "description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          },
          "pricePerMillionTokens": {
            "description": "Optional: your training price per million tokens, used only for costEstimate (any currency).",
            "maximum": 10000,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "jsonl"
        ],
        "type": "object"
      },
      "name": "dataset-validate"
    },
    {
      "description": "A, AAAA, MX, NS and TXT records for a domain over DNS-over-HTTPS. Returns { domain, records: { A, AAAA, MX, NS, TXT } }: each record type as a list of strings. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "dns-lookup"
    },
    {
      "description": "Embeds 1 to 16 short texts with the fixed Workers AI model @cf/baai/bge-base-en-v1.5 (768 dimensions) for search and clustering. Returns { model, dimensions, count, vectors: number[][] } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "inputs": {
            "description": "1 to 16 texts, each up to 2000 characters.",
            "items": {
              "maxLength": 2000,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 16,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "inputs"
        ],
        "type": "object"
      },
      "name": "embed"
    },
    {
      "description": "Company profile from public web sources: name, description, industry, recent signals and the sources used. Returns { name, domain, description, industry, signals, sources: [{ url, title }] }: up to 5 signals and 8 sources. Organisations only, never people. Price: 14 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "enrich-company"
    },
    {
      "description": "Profiles one public page: title, summary, organisations and other entities, topics, sentiment and public contact points. Returns { url, finalUrl, title, summary, entities: [{ text, type }], topics, sentiment: { label, score }, contact_points: { emails, phones, pages, social } }. Only role mailboxes (info@, sales@ ...) are returned. Price: 12 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "enrich-url"
    },
    {
      "description": "Named entities of fixed types (person, organization, location, product, event, date, money, law, technology), each found verbatim in your text. Returns { entities: [{ text, type }], counts }: up to 50 entities, each present in the (redacted) text, and a count per type. Price: 10 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          },
          "types": {
            "description": "Entity types to return; default all nine.",
            "items": {
              "enum": [
                "person",
                "organization",
                "location",
                "product",
                "event",
                "date",
                "money",
                "law",
                "technology"
              ],
              "type": "string"
            },
            "maxItems": 9,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "entity-extract"
    },
    {
      "description": "Pages similar in meaning to a given public URL, with highlights. Up to 10 results. Returns { url, results: [{ title, url, publishedDate, score, highlights }] }. Price: 8 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "excludeSourceDomain": {
            "default": true,
            "description": "Leave out pages from the same domain as the URL (default true).",
            "type": "boolean"
          },
          "numResults": {
            "default": 5,
            "description": "Results to return, 1 to 10.",
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "find-similar"
    },
    {
      "description": "SHA-1/256/384/512 hex digest of UTF-8 text. Returns { algorithm, hex }: the lower-case hex digest. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "algorithm": {
            "default": "sha256",
            "description": "Digest algorithm.",
            "enum": [
              "sha1",
              "sha256",
              "sha384",
              "sha512"
            ],
            "type": "string"
          },
          "text": {
            "description": "Text to hash as UTF-8, up to 64,000 characters.",
            "maxLength": 64000,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "hash"
    },
    {
      "description": "Which security headers a site's HTTPS front page sends, with a simple grade. Returns { domain, status, present, missing, grade, server }: security headers sent and missing, and a grade A, B, C or F. Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "header-audit"
    },
    {
      "description": "Validates a Claude Code hooks block (or a whole settings.json): events, matchers, hook types, timeouts and risky commands. Returns { ok, events, hookCount, findings[{ severity: error|warning|info, code, path, message }] and counts { error, warning, info } }. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "config": {
            "description": "The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters."
          }
        },
        "required": [
          "config"
        ],
        "type": "object"
      },
      "name": "hooks-validate"
    },
    {
      "description": "Adds 14% NS HST to a subtotal, or splits a tax-included total. Confirm the rate with CRA. Returns { subtotalCents, hstCents, totalCents, rate }. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "amountCents": {
            "description": "Pre-tax subtotal, or the tax-included total when included is true. Integer CAD cents.",
            "maximum": 100000000000,
            "minimum": 0,
            "type": "integer"
          },
          "included": {
            "default": false,
            "description": "amountCents already includes HST: split it instead of adding to it.",
            "type": "boolean"
          },
          "rate": {
            "default": 0.14,
            "description": "HST rate as a fraction (0.14 is the Nova Scotia rate).",
            "maximum": 0.2,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "amountCents"
        ],
        "type": "object"
      },
      "name": "hst-calc"
    },
    {
      "description": "Name, meaning, class, retryability and default cacheability of an HTTP status code, including Cloudflare's 52x codes. Returns { code, name, meaning, class, known, retryable, cacheableByDefault } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "Status code, 100 to 599.",
            "maximum": 599,
            "minimum": 100,
            "type": "integer"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "http-status"
    },
    {
      "description": "Whether plain HTTP redirects to HTTPS, and whether HSTS is set. Returns { domain, redirectsToHttps, hsts, hstsMaxAge, hstsStrong }: HTTP-to-HTTPS redirect and HSTS status. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "https-redirect"
    },
    {
      "description": "Formats PREFIX-YYYYMM-NNNNN-C with a Luhn check digit, or validates one. Returns { invoice } when formatting, or { valid } when validating. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "prefix": {
            "default": "HIC",
            "description": "Two to six upper-case letters.",
            "pattern": "^[A-Z]{2,6}$",
            "type": "string"
          },
          "sequence": {
            "description": "Invoice sequence number. Required unless validate is given.",
            "maximum": 99999,
            "minimum": 0,
            "type": "integer"
          },
          "validate": {
            "description": "An invoice number to check instead of formatting one; when given, the other fields are ignored.",
            "maxLength": 40,
            "type": "string"
          },
          "yyyymm": {
            "description": "Year and month as YYYYMM; defaults to the current UTC month.",
            "pattern": "^\\d{6}$",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "invoice-number"
    },
    {
      "description": "Pulls the fields you name out of free text (emails, invoices, tickets) and returns strict JSON, null when a field is absent. Returns { data: { <field>: value | null }, found, total } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "fields": {
            "description": "Field names to extract.",
            "items": {
              "pattern": "^[\\w .-]{1,40}$",
              "type": "string"
            },
            "maxItems": 30,
            "minItems": 1,
            "type": "array"
          },
          "text": {
            "description": "Source text, up to 6,000 characters.",
            "maxLength": 6000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text",
          "fields"
        ],
        "type": "object"
      },
      "name": "json-extract"
    },
    {
      "description": "Validates a JSON value against a JSON-Schema subset and lists every error path. Returns { valid, errors }: true when the value matches, and one message per error path (up to 50). Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "schema": {
            "description": "JSON Schema subset to check against: type, required, properties, items, enum, minimum, maximum, minLength, maxLength.",
            "type": "object"
          },
          "value": {
            "description": "Any JSON value to validate (object, array, string, number, boolean or null)."
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "name": "json-validate"
    },
    {
      "description": "Decodes a JWT header and payload without verifying it, with warnings for alg none, missing or past exp, future nbf/iat and risky header fields. Returns { header, payload, signatureBytes, times: { exp, nbf, iat, expired }, verified: false, warnings, note } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "token": {
            "description": "Compact JWS (header.payload.signature). It is decoded only; do not send production tokens you cannot rotate.",
            "maxLength": 16000,
            "minLength": 5,
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "jwt-decode"
    },
    {
      "description": "Key phrases of your text, each found verbatim in it; falls back to a frequency ranking if the model answer is unusable. Returns { keywords, source }: up to `max` phrases and whether they came from the model or the frequency fallback. Price: 10 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max": {
            "default": 10,
            "description": "Keywords to return, 1 to 25.",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "text": {
            "description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "keywords"
    },
    {
      "description": "SPF and DMARC presence and policy strength for a domain. Returns { domain, spf, dmarc, dmarcPolicy, findings, pass }: the SPF and DMARC records, the DMARC policy and finding codes. Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "mail-auth"
    },
    {
      "description": "Validates a Claude Code .mcp.json: transports, commands, URLs, headers and env, and flags literal secrets by path. Returns { ok, servers[{ name, transport }], findings[{ severity: error|warning|info, code, path, message }] and counts { error, warning, info } }. Values are never echoed. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "config": {
            "description": "The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters."
          }
        },
        "required": [
          "config"
        ],
        "type": "object"
      },
      "name": "mcp-config-validate"
    },
    {
      "description": "Generates realistic sample JSON from a JSON Schema or OpenAPI schema object, with field-aware values (emails, UUIDs, dates, URLs). Returns { data } or { data: [...], count } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "description": "Items to generate, default 1.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "schema": {
            "description": "JSON Schema (or OpenAPI schema object) of one response item.",
            "type": "object"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "name": "mock-response"
    },
    {
      "description": "Fetches a public page (first 512 KB) and returns its link-preview metadata: title, description, image, Open Graph and Twitter tags, canonical URL, icons and missing tags. Returns { url, finalUrl, status, title, description, image, siteName, canonical, icons, lang, og, twitter, missing, truncated } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "og-preview"
    },
    {
      "description": "Checks an OpenAPI 3.0/3.1 document (as JSON): version, info, paths, responses, unique operationIds, declared path parameters and unresolved local $refs. Returns { valid, version, operations, refs, unresolvedRefs, errors: [{ path, message }], warnings: [{ path, message }] } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "spec": {
            "description": "The OpenAPI document as a JSON object (convert YAML first). Request bodies are capped at 64 KiB.",
            "type": "object"
          }
        },
        "required": [
          "spec"
        ],
        "type": "object"
      },
      "name": "openapi-lint"
    },
    {
      "description": "Fetches a public page and returns clean, LLM-ready Markdown of the main content, with title, word and link counts. No third-party scraper. Returns { url, title, words, links, truncated, markdown } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_chars": {
            "description": "Markdown kept, default 20,000.",
            "maximum": 50000,
            "minimum": 500,
            "type": "integer"
          },
          "url": {
            "description": "Public http(s) URL to fetch. Private and internal hosts are refused.",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "page-markdown"
    },
    {
      "description": "Strips emails, phone numbers, card numbers, SINs and IPv4s. Runs locally, no model. Returns { text, counts }: the redacted text with [EMAIL]-style placeholders and a count per kind (email, card, sin, phone, ip). Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ip": {
            "default": true,
            "description": "Also redact IPv4 addresses.",
            "type": "boolean"
          },
          "text": {
            "description": "Text to redact, up to 32,000 characters.",
            "maxLength": 32000,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "pii-redact"
    },
    {
      "description": "Scans untrusted text (web pages, emails, tool output) for prompt-injection patterns before it reaches your agent; returns a risk score and the hits. Returns { risk: none|low|medium|high, score, hits: [{ rule, weight, match, index }] } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Untrusted text, up to 100,000 characters.",
            "maxLength": 100000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "prompt-inject-scan"
    },
    {
      "description": "Flags prompt-injection phrasing, chat-template tokens, hidden characters, PII and secrets per line, and lists {{variables}}. Rule-based, no model call; flagged text is never echoed. Returns { ok, findings: [{ kind, severity, line, detail }], counts: { high, medium, low }, variables } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "prompt": {
            "description": "Prompt or template text to check, up to 60,000 characters.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "name": "prompt-lint"
    },
    {
      "description": "Totals line items, applies a discount and HST, and computes a deposit. No customer details taken. Returns { lines, grossCents, discountCents, subtotalCents, hstCents, totalCents, rate, depositCents }. Price: 5 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "depositPct": {
            "default": 0,
            "description": "Deposit as a percent of the tax-included total.",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "discountPct": {
            "default": 0,
            "description": "Discount on the gross total, in percent.",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "items": {
            "description": "Line items, 1 to 100.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "qty": {
                  "description": "Quantity, a whole number of at least 1.",
                  "maximum": 100000,
                  "minimum": 1,
                  "type": "integer"
                },
                "sku": {
                  "description": "Product code or short label; the first 40 characters are kept (default item-N).",
                  "maxLength": 200,
                  "type": "string"
                },
                "unitCents": {
                  "description": "Unit price in integer CAD cents, pre-tax.",
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "qty",
                "unitCents"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "name": "quote-build"
    },
    {
      "description": "Modern WHOIS over RDAP: registrar, creation and expiry dates, days to expiry, status codes, nameservers and DNSSEC. Returns { domain, registrar, created, updated, expires, days_to_expiry, status, nameservers, dnssec } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "rdap-lookup"
    },
    {
      "description": "Writes a JavaScript regex from a plain-English description, compiles it, and tests it against your sample strings. Returns { pattern, flags, literal, explanation, tests: [{ input, expected, got }], passed, total } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "description": "What the regex should match, in plain English.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "should_match": {
            "description": "Strings that must match.",
            "items": {
              "maxLength": 500,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "should_not_match": {
            "description": "Strings that must not match.",
            "items": {
              "maxLength": 500,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          }
        },
        "required": [
          "description"
        ],
        "type": "object"
      },
      "name": "regex-from-english"
    },
    {
      "description": "Runs a JavaScript regex over sample text and returns matches and groups (capped sizes). Returns { count, matches }: up to 100 matches, each { match, index, groups }. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "flags": {
            "default": "g",
            "description": "Regex flags from g, i, m, s, u, y; g is always added.",
            "maxLength": 6,
            "pattern": "^[gimsuy]*$",
            "type": "string"
          },
          "pattern": {
            "description": "JavaScript regular expression source, without slashes, up to 200 characters.",
            "maxLength": 200,
            "type": "string"
          },
          "text": {
            "description": "Sample text to search, up to 2,000 characters.",
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "pattern",
          "text"
        ],
        "type": "object"
      },
      "name": "regex-test"
    },
    {
      "description": "Reads a site's robots.txt and says whether a crawler may fetch a path, with the matching rule, the major AI crawlers' access and the sitemaps. Returns { robots_url, robots_status, agent, path, allowed, rule, ai_crawlers, sitemaps } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "description": "Crawler user agent, default *.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL to fetch. Private and internal hosts are refused.",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "robots-check"
    },
    {
      "description": "Fetches /.well-known/security.txt and reports Contact and Expires (RFC 9116). Returns { domain, present, hasContact, expires, expired }: whether security.txt exists, has a Contact and has expired. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "security-txt"
    },
    {
      "description": "Sorts versions by SemVer 2.0 precedence, returns the latest stable and pre-release, and the next major, minor and patch. Returns { sorted, latest_stable, latest, invalid, next: { major, minor, patch, from } } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "versions": {
            "description": "Version strings, optionally v-prefixed.",
            "items": {
              "maxLength": 100,
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "versions"
        ],
        "type": "object"
      },
      "name": "semver"
    },
    {
      "description": "Positive, negative or neutral, with a score from -1 to 1, from a sentiment classifier over up to 8,000 characters. Returns { label, score, positive, negative, chunks }: label is positive, negative or neutral (below 0.6 confidence); score is positive minus negative. Price: 10 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "sentiment"
    },
    {
      "description": "Audits a live page: title and description length, H1s, canonical, robots, lang, viewport, image alts, structured data and links, scored 0-100. Returns { url, status, score, title, description, h1_count, images, images_missing_alt, links, checks: [{ id, pass, weight }] } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Public http(s) URL to fetch. Private and internal hosts are refused.",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "seo-audit"
    },
    {
      "description": "Ranks up to 15 candidate texts by cosine similarity to a query, using @cf/baai/bge-base-en-v1.5 embeddings. Returns { model, ranked: [{ index, score }] (highest first), scores: number[] (input order) } Price: 3 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "candidates": {
            "description": "1 to 15 candidate texts, each up to 2000 characters.",
            "items": {
              "maxLength": 2000,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 15,
            "minItems": 1,
            "type": "array"
          },
          "query": {
            "description": "Query text, up to 2000 characters.",
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query",
          "candidates"
        ],
        "type": "object"
      },
      "name": "similarity"
    },
    {
      "description": "Writes a ready-to-save Claude Code slash command file with frontmatter, $ARGUMENTS and a step outline. Returns { path, content, usage }: save content at path (.claude/commands/<name>.md). Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "allowedTools": {
            "description": "Optional tool rules the command may use, e.g. Read or Bash(git diff:*).",
            "items": {
              "maxLength": 220,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "argumentHint": {
            "description": "Optional hint for the arguments, e.g. [file] [focus].",
            "maxLength": 100,
            "type": "string"
          },
          "description": {
            "description": "One-line description shown in the / menu.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "Command name: lowercase letters, digits and -, up to 40 characters.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ],
        "type": "object"
      },
      "name": "slash-command-scaffold"
    },
    {
      "description": "Explains a SQL query step by step and flags performance and safety risks, with index suggestions. Returns { summary, steps, risks, index_suggestions } Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "sql": {
            "description": "One SQL statement, up to 5,000 characters. It is not executed.",
            "maxLength": 5000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "sql"
        ],
        "type": "object"
      },
      "name": "sql-explain"
    },
    {
      "description": "Three-bullet summary of up to 8,000 characters. Input is PII-redacted first. Returns { summary }: up to three short bullet points as one string. Price: 4 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "summarize"
    },
    {
      "description": "Line-by-line diff of two texts (up to 500 lines each). Returns { added, removed, diff }: line counts and the diff lines prefixed with space, - or +. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "a": {
            "description": "Original text, up to 32,000 characters and 500 lines.",
            "maxLength": 32000,
            "type": "string"
          },
          "b": {
            "description": "Changed text, up to 32,000 characters and 500 lines.",
            "maxLength": 32000,
            "type": "string"
          }
        },
        "required": [
          "a",
          "b"
        ],
        "type": "object"
      },
      "name": "text-diff"
    },
    {
      "description": "Word, sentence and character counts, reading time and a Flesch reading-ease score. Returns { characters, words, sentences, readingMinutes, fleschReadingEase }. Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Text to measure, up to 64,000 characters.",
            "maxLength": 64000,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "text-stats"
    },
    {
      "description": "Estimated token counts for cl100k-like, o200k-like, Claude-like and Llama-like tokenizers plus a char/4 baseline. Deterministic estimates, not exact counts. Returns { estimates: { cl100k, o200k, claude, llama, char4 }, chars, bytes, pieces, method, exact: false } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Text to count, up to 60,000 characters.",
            "maxLength": 60000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "token-count"
    },
    {
      "description": "Builds ready-to-paste tool definitions for Anthropic, OpenAI and MCP from a compact parameter spec. Returns { anthropic, openai, mcp } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "description": "What the tool does.",
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "Tool name.",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "type": "string"
          },
          "params": {
            "description": "Map of parameter name to \"type[:extra][!] description\"; types string, number, integer, boolean, object, enum:a,b, array:itemtype; ! marks required.",
            "type": "object"
          }
        },
        "required": [
          "name",
          "description"
        ],
        "type": "object"
      },
      "name": "tool-schema"
    },
    {
      "description": "Translates text between languages; defaults to English to French for NS/NB customers. Returns { translated, source, target }: the translated text and the language pair used. Price: 4 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "source": {
            "default": "en",
            "description": "ISO 639-1 two-letter lower-case language code of the input text.",
            "pattern": "^[a-z]{2}$",
            "type": "string"
          },
          "target": {
            "default": "fr",
            "description": "ISO 639-1 two-letter lower-case language code to translate into.",
            "pattern": "^[a-z]{2}$",
            "type": "string"
          },
          "text": {
            "description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it.",
            "maxLength": 8000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "translate"
    },
    {
      "description": "One HTTPS probe of a public domain: status, latency and whether it looks up. Returns { domain, up, status, ms }: up is true for any status below 500; status is null when the host does not answer. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused.",
            "maxLength": 253,
            "minLength": 4,
            "type": "string"
          },
          "path": {
            "default": "/",
            "description": "Path to probe, starting with /, letters, digits, _ . / - only.",
            "maxLength": 200,
            "pattern": "^/[\\w./-]*$",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "uptime-check"
    },
    {
      "description": "Splits a URL into scheme, host, port, path segments, query (repeated keys as arrays) and fragment, with warnings for credentials, plain http and punycode. Passwords are never echoed. Returns { href, protocol, username, hasPassword, hostname, port, pathname, pathSegments, query, hash, origin, isIp, warnings } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Absolute URL to parse. It is not fetched.",
            "maxLength": 8192,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "url-parse"
    },
    {
      "description": "Identifies browser, engine, OS, device class and known crawlers, AI bots and HTTP clients from a User-Agent string. Rule-based; user agents can be spoofed. Returns { browser: { name, version }, engine, os: { name, version }, device, isBot, bot } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "userAgent": {
            "description": "The User-Agent header value.",
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "userAgent"
        ],
        "type": "object"
      },
      "name": "user-agent-parse"
    },
    {
      "description": "Generates 1 to 100 random v4 or time-ordered v7 UUIDs (RFC 9562) from Web Crypto. Returns { version, uuids: string[] } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "default": 1,
            "description": "How many UUIDs, 1 to 100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "version": {
            "default": 4,
            "description": "4 for random, 7 for Unix-ms time-ordered (sortable, good for database keys).",
            "enum": [
              4,
              7
            ],
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "uuid"
    },
    {
      "description": "Clean text of up to 5 public pages, capped per page, for agents to read. Returns { results: [{ url, title, publishedDate, text, characters }] }: one entry per page the provider could read. Price: 6 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "maxCharacters": {
            "default": 5000,
            "description": "Text kept per page, 500 to 10,000 characters.",
            "maximum": 10000,
            "minimum": 500,
            "type": "integer"
          },
          "urls": {
            "description": "1 to 5 public http(s) URLs.",
            "items": {
              "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
              "maxLength": 2048,
              "minLength": 8,
              "pattern": "^https?://",
              "type": "string"
            },
            "maxItems": 5,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "web-contents"
    },
    {
      "description": "Scrapes a public page and fills your flat schema (up to 20 typed fields) from it. Values are type-checked. Returns { url, finalUrl, title, data, missing }: one value per field (typed, or null when the page does not say) and the required fields that came back null. Price: 10 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "schema": {
            "description": "Flat JSON Schema of what to extract: { type: \"object\", properties: { <name>: { type: string|number|integer|boolean, description?, enum? } }, required? }. 1 to 20 fields; names match ^[A-Za-z_][A-Za-z0-9_]{0,39}$; descriptions up to 200 characters; enums up to 20 values.",
            "type": "object"
          },
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url",
          "schema"
        ],
        "type": "object"
      },
      "name": "web-extract"
    },
    {
      "description": "Discovers the URLs of a public site (up to 200), optionally ranked by a search term. Returns { url, count, links }: up to 200 unique public URLs. Price: 6 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "includeSubdomains": {
            "default": false,
            "description": "Also include links on subdomains of the site.",
            "type": "boolean"
          },
          "limit": {
            "default": 100,
            "description": "Links to return, 1 to 200.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "search": {
            "description": "Optional term to rank and filter links by, up to 200 characters.",
            "maxLength": 200,
            "type": "string"
          },
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "web-map"
    },
    {
      "description": "Main content of one public page as Markdown (up to 50,000 characters), with title and status. Returns { url, finalUrl, title, description, statusCode, markdown, characters, truncated }. Price: 7 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "maxChars": {
            "default": 20000,
            "description": "Markdown kept, 1,000 to 50,000 characters.",
            "maximum": 50000,
            "minimum": 1000,
            "type": "integer"
          },
          "url": {
            "description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused.",
            "maxLength": 2048,
            "minLength": 8,
            "pattern": "^https?://",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "web-scrape"
    },
    {
      "description": "Neural or keyword web search with highlights, for agents. Up to 10 results, public URLs only. Returns { query, results: [{ title, url, publishedDate, score, highlights }] }: up to 10 results, each with up to 3 highlights of 500 characters. Price: 8 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "excludeDomains": {
            "description": "Never return results from these domains (up to 20).",
            "items": {
              "maxLength": 253,
              "minLength": 3,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "includeDomains": {
            "description": "Only return results from these domains (up to 20).",
            "items": {
              "maxLength": 253,
              "minLength": 3,
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "numResults": {
            "default": 5,
            "description": "Results to return, 1 to 10.",
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Search query, 1 to 500 characters.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "startPublishedDate": {
            "description": "Only pages published on or after this date (YYYY-MM-DD, UTC).",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "type": {
            "default": "auto",
            "description": "Search mode: auto (default), neural (semantic) or fast.",
            "enum": [
              "auto",
              "neural",
              "fast"
            ],
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "web-search"
    },
    {
      "description": "Verifies Stripe, GitHub, Slack, Shopify or generic HMAC-SHA256 webhook signatures exactly as the provider computes them, with timestamp tolerance. Returns { provider, valid, timestamp?, age_s?, within_tolerance? } Price: 1 credit (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "payload": {
            "description": "Raw request body exactly as received.",
            "maxLength": 500000,
            "minLength": 0,
            "type": "string"
          },
          "provider": {
            "description": "Signature scheme.",
            "enum": [
              "stripe",
              "github",
              "slack",
              "shopify",
              "hmac-sha256"
            ],
            "type": "string"
          },
          "secret": {
            "description": "Webhook signing secret. Use a test secret; it is not stored.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "signature": {
            "description": "Signature header value (Stripe-Signature, X-Hub-Signature-256, X-Slack-Signature, X-Shopify-Hmac-Sha256, or hex/base64).",
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          },
          "timestamp": {
            "description": "Slack only: X-Slack-Request-Timestamp.",
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "tolerance_s": {
            "description": "Allowed clock skew for Stripe and Slack, default 300.",
            "maximum": 86400,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "provider",
          "secret",
          "payload",
          "signature"
        ],
        "type": "object"
      },
      "name": "webhook-verify"
    },
    {
      "description": "Lints a wrangler.jsonc or wrangler.toml: name, entry point, compatibility date, secrets left in vars, routes. Returns { ok, format, findings[{ severity: error|warning|info, code, path, message }] and counts { error, warning, info } }. Values are never echoed, only paths. Price: 2 credits (1 credit = 1 CAD cent) per successful call; input that does not match the schema is rejected before billing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "config": {
            "description": "The wrangler.jsonc, wrangler.json or wrangler.toml text, up to 60,000 characters.",
            "maxLength": 60000,
            "minLength": 2,
            "type": "string"
          },
          "format": {
            "default": "auto",
            "description": "Config format; auto treats text starting with { as JSONC, otherwise TOML.",
            "enum": [
              "auto",
              "jsonc",
              "toml"
            ],
            "type": "string"
          }
        },
        "required": [
          "config"
        ],
        "type": "object"
      },
      "name": "wrangler-lint"
    }
  ]
}

What the leaf hashes

{"body":"ae9e36622144ff3a6d7558dadfcaa5eb9e7f15fc5b75185231259eb657002b3a","id":799009,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793217369176897,"prev":null,"subject":"192ca454-fdd2-4d97-bd68-ecc31f58a3f7","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (231336 rows).

  1. 0x5143920f56f52c8c0db9665a16a29b1461ff3353c21107c6e9834ad8e3eddb65
  2. 0xd28218d331776d17e494428230eb4e69fb95a80120c125072eb11b62f595573a
  3. 0x8b76a42695f7ffe5f82f78fcf53d46c8204c2fee59a77d970a4bf6e2281fea24
  4. 0x13aed56a1d1c03e9ee9d4f37922dc1bfea13d836716239c55d15e03193ba7115
  5. 0xee36651b4b50e3d079098c73ae810ff9c2ec33053584e70b310896b0c34de23d
  6. 0x58e63e371e45c1f6e61418d1ad7f5b9a65dcceef12f01215087bd5f59d50811e
  7. 0x8fef105eb78b445a9e9b8e4e27a5a2920517200a4f653694e8a4ae1f7042dca6
  8. 0x7a0edee2e2ed0ce5d8fc9ca475e6fa4a0aaf8cbfa35a93510b936f380c65495d
  9. 0x1e5843713d979bffe6dfc6cff944456cf9c6883874f2c74a26e8ec8c0ae6083e
  10. 0x1840e41fe2e9d3f93b8f0c86f8aaae4681f4c96d1f58b663b66496a573992a84
  11. 0x57987a04344d09cdb6007c2f4672b014321129b0665a379164f512c6d951cf20
  12. 0x662c7e71e8ba4e546062900a226f33f4ce7ef3171d00ac2fa46d87dc7702d462
  13. 0x902a2dbf47c33b77a0326d8eee14fb4f6ce8a9c74f1c79c2695723137f2064af
  14. 0x8dce5117e7908d42b8abe04939e957eaffbae76d0f0a9d9ca7bb199e561aecf3
  15. 0xd12637e9c035a4c3a66d0f0436dfc7bf3f13da4d17ea045b647d9e9beef1ef11
  16. 0xa99a40fe210d675bb6ab72d4bb72ab40eb44ac345773c457fbe58e67a47b03df
  17. 0x7a743a0a09057bae687051274e1d45bf973bd36a1a4ba16a191b5d29e3bdfa2a
  18. 0xe027395fafb7fc41921c42ca0542524ea22204cbd5908b70b27f3d5fb26f5d0f
Day root
0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
Chained
0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
Published
On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae

How to check it · This row as JSON