70 pay-per-call APIs: DNS, email auth, security headers, web search, scraping, AI. x402 USDC/Base
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Text to encode, or base64 (standard or url-safe, padding optional) to decode.
encode turns text into base64; decode turns base64 into text (or hex).
Output alphabet when encoding: standard (+/ and padding) or url (-_ without padding).
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.
| Argument | Type | Description |
|---|---|---|
| data* | string | Text to encode, or base64 (standard or url-safe, padding optional) to decode. |
| mode* | string | encode turns text into base64; decode turns base64 into text (or hex). |
| variant | string | Output alphabet when encoding: standard (+/ and padding) or url (-_ without padding). |
{
"type": "object",
"required": [
"mode",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 48000,
"description": "Text to encode, or base64 (standard or url-safe, padding optional) to decode."
},
"mode": {
"enum": [
"encode",
"decode"
],
"type": "string",
"description": "encode turns text into base64; decode turns base64 into text (or hex)."
},
"variant": {
"enum": [
"standard",
"url"
],
"type": "string",
"default": "standard",
"description": "Output alphabet when encoding: standard (+/ and padding) or url (-_ without padding)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| ip* | string | IPv4 (dotted quad) or IPv6 address, without a port or zone id. |
{
"type": "object",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"maxLength": 64,
"minLength": 2,
"description": "IPv4 (dotted quad) or IPv6 address, without a port or zone id."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| mode | string | Split by estimated tokens, by sentence boundaries, or by markdown heading sections (each chunk carries its heading). |
| size | integer | Target maximum estimated tokens per chunk, 32 to 4000. |
| text* | string | Text or markdown to chunk, up to 60,000 characters. |
| family | string | Tokenizer family used for counts: cl100k, o200k, claude or llama (all estimates). |
| overlap | integer | Estimated tokens repeated from the end of one chunk at the start of the next; must be under half of size. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"tokens",
"sentences",
"headings"
],
"type": "string",
"default": "sentences",
"description": "Split by estimated tokens, by sentence boundaries, or by markdown heading sections (each chunk carries its heading)."
},
"size": {
"type": "integer",
"default": 400,
"maximum": 4000,
"minimum": 32,
"description": "Target maximum estimated tokens per chunk, 32 to 4000."
},
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "Text or markdown to chunk, up to 60,000 characters."
},
"family": {
"enum": [
"cl100k",
"o200k",
"claude",
"llama"
],
"type": "string",
"default": "cl100k",
"description": "Tokenizer family used for counts: cl100k, o200k, claude or llama (all estimates)."
},
"overlap": {
"type": "integer",
"default": 40,
"maximum": 1999,
"minimum": 0,
"description": "Estimated tokens repeated from the end of one chunk at the start of the next; must be under half of size."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it. |
| labels* | array | Candidate labels, 2 to 20, each 1 to 40 characters; the answer is always one of these or null. |
{
"type": "object",
"required": [
"text",
"labels"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it."
},
"labels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20,
"minItems": 2,
"description": "Candidate labels, 2 to 20, each 1 to 40 characters; the answer is always one of these or null."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | The CLAUDE.md text, up to 60,000 characters. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "The CLAUDE.md text, up to 60,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code to review, up to 6,000 characters. |
| language | string | Language name, or omit to auto-detect. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 6000,
"minLength": 1,
"description": "Source code to review, up to 6,000 characters."
},
"language": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Language name, or omit to auto-detect."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| diff* | string | Unified diff (git diff output), up to 7,000 characters. |
{
"type": "object",
"required": [
"diff"
],
"properties": {
"diff": {
"type": "string",
"maxLength": 7000,
"minLength": 1,
"description": "Unified diff (git diff output), up to 7,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| background* | string | Background colour, hex. |
| foreground* | string | Text colour, hex. |
{
"type": "object",
"required": [
"foreground",
"background"
],
"properties": {
"background": {
"type": "string",
"pattern": "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"description": "Background colour, hex."
},
"foreground": {
"type": "string",
"pattern": "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"description": "Text colour, hex."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused. |
| method | string | Method the browser call would use; non-simple methods trigger a preflight. |
| origin | string | Origin the browser would send, e.g. https://app.example.com. |
| credentials | boolean | Whether the call sends cookies or auth (credentials: include). |
| requestHeaders | array | Request header names the call would send (triggers a preflight when non-empty). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused."
},
"method": {
"type": "string",
"default": "GET",
"pattern": "^[A-Za-z]{3,10}$",
"description": "Method the browser call would use; non-simple methods trigger a preflight."
},
"origin": {
"type": "string",
"default": "https://example.com",
"pattern": "^https?://",
"maxLength": 512,
"description": "Origin the browser would send, e.g. https://app.example.com."
},
"credentials": {
"type": "boolean",
"default": false,
"description": "Whether the call sends cookies or auth (credentials: include)."
},
"requestHeaders": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$"
},
"maxItems": 20,
"description": "Request header names the call would send (triggers a preflight when non-empty)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| cron* | string | Five-field cron expression (minute hour day-of-month month day-of-week), read as UTC like Cloudflare Cron Triggers. |
{
"type": "object",
"required": [
"cron"
],
"properties": {
"cron": {
"type": "string",
"maxLength": 100,
"minLength": 9,
"description": "Five-field cron expression (minute hour day-of-month month day-of-week), read as UTC like Cloudflare Cron Triggers."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| cron* | string | Cron expression. Cloudflare uses 5 fields in UTC, weekdays 1 to 7 with 1 = Sunday (or SUN-SAT), and allows L, W and #. |
{
"type": "object",
"required": [
"cron"
],
"properties": {
"cron": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Cron expression. Cloudflare uses 5 fields in UTC, weekdays 1 to 7 with 1 = Sunday (or SUN-SAT), and allows L, W and #."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| curl* | string | A curl command line. |
| language | string | Target language, default javascript. |
{
"type": "object",
"required": [
"curl"
],
"properties": {
"curl": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "A curl command line."
},
"language": {
"enum": [
"javascript",
"python",
"go",
"php"
],
"type": "string",
"description": "Target language, default javascript."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to* | string | Target format: openai, anthropic or alpaca (alpaca takes single user/assistant exchanges only). |
| from | string | 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. |
| jsonl* | string | JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored. |
{
"type": "object",
"required": [
"jsonl",
"to"
],
"properties": {
"to": {
"enum": [
"openai",
"anthropic",
"alpaca"
],
"type": "string",
"description": "Target format: openai, anthropic or alpaca (alpaca takes single user/assistant exchanges only)."
},
"from": {
"enum": [
"auto",
"openai",
"anthropic",
"alpaca"
],
"type": "string",
"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."
},
"jsonl": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| val | number | Share of rows for validation. |
| seed | string | Shuffle seed; any string. |
| test | number | Share of rows for test. |
| jsonl* | string | JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored. |
| train | number | Share of rows for train. train + val + test must equal 1. |
{
"type": "object",
"required": [
"jsonl"
],
"properties": {
"val": {
"type": "number",
"default": 0.1,
"maximum": 1,
"minimum": 0,
"description": "Share of rows for validation."
},
"seed": {
"type": "string",
"default": "highland",
"maxLength": 128,
"minLength": 1,
"description": "Shuffle seed; any string."
},
"test": {
"type": "number",
"default": 0.1,
"maximum": 1,
"minimum": 0,
"description": "Share of rows for test."
},
"jsonl": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored."
},
"train": {
"type": "number",
"default": 0.8,
"maximum": 1,
"minimum": 0,
"description": "Share of rows for train. train + val + test must equal 1."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| jsonl* | string | JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored. |
| epochs | integer | Training epochs for the cost estimate, 1 to 50. |
| format | string | 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. |
| pricePerMillionTokens | number | Optional: your training price per million tokens, used only for costEstimate (any currency). |
{
"type": "object",
"required": [
"jsonl"
],
"properties": {
"jsonl": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "JSONL: one JSON object per line, up to 60,000 characters and 5,000 lines. Blank lines are ignored."
},
"epochs": {
"type": "integer",
"default": 3,
"maximum": 50,
"minimum": 1,
"description": "Training epochs for the cost estimate, 1 to 50."
},
"format": {
"enum": [
"auto",
"openai",
"anthropic",
"alpaca"
],
"type": "string",
"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."
},
"pricePerMillionTokens": {
"type": "number",
"maximum": 10000,
"minimum": 0,
"description": "Optional: your training price per million tokens, used only for costEstimate (any currency)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| inputs* | array | 1 to 16 texts, each up to 2000 characters. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"maxItems": 16,
"minItems": 1,
"description": "1 to 16 texts, each up to 2000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first. |
| types | array | Entity types to return; default all nine. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first."
},
"types": {
"type": "array",
"items": {
"enum": [
"person",
"organization",
"location",
"product",
"event",
"date",
"money",
"law",
"technology"
],
"type": "string"
},
"maxItems": 9,
"minItems": 1,
"description": "Entity types to return; default all nine."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused. |
| numResults | integer | Results to return, 1 to 10. |
| excludeSourceDomain | boolean | Leave out pages from the same domain as the URL (default true). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
},
"numResults": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Results to return, 1 to 10."
},
"excludeSourceDomain": {
"type": "boolean",
"default": true,
"description": "Leave out pages from the same domain as the URL (default true)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to hash as UTF-8, up to 64,000 characters. |
| algorithm | string | Digest algorithm. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 64000,
"description": "Text to hash as UTF-8, up to 64,000 characters."
},
"algorithm": {
"enum": [
"sha1",
"sha256",
"sha384",
"sha512"
],
"type": "string",
"default": "sha256",
"description": "Digest algorithm."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| config* | any | The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters. |
{
"type": "object",
"required": [
"config"
],
"properties": {
"config": {
"description": "The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| rate | number | HST rate as a fraction (0.14 is the Nova Scotia rate). |
| included | boolean | amountCents already includes HST: split it instead of adding to it. |
| amountCents* | integer | Pre-tax subtotal, or the tax-included total when included is true. Integer CAD cents. |
{
"type": "object",
"required": [
"amountCents"
],
"properties": {
"rate": {
"type": "number",
"default": 0.14,
"maximum": 0.2,
"minimum": 0,
"description": "HST rate as a fraction (0.14 is the Nova Scotia rate)."
},
"included": {
"type": "boolean",
"default": false,
"description": "amountCents already includes HST: split it instead of adding to it."
},
"amountCents": {
"type": "integer",
"maximum": 100000000000,
"minimum": 0,
"description": "Pre-tax subtotal, or the tax-included total when included is true. Integer CAD cents."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| code* | integer | Status code, 100 to 599. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "integer",
"maximum": 599,
"minimum": 100,
"description": "Status code, 100 to 599."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| prefix | string | Two to six upper-case letters. |
| yyyymm | string | Year and month as YYYYMM; defaults to the current UTC month. |
| sequence | integer | Invoice sequence number. Required unless validate is given. |
| validate | string | An invoice number to check instead of formatting one; when given, the other fields are ignored. |
{
"type": "object",
"required": [],
"properties": {
"prefix": {
"type": "string",
"default": "HIC",
"pattern": "^[A-Z]{2,6}$",
"description": "Two to six upper-case letters."
},
"yyyymm": {
"type": "string",
"pattern": "^\\d{6}$",
"description": "Year and month as YYYYMM; defaults to the current UTC month."
},
"sequence": {
"type": "integer",
"maximum": 99999,
"minimum": 0,
"description": "Invoice sequence number. Required unless validate is given."
},
"validate": {
"type": "string",
"maxLength": 40,
"description": "An invoice number to check instead of formatting one; when given, the other fields are ignored."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Source text, up to 6,000 characters. |
| fields* | array | Field names to extract. |
{
"type": "object",
"required": [
"text",
"fields"
],
"properties": {
"text": {
"type": "string",
"maxLength": 6000,
"minLength": 1,
"description": "Source text, up to 6,000 characters."
},
"fields": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[\\w .-]{1,40}$"
},
"maxItems": 30,
"minItems": 1,
"description": "Field names to extract."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| value* | any | Any JSON value to validate (object, array, string, number, boolean or null). |
| schema* | object | JSON Schema subset to check against: type, required, properties, items, enum, minimum, maximum, minLength, maxLength. |
{
"type": "object",
"required": [
"schema",
"value"
],
"properties": {
"value": {
"description": "Any JSON value to validate (object, array, string, number, boolean or null)."
},
"schema": {
"type": "object",
"description": "JSON Schema subset to check against: type, required, properties, items, enum, minimum, maximum, minLength, maxLength."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| token* | string | Compact JWS (header.payload.signature). It is decoded only; do not send production tokens you cannot rotate. |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"maxLength": 16000,
"minLength": 5,
"description": "Compact JWS (header.payload.signature). It is decoded only; do not send production tokens you cannot rotate."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| max | integer | Keywords to return, 1 to 25. |
| text* | string | Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"max": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Keywords to return, 1 to 25."
},
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| config* | any | The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters. |
{
"type": "object",
"required": [
"config"
],
"properties": {
"config": {
"description": "The config as a JSON string (comments and trailing commas allowed) or as an object, up to 60,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| count | integer | Items to generate, default 1. |
| schema* | object | JSON Schema (or OpenAPI schema object) of one response item. |
{
"type": "object",
"required": [
"schema"
],
"properties": {
"count": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Items to generate, default 1."
},
"schema": {
"type": "object",
"description": "JSON Schema (or OpenAPI schema object) of one response item."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local, metadata and our own hosts are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| spec* | object | The OpenAPI document as a JSON object (convert YAML first). Request bodies are capped at 64 KiB. |
{
"type": "object",
"required": [
"spec"
],
"properties": {
"spec": {
"type": "object",
"description": "The OpenAPI document as a JSON object (convert YAML first). Request bodies are capped at 64 KiB."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL to fetch. Private and internal hosts are refused. |
| max_chars | integer | Markdown kept, default 20,000. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Public http(s) URL to fetch. Private and internal hosts are refused."
},
"max_chars": {
"type": "integer",
"maximum": 50000,
"minimum": 500,
"description": "Markdown kept, default 20,000."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| ip | boolean | Also redact IPv4 addresses. |
| text* | string | Text to redact, up to 32,000 characters. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"ip": {
"type": "boolean",
"default": true,
"description": "Also redact IPv4 addresses."
},
"text": {
"type": "string",
"maxLength": 32000,
"description": "Text to redact, up to 32,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Untrusted text, up to 100,000 characters. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 100000,
"minLength": 1,
"description": "Untrusted text, up to 100,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| prompt* | string | Prompt or template text to check, up to 60,000 characters. |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "Prompt or template text to check, up to 60,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| items* | array | Line items, 1 to 100. |
| depositPct | number | Deposit as a percent of the tax-included total. |
| discountPct | number | Discount on the gross total, in percent. |
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"qty",
"unitCents"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Quantity, a whole number of at least 1."
},
"sku": {
"type": "string",
"maxLength": 200,
"description": "Product code or short label; the first 40 characters are kept (default item-N)."
},
"unitCents": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Unit price in integer CAD cents, pre-tax."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Line items, 1 to 100."
},
"depositPct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Deposit as a percent of the tax-included total."
},
"discountPct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Discount on the gross total, in percent."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| description* | string | What the regex should match, in plain English. |
| should_match | array | Strings that must match. |
| should_not_match | array | Strings that must not match. |
{
"type": "object",
"required": [
"description"
],
"properties": {
"description": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "What the regex should match, in plain English."
},
"should_match": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 20,
"description": "Strings that must match."
},
"should_not_match": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 20,
"description": "Strings that must not match."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Sample text to search, up to 2,000 characters. |
| flags | string | Regex flags from g, i, m, s, u, y; g is always added. |
| pattern* | string | JavaScript regular expression source, without slashes, up to 200 characters. |
{
"type": "object",
"required": [
"pattern",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 2000,
"description": "Sample text to search, up to 2,000 characters."
},
"flags": {
"type": "string",
"default": "g",
"pattern": "^[gimsuy]*$",
"maxLength": 6,
"description": "Regex flags from g, i, m, s, u, y; g is always added."
},
"pattern": {
"type": "string",
"maxLength": 200,
"description": "JavaScript regular expression source, without slashes, up to 200 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL to fetch. Private and internal hosts are refused. |
| agent | string | Crawler user agent, default *. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Public http(s) URL to fetch. Private and internal hosts are refused."
},
"agent": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Crawler user agent, default *."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| versions* | array | Version strings, optionally v-prefixed. |
{
"type": "object",
"required": [
"versions"
],
"properties": {
"versions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 500,
"minItems": 1,
"description": "Version strings, optionally v-prefixed."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to analyse, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted first."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL to fetch. Private and internal hosts are refused. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Public http(s) URL to fetch. Private and internal hosts are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Query text, up to 2000 characters. |
| candidates* | array | 1 to 15 candidate texts, each up to 2000 characters. |
{
"type": "object",
"required": [
"query",
"candidates"
],
"properties": {
"query": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Query text, up to 2000 characters."
},
"candidates": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"maxItems": 15,
"minItems": 1,
"description": "1 to 15 candidate texts, each up to 2000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| name* | string | Command name: lowercase letters, digits and -, up to 40 characters. |
| description* | string | One-line description shown in the / menu. |
| allowedTools | array | Optional tool rules the command may use, e.g. Read or Bash(git diff:*). |
| argumentHint | string | Optional hint for the arguments, e.g. [file] [focus]. |
{
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
"description": "Command name: lowercase letters, digits and -, up to 40 characters."
},
"description": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One-line description shown in the / menu."
},
"allowedTools": {
"type": "array",
"items": {
"type": "string",
"maxLength": 220,
"minLength": 1
},
"maxItems": 20,
"description": "Optional tool rules the command may use, e.g. Read or Bash(git diff:*)."
},
"argumentHint": {
"type": "string",
"maxLength": 100,
"description": "Optional hint for the arguments, e.g. [file] [focus]."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| sql* | string | One SQL statement, up to 5,000 characters. It is not executed. |
{
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "One SQL statement, up to 5,000 characters. It is not executed."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| a* | string | Original text, up to 32,000 characters and 500 lines. |
| b* | string | Changed text, up to 32,000 characters and 500 lines. |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"maxLength": 32000,
"description": "Original text, up to 32,000 characters and 500 lines."
},
"b": {
"type": "string",
"maxLength": 32000,
"description": "Changed text, up to 32,000 characters and 500 lines."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to measure, up to 64,000 characters. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 64000,
"description": "Text to measure, up to 64,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to count, up to 60,000 characters. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "Text to count, up to 60,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| name* | string | Tool name. |
| params | object | Map of parameter name to "type[:extra][!] description"; types string, number, integer, boolean, object, enum:a,b, array:itemtype; ! marks required. |
| description* | string | What the tool does. |
{
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{1,64}$",
"description": "Tool name."
},
"params": {
"type": "object",
"description": "Map of parameter name to \"type[:extra][!] description\"; types string, number, integer, boolean, object, enum:a,b, array:itemtype; ! marks required."
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "What the tool does."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it. |
| source | string | ISO 639-1 two-letter lower-case language code of the input text. |
| target | string | ISO 639-1 two-letter lower-case language code to translate into. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Text to process, 1 to 8,000 characters. Emails, phone numbers, card numbers, SINs and IPv4s are redacted before the model sees it."
},
"source": {
"type": "string",
"default": "en",
"pattern": "^[a-z]{2}$",
"description": "ISO 639-1 two-letter lower-case language code of the input text."
},
"target": {
"type": "string",
"default": "fr",
"pattern": "^[a-z]{2}$",
"description": "ISO 639-1 two-letter lower-case language code to translate into."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| path | string | Path to probe, starting with /, letters, digits, _ . / - only. |
| domain* | string | Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"path": {
"type": "string",
"default": "/",
"pattern": "^/[\\w./-]*$",
"maxLength": 200,
"description": "Path to probe, starting with /, letters, digits, _ . / - only."
},
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 4,
"description": "Public domain name, e.g. example.com; IP literals and private suffixes (.local, .internal, .lan, .corp) are refused."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute URL to parse. It is not fetched. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 8192,
"minLength": 1,
"description": "Absolute URL to parse. It is not fetched."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| userAgent* | string | The User-Agent header value. |
{
"type": "object",
"required": [
"userAgent"
],
"properties": {
"userAgent": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The User-Agent header value."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| count | integer | How many UUIDs, 1 to 100. |
| version | integer | 4 for random, 7 for Unix-ms time-ordered (sortable, good for database keys). |
{
"type": "object",
"required": [],
"properties": {
"count": {
"type": "integer",
"default": 1,
"maximum": 100,
"minimum": 1,
"description": "How many UUIDs, 1 to 100."
},
"version": {
"enum": [
4,
7
],
"type": "integer",
"default": 4,
"description": "4 for random, 7 for Unix-ms time-ordered (sortable, good for database keys)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| urls* | array | 1 to 5 public http(s) URLs. |
| maxCharacters | integer | Text kept per page, 500 to 10,000 characters. |
{
"type": "object",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
},
"maxItems": 5,
"minItems": 1,
"description": "1 to 5 public http(s) URLs."
},
"maxCharacters": {
"type": "integer",
"default": 5000,
"maximum": 10000,
"minimum": 500,
"description": "Text kept per page, 500 to 10,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused. |
| schema* | object | 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",
"required": [
"url",
"schema"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
},
"schema": {
"type": "object",
"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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused. |
| limit | integer | Links to return, 1 to 200. |
| search | string | Optional term to rank and filter links by, up to 200 characters. |
| includeSubdomains | boolean | Also include links on subdomains of the site. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 200,
"minimum": 1,
"description": "Links to return, 1 to 200."
},
"search": {
"type": "string",
"maxLength": 200,
"description": "Optional term to rank and filter links by, up to 200 characters."
},
"includeSubdomains": {
"type": "boolean",
"default": false,
"description": "Also include links on subdomains of the site."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused. |
| maxChars | integer | Markdown kept, 1,000 to 50,000 characters. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?://",
"maxLength": 2048,
"minLength": 8,
"description": "Public http(s) URL. Private, loopback, link-local and metadata addresses, internal hostnames and this service's own hosts are refused."
},
"maxChars": {
"type": "integer",
"default": 20000,
"maximum": 50000,
"minimum": 1000,
"description": "Markdown kept, 1,000 to 50,000 characters."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| type | string | Search mode: auto (default), neural (semantic) or fast. |
| query* | string | Search query, 1 to 500 characters. |
| numResults | integer | Results to return, 1 to 10. |
| excludeDomains | array | Never return results from these domains (up to 20). |
| includeDomains | array | Only return results from these domains (up to 20). |
| startPublishedDate | string | Only pages published on or after this date (YYYY-MM-DD, UTC). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"type": {
"enum": [
"auto",
"neural",
"fast"
],
"type": "string",
"default": "auto",
"description": "Search mode: auto (default), neural (semantic) or fast."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Search query, 1 to 500 characters."
},
"numResults": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Results to return, 1 to 10."
},
"excludeDomains": {
"type": "array",
"items": {
"type": "string",
"maxLength": 253,
"minLength": 3
},
"maxItems": 20,
"description": "Never return results from these domains (up to 20)."
},
"includeDomains": {
"type": "array",
"items": {
"type": "string",
"maxLength": 253,
"minLength": 3
},
"maxItems": 20,
"description": "Only return results from these domains (up to 20)."
},
"startPublishedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only pages published on or after this date (YYYY-MM-DD, UTC)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| secret* | string | Webhook signing secret. Use a test secret; it is not stored. |
| payload* | string | Raw request body exactly as received. |
| provider* | string | Signature scheme. |
| signature* | string | Signature header value (Stripe-Signature, X-Hub-Signature-256, X-Slack-Signature, X-Shopify-Hmac-Sha256, or hex/base64). |
| timestamp | string | Slack only: X-Slack-Request-Timestamp. |
| tolerance_s | integer | Allowed clock skew for Stripe and Slack, default 300. |
{
"type": "object",
"required": [
"provider",
"secret",
"payload",
"signature"
],
"properties": {
"secret": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Webhook signing secret. Use a test secret; it is not stored."
},
"payload": {
"type": "string",
"maxLength": 500000,
"minLength": 0,
"description": "Raw request body exactly as received."
},
"provider": {
"enum": [
"stripe",
"github",
"slack",
"shopify",
"hmac-sha256"
],
"type": "string",
"description": "Signature scheme."
},
"signature": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Signature header value (Stripe-Signature, X-Hub-Signature-256, X-Slack-Signature, X-Shopify-Hmac-Sha256, or hex/base64)."
},
"timestamp": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Slack only: X-Slack-Request-Timestamp."
},
"tolerance_s": {
"type": "integer",
"maximum": 86400,
"minimum": 1,
"description": "Allowed clock skew for Stripe and Slack, default 300."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| config* | string | The wrangler.jsonc, wrangler.json or wrangler.toml text, up to 60,000 characters. |
| format | string | Config format; auto treats text starting with { as JSONC, otherwise TOML. |
{
"type": "object",
"required": [
"config"
],
"properties": {
"config": {
"type": "string",
"maxLength": 60000,
"minLength": 2,
"description": "The wrangler.jsonc, wrangler.json or wrangler.toml text, up to 60,000 characters."
},
"format": {
"enum": [
"auto",
"jsonc",
"toml"
],
"type": "string",
"default": "auto",
"description": "Config format; auto treats text starting with { as JSONC, otherwise TOML."
}
},
"additionalProperties": false
}