{"id":799009,"recorded_at":"2026-10-28T19:56:09.176955Z","observed_at":"2026-10-28T19:56:09.176897Z","subject_kind":"endpoint","subject":"192ca454-fdd2-4d97-bd68-ecc31f58a3f7","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"ae9e36622144ff3a6d7558dadfcaa5eb9e7f15fc5b75185231259eb657002b3a","prev_id":null,"leaf":"0x5143424bd974d1fce43baa9ce25016e2da42772e8a8c8295f00f76ab813ccd0c","leaf_text":"{\"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\"}","day":{"day":"2026-10-28","leaves":231336,"root":"0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e","chained":"0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be","anchor_chain":"eip155:5042002","anchor_tx":"0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae","anchor_block":69584042},"proof":["0x5143920f56f52c8c0db9665a16a29b1461ff3353c21107c6e9834ad8e3eddb65","0xd28218d331776d17e494428230eb4e69fb95a80120c125072eb11b62f595573a","0x8b76a42695f7ffe5f82f78fcf53d46c8204c2fee59a77d970a4bf6e2281fea24","0x13aed56a1d1c03e9ee9d4f37922dc1bfea13d836716239c55d15e03193ba7115","0xee36651b4b50e3d079098c73ae810ff9c2ec33053584e70b310896b0c34de23d","0x58e63e371e45c1f6e61418d1ad7f5b9a65dcceef12f01215087bd5f59d50811e","0x8fef105eb78b445a9e9b8e4e27a5a2920517200a4f653694e8a4ae1f7042dca6","0x7a0edee2e2ed0ce5d8fc9ca475e6fa4a0aaf8cbfa35a93510b936f380c65495d","0x1e5843713d979bffe6dfc6cff944456cf9c6883874f2c74a26e8ec8c0ae6083e","0x1840e41fe2e9d3f93b8f0c86f8aaae4681f4c96d1f58b663b66496a573992a84","0x57987a04344d09cdb6007c2f4672b014321129b0665a379164f512c6d951cf20","0x662c7e71e8ba4e546062900a226f33f4ce7ef3171d00ac2fa46d87dc7702d462","0x902a2dbf47c33b77a0326d8eee14fb4f6ce8a9c74f1c79c2695723137f2064af","0x8dce5117e7908d42b8abe04939e957eaffbae76d0f0a9d9ca7bb199e561aecf3","0xd12637e9c035a4c3a66d0f0436dfc7bf3f13da4d17ea045b647d9e9beef1ef11","0xa99a40fe210d675bb6ab72d4bb72ab40eb44ac345773c457fbe58e67a47b03df","0x7a743a0a09057bae687051274e1d45bf973bd36a1a4ba16a191b5d29e3bdfa2a","0xe027395fafb7fc41921c42ca0542524ea22204cbd5908b70b27f3d5fb26f5d0f"]}