Koskamo

FreeDailyPro MCP

An official MCP server providing over 200 tools for AI agents to process PDFs, PowerPoint files, text, media, and run calculators via a shared API key and quota.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

FreeDailyPro MCP logo, by FreeDailyProVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by FreeDailyPro
You need:Get a free key: sign in at https://www.freedailypro.com/developers and click "Generate API Key"Same X-API-Key header as REST
MCP endpoint (Streamable HTTP)
https://api.freedailypro.com/mcp
Vendor documentation

What you can do with it

  • Merge, split, and compress PDF documents
  • Build PowerPoint decks from JSON or Markdown
  • Process video and audio with ffmpeg
  • Run text analysis and calculators

Source and maintenance

Vendor evidenceRegistry 1.4.0

Protocol and capabilities

Server
freedailypro-utility-tools 1.4.0
MCP protocol
2025-06-18
Tools
225 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

225 advertised

word_count
Advertised by the server during the last successful anonymous check.
Advertised read-only

Word counter — counts words, characters, sentences, paragraphs and reading time

word_count input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to analyze"
    },
    "wordsPerMinute": {
      "type": "number",
      "maximum": 1000,
      "minimum": 50,
      "description": "Reading speed (default 200)"
    }
  },
  "additionalProperties": false
}
word_count annotations
{
  "title": "Word Count",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
case_convert
Advertised by the server during the last successful anonymous check.
Advertised read-only

Case converter — upper, lower, title, sentence, camel, pascal, snake, kebab, constant, alternating, inverse

case_convert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "case"
  ],
  "properties": {
    "case": {
      "enum": [
        "upper",
        "lower",
        "title",
        "sentence",
        "camel",
        "pascal",
        "snake",
        "kebab",
        "constant",
        "alternating",
        "inverse"
      ],
      "type": "string"
    },
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
case_convert annotations
{
  "title": "Case Convert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_slug
Advertised by the server during the last successful anonymous check.
Advertised read-only

Slug generator — SEO-friendly URL slug

generate_slug input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "lowercase": {
      "type": "boolean"
    },
    "maxLength": {
      "type": "number",
      "maximum": 500,
      "minimum": 0
    },
    "separator": {
      "type": "string",
      "maxLength": 3
    },
    "removeStopWords": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
generate_slug annotations
{
  "title": "Generate Slug",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_password
Advertised by the server during the last successful anonymous check.
Advertised read-only

Password generator — cryptographically secure password

generate_password input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "length": {
      "type": "number",
      "maximum": 128,
      "minimum": 4
    },
    "numbers": {
      "type": "boolean"
    },
    "symbols": {
      "type": "boolean"
    },
    "lowercase": {
      "type": "boolean"
    },
    "uppercase": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
generate_password annotations
{
  "title": "Generate Password",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_lorem
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lorem ipsum generator

generate_lorem input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "paragraphs": {
      "type": "number",
      "maximum": 50,
      "minimum": 1
    },
    "startWithLorem": {
      "type": "boolean"
    },
    "wordsPerParagraph": {
      "type": "number",
      "maximum": 500,
      "minimum": 5
    }
  },
  "additionalProperties": false
}
generate_lorem annotations
{
  "title": "Generate Lorem",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
reverse_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Text reverser — reverse characters, words or lines

reverse_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "mode": {
      "enum": [
        "characters",
        "words",
        "lines"
      ],
      "type": "string"
    },
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
reverse_text annotations
{
  "title": "Reverse Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sort_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Text sorter — sort lines or words, optional unique

sort_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "mode": {
      "enum": [
        "lines",
        "words"
      ],
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "order": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string"
    },
    "unique": {
      "type": "boolean"
    },
    "caseSensitive": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
sort_text annotations
{
  "title": "Sort Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_hash
Advertised by the server during the last successful anonymous check.
Advertised read-only

Hash generator — md5, sha1, sha256, sha384, sha512

generate_hash input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "algorithm": {
      "enum": [
        "md5",
        "sha1",
        "sha256",
        "sha384",
        "sha512"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
generate_hash annotations
{
  "title": "Generate Hash",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_uuid
Advertised by the server during the last successful anonymous check.
Advertised read-only

Uuid generator — v4, optional bulk

generate_uuid input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "count": {
      "type": "number",
      "maximum": 1000,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
generate_uuid annotations
{
  "title": "Generate Uuid",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
base64
Advertised by the server during the last successful anonymous check.
Advertised read-only

Base64 tool — encode or decode

base64 input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "action"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "action": {
      "enum": [
        "encode",
        "decode"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
base64 annotations
{
  "title": "Base64",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
format_json
Advertised by the server during the last successful anonymous check.
Advertised read-only

Json formatter — validate, pretty-print or minify

format_json input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "indent": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 8,
          "minimum": 0
        },
        {
          "type": "string",
          "const": "minify"
        }
      ]
    }
  },
  "additionalProperties": false
}
format_json annotations
{
  "title": "Format Json",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
test_regex
Advertised by the server during the last successful anonymous check.
Advertised read-only

Regex tester

test_regex input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "pattern",
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "flags": {
      "type": "string"
    },
    "pattern": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
test_regex annotations
{
  "title": "Test Regex",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
url_encode_decode
Advertised by the server during the last successful anonymous check.
Advertised read-only

Url encoder

url_encode_decode input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "action"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "action": {
      "enum": [
        "encode",
        "decode"
      ],
      "type": "string"
    },
    "component": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
url_encode_decode annotations
{
  "title": "Url Encode Decode",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_timestamp
Advertised by the server during the last successful anonymous check.
Advertised read-only

Timestamp converter

convert_timestamp input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "input"
  ],
  "properties": {
    "input": {
      "type": [
        "string",
        "number"
      ]
    }
  },
  "additionalProperties": false
}
convert_timestamp annotations
{
  "title": "Convert Timestamp",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
percentage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Percentage calculator

percentage input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "operation",
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "number"
    },
    "b": {
      "type": "number"
    },
    "operation": {
      "enum": [
        "percentageOf",
        "whatIsPercentOf",
        "percentChange"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
percentage annotations
{
  "title": "Percentage",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_tip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Tip calculator

calculate_tip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "bill",
    "tipPercent"
  ],
  "properties": {
    "bill": {
      "type": "number",
      "minimum": 0
    },
    "people": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "tipPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
calculate_tip annotations
{
  "title": "Calculate Tip",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_bmi
Advertised by the server during the last successful anonymous check.
Advertised read-only

Bmi calculator

calculate_bmi input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "weight",
    "height"
  ],
  "properties": {
    "unit": {
      "enum": [
        "metric",
        "imperial"
      ],
      "type": "string"
    },
    "height": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "weight": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
calculate_bmi annotations
{
  "title": "Calculate Bmi",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_length
Advertised by the server during the last successful anonymous check.
Advertised read-only

Unit converter (length)

convert_length input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "m",
        "cm",
        "mm",
        "km",
        "in",
        "ft",
        "yd",
        "mi"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "m",
        "cm",
        "mm",
        "km",
        "in",
        "ft",
        "yd",
        "mi"
      ],
      "type": "string"
    },
    "value": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
convert_length annotations
{
  "title": "Convert Length",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_weight
Advertised by the server during the last successful anonymous check.
Advertised read-only

Unit converter (weight)

convert_weight input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "kg",
        "g",
        "mg",
        "lb",
        "oz"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "kg",
        "g",
        "mg",
        "lb",
        "oz"
      ],
      "type": "string"
    },
    "value": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
convert_weight annotations
{
  "title": "Convert Weight",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_temperature
Advertised by the server during the last successful anonymous check.
Advertised read-only

Unit converter (temperature)

convert_temperature input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "C",
        "F",
        "K"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "C",
        "F",
        "K"
      ],
      "type": "string"
    },
    "value": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
convert_temperature annotations
{
  "title": "Convert Temperature",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_loan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Loan calculator — EMI / amortizing loan, with an optional first payment date that dates the schedule preview and gives the payoff date

calculate_loan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "annualRatePercent",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "maximum": 50,
      "exclusiveMinimum": 0
    },
    "principal": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "previewMonths": {
      "type": "number",
      "maximum": 12,
      "minimum": 0
    },
    "firstPaymentDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date the first payment is due, as YYYY-MM-DD. Adds a date to every schedulePreview row and returns firstPaymentDate, lastPaymentDate and payoffDate for the whole loan. It only labels the schedule; the amounts do not change. A payment day of 29 to 31 moves to the last day of shorter months."
    },
    "annualRatePercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
calculate_loan annotations
{
  "title": "Calculate Loan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_compound_interest
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compound interest calculator

calculate_compound_interest input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "annualRatePercent",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "maximum": 100,
      "exclusiveMinimum": 0
    },
    "frequency": {
      "enum": [
        "annually",
        "semiannually",
        "quarterly",
        "monthly",
        "daily"
      ],
      "type": "string"
    },
    "principal": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional start date, as YYYY-MM-DD. Adds startDate and maturityDate (the date the future value is reached). It only labels the timeline; the amounts do not change."
    },
    "annualRatePercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
calculate_compound_interest annotations
{
  "title": "Calculate Compound Interest",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_discount
Advertised by the server during the last successful anonymous check.
Advertised read-only

Discount calculator

calculate_discount input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "originalPrice"
  ],
  "properties": {
    "salePrice": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "originalPrice": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "discountPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
calculate_discount annotations
{
  "title": "Calculate Discount",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_simple_interest
Advertised by the server during the last successful anonymous check.
Advertised read-only

Simple interest calculator

calculate_simple_interest input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "annualRatePercent",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "maximum": 100,
      "exclusiveMinimum": 0
    },
    "principal": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional start date, as YYYY-MM-DD. Adds startDate and maturityDate (the date the total amount is reached). It only labels the timeline; the amounts do not change."
    },
    "annualRatePercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
calculate_simple_interest annotations
{
  "title": "Calculate Simple Interest",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_sales_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sales tax calculator with US state base-rate lookup (local rates excluded) — add or extract tax

calculate_sales_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "amount"
  ],
  "properties": {
    "mode": {
      "enum": [
        "add",
        "extract"
      ],
      "type": "string"
    },
    "state": {
      "type": "string",
      "description": "US state (two-letter code such as TX, or the full name; DC included). Looks up the STATE base sales tax rate only (Tax Foundation, 1 July 2026). Local city, county and district rates are not included."
    },
    "amount": {
      "type": "number",
      "minimum": 0
    },
    "taxPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Tax rate in percent. Required unless state is sent. Takes priority over state."
    }
  },
  "additionalProperties": false
}
calculate_sales_tax annotations
{
  "title": "Calculate Sales Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_age
Advertised by the server during the last successful anonymous check.
Advertised read-only

Age calculator — years/months/days between dates

calculate_age input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "startDate"
  ],
  "properties": {
    "endDate": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_age annotations
{
  "title": "Calculate Age",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
diff_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Diff checker — line-oriented text diff

diff_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "textA",
    "textB"
  ],
  "properties": {
    "textA": {
      "type": "string"
    },
    "textB": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
diff_text annotations
{
  "title": "Diff Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
estimate_password_strength
Advertised by the server during the last successful anonymous check.
Advertised read-only

Password strength

estimate_password_strength input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "password"
  ],
  "properties": {
    "password": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
estimate_password_strength annotations
{
  "title": "Estimate Password Strength",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_random_numbers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Random number generator

generate_random_numbers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "max": {
      "type": "number"
    },
    "min": {
      "type": "number"
    },
    "count": {
      "type": "number",
      "maximum": 1000,
      "minimum": 1
    },
    "unique": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
generate_random_numbers annotations
{
  "title": "Generate Random Numbers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
extract_emails
Advertised by the server during the last successful anonymous check.
Advertised read-only

Email extractor

extract_emails input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
extract_emails annotations
{
  "title": "Extract Emails",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
extract_urls
Advertised by the server during the last successful anonymous check.
Advertised read-only

Url extractor

extract_urls input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
extract_urls annotations
{
  "title": "Extract Urls",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_and_replace
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find replace

find_and_replace input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "find",
    "replace"
  ],
  "properties": {
    "find": {
      "type": "string",
      "minLength": 1
    },
    "text": {
      "type": "string"
    },
    "replace": {
      "type": "string"
    },
    "useRegex": {
      "type": "boolean"
    },
    "replaceAll": {
      "type": "boolean"
    },
    "caseSensitive": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
find_and_replace annotations
{
  "title": "Find And Replace",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_water_intake
Advertised by the server during the last successful anonymous check.
Advertised read-only

Water intake calculator

calculate_water_intake input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "weightKg"
  ],
  "properties": {
    "weightKg": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "activityLevel": {
      "enum": [
        "sedentary",
        "light",
        "moderate",
        "active"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_water_intake annotations
{
  "title": "Calculate Water Intake",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_ideal_weight
Advertised by the server during the last successful anonymous check.
Advertised read-only

Ideal weight calculator

calculate_ideal_weight input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "heightCm",
    "sex"
  ],
  "properties": {
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "heightCm": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
calculate_ideal_weight annotations
{
  "title": "Calculate Ideal Weight",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_gpa
Advertised by the server during the last successful anonymous check.
Advertised read-only

Gpa calculator

calculate_gpa input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "courses"
  ],
  "properties": {
    "scale": {
      "enum": [
        "4.0",
        "percent"
      ],
      "type": "string"
    },
    "courses": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "grade",
          "credits"
        ],
        "properties": {
          "grade": {
            "type": "number"
          },
          "credits": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    }
  },
  "additionalProperties": false
}
calculate_gpa annotations
{
  "title": "Calculate Gpa",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
lookup_http_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Http status reference

lookup_http_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "code": {
      "type": "integer",
      "maximum": 599,
      "minimum": 100
    }
  },
  "additionalProperties": false
}
lookup_http_status annotations
{
  "title": "Lookup Http Status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
analyze_readability
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reading level checker — Flesch-Kincaid style metrics

analyze_readability input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
analyze_readability annotations
{
  "title": "Analyze Readability",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
html_entities
Advertised by the server during the last successful anonymous check.
Advertised read-only

Html entity converter

html_entities input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "action"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "action": {
      "enum": [
        "encode",
        "decode"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
html_entities annotations
{
  "title": "Html Entities",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
binary_ascii
Advertised by the server during the last successful anonymous check.
Advertised read-only

Binary ascii converter

binary_ascii input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "action"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "action": {
      "enum": [
        "toBinary",
        "fromBinary",
        "toHex",
        "fromHex"
      ],
      "type": "string"
    },
    "separator": {
      "type": "string",
      "maxLength": 3
    }
  },
  "additionalProperties": false
}
binary_ascii annotations
{
  "title": "Binary Ascii",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
describe_cron
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cron builder — describe a 5-field cron expression

describe_cron input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "expression"
  ],
  "properties": {
    "expression": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
describe_cron annotations
{
  "title": "Describe Cron",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
decode_jwt
Advertised by the server during the last successful anonymous check.
Advertised read-only

Jwt decoder — header + payload only, no signature verification

decode_jwt input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
decode_jwt annotations
{
  "title": "Decode Jwt",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
markdown_to_html
Advertised by the server during the last successful anonymous check.
Advertised read-only

Markdown html converter — basic subset

markdown_to_html input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "markdown"
  ],
  "properties": {
    "markdown": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
markdown_to_html annotations
{
  "title": "Markdown To Html",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_bmr
Advertised by the server during the last successful anonymous check.
Advertised read-only

Bmr calorie calculator — Mifflin-St Jeor + TDEE

calculate_bmr input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "weightKg",
    "heightCm",
    "ageYears",
    "sex"
  ],
  "properties": {
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "activity": {
      "enum": [
        "sedentary",
        "light",
        "moderate",
        "active",
        "very_active"
      ],
      "type": "string"
    },
    "ageYears": {
      "type": "number",
      "maximum": 120,
      "exclusiveMinimum": 0
    },
    "heightCm": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "weightKg": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
calculate_bmr annotations
{
  "title": "Calculate Bmr",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_pregnancy_due_date
Advertised by the server during the last successful anonymous check.
Advertised read-only

Pregnancy due date calculator — Naegele rule

calculate_pregnancy_due_date input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "lastMenstrualPeriod"
  ],
  "properties": {
    "referenceDate": {
      "type": "string"
    },
    "lastMenstrualPeriod": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_pregnancy_due_date annotations
{
  "title": "Calculate Pregnancy Due Date",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_sip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sip calculator — systematic investment plan future value

calculate_sip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "monthlyInvestment",
    "annualRatePercent",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "maximum": 100,
      "exclusiveMinimum": 0
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date of the first monthly contribution, as YYYY-MM-DD. Adds firstContributionDate, lastContributionDate and maturityDate. It only labels the plan; the amounts do not change. A day of 29 to 31 moves to the last day of shorter months."
    },
    "annualRatePercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    },
    "monthlyInvestment": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
calculate_sip annotations
{
  "title": "Calculate Sip",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parse_user_agent
Advertised by the server during the last successful anonymous check.
Advertised read-only

User agent parser

parse_user_agent input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ua"
  ],
  "properties": {
    "ua": {
      "type": "string",
      "minLength": 1
    },
    "clientHints": {
      "type": "string",
      "description": "Optional: pasted Sec-CH-UA request headers; adds a 'clientHints' object (for example Windows 11)"
    }
  },
  "additionalProperties": false
}
parse_user_agent annotations
{
  "title": "Parse User Agent",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
minify_code
Advertised by the server during the last successful anonymous check.
Advertised read-only

Css js minifier — whitespace and comment strip

minify_code input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "code",
    "type"
  ],
  "properties": {
    "code": {
      "type": "string"
    },
    "type": {
      "enum": [
        "css",
        "js"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
minify_code annotations
{
  "title": "Minify Code",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
apply_timezone_offset
Advertised by the server during the last successful anonymous check.
Advertised read-only

Timezone converter — apply fixed offset to UTC

apply_timezone_offset input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "utcIso",
    "offset"
  ],
  "properties": {
    "offset": {
      "type": "string"
    },
    "utcIso": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
apply_timezone_offset annotations
{
  "title": "Apply Timezone Offset",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
estimate_body_fat
Advertised by the server during the last successful anonymous check.
Advertised read-only

Body fat calculator — US Navy style estimate

estimate_body_fat input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "sex",
    "heightCm",
    "waistCm",
    "neckCm"
  ],
  "properties": {
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "hipCm": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "neckCm": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "waistCm": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "heightCm": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
estimate_body_fat annotations
{
  "title": "Estimate Body Fat",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
scale_recipe
Advertised by the server during the last successful anonymous check.
Advertised read-only

Recipe scaler

scale_recipe input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ingredients",
    "originalServings",
    "targetServings"
  ],
  "properties": {
    "ingredients": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "amount"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "targetServings": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "originalServings": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
scale_recipe annotations
{
  "title": "Scale Recipe",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fancy_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Fancy font generator — unicode styles

fancy_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "style"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "style": {
      "type": "string"
    },
    "intensity": {
      "type": "integer",
      "maximum": 3,
      "minimum": 1,
      "description": "Zalgo only: 1 (light) to 3 (heavy), default 2"
    }
  },
  "additionalProperties": false
}
fancy_text annotations
{
  "title": "Fancy Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
invisible_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Invisible text generator — encode/decode/strip/generate zero-width

invisible_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mode"
  ],
  "properties": {
    "mode": {
      "enum": [
        "encode",
        "decode",
        "strip",
        "generate"
      ],
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "length": {
      "type": "number",
      "maximum": 500,
      "minimum": 1
    },
    "carrier": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
invisible_text annotations
{
  "title": "Invisible Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_meta_tags
Advertised by the server during the last successful anonymous check.
Advertised read-only

Meta tag generator — Open Graph + Twitter

generate_meta_tags input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title",
    "description"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "image": {
      "type": "string"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "siteName": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "minLength": 1
    },
    "twitterCard": {
      "enum": [
        "summary",
        "summary_large_image"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
generate_meta_tags annotations
{
  "title": "Generate Meta Tags",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
keyword_density
Advertised by the server during the last successful anonymous check.
Advertised read-only

Keyword density

keyword_density input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text",
    "keyword"
  ],
  "properties": {
    "text": {
      "type": "string"
    },
    "keyword": {
      "type": "string",
      "minLength": 1
    },
    "caseSensitive": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
keyword_density annotations
{
  "title": "Keyword Density",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
hashtags
Advertised by the server during the last successful anonymous check.
Advertised read-only

Hashtag generator — extract or generate

hashtags input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "action"
  ],
  "properties": {
    "max": {
      "type": "number",
      "maximum": 50,
      "minimum": 1
    },
    "text": {
      "type": "string"
    },
    "action": {
      "enum": [
        "extract",
        "generate"
      ],
      "type": "string"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
hashtags annotations
{
  "title": "Hashtags",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
schema_jsonld
Advertised by the server during the last successful anonymous check.
Advertised read-only

Schema generator — Article, FAQ, Organization JSON-LD

schema_jsonld input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "type",
    "data"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": {}
    },
    "type": {
      "enum": [
        "article",
        "faq",
        "organization"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
schema_jsonld annotations
{
  "title": "Schema Jsonld",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
color_convert
Advertised by the server during the last successful anonymous check.
Advertised read-only

Color converter — hex/rgb/hsl plus hsv, cmyk, lab (D50) and oklch

color_convert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "b": {
      "type": "number",
      "description": "Blue, 0-255"
    },
    "g": {
      "type": "number",
      "description": "Green, 0-255"
    },
    "r": {
      "type": "number",
      "description": "Red, 0-255 (with clamp true, values outside are clamped)"
    },
    "hex": {
      "type": "string"
    },
    "clamp": {
      "type": "boolean",
      "description": "Clamp r, g, b to 0-255 and report each change in 'clamped', instead of an error"
    }
  },
  "additionalProperties": false
}
color_convert annotations
{
  "title": "Color Convert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
contrast_ratio
Advertised by the server during the last successful anonymous check.
Advertised read-only

Contrast checker — WCAG AA/AAA

contrast_ratio input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "foreground",
    "background"
  ],
  "properties": {
    "background": {
      "type": "string"
    },
    "foreground": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
contrast_ratio annotations
{
  "title": "Contrast Ratio",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_parse_fillable_form
Advertised by the server during the last successful anonymous check.
Advertised read-only

Parse a PDF's fillable form fields — lists every fillable field's name, type (text, checkbox, dropdown, radio, optionlist), current value and options so you know what to fill

pdf_parse_fillable_form input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The PDF file, base64-encoded"
    }
  },
  "additionalProperties": false
}
pdf_parse_fillable_form annotations
{
  "title": "Pdf Parse Fillable Form",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_fill_form
Advertised by the server during the last successful anonymous check.
Advertised read-only

Fill a PDF form's fields — sets text, checkbox, dropdown, radio and option-list values and returns the filled PDF as base64 in the first text item, optionally flattened so it can no longer be edited. Only the fields you name are changed; every other field keeps its value. To clear a field send null (or an empty string). The second text item is a JSON report: fieldsSet, fieldsNotSet (name and reason) and fieldsUntouched

pdf_fill_form input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "values": {
      "type": "object",
      "description": "Field name -> value. Text/dropdown/radio: a string; option list: a string or an array of strings; checkbox: true/false. null or an empty string clears the field. Fields not named here are left untouched",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "checked": {
      "type": "object",
      "description": "Field name -> checked state, for checkbox fields (only the named checkboxes change)",
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "flatten": {
      "type": "boolean",
      "description": "If true, bakes the values in and removes the ability to edit them further"
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF file, base64-encoded"
    }
  },
  "additionalProperties": false
}
pdf_fill_form annotations
{
  "title": "Pdf Fill Form",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_redact
Advertised by the server during the last successful anonymous check.
Advertised read-only

Permanently redact areas of a PDF. Boxes are fractions (0 to 1) of the page as displayed, measured from the top-left corner, pages numbered from 0. Text characters, picture pixels, vector art and annotations under a box are removed from the file itself and an opaque black bar is drawn; everything outside the boxes stays real, selectable text in its original fonts. A page that cannot be edited exactly (for example a curved drawing partly under a box) is turned into a picture with the boxes painted black instead. Pages without boxes are not touched

pdf_redact input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "boxes"
  ],
  "properties": {
    "boxes": {
      "type": "object",
      "description": "Page index (as a string key, 0-based) -> array of boxes to redact, each in fractional page coordinates (0-1)",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "x",
            "y",
            "w",
            "h"
          ],
          "properties": {
            "h": {
              "type": "number"
            },
            "w": {
              "type": "number"
            },
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "additionalProperties": false
        }
      }
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF file, base64-encoded"
    }
  },
  "additionalProperties": false
}
pdf_redact annotations
{
  "title": "Pdf Redact",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_currency
Advertised by the server during the last successful anonymous check.
Advertised read-only

Currency converter — converts between currencies using a periodic rate snapshot (not a live feed)

convert_currency input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "amount",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "USD",
        "EUR",
        "GBP",
        "JPY",
        "CAD",
        "AUD",
        "CHF",
        "CNY",
        "INR",
        "BRL",
        "KRW",
        "MXN"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "USD",
        "EUR",
        "GBP",
        "JPY",
        "CAD",
        "AUD",
        "CHF",
        "CNY",
        "INR",
        "BRL",
        "KRW",
        "MXN"
      ],
      "type": "string"
    },
    "amount": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
convert_currency annotations
{
  "title": "Convert Currency",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_robots_sitemap
Advertised by the server during the last successful anonymous check.
Advertised read-only

Robots.txt and sitemap.xml generator

generate_robots_sitemap input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "domain",
    "pages"
  ],
  "properties": {
    "pages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 500
    },
    "domain": {
      "type": "string",
      "format": "uri"
    }
  },
  "additionalProperties": false
}
generate_robots_sitemap annotations
{
  "title": "Generate Robots Sitemap",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_grammar
Advertised by the server during the last successful anonymous check.
Advertised read-only

Grammar checker — lightweight, rule-based checks (not an LLM), catches common misspellings, spacing, capitalization, and repeated-word issues

check_grammar input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 20000
    }
  },
  "additionalProperties": false
}
check_grammar annotations
{
  "title": "Check Grammar",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_captions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Social caption generator — template-based, not an LLM

generate_captions input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "topic",
    "platform"
  ],
  "properties": {
    "tone": {
      "enum": [
        "fun",
        "professional",
        "bold",
        "genz"
      ],
      "type": "string"
    },
    "topic": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "platform": {
      "enum": [
        "instagram",
        "tiktok",
        "x",
        "linkedin"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
generate_captions annotations
{
  "title": "Generate Captions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
paraphrase_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Paraphraser — rule-based phrase and word substitution plus simple clause moves, not an LLM; strength low, medium or high

paraphrase_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 20000
    },
    "strength": {
      "enum": [
        "low",
        "medium",
        "high",
        "light",
        "strong"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
paraphrase_text annotations
{
  "title": "Paraphrase Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_merge
Advertised by the server during the last successful anonymous check.
Advertised read-only

Merge multiple PDFs into one

pdf_merge input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "filesBase64"
  ],
  "properties": {
    "filesBase64": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "description": "The PDF files, base64-encoded, in the order they should be merged"
    }
  },
  "additionalProperties": false
}
pdf_merge annotations
{
  "title": "Pdf Merge",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_split
Advertised by the server during the last successful anonymous check.
Advertised read-only

Split a PDF into multiple files by page range, or combine specific ranges into one reordered file

pdf_split input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "ranges"
  ],
  "properties": {
    "ranges": {
      "type": "string",
      "description": "Semicolon-separated groups, each a comma-separated list of pages/ranges, e.g. '1-3,5;7-9' for two output files"
    },
    "fileBase64": {
      "type": "string"
    },
    "combineIntoOne": {
      "type": "boolean",
      "description": "If true, combines all specified ranges into a single reordered PDF instead of one file per group"
    }
  },
  "additionalProperties": false
}
pdf_split annotations
{
  "title": "Pdf Split",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_rotate
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rotate PDF pages — 90-degree steps only (0, 90, 180, 270)

pdf_rotate input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "rotations"
  ],
  "properties": {
    "rotations": {
      "type": "object",
      "description": "1-indexed page number (as a string key) -> rotation in degrees, must each be a multiple of 90",
      "additionalProperties": {
        "type": "number"
      }
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_rotate annotations
{
  "title": "Pdf Rotate",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_add_page_numbers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Add page numbers to a PDF

pdf_add_page_numbers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "position"
  ],
  "properties": {
    "format": {
      "enum": [
        "plain",
        "page-of-total",
        "prefixed"
      ],
      "type": "string"
    },
    "prefix": {
      "type": "string"
    },
    "startAt": {
      "type": "number",
      "default": 1
    },
    "fontSize": {
      "type": "number"
    },
    "position": {
      "enum": [
        "bottom-center",
        "bottom-right",
        "bottom-left",
        "top-center",
        "top-right",
        "top-left"
      ],
      "type": "string"
    },
    "pageRange": {
      "type": "string",
      "description": "Comma-separated pages/ranges to number, e.g. '1,3-5' -- if omitted, numbers every page"
    },
    "fileBase64": {
      "type": "string"
    },
    "skipFirstPage": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
pdf_add_page_numbers annotations
{
  "title": "Pdf Add Page Numbers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_watermark
Advertised by the server during the last successful anonymous check.
Advertised read-only

Add a text watermark to a PDF

pdf_watermark input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1
    },
    "color": {
      "type": "string",
      "pattern": "^#?[0-9a-fA-F]{6}$",
      "description": "Text colour, 6-digit hex. Default 808080"
    },
    "layer": {
      "enum": [
        "above",
        "behind"
      ],
      "type": "string",
      "description": "above (default) draws over the page; behind draws under the page's own content so text stays dark (a full-page scan or solid background hides it)"
    },
    "opacity": {
      "type": "number",
      "maximum": 1,
      "minimum": 0.05,
      "description": "0.05 to 1. Default 0.4"
    },
    "fontSize": {
      "type": "number",
      "maximum": 400,
      "minimum": 6,
      "description": "Points, 6 to 400. Default: sized automatically to fill the page"
    },
    "position": {
      "enum": [
        "center",
        "top-left",
        "top-right",
        "bottom-left",
        "bottom-right",
        "tiled"
      ],
      "type": "string"
    },
    "fileBase64": {
      "type": "string"
    },
    "rotationDegrees": {
      "type": "number",
      "maximum": 360,
      "minimum": -360,
      "description": "Degrees, default 45 (0 is horizontal)"
    }
  },
  "additionalProperties": false
}
pdf_watermark annotations
{
  "title": "Pdf Watermark",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_extract_pages
Advertised by the server during the last successful anonymous check.
Advertised read-only

Extract specific pages from a PDF into a new PDF

pdf_extract_pages input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "pages"
  ],
  "properties": {
    "pages": {
      "type": "string",
      "description": "Comma-separated pages/ranges, e.g. '1,3-5,8'"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_extract_pages annotations
{
  "title": "Pdf Extract Pages",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_organize
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reorder, duplicate, rotate, or insert blank pages in a PDF

pdf_organize input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "pageSpecs"
  ],
  "properties": {
    "pageSpecs": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "required": [
              "type",
              "index"
            ],
            "properties": {
              "type": {
                "type": "string",
                "const": "source"
              },
              "index": {
                "type": "number"
              },
              "rotation": {
                "type": "number"
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "const": "blank"
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "description": "Ordered list describing the output PDF's pages -- 'source' with a 0-based index (and optional rotation) to reuse a page from the input, or 'blank' to insert a blank page"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_organize annotations
{
  "title": "Pdf Organize",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_flatten
Advertised by the server during the last successful anonymous check.
Advertised read-only

Permanently flatten a PDF's fillable form fields

pdf_flatten input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_flatten annotations
{
  "title": "Pdf Flatten",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_repair
Advertised by the server during the last successful anonymous check.
Advertised read-only

Attempt to recover a damaged or corrupted PDF

pdf_repair input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_repair annotations
{
  "title": "Pdf Repair",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a PDF from freedailypro. Default aims for about 50% smaller: tidies structure first (text untouched), then shrinks pictures only as much as needed. level: auto (default), medium, strong. targetFileSize (such as 2MB or 500KB) is the size to end at, for auto; default is half the original.

pdf_compress input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "level": {
      "enum": [
        "auto",
        "medium",
        "strong"
      ],
      "type": "string"
    },
    "fileBase64": {
      "type": "string"
    },
    "targetFileSize": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pdf_compress annotations
{
  "title": "Pdf Compress",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_lossless_bw
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a scanned PDF from freedailypro by turning pages into pure black-and-white JBIG2 pictures, each page coded exactly as read (no letter is ever swapped; safe for contracts and numbers). Colour and shading are lost and text on converted pages is no longer selectable. A page is converted only when that makes it at least 10% smaller; other pages (for example real-text pages) are copied untouched. Errors if the PDF is unreadable, password-protected, over 100 pages, or if no smaller file results.

pdf_compress_lossless_bw input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "dpi": {
      "type": "number",
      "maximum": 200,
      "minimum": 100,
      "description": "Render resolution, 100 to 200. Default 150"
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_lossless_bw annotations
{
  "title": "Pdf Compress Lossless Bw",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_smallest_bw
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a scanned PDF from freedailypro to the smallest black-and-white file: JBIG2 symbol mode stores each letter shape once and reuses it across pages, typically 3x smaller than the lossless black-and-white file. Very rarely a letter can be swapped for a look-alike one (for example a 6 and a 8 in tiny print), so check important numbers in the original. Colour and shading are lost and text on converted pages is no longer selectable. A page is converted only when that makes it at least 10% smaller; other pages are copied untouched. Errors if the PDF is unreadable, password-protected, over 100 pages, or if no smaller file results.

pdf_compress_smallest_bw input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "dpi": {
      "type": "number",
      "maximum": 200,
      "minimum": 100,
      "description": "Render resolution, 100 to 200. Default 150"
    },
    "threshold": {
      "type": "number",
      "maximum": 0.9,
      "minimum": 0.4,
      "description": "How alike two letter shapes must look to share one stored shape, 0.4 to 0.9. Default 0.85; higher is safer and slightly larger"
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_smallest_bw annotations
{
  "title": "Pdf Compress Smallest Bw",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_greyscale
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a scanned PDF from freedailypro by turning pages into 100 dpi greyscale JPEG pictures: shading and photos are kept, colour is dropped, text on converted pages is no longer selectable. Larger than the black-and-white files but nothing is thresholded to pure black and white. A page is converted only when that makes it at least 10% smaller. Errors (nothing is returned) if the result would not be smaller than the original, or if the PDF is unreadable, password-protected or over 100 pages.

pdf_compress_greyscale input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "dpi": {
      "type": "number",
      "maximum": 200,
      "minimum": 100,
      "description": "Render resolution, 100 to 200. Default 100"
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_greyscale annotations
{
  "title": "Pdf Compress Greyscale",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_balanced
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a PDF from freedailypro the gentle way (the site's Balanced mode): tidy the file, empty blank pages, and re-save the pictures inside at about 140 dpi. Text stays selectable; links, bookmarks, form fields and page sizes are kept. Returns the smaller file plus the levels applied. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller (for example a PDF that is already mostly text); in that case try pdf_compress_aggressive.

pdf_compress_balanced input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_balanced annotations
{
  "title": "Pdf Compress Balanced",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_aggressive
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a PDF from freedailypro harder (the site's Aggressive mode): everything Balanced does, then pages become pictures in finer and finer steps (empty areas dropped, flat areas as plain fills, photos, text and small print at lower resolutions); a page is converted only when that is clearly smaller. Text on converted pages is no longer selectable and links and form fields on them are gone (textSelectable says which). Heavier than Balanced: it can take several seconds per page, and returns the best level finished so far (truncated: true) if the time budget runs out. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller.

pdf_compress_aggressive input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_aggressive annotations
{
  "title": "Pdf Compress Aggressive",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_extreme
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a PDF from freedailypro as far as it will go (the site's Extreme mode): everything Aggressive does, then every page as 70 dpi greyscale and as pure black-and-white JBIG2 (exact, then with shared letter shapes), keeping the smallest. Colour and shading are lost and text is no longer selectable; very rarely a letter in tiny print can be swapped for a look-alike one in the symbol-mode result, so check important numbers in the original. Heavy: several seconds per page; returns the best level finished so far (truncated: true) if the time budget runs out. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller.

pdf_compress_extreme input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    }
  },
  "additionalProperties": false
}
pdf_compress_extreme annotations
{
  "title": "Pdf Compress Extreme",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pdf_compress_size
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shrink a PDF from freedailypro to a size you need, such as under 2 MB for an email or a portal (the site's File size mode). The same steps as Balanced, Aggressive and Extreme, gentlest first, stopping at the first one that fits. If the goal cannot be reached it finishes every allowed step and returns the smallest file with targetMet: false and limitReason. `limit` caps how far it may go (balanced keeps text selectable). Heavy at the stronger limits; returns the best level so far (truncated: true) if the time budget runs out. A PDF already under the goal is returned unchanged.

pdf_compress_size input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "targetSize"
  ],
  "properties": {
    "limit": {
      "enum": [
        "balanced",
        "aggressive",
        "extreme"
      ],
      "type": "string",
      "description": "How far the steps may go. Default extreme. balanced = text stays selectable; aggressive = pages may become pictures; extreme = greyscale and black-and-white too"
    },
    "fileBase64": {
      "type": "string",
      "description": "The PDF, base64 encoded (up to 20 MB, up to 100 pages)"
    },
    "targetSize": {
      "type": [
        "string",
        "number"
      ],
      "description": "The size to reach: a number of bytes, or text such as 2MB or 500KB"
    }
  },
  "additionalProperties": false
}
pdf_compress_size annotations
{
  "title": "Pdf Compress Size",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_resize
Advertised by the server during the last successful anonymous check.
Advertised read-only

Resize an image from freedailypro with a width, a height or both (one alone keeps the aspect ratio). fit: fill (default, stretches to exactly width x height), contain (fits inside and pads with backgroundColor), cover (fills the box and crops the overflow around the centre), inside (fits within, keeps the ratio), outside (at least as large, keeps the ratio). withoutEnlargement never makes it bigger. Reads and writes JPEG, PNG, WebP, AVIF, GIF (animation kept), TIFF; the first text item is the picture as base64, the second a JSON note with its size

image_resize input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fit": {
      "enum": [
        "fill",
        "contain",
        "cover",
        "inside",
        "outside"
      ],
      "type": "string",
      "description": "Default fill (exact width x height)"
    },
    "width": {
      "type": "number",
      "maximum": 16384,
      "exclusiveMinimum": 0
    },
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "height": {
      "type": "number",
      "maximum": 16384,
      "exclusiveMinimum": 0
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "animated": {
      "type": "boolean",
      "description": "Keep every frame of an animated GIF/WebP. Default true"
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    },
    "withoutEnlargement": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
image_resize annotations
{
  "title": "Image Resize",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_crop
Advertised by the server during the last successful anonymous check.
Advertised read-only

Crop an image to a region from freedailypro. unit fraction (default): x, y, w, h are 0 to 1 of the image; unit px: pixels. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

image_crop input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "w",
    "h"
  ],
  "properties": {
    "h": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "w": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "x": {
      "type": "number",
      "minimum": 0
    },
    "y": {
      "type": "number",
      "minimum": 0
    },
    "unit": {
      "enum": [
        "fraction",
        "px"
      ],
      "type": "string"
    },
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    }
  },
  "additionalProperties": false
}
image_crop annotations
{
  "title": "Image Crop",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_flip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Flip an image horizontally (mirror left to right) or vertically from freedailypro. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

image_flip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "direction"
  ],
  "properties": {
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "direction": {
      "enum": [
        "horizontal",
        "vertical"
      ],
      "type": "string"
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    }
  },
  "additionalProperties": false
}
image_flip annotations
{
  "title": "Image Flip",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_rotate
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rotate an image clockwise by 90, 180 or 270 degrees from freedailypro (no other angles). Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

image_rotate input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "degrees"
  ],
  "properties": {
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "degrees": {
      "enum": [
        90,
        180,
        270
      ],
      "type": "number"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    }
  },
  "additionalProperties": false
}
image_rotate annotations
{
  "title": "Image Rotate",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_compress
Advertised by the server during the last successful anonymous check.
Advertised read-only

Make an image file smaller from freedailypro: same format unless format is given (png, jpeg, webp, avif, gif, tiff), quality 1-100 for JPEG/WebP/AVIF (default 80), PNG stays lossless unless quality is below 100 (then a smaller 256-colour palette), metadata removed unless stripMetadata is false, optional maxWidth/maxHeight (never enlarges). If the file cannot be made smaller in its own format the original bytes come back unchanged and the note says so

image_compress input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "lossless": {
      "type": "boolean",
      "description": "WebP/AVIF lossless"
    },
    "maxWidth": {
      "type": "integer",
      "maximum": 16384,
      "minimum": 1
    },
    "maxHeight": {
      "type": "integer",
      "maximum": 16384,
      "minimum": 1
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    }
  },
  "additionalProperties": false
}
image_compress annotations
{
  "title": "Image Compress",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_watermark
Advertised by the server during the last successful anonymous check.
Advertised read-only

Put a watermark on an image from freedailypro: text (drawn in Roboto, Latin/Greek/Cyrillic) or a watermark picture (watermarkBase64), at a position (center, top-left, top, top-right, left, right, bottom-left, bottom, bottom-right or tile), with opacity 0-1, size, margin and rotation. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

image_watermark input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 200,
      "description": "The words to stamp. Send this or watermarkBase64"
    },
    "color": {
      "type": "string",
      "description": "Text colour, a name or hex. Default white"
    },
    "scale": {
      "type": "number",
      "maximum": 1,
      "description": "Watermark picture width as a share of the image width. Default 0.2",
      "exclusiveMinimum": 0
    },
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input"
    },
    "margin": {
      "type": "number",
      "maximum": 2000,
      "minimum": 0,
      "description": "Distance from the edge in pixels"
    },
    "opacity": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Default 0.5"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG"
    },
    "fontSize": {
      "type": "number",
      "maximum": 1000,
      "minimum": 6,
      "description": "Text size in pixels. Default about 1/12 of the shorter side"
    },
    "position": {
      "enum": [
        "center",
        "top-left",
        "top",
        "top-right",
        "left",
        "right",
        "bottom-left",
        "bottom",
        "bottom-right",
        "tile"
      ],
      "type": "string",
      "description": "Default bottom-right"
    },
    "rotation": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Degrees; tile defaults to -30"
    },
    "fileBase64": {
      "type": "string"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/GPS/colour-profile data. Default true"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'"
    },
    "watermarkBase64": {
      "type": "string",
      "description": "A watermark picture (PNG with transparency works best), base64"
    }
  },
  "additionalProperties": false
}
image_watermark annotations
{
  "title": "Image Watermark",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
image_convert
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert an image to PNG, JPEG, WebP, AVIF, GIF, TIFF, BMP or ICO from freedailypro, with optional quality, background colour, resize (fit modes), rotate/flip, grayscale, DPI and metadata controls. Inputs: JPEG, PNG, WebP, GIF (animated kept for GIF/WebP output), AVIF, TIFF, SVG, BMP. HEIC is not supported. Returns the converted file as base64 text.

image_convert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "format"
  ],
  "properties": {
    "dpi": {
      "type": "integer",
      "maximum": 2400,
      "minimum": 1,
      "description": "Print resolution written into PNG, JPEG, TIFF and BMP"
    },
    "fit": {
      "enum": [
        "cover",
        "contain",
        "fill",
        "inside",
        "outside"
      ],
      "type": "string",
      "description": "How the picture meets width and height. Default inside"
    },
    "blur": {
      "type": [
        "boolean",
        "number"
      ]
    },
    "flip": {
      "type": "boolean",
      "description": "Mirror top to bottom"
    },
    "flop": {
      "type": "boolean",
      "description": "Mirror left to right"
    },
    "sizes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      ],
      "description": "ICO sizes, from 16, 32, 48, 64, 128, 256 (e.g. '16,32,48'). Default 16,32,48"
    },
    "width": {
      "type": "integer",
      "maximum": 16384,
      "minimum": 1
    },
    "effort": {
      "type": "integer",
      "maximum": 10,
      "minimum": 0,
      "description": "0 fastest to 10 smallest file (clamped to what the format allows; 'speed' is the same thing)"
    },
    "format": {
      "type": "string",
      "description": "png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types such as image/webp also work"
    },
    "height": {
      "type": "integer",
      "maximum": 16384,
      "minimum": 1
    },
    "rotate": {
      "type": "integer",
      "description": "Multiple of 90 degrees clockwise (not for animated images)"
    },
    "quality": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF (and TIFF with jpeg compression, palette PNG)"
    },
    "sharpen": {
      "type": [
        "boolean",
        "number"
      ]
    },
    "animated": {
      "type": "boolean",
      "description": "Keep every frame of an animated GIF/WebP when the output is GIF or WebP. Default true"
    },
    "bitDepth": {
      "enum": [
        24,
        32
      ],
      "type": "number",
      "description": "BMP: 24 (no transparency) or 32 (keeps transparency)"
    },
    "lossless": {
      "type": "boolean",
      "description": "WebP/AVIF lossless; false on PNG makes a smaller 256-colour palette PNG"
    },
    "grayscale": {
      "type": "boolean"
    },
    "autoOrient": {
      "type": "boolean",
      "description": "Turn photos upright from their EXIF rotation flag. Default true"
    },
    "fileBase64": {
      "type": "string"
    },
    "pngPalette": {
      "type": "boolean",
      "description": "PNG: reduce to a 256-colour palette for a smaller file"
    },
    "progressive": {
      "type": "boolean",
      "description": "JPEG progressive scan"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove EXIF/ICC data. Default true; false keeps it"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Fill for transparent areas, e.g. '#ffffff', 'ffffff' or 'white'. Default white for JPEG and 24-bit BMP; for other formats only applied when given"
    },
    "tiffCompression": {
      "enum": [
        "none",
        "lzw",
        "deflate",
        "jpeg"
      ],
      "type": "string"
    },
    "chromaSubsampling": {
      "enum": [
        "4:4:4",
        "4:2:0"
      ],
      "type": "string",
      "description": "JPEG/AVIF colour detail: 4:4:4 sharpest, 4:2:0 smaller"
    },
    "withoutEnlargement": {
      "type": "boolean",
      "description": "Never make the picture bigger than the original"
    },
    "pngCompressionLevel": {
      "type": "integer",
      "maximum": 9,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
image_convert annotations
{
  "title": "Image Convert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_convert
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert a video between formats (mp4/mp4-web/webm/mov)

video_convert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "format"
  ],
  "properties": {
    "format": {
      "enum": [
        "mp4",
        "mp4-web",
        "webm",
        "mov"
      ],
      "type": "string"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_convert annotations
{
  "title": "Video Convert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_trim
Advertised by the server during the last successful anonymous check.
Advertised read-only

Trim a video to a time range -- stream-copy, cuts snap to the nearest keyframe

video_trim input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "startSeconds",
    "endSeconds"
  ],
  "properties": {
    "endSeconds": {
      "type": "number"
    },
    "fileBase64": {
      "type": "string"
    },
    "startSeconds": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
video_trim annotations
{
  "title": "Video Trim",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_merge
Advertised by the server during the last successful anonymous check.
Advertised read-only

Merge multiple videos into one -- requires matching codec/resolution/frame rate across inputs

video_merge input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "filesBase64"
  ],
  "properties": {
    "filesBase64": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    }
  },
  "additionalProperties": false
}
video_merge annotations
{
  "title": "Video Merge",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_extract_audio
Advertised by the server during the last successful anonymous check.
Advertised read-only

Extract a video's audio track as MP3

video_extract_audio input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_extract_audio annotations
{
  "title": "Video Extract Audio",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_thumbnail
Advertised by the server during the last successful anonymous check.
Advertised read-only

Extract a video frame as a JPEG thumbnail

video_thumbnail input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "atSeconds": {
      "type": "number",
      "default": 0,
      "minimum": 0
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_thumbnail annotations
{
  "title": "Video Thumbnail",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_to_gif
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert a video to an animated GIF -- two-pass palette encoding

video_to_gif input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_to_gif annotations
{
  "title": "Video To Gif",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_subtitle
Advertised by the server during the last successful anonymous check.
Advertised read-only

Burn SRT subtitles permanently into a video

video_subtitle input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "srt"
  ],
  "properties": {
    "srt": {
      "type": "string",
      "description": "Subtitle text in SRT format"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_subtitle annotations
{
  "title": "Video Subtitle",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
video_compress
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress a video toward a target file size (targetFileSize such as 25MB; default half the original) -- two-pass encode, a floor bitrate is enforced below which quality degrades too much to be worth watching

video_compress input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    },
    "targetFileSize": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
video_compress annotations
{
  "title": "Video Compress",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_convert
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert audio between formats (mp3/wav/ogg/m4a/flac)

audio_convert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "format"
  ],
  "properties": {
    "format": {
      "enum": [
        "mp3",
        "wav",
        "ogg",
        "m4a",
        "flac"
      ],
      "type": "string"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audio_convert annotations
{
  "title": "Audio Convert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_trim
Advertised by the server during the last successful anonymous check.
Advertised read-only

Trim audio to a time range

audio_trim input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "startSeconds",
    "endSeconds"
  ],
  "properties": {
    "endSeconds": {
      "type": "number"
    },
    "fileBase64": {
      "type": "string"
    },
    "startSeconds": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
audio_trim annotations
{
  "title": "Audio Trim",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_merge
Advertised by the server during the last successful anonymous check.
Advertised read-only

Merge multiple audio files into one

audio_merge input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "filesBase64"
  ],
  "properties": {
    "filesBase64": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    }
  },
  "additionalProperties": false
}
audio_merge annotations
{
  "title": "Audio Merge",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_compress
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress audio toward a target file size (targetFileSize such as "2MB"; default half the original)

audio_compress input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    },
    "targetFileSize": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audio_compress annotations
{
  "title": "Audio Compress",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_normalize
Advertised by the server during the last successful anonymous check.
Advertised read-only

Normalize audio loudness -- EBU R128 broadcast standard

audio_normalize input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audio_normalize annotations
{
  "title": "Audio Normalize",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_speed
Advertised by the server during the last successful anonymous check.
Advertised read-only

Change audio playback speed without altering pitch -- 0.5 to 2.0

audio_speed input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "speed"
  ],
  "properties": {
    "speed": {
      "type": "number",
      "maximum": 2,
      "minimum": 0.5
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audio_speed annotations
{
  "title": "Audio Speed",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_pitch
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shift audio pitch without altering speed

audio_pitch input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "semitones"
  ],
  "properties": {
    "semitones": {
      "type": "number"
    },
    "fileBase64": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audio_pitch annotations
{
  "title": "Audio Pitch",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_denoise
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reduce background noise in audio -- FFT-based spectral subtraction

audio_denoise input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    },
    "strengthDb": {
      "type": "number",
      "default": 20,
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
audio_denoise annotations
{
  "title": "Audio Denoise",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
audio_remove_silence
Advertised by the server during the last successful anonymous check.
Advertised read-only

Remove silence throughout an audio file

audio_remove_silence input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string"
    },
    "thresholdDb": {
      "type": "number",
      "default": -30
    },
    "minDurationSeconds": {
      "type": "number",
      "default": 0.3,
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
audio_remove_silence annotations
{
  "title": "Audio Remove Silence",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_extract_text
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the text of every slide in a PowerPoint (.pptx) from freedailypro: titles, bullets (with their level) and tables, optionally with the speaker notes. format: txt (default), md or json (json returns slides with title, paragraphs, tables and notes, easiest to process). Hidden slides are skipped unless includeHidden is true. Charts and diagrams are not read (counted in the output instead). Errors when the deck has no text at all (a deck made only of pictures).

pptx_extract_text input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "format": {
      "enum": [
        "txt",
        "md",
        "json"
      ],
      "type": "string",
      "description": "Default txt"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "includeNotes": {
      "type": "boolean",
      "description": "Add each slide's speaker notes. Default false."
    },
    "includeHidden": {
      "type": "boolean",
      "description": "Include hidden slides. Default false."
    }
  },
  "additionalProperties": false
}
pptx_extract_text annotations
{
  "title": "Pptx Extract Text",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_extract_notes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the speaker notes of a PowerPoint (.pptx) from freedailypro, slide by slide. format: txt (default), md, or docx (a Word file, returned as base64). Hidden slides' notes are skipped unless includeHidden is true. Errors when the deck has no speaker notes.

pptx_extract_notes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "format": {
      "enum": [
        "txt",
        "md",
        "docx"
      ],
      "type": "string",
      "description": "Default txt"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "includeHidden": {
      "type": "boolean",
      "description": "Include notes of hidden slides. Default false."
    }
  },
  "additionalProperties": false
}
pptx_extract_notes annotations
{
  "title": "Pptx Extract Notes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_extract_images
Advertised by the server during the last successful anonymous check.
Advertised read-only

Pull the pictures out of a PowerPoint (.pptx) from freedailypro as a ZIP (returned as base64), each file exactly as stored in the deck and named by slide, for example slide02_image-2-1.jpeg. Pictures that only the slide design uses (a logo on the master) are left out unless includeTemplatePictures is true; pictures on hidden slides are left out unless includeHidden is true. Errors when there are none.

pptx_extract_images input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "includeHidden": {
      "type": "boolean",
      "description": "Include pictures that appear only on hidden slides. Default false."
    },
    "includeTemplatePictures": {
      "type": "boolean",
      "description": "Include pictures used only by the master or layouts. Default false."
    }
  },
  "additionalProperties": false
}
pptx_extract_images annotations
{
  "title": "Pptx Extract Images",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_clean
Advertised by the server during the last successful anonymous check.
Advertised read-only

Strip what you do not want to share from a PowerPoint (.pptx) from freedailypro, and get a clean .pptx back (base64): speaker notes, comments, hidden slides, author and company details with the revision list, and the stored preview picture. All of those are on by default; documentProperties (title, subject, keywords) and customProperties (labels and tags) are off by default. Slide content, layout and formatting are untouched, and parts only the removed slides used are dropped. Errors if every slide is hidden and hiddenSlides is on.

pptx_clean input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "notes": {
      "type": "boolean",
      "description": "Remove speaker notes. Default true."
    },
    "comments": {
      "type": "boolean",
      "description": "Remove comments. Default true."
    },
    "thumbnail": {
      "type": "boolean",
      "description": "Remove the small preview picture stored in the file. Default true."
    },
    "authorInfo": {
      "type": "boolean",
      "description": "Remove author, last modified by, company, manager and the revision list. Default true."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "hiddenSlides": {
      "type": "boolean",
      "description": "Delete slides that are hidden when presenting. Default true."
    },
    "customProperties": {
      "type": "boolean",
      "description": "Also remove custom document properties. Default false."
    },
    "documentProperties": {
      "type": "boolean",
      "description": "Also clear title, subject, keywords, description and category. Default false."
    }
  },
  "additionalProperties": false
}
pptx_clean annotations
{
  "title": "Pptx Clean",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_compress_default
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress a PowerPoint (.pptx) from freedailypro at the Default level, the sharpest: pictures are kept up to 220 dpi at JPEG quality 82, large photos get smaller, and nothing is converted from PNG to JPEG. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

pptx_compress_default input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "maxDpi": {
      "type": "number",
      "maximum": 300,
      "minimum": 48,
      "description": "Never keep pictures sharper than this many dpi (48 to 300), on top of the level."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "removeNotes": {
      "type": "boolean",
      "description": "Also remove speaker notes first. Default false."
    },
    "removeThumbnail": {
      "type": "boolean",
      "description": "Also remove the stored preview picture. Default false."
    },
    "removeUnusedLayouts": {
      "type": "boolean",
      "description": "Also remove slide layouts no slide uses, and the pictures only they carry. Default false."
    }
  },
  "additionalProperties": false
}
pptx_compress_default annotations
{
  "title": "Pptx Compress Default",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_compress_medium
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress a PowerPoint (.pptx) from freedailypro at the Medium level: pictures up to 150 dpi at JPEG quality 72, and opaque PNG photos are re-saved as JPEG when that is under half the size. Good for email. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

pptx_compress_medium input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "maxDpi": {
      "type": "number",
      "maximum": 300,
      "minimum": 48,
      "description": "Never keep pictures sharper than this many dpi (48 to 300), on top of the level."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "removeNotes": {
      "type": "boolean",
      "description": "Also remove speaker notes first. Default false."
    },
    "removeThumbnail": {
      "type": "boolean",
      "description": "Also remove the stored preview picture. Default false."
    },
    "removeUnusedLayouts": {
      "type": "boolean",
      "description": "Also remove slide layouts no slide uses, and the pictures only they carry. Default false."
    }
  },
  "additionalProperties": false
}
pptx_compress_medium annotations
{
  "title": "Pptx Compress Medium",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_compress_strong
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress a PowerPoint (.pptx) from freedailypro at the Strong level, the smallest of the three: pictures up to 110 dpi at JPEG quality 58. Fine on screen, soft in print. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

pptx_compress_strong input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "maxDpi": {
      "type": "number",
      "maximum": 300,
      "minimum": 48,
      "description": "Never keep pictures sharper than this many dpi (48 to 300), on top of the level."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "removeNotes": {
      "type": "boolean",
      "description": "Also remove speaker notes first. Default false."
    },
    "removeThumbnail": {
      "type": "boolean",
      "description": "Also remove the stored preview picture. Default false."
    },
    "removeUnusedLayouts": {
      "type": "boolean",
      "description": "Also remove slide layouts no slide uses, and the pictures only they carry. Default false."
    }
  },
  "additionalProperties": false
}
pptx_compress_strong annotations
{
  "title": "Pptx Compress Strong",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_compress_size
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compress a PowerPoint (.pptx) from freedailypro to a size you need, such as under 10 MB for an email or an upload form. Runs from the sharpest picture setting to the coarsest and returns the sharpest result that fits targetSize, with targetMet: true. If it cannot fit, you get the smallest file it can make with targetMet: false and a note. A deck already at or under the target is returned unchanged. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

pptx_compress_size input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "targetSize"
  ],
  "properties": {
    "maxDpi": {
      "type": "number",
      "maximum": 300,
      "minimum": 48,
      "description": "Never keep pictures sharper than this many dpi (48 to 300), on top of the level."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "targetSize": {
      "type": [
        "string",
        "number"
      ],
      "description": "The size to reach: a number of bytes, or text such as 10MB or 800KB (at least 1 KB)"
    },
    "removeNotes": {
      "type": "boolean",
      "description": "Also remove speaker notes first. Default false."
    },
    "removeThumbnail": {
      "type": "boolean",
      "description": "Also remove the stored preview picture. Default false."
    },
    "removeUnusedLayouts": {
      "type": "boolean",
      "description": "Also remove slide layouts no slide uses, and the pictures only they carry. Default false."
    }
  },
  "additionalProperties": false
}
pptx_compress_size annotations
{
  "title": "Pptx Compress Size",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_split
Advertised by the server during the last successful anonymous check.
Advertised read-only

Split a PowerPoint (.pptx) from freedailypro into several presentations, returned as ONE ZIP (base64) of .pptx files, each a complete editable deck keeping its own slides' notes, pictures, charts and tables. mode: each (one file per slide; default), every (every N slides, give every), or range (ranges such as '1-3,5,8-': one file per range, or one file with all of them when rangesAsFiles is false). At most 100 files. Errors name the slide numbers that do not exist.

pptx_split input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "mode": {
      "enum": [
        "each",
        "every",
        "range"
      ],
      "type": "string",
      "description": "Default: range when ranges is given, every when every is given, otherwise each."
    },
    "every": {
      "type": "integer",
      "minimum": 1,
      "description": "every mode: slides per file, for example 5"
    },
    "ranges": {
      "type": "string",
      "description": "range mode: comma-separated slides or ranges, for example 1-3,5,8- (8- means 8 to the end)"
    },
    "fileName": {
      "type": "string",
      "description": "Base name for the files inside the ZIP, for example talk.pptx gives talk_slide-01.pptx"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "rangesAsFiles": {
      "type": "boolean",
      "description": "range mode: true (default) makes one file per range; false puts every chosen slide into one file."
    }
  },
  "additionalProperties": false
}
pptx_split annotations
{
  "title": "Pptx Split",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_organize
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reorder, delete and duplicate the slides of a PowerPoint (.pptx) from freedailypro, returning a new editable .pptx (base64); the slide master, layouts and theme stay as they were and every slide keeps its notes, pictures, charts and tables. order: the final order as 1-based slide numbers, for example [3,1,2] (a number twice makes a copy). remove: slides to delete. duplicate: slides to copy, the copy placed right after the original. removeHidden: delete every hidden slide. Slide numbers always refer to the ORIGINAL deck. Errors when a number does not exist or every slide would be removed.

pptx_organize input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "order": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Final order, for example [3,1,2]. Default: the current order."
    },
    "remove": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Original slide numbers to delete"
    },
    "duplicate": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Original slide numbers to copy (the copy follows the original)"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "removeHidden": {
      "type": "boolean",
      "description": "Delete every slide that is hidden when presenting"
    }
  },
  "additionalProperties": false
}
pptx_organize annotations
{
  "title": "Pptx Organize",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_merge
Advertised by the server during the last successful anonymous check.
Advertised read-only

Merge two or more PowerPoint (.pptx) files from freedailypro into one editable presentation (base64), slides in the order the files are given. Each deck keeps its own master, layouts and theme (several masters in one file), so slides keep the look they came with; set useFirstDesign true to put later decks on the first deck's layouts when they match by name. All decks must have the SAME slide size: otherwise it errors (422) naming the decks and their sizes, so fix the size first (in PowerPoint: Design, Slide Size). Comments of the second and later decks are left out. Up to 10 decks and 100 MB in all.

pptx_merge input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "files"
  ],
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "base64"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "File name, used in error messages, for example q1.pptx"
          },
          "base64": {
            "type": "string",
            "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10,
      "minItems": 2
    },
    "useFirstDesign": {
      "type": "boolean",
      "description": "Put every later deck on the first deck's layouts. Refused with the reason when they do not match."
    }
  },
  "additionalProperties": false
}
pptx_merge annotations
{
  "title": "Pptx Merge",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
markdown_to_pptx
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn Markdown or a plain outline into an editable PowerPoint (.pptx, base64) from freedailypro, with real title and body placeholders (so Outline view, the slide master and accessibility checks work). `# Title` makes the title slide (a short line under it is the subtitle), `## Heading` a new slide, `### Heading` a bold sub-heading, `- item` / `1. item` bullets (indent two spaces for sub-bullets), `| a | b |` tables, `Note: text` speaker notes, `---` ends a slide, **bold**, *italic*, `code` and [links](https://example.com) work. Pictures given by web address are not fetched (reported in warnings); use json_to_pptx to put pictures in. mode outline reads an indented outline instead (first line = deck title). Themes: clean, dark, corporate, warm, minimal, or a brand colour and fonts.

markdown_to_pptx input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "markdown"
  ],
  "properties": {
    "mode": {
      "enum": [
        "markdown",
        "outline"
      ],
      "type": "string",
      "description": "Default markdown"
    },
    "brand": {
      "type": "object",
      "required": [
        "color"
      ],
      "properties": {
        "dark": {
          "type": "boolean",
          "description": "Dark slide background."
        },
        "color": {
          "type": "string",
          "description": "Brand colour as hex, for example #0b6e4f. Used for the accent and the cover."
        },
        "bodyFont": {
          "type": "string",
          "description": "Body font, for example Calibri."
        },
        "headingFont": {
          "type": "string",
          "description": "Heading font, for example Georgia. Default Calibri."
        }
      },
      "description": "A theme made from a brand colour and fonts. Replaces theme.",
      "additionalProperties": false
    },
    "theme": {
      "enum": [
        "clean",
        "dark",
        "corporate",
        "warm",
        "minimal"
      ],
      "type": "string",
      "description": "Built-in look. Default clean. Ignored when brand is given."
    },
    "markdown": {
      "type": "string",
      "maxLength": 1000000,
      "minLength": 1,
      "description": "The deck as Markdown (or an indented outline in outline mode)"
    }
  },
  "additionalProperties": false
}
markdown_to_pptx annotations
{
  "title": "Markdown To Pptx",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
json_to_pptx
Advertised by the server during the last successful anonymous check.
Advertised read-only

Build an editable PowerPoint (.pptx, base64) from a JSON description of the slides, from freedailypro. Each slide takes title, subtitle, bullets (strings, or {text, bullets:[...]} for sub-bullets; set numbered true for 1. 2. 3.), text (a paragraph or list of paragraphs), table ({header:[...], rows:[[...]]}), image ({data: base64 or data: URI of a PNG, JPEG or GIF, alt: description}) and notes (speaker notes). A slide with only a title (and subtitle) is a cover when it is first or has a subtitle; layout "title" or "content" forces it. With an image the text sits on the left and the picture on the right, keeping its shape; an image alone is centred. Bullets, text and subtitle accept **bold**, *italic*, `code` and [links](https://example.com); titles and table cells are plain text. Pictures are never fetched from a URL: send base64, and give each an alt text (a warning says when it is missing). Limits: 200 slides, 40 bullets per slide, tables of 60 rows and 12 columns (a table over 14 rows will run off the slide: warning), pictures 8 MB each and 24 MB in all. Themes clean, dark, corporate, warm, minimal, or brand {color, headingFont, bodyFont, dark}. Returns fileName, base64, slides and warnings; invalid input errors name the field, for example slides[2].bullets[1] must be text.

json_to_pptx input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slides"
  ],
  "properties": {
    "brand": {
      "type": "object",
      "required": [
        "color"
      ],
      "properties": {
        "dark": {
          "type": "boolean",
          "description": "Dark slide background."
        },
        "color": {
          "type": "string",
          "description": "Brand colour as hex, for example #0b6e4f. Used for the accent and the cover."
        },
        "bodyFont": {
          "type": "string",
          "description": "Body font, for example Calibri."
        },
        "headingFont": {
          "type": "string",
          "description": "Heading font, for example Georgia. Default Calibri."
        }
      },
      "description": "A theme made from a brand colour and fonts. Replaces theme.",
      "additionalProperties": false
    },
    "theme": {
      "enum": [
        "clean",
        "dark",
        "corporate",
        "warm",
        "minimal"
      ],
      "type": "string",
      "description": "Built-in look. Default clean. Ignored when brand is given."
    },
    "title": {
      "type": "string",
      "description": "Deck title (file property). Default: the first slide's title."
    },
    "slides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "A paragraph (or list of paragraphs) shown above the bullets"
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "alt": {
                    "type": "string",
                    "description": "What the picture shows, for screen readers"
                  },
                  "data": {
                    "type": "string",
                    "description": "Base64 (or a data: URI) of a PNG, JPEG or GIF"
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "notes": {
            "type": "string",
            "description": "Speaker notes"
          },
          "table": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "rows"
                ],
                "properties": {
                  "rows": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": [
                          "string",
                          "number",
                          "boolean",
                          "null"
                        ]
                      }
                    }
                  },
                  "header": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "$ref": "#/properties/slides/items/properties/table/anyOf/0/properties/rows/items/items"
                  }
                }
              }
            ],
            "description": "A table: {header: [...], rows: [[...]]} or just rows"
          },
          "title": {
            "type": "string",
            "description": "Slide title (plain text)"
          },
          "layout": {
            "enum": [
              "title",
              "content"
            ],
            "type": "string",
            "description": "title = cover slide (only title and subtitle); content = normal slide"
          },
          "bullets": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "text": {
                      "type": "string"
                    },
                    "bullets": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "required": [
                              "text"
                            ],
                            "properties": {
                              "text": {
                                "type": "string"
                              },
                              "bullets": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "description": "Sub-bullets (up to 5 levels in total)"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "description": "Bullet list; an item can be text or {text, bullets: [...]}"
          },
          "numbered": {
            "type": "boolean",
            "description": "Number the top-level bullets"
          },
          "subtitle": {
            "type": "string",
            "description": "Shown under the title on a cover slide"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 200,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
json_to_pptx annotations
{
  "title": "Json To Pptx",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
csv_to_pptx
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn a CSV file into an editable PowerPoint (.pptx, base64) of table slides from freedailypro: a cover slide, then the header and up to rowsPerSlide (default 12, max 40) rows on each slide, titled 'Title (1 of 3)'. The first row holds the column names unless header is false. The delimiter (comma, semicolon or tab) is found from the first line. At most 12 columns and 200 slides; cells are kept as plain text. Themes clean, dark, corporate, warm, minimal, or a brand.

csv_to_pptx input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "csv"
  ],
  "properties": {
    "csv": {
      "type": "string",
      "minLength": 1,
      "description": "The CSV text (up to 10 MB)"
    },
    "brand": {
      "type": "object",
      "required": [
        "color"
      ],
      "properties": {
        "dark": {
          "type": "boolean",
          "description": "Dark slide background."
        },
        "color": {
          "type": "string",
          "description": "Brand colour as hex, for example #0b6e4f. Used for the accent and the cover."
        },
        "bodyFont": {
          "type": "string",
          "description": "Body font, for example Calibri."
        },
        "headingFont": {
          "type": "string",
          "description": "Heading font, for example Georgia. Default Calibri."
        }
      },
      "description": "A theme made from a brand colour and fonts. Replaces theme.",
      "additionalProperties": false
    },
    "theme": {
      "enum": [
        "clean",
        "dark",
        "corporate",
        "warm",
        "minimal"
      ],
      "type": "string",
      "description": "Built-in look. Default clean. Ignored when brand is given."
    },
    "title": {
      "type": "string",
      "description": "Deck and slide title. Default Data."
    },
    "header": {
      "type": "boolean",
      "description": "The first row holds column names. Default true."
    },
    "delimiter": {
      "type": "string",
      "description": "One character, or tab. Default: detected."
    },
    "titleSlide": {
      "type": "boolean",
      "description": "Add a cover slide with the title and the table size. Default true."
    },
    "rowsPerSlide": {
      "type": "integer",
      "maximum": 40,
      "minimum": 1,
      "description": "Data rows per slide. Default 12."
    }
  },
  "additionalProperties": false
}
csv_to_pptx annotations
{
  "title": "Csv To Pptx",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_find_replace
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find and replace text across every slide of a PowerPoint (.pptx) from freedailypro, and get the edited .pptx back (base64). Matches inside a paragraph are replaced even when PowerPoint split the words into several runs; the formatting of the first run is kept. Speaker notes are searched too (includeNotes, default true); the slide master and layouts only when includeTemplate is true. Errors with 422 when nothing matches, so a wrong spelling is noticed.

pptx_find_replace input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "find"
  ],
  "properties": {
    "find": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "The text to look for"
    },
    "replace": {
      "type": "string",
      "maxLength": 5000,
      "description": "The new text. Empty removes the match."
    },
    "matchCase": {
      "type": "boolean",
      "description": "Match upper and lower case exactly. Default false."
    },
    "wholeWord": {
      "type": "boolean",
      "description": "Match whole words only. Default false."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "skipSlides": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Slide numbers to leave alone"
    },
    "includeNotes": {
      "type": "boolean",
      "description": "Also change speaker notes. Default true."
    },
    "includeTemplate": {
      "type": "boolean",
      "description": "Also change the slide master and layouts (footers, company names in the design). Default false."
    }
  },
  "additionalProperties": false
}
pptx_find_replace annotations
{
  "title": "Pptx Find Replace",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_fonts
Advertised by the server during the last successful anonymous check.
Advertised read-only

List every font a PowerPoint (.pptx) from freedailypro uses, as JSON: name, how many places use it, which slides, whether the master/layouts/theme use it, whether it is the theme's heading or body font and whether it is embedded. Use it before pptx_replace_fonts.

pptx_fonts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_fonts annotations
{
  "title": "Pptx Fonts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_replace_fonts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swap fonts across a PowerPoint (.pptx) from freedailypro and get the new .pptx (base64): slides, notes, layouts, masters, the theme's heading and body fonts, charts and SmartArt. mapping is {"Old font": "New font"}. Embedded copies of replaced fonts are removed. Errors (422) when none of the named fonts is used. Text is not resized, so a wider font can make a line wrap.

pptx_replace_fonts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64",
    "mapping"
  ],
  "properties": {
    "mapping": {
      "type": "object",
      "description": "Old font name to new font name, for example {\"Calibri\": \"Arial\"}",
      "additionalProperties": {
        "type": "string"
      }
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_replace_fonts annotations
{
  "title": "Pptx Replace Fonts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_slide_numbers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Add slide numbers to a PowerPoint (.pptx) from freedailypro, or remove them, and get the new .pptx (base64). The numbers are real slide-number fields, so they follow when slides move. Slides that already have a number are left alone. 'of-total' writes the total as plain text (PowerPoint has no total field). mode remove takes off the numbers the slides themselves carry (not those on the master).

pptx_slide_numbers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "mode": {
      "enum": [
        "add",
        "remove"
      ],
      "type": "string",
      "description": "Default add"
    },
    "size": {
      "type": "number",
      "maximum": 40,
      "minimum": 8,
      "description": "Points. Default 12."
    },
    "color": {
      "type": "string",
      "description": "Hex colour, for example 595959"
    },
    "format": {
      "enum": [
        "number",
        "slide-number",
        "of-total"
      ],
      "type": "string",
      "description": "3, Slide 3 or 3 / 12. Default number."
    },
    "startAt": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 0,
      "description": "Number of the first slide. Default 1; 0 makes the second slide 1."
    },
    "position": {
      "enum": [
        "bottom-right",
        "bottom-center",
        "bottom-left",
        "top-right"
      ],
      "type": "string",
      "description": "Default bottom-right"
    },
    "skipFirst": {
      "type": "boolean",
      "description": "Leave the first slide without a number"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_slide_numbers annotations
{
  "title": "Pptx Slide Numbers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_watermark
Advertised by the server during the last successful anonymous check.
Advertised read-only

Stamp a text watermark (such as DRAFT or CONFIDENTIAL) or a picture on the slides of a PowerPoint (.pptx) from freedailypro, or remove the watermarks this tool made, and get the new .pptx (base64). Give text, or pictureBase64 (PNG or JPEG) for a picture. It sits behind the slide content by default.

pptx_watermark input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "bold": {
      "type": "boolean",
      "description": "Default true"
    },
    "font": {
      "type": "string",
      "description": "Default Arial"
    },
    "mode": {
      "enum": [
        "add",
        "remove"
      ],
      "type": "string",
      "description": "Default add"
    },
    "size": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 400,
          "minimum": 8
        },
        {
          "type": "string",
          "const": "auto"
        }
      ],
      "description": "Points, or auto to fit the slide. Default auto."
    },
    "text": {
      "type": "string",
      "maxLength": 80,
      "description": "The watermark words, for example DRAFT"
    },
    "color": {
      "type": "string",
      "description": "Text colour, hex. Default 808080."
    },
    "layer": {
      "enum": [
        "behind",
        "front"
      ],
      "type": "string",
      "description": "Default behind"
    },
    "place": {
      "enum": [
        "center",
        "top",
        "bottom",
        "top-left",
        "top-right",
        "bottom-left",
        "bottom-right"
      ],
      "type": "string",
      "description": "Default center"
    },
    "slides": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Slides to mark. Default all."
    },
    "opacity": {
      "type": "number",
      "maximum": 100,
      "minimum": 5,
      "description": "Percent opaque. Default 30."
    },
    "rotation": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Degrees; negative rises to the right. Default -45 for text."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "widthPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 5,
      "description": "Picture width as a percent of the slide. Default 50."
    },
    "pictureBase64": {
      "type": "string",
      "description": "A PNG or JPEG, base64, instead of text"
    }
  },
  "additionalProperties": false
}
pptx_watermark annotations
{
  "title": "Pptx Watermark",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_resize
Advertised by the server during the last successful anonymous check.
Advertised read-only

Change the slide size of a PowerPoint (.pptx) from freedailypro and scale the content to match, returning the new .pptx (base64). preset 16x9, 4x3, 16x10, a4 or letter, or width and height with a unit. mode fit (default) keeps the shape of the content and centres it; fill covers the new area; stretch changes the shape. Fonts, line widths and spacing scale with the content unless scaleText is false. The result lists how many shapes now reach outside the slide. Errors (422) when the slides are already that size.

pptx_resize input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "mode": {
      "enum": [
        "fit",
        "fill",
        "stretch"
      ],
      "type": "string",
      "description": "Default fit"
    },
    "unit": {
      "enum": [
        "in",
        "cm",
        "mm",
        "px"
      ],
      "type": "string",
      "description": "Unit of width and height. Default in."
    },
    "width": {
      "type": "number",
      "description": "Custom width, with height",
      "exclusiveMinimum": 0
    },
    "height": {
      "type": "number",
      "description": "Custom height, with width",
      "exclusiveMinimum": 0
    },
    "preset": {
      "enum": [
        "16x9",
        "4x3",
        "16x10",
        "a4",
        "letter"
      ],
      "type": "string",
      "description": "A standard size (landscape)"
    },
    "scaleText": {
      "type": "boolean",
      "description": "Scale text, lines and spacing too. Default true."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_resize annotations
{
  "title": "Pptx Resize",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_extract_charts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the data behind every chart of a PowerPoint (.pptx) from freedailypro: format xlsx (default; one workbook, a sheet per chart, base64), csv (a ZIP of CSV files, base64; workbooks true also adds each chart's own embedded workbook) or json (each chart's slide, title, type and table). Charts pasted as pictures have no data; errors (422) when the deck has no real charts.

pptx_extract_charts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "format": {
      "enum": [
        "xlsx",
        "csv",
        "json"
      ],
      "type": "string",
      "description": "Default xlsx"
    },
    "workbooks": {
      "type": "boolean",
      "description": "csv: also include the embedded workbooks. Default false."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_extract_charts annotations
{
  "title": "Pptx Extract Charts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_accessibility_check
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check a PowerPoint (.pptx) from freedailypro for accessibility problems and get a JSON report (or CSV): pictures and charts without alt text or with a file name as alt text, slides with no title or an empty or duplicate title, text under 12 points, table header rows, merged cells, vague link text and reading-order problems. Each issue has the slide, severity (error, warning, tip) and a plain message. The check reports only; it changes nothing.

pptx_accessibility_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "format": {
      "enum": [
        "json",
        "csv"
      ],
      "type": "string",
      "description": "Default json"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    }
  },
  "additionalProperties": false
}
pptx_accessibility_check annotations
{
  "title": "Pptx Accessibility Check",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_repair
Advertised by the server during the last successful anonymous check.
Advertised read-only

Try to repair a damaged PowerPoint (.pptx) from freedailypro that PowerPoint reports as needing repair or will not open, and get a new .pptx (base64) plus what was fixed and what was lost. Mends a missing or wrong file list, a missing or inconsistent slide list, dead links to pictures, charts and layouts, duplicate slide ids and a damaged zip index; pieces that cannot be saved are dropped and listed. A healthy file is returned unchanged with changed false. Cannot open password-protected files or old .ppt files.

pptx_repair input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "fileBase64": {
      "type": "string",
      "description": "The damaged .pptx, base64 encoded. Up to 50 MB."
    }
  },
  "additionalProperties": false
}
pptx_repair annotations
{
  "title": "Pptx Repair",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_redact
Advertised by the server during the last successful anonymous check.
Advertised read-only

Black out sensitive text in a PowerPoint (.pptx) from freedailypro and get the redacted .pptx (base64). Matches are replaced by block characters in the file's own text (not covered), on slides, notes, the master and layouts, charts, SmartArt, comments, alt text and link targets. presets: email, phone, ssn, card, url, ip, money, date; plus terms (exact words), regexes, imageSlides ('all' or slide numbers: pictures replaced by a black stand-in) and imageByAlt. stripNotes, stripComments and stripMetadata remove those entirely. The result is read again and any remaining match is reported (remaining, remainingWhere). Text inside pictures, video and audio cannot be found; warnings say what could not be checked. A deck with no match is returned unchanged with changed false.

pptx_redact input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "notes": {
      "type": "boolean",
      "description": "Search speaker notes. Default true."
    },
    "terms": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      },
      "maxItems": 200,
      "description": "Exact words or phrases"
    },
    "presets": {
      "type": "array",
      "items": {
        "enum": [
          "email",
          "phone",
          "ssn",
          "card",
          "url",
          "ip",
          "money",
          "date"
        ],
        "type": "string"
      },
      "description": "Kinds of text to remove"
    },
    "regexes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      },
      "maxItems": 50,
      "description": "Regular expressions (JavaScript syntax)"
    },
    "template": {
      "type": "boolean",
      "description": "Search the master and layouts. Default true."
    },
    "matchCase": {
      "type": "boolean",
      "description": "Default false"
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "imageByAlt": {
      "type": "boolean",
      "description": "Black out pictures whose name or alt text matches the terms or patterns"
    },
    "stripNotes": {
      "type": "boolean",
      "description": "Remove all speaker notes"
    },
    "imageSlides": {
      "anyOf": [
        {
          "type": "string",
          "const": "all"
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1
          }
        }
      ],
      "description": "Black out the pictures on these slides, or all"
    },
    "stripComments": {
      "type": "boolean",
      "description": "Remove all comments"
    },
    "stripMetadata": {
      "type": "boolean",
      "description": "Remove author and file details"
    },
    "dropChartWorkbooks": {
      "type": "boolean",
      "description": "Remove a chart's embedded workbook when it still holds a match. Default true."
    }
  },
  "additionalProperties": false
}
pptx_redact annotations
{
  "title": "Pptx Redact",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_html_slideshow
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn a PowerPoint (.pptx) from freedailypro into ONE self-contained HTML file (returned as text): the slides as readable text with their pictures inlined, arrow-key navigation, a grid (G) and optional speaker notes (N). No external files or scripts. Charts, SmartArt, video, audio and animations are not carried over (notCarried lists them). Speaker notes are off unless includeNotes is true; hidden slides are left out unless includeHidden is true.

pptx_html_slideshow input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "look": {
      "enum": [
        "deck",
        "light",
        "dark"
      ],
      "type": "string",
      "description": "Default deck (the deck's own colours)"
    },
    "title": {
      "type": "string",
      "maxLength": 120,
      "description": "Page title. Default: the deck's title."
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "includeNotes": {
      "type": "boolean",
      "description": "Include speaker notes. Default false."
    },
    "includeHidden": {
      "type": "boolean",
      "description": "Include hidden slides. Default false."
    }
  },
  "additionalProperties": false
}
pptx_html_slideshow annotations
{
  "title": "Pptx Html Slideshow",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pptx_to_template
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn a PowerPoint (.pptx) from freedailypro into a .potx template (base64) and optionally change its theme: colors is {dk1, lt1, dk2, lt2, accent1..accent6, hlink, folHlink} as six-digit hex, plus headingFont, bodyFont and the theme name. keepSlides all, first or none. format pptx gives a re-themed deck instead. Shapes with their own fixed colour or font do not follow the theme; fixedColorShapes and fixedFontRuns count them. The .potx has been checked in LibreOffice, not in desktop PowerPoint.

pptx_to_template input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fileBase64"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 80,
      "description": "The theme's name"
    },
    "colors": {
      "type": "object",
      "description": "Theme colours by key, hex without #",
      "additionalProperties": {
        "type": "string"
      }
    },
    "format": {
      "enum": [
        "potx",
        "pptx"
      ],
      "type": "string",
      "description": "Default potx"
    },
    "bodyFont": {
      "type": "string",
      "maxLength": 64
    },
    "fileBase64": {
      "type": "string",
      "description": "The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported."
    },
    "keepSlides": {
      "enum": [
        "all",
        "first",
        "none"
      ],
      "type": "string",
      "description": "Default all"
    },
    "headingFont": {
      "type": "string",
      "maxLength": 64
    },
    "removeNotesAndAuthor": {
      "type": "boolean",
      "description": "Remove notes, comments and the author's name from the kept slides"
    }
  },
  "additionalProperties": false
}
pptx_to_template annotations
{
  "title": "Pptx To Template",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_roman
Advertised by the server during the last successful anonymous check.
Advertised read-only

converters roman

converters_roman input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "direction",
    "value"
  ],
  "properties": {
    "value": {
      "type": [
        "number",
        "string"
      ],
      "description": "toRoman: a whole number from 1 to 3,999,999 (above 3,999 the thousands get a bar over every letter, written with the Unicode combining overline U+0305). fromRoman: a numeral; barred letters may be typed with U+0305 or as a bracketed group such as (V) for 5,000."
    },
    "direction": {
      "enum": [
        "toRoman",
        "fromRoman"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
converters_roman annotations
{
  "title": "Converters Roman",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_units
Advertised by the server during the last successful anonymous check.
Advertised read-only

Unit converter: 14 categories and over 130 units with exact factors

converters_units input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "category",
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "Unit id to convert to."
    },
    "from": {
      "type": "string",
      "description": "Unit id to convert from, for example gal_us, km_h, psi, kwh (see units-list for the ids and aliases)."
    },
    "value": {
      "type": "number",
      "description": "The number to convert."
    },
    "category": {
      "type": "string",
      "description": "length, weight, temperature, volume, area, speed, pressure, energy, power, time, data_transfer, angle, fuel_economy or cooking. List the units of each with /v1/converters/units-list."
    }
  },
  "additionalProperties": false
}
converters_units annotations
{
  "title": "Converters Units",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_units_list
Advertised by the server during the last successful anonymous check.
Advertised read-only

Unit converter: the units of each category, with ids, symbols, aliases and a US, imperial or metric tag

converters_units_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "category": {
      "type": "string",
      "description": "Only this category (for example volume). Leave out for every category."
    }
  },
  "additionalProperties": false
}
converters_units_list annotations
{
  "title": "Converters Units List",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_file_size
Advertised by the server during the last successful anonymous check.
Advertised read-only

File size converter

converters_file_size input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "B",
        "KB",
        "MB",
        "GB",
        "TB",
        "PB"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "B",
        "KB",
        "MB",
        "GB",
        "TB",
        "PB"
      ],
      "type": "string"
    },
    "value": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
converters_file_size annotations
{
  "title": "Converters File Size",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_job_experience
Advertised by the server during the last successful anonymous check.
Advertised read-only

Job experience calculator

converters_job_experience input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "startIso"
  ],
  "properties": {
    "endIso": {
      "type": "string"
    },
    "startIso": {
      "type": "string"
    },
    "otherJobs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "startIso"
        ],
        "properties": {
          "endIso": {
            "type": "string",
            "description": "YYYY-MM-DD. Leave out for a job that is still going on (today is used)."
          },
          "startIso": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50,
      "description": "More jobs. When given, the response also has a `history` object: each job's length, the total with overlapping periods counted once, and the gaps between jobs."
    },
    "countEndDate": {
      "type": "boolean",
      "description": "Only used with otherJobs. true (default) counts the end date as a full day, so 1 Jan to 31 Dec is one year."
    }
  },
  "additionalProperties": false
}
converters_job_experience annotations
{
  "title": "Converters Job Experience",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_paycheck
Advertised by the server during the last successful anonymous check.
Advertised read-only

Paycheck estimator: 2026 US federal tax, FICA, state tax and pre-tax deductions

converters_paycheck input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "grossAnnual"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "US state (two-letter code such as NY, or the full name; DC included). Adds that state's 2026 income tax from the same table as the website. Without it, no state income tax is included."
    },
    "grossAnnual": {
      "type": "number",
      "description": "Gross pay for the year, in US dollars."
    },
    "filingStatus": {
      "enum": [
        "single",
        "married-joint",
        "married-separate",
        "head-of-household"
      ],
      "type": "string",
      "description": "Federal filing status. Default single."
    },
    "stateRatePct": {
      "type": "number",
      "minimum": 0,
      "description": "Optional flat state rate in percent. When sent it replaces the state lookup (first-version behaviour)."
    },
    "retirementPct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Traditional 401(k)/403(b) deferral as a percent of gross pay. Lowers income tax but not FICA."
    },
    "federalRatePct": {
      "type": "number",
      "minimum": 0,
      "description": "Optional flat federal rate in percent. When sent it replaces the 2026 bracket calculation (first-version behaviour)."
    },
    "section125Annual": {
      "type": "number",
      "minimum": 0,
      "description": "Yearly pre-tax health, dental, HSA or FSA deductions. Lowers income tax and FICA."
    },
    "payPeriodsPerYear": {
      "type": "number",
      "description": "Pay periods per year: 52, 26, 24 or 12. Default 24."
    },
    "otherDeductionPerCheck": {
      "type": "number",
      "minimum": 0,
      "description": "Other after-tax deduction taken from each paycheck, in dollars."
    }
  },
  "additionalProperties": false
}
converters_paycheck annotations
{
  "title": "Converters Paycheck",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_fire
Advertised by the server during the last successful anonymous check.
Advertised read-only

FIRE calculator

converters_fire input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "annualSpend"
  ],
  "properties": {
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional plan start date, as YYYY-MM-DD. When the target is reached, adds startDate and fireDate (the start plus yearsToFire years). It only labels the timeline; the amounts do not change."
    },
    "annualSpend": {
      "type": "number"
    },
    "currentSavings": {
      "type": "number",
      "minimum": 0
    },
    "expectedReturnPct": {
      "type": "number"
    },
    "withdrawalRatePct": {
      "type": "number",
      "minimum": 0
    },
    "annualContribution": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
converters_fire annotations
{
  "title": "Converters Fire",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_vat_gst
Advertised by the server during the last successful anonymous check.
Advertised read-only

VAT and GST calculator with a country rate table

converters_vat_gst input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "minimum": 0,
            "description": "The line amount (net, or gross when amountIncludesTax is true)."
          },
          "ratePct": {
            "type": "number",
            "minimum": 0,
            "description": "This line's rate in percent. Defaults to the top-level ratePct or the country's standard rate."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 200,
      "description": "Invoice lines at different rates: returns a subtotal per rate (byRate) and a grand total. Use instead of amount."
    },
    "amount": {
      "type": "number",
      "description": "The amount, in any currency. Send this, or vatAmount, or lines."
    },
    "country": {
      "type": "string",
      "description": "Country name (for example Germany, United Kingdom, Australia, Singapore, UAE). Looks up the standard VAT/GST rate. Canada has one entry per province group, e.g. 'Canada - Ontario HST'. The error for an unknown name lists every supported entry."
    },
    "ratePct": {
      "type": "number",
      "description": "VAT/GST rate in percent. Required unless country is sent. Takes priority over country."
    },
    "vatAmount": {
      "type": "number",
      "minimum": 0,
      "description": "The VAT amount shown on a receipt: returns the net and gross it implies at the rate (needs a rate above 0). Use instead of amount."
    },
    "amountIncludesTax": {
      "type": "boolean",
      "description": "true when amount already includes the tax (the tax is taken out of it)."
    }
  },
  "additionalProperties": false
}
converters_vat_gst annotations
{
  "title": "Converters Vat Gst",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_countdown
Advertised by the server during the last successful anonymous check.
Advertised read-only

Countdown calculator

converters_countdown input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "isoTarget"
  ],
  "properties": {
    "fromIso": {
      "type": "string"
    },
    "isoTarget": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
converters_countdown annotations
{
  "title": "Converters Countdown",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_401k
Advertised by the server during the last successful anonymous check.
Advertised read-only

401(k) projection with the 2026 IRS contribution limits

converters_401k input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "currentBalance",
    "annualContribution",
    "years"
  ],
  "properties": {
    "age": {
      "type": "number",
      "description": "Your age. Used to pick the 2026 IRS employee limit ($24,500; plus $8,000 catch-up at 50-59 and 64+, $11,250 at 60-63). Without it the base limit is used."
    },
    "years": {
      "type": "number"
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date the first contribution year starts, as YYYY-MM-DD. Adds startDate and endDate (when the projection ends). It only labels the plan; the amounts do not change."
    },
    "applyIrsLimit": {
      "type": "boolean",
      "description": "true caps annualContribution at the IRS limit for your age. Default false: the contribution is used as sent and a warning is returned if it is over the limit."
    },
    "currentBalance": {
      "type": "number",
      "minimum": 0
    },
    "employerMatchPct": {
      "type": "number",
      "minimum": 0,
      "description": "Employer match as a percent of your own contribution (50 = 50 cents per dollar)."
    },
    "expectedReturnPct": {
      "type": "number"
    },
    "annualContribution": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
converters_401k annotations
{
  "title": "Converters 401k",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_rmd
Advertised by the server during the last successful anonymous check.
Advertised read-only

RMD estimator using the IRS Uniform Lifetime Table

converters_rmd input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "accountBalance",
    "age"
  ],
  "properties": {
    "age": {
      "type": "number",
      "description": "Age you reach this year (72 to 120). The IRS Uniform Lifetime Table divisor for that age is used."
    },
    "birthYear": {
      "type": "number",
      "description": "Birth year. Adds the SECURE 2.0 RMD start age (73 for 1951-1959, 75 for 1960 or later) and whether an RMD is required yet."
    },
    "accountBalance": {
      "type": "number",
      "description": "Account balance on 31 December of the previous year."
    }
  },
  "additionalProperties": false
}
converters_rmd annotations
{
  "title": "Converters Rmd",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_csv
Advertised by the server during the last successful anonymous check.
Advertised read-only

text csv

text_csv input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "operation"
  ],
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "text": {
      "type": "string"
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "delimiter": {
      "type": "string"
    },
    "operation": {
      "enum": [
        "parse",
        "stringify",
        "toJson"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
text_csv annotations
{
  "title": "Text Csv",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_similarity
Advertised by the server during the last successful anonymous check.
Advertised read-only

Text similarity

text_similarity input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "string"
    },
    "b": {
      "type": "string"
    },
    "phraseWords": {
      "type": "integer",
      "maximum": 8,
      "minimum": 3,
      "description": "When given (3 to 8), the response also has a `phrases` object: how much of each text sits inside phrases of this many words that both texts share (case and punctuation ignored). Shorter texts use shorter phrases. Compares the two texts with each other only; it is not a web plagiarism check."
    }
  },
  "additionalProperties": false
}
text_similarity annotations
{
  "title": "Text Similarity",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_citation
Advertised by the server during the last successful anonymous check.
Advertised read-only

Citation generator

text_citation input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "style",
    "authors",
    "title"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "year": {
      "type": [
        "string",
        "number"
      ]
    },
    "style": {
      "enum": [
        "apa",
        "mla",
        "chicago"
      ],
      "type": "string"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "authors": {
      "type": "string",
      "minLength": 1
    },
    "siteOrPublisher": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
text_citation annotations
{
  "title": "Text Citation",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_packing_list
Advertised by the server during the last successful anonymous check.
Advertised read-only

Packing list generator

planning_packing_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "nights",
    "climate"
  ],
  "properties": {
    "nights": {
      "type": "number",
      "minimum": 0
    },
    "climate": {
      "enum": [
        "hot",
        "mild",
        "cold"
      ],
      "type": "string"
    },
    "tripType": {
      "enum": [
        "leisure",
        "business"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
planning_packing_list annotations
{
  "title": "Planning Packing List",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_event_budget
Advertised by the server during the last successful anonymous check.
Advertised read-only

Event budget planner

planning_event_budget input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "guests"
  ],
  "properties": {
    "venue": {
      "type": "number",
      "minimum": 0
    },
    "extras": {
      "type": "number",
      "minimum": 0
    },
    "guests": {
      "type": "number",
      "minimum": 0
    },
    "catering": {
      "type": "number",
      "minimum": 0
    },
    "costPerGuest": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
planning_event_budget annotations
{
  "title": "Planning Event Budget",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_itinerary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Travel itinerary splitter

planning_itinerary input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "days",
    "activities"
  ],
  "properties": {
    "days": {
      "type": "number",
      "minimum": 0
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional first day of the trip, as YYYY-MM-DD. Adds a calendar date to every day of the result."
    },
    "activities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
planning_itinerary annotations
{
  "title": "Planning Itinerary",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_tdee
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calorie TDEE calculator

converters_tdee input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "sex",
    "age",
    "weightKg",
    "heightCm"
  ],
  "properties": {
    "age": {
      "type": "number"
    },
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "activity": {
      "enum": [
        "sedentary",
        "light",
        "moderate",
        "active",
        "veryActive"
      ],
      "type": "string"
    },
    "heightCm": {
      "type": "number"
    },
    "highDays": {
      "type": "integer",
      "maximum": 3,
      "minimum": 1,
      "description": "Weekly calorie cycling: how many higher-calorie days a week (1 to 3)."
    },
    "swingPct": {
      "type": "number",
      "maximum": 30,
      "minimum": 1,
      "description": "How far above the daily target the higher days sit, in percent. Default 15."
    },
    "weightKg": {
      "type": "number"
    },
    "cycleGoal": {
      "enum": [
        "maintain",
        "cut",
        "bulk"
      ],
      "type": "string",
      "description": "Which daily target to spread over the week. Default maintain."
    },
    "macroGoal": {
      "enum": [
        "lose",
        "maintain",
        "gain"
      ],
      "type": "string",
      "description": "Adds a macros block: grams of protein, carbohydrate and fat for the matching calorie target (lose = cut, maintain = TDEE, gain = bulk), the percentage split, and whether each share sits inside the Institute of Medicine AMDR ranges."
    }
  },
  "additionalProperties": false
}
converters_tdee annotations
{
  "title": "Converters Tdee",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_self_employment_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

Self-employment tax: 2026 wage base, Medicare and Additional Medicare

converters_self_employment_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "netProfit"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "With includeIncomeTax: a US state (two-letter code or name) to add that state's income tax on the profit."
    },
    "w2Wages": {
      "type": "number",
      "minimum": 0,
      "description": "W-2 wages from a job in the same year. They use up part of the Social Security wage base and count toward the Additional Medicare threshold."
    },
    "netProfit": {
      "type": "number",
      "description": "Net self-employment profit for the year, in US dollars."
    },
    "filingStatus": {
      "enum": [
        "single",
        "married-joint",
        "married-separate",
        "head-of-household"
      ],
      "type": "string",
      "description": "Federal filing status. Default single."
    },
    "priorYearAgi": {
      "type": "number",
      "minimum": 0,
      "description": "With priorYearTax: last year's adjusted gross income; above $150,000 ($75,000 married filing separately) the safe harbour is 110% of last year's tax."
    },
    "priorYearTax": {
      "type": "number",
      "minimum": 0,
      "description": "With includeIncomeTax: last year's total tax, for the IRS safe-harbour alternative (100% of last year's tax, or 110% if priorYearAgi is above the threshold)."
    },
    "includeIncomeTax": {
      "type": "boolean",
      "description": "true adds federal income tax (2026 brackets, standard deduction, after the half self-employment tax deduction) so quarterlyPayment is the whole estimated payment. Default false: quarterlyPayment is the self-employment tax divided by 4."
    }
  },
  "additionalProperties": false
}
converters_self_employment_tax annotations
{
  "title": "Converters Self Employment Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_529
Advertised by the server during the last successful anonymous check.
Advertised read-only

529 calculator

converters_529 input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "currentBalance",
    "monthlyContribution",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number"
    },
    "currentBalance": {
      "type": "number",
      "minimum": 0
    },
    "expectedReturnPct": {
      "type": "number"
    },
    "monthlyContribution": {
      "type": "number",
      "minimum": 0
    },
    "firstContributionDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date of the first monthly contribution, as YYYY-MM-DD. Adds firstContributionDate, lastContributionDate and targetDate (when the projected balance is reached). It only labels the plan; the amounts do not change. A day of 29 to 31 moves to the last day of shorter months."
    }
  },
  "additionalProperties": false
}
converters_529 annotations
{
  "title": "Converters 529",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_event_checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Event checklist planner

planning_event_checklist input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "eventType": {
      "enum": [
        "wedding",
        "birthday",
        "conference",
        "other"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
planning_event_checklist annotations
{
  "title": "Planning Event Checklist",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_event_schedule
Advertised by the server during the last successful anonymous check.
Advertised read-only

Event day schedule

planning_event_schedule input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "startHour",
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "minutes"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "minutes": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "startHour": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
planning_event_schedule annotations
{
  "title": "Planning Event Schedule",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_guest_list
Advertised by the server during the last successful anonymous check.
Advertised read-only

Guest list tracker

planning_guest_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "guests"
  ],
  "properties": {
    "guests": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "status"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "status": {
            "enum": [
              "invited",
              "yes",
              "no",
              "maybe"
            ],
            "type": "string"
          },
          "plusOne": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
planning_guest_list annotations
{
  "title": "Planning Guest List",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_relocation_checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Relocation checklist planner

planning_relocation_checklist input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
planning_relocation_checklist annotations
{
  "title": "Planning Relocation Checklist",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_cost_of_living
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cost of living comparison

planning_cost_of_living input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "salary"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "New place, same format as 'from'."
    },
    "from": {
      "type": "string",
      "description": "Current place as a U.S. city ('Austin' or 'Austin, TX') or 5-digit ZIP; looked up in the built-in table of 127 U.S. metros (BEA Regional Price Parities, 2023)."
    },
    "salary": {
      "type": "number",
      "description": "Current salary."
    },
    "toIndex": {
      "type": "number",
      "description": "Cost-of-living index of the new place. Leave out when you send 'to'.",
      "exclusiveMinimum": 0
    },
    "fromIndex": {
      "type": "number",
      "description": "Cost-of-living index of the current place (100 = average). Leave out when you send 'from'.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
planning_cost_of_living annotations
{
  "title": "Planning Cost Of Living",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_invoice_totals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Invoice totals

business_invoice_totals input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "lines"
  ],
  "properties": {
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "qty",
          "unitPrice"
        ],
        "properties": {
          "qty": {
            "type": "number"
          },
          "unitPrice": {
            "type": "number"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "taxPct": {
      "type": "number",
      "minimum": 0
    },
    "discountPct": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
business_invoice_totals annotations
{
  "title": "Business Invoice Totals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_expenses
Advertised by the server during the last successful anonymous check.
Advertised read-only

Expense tracker

business_expenses input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "category",
          "amount"
        ],
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}",
            "description": "Optional date, YYYY-MM-DD. When any item has one, the response adds byMonth totals."
          },
          "amount": {
            "type": "number"
          },
          "category": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional note; not used in the totals."
          }
        },
        "additionalProperties": false
      },
      "description": "The expenses to total. A refund is a negative amount."
    },
    "mergeCategories": {
      "type": "boolean",
      "description": "true treats categories that differ only in case or surrounding spaces as one. Default false (exactly as sent)."
    }
  },
  "additionalProperties": false
}
business_expenses annotations
{
  "title": "Business Expenses",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
security_barcode_code128
Advertised by the server during the last successful anonymous check.
Advertised read-only

Code 128 barcode

security_barcode_code128 input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "pattern": "^[\\x20-\\x7E]+$",
      "maxLength": 80,
      "minLength": 1
    },
    "format": {
      "enum": [
        "json",
        "svg"
      ],
      "type": "string"
    },
    "height": {
      "type": "number",
      "maximum": 400,
      "minimum": 10
    }
  },
  "additionalProperties": false
}
security_barcode_code128 annotations
{
  "title": "Security Barcode Code128",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_social_security
Advertised by the server during the last successful anonymous check.
Advertised read-only

Social Security retirement benefit estimate with 2026 bend points

converters_social_security input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "claimAge": {
      "type": "number",
      "description": "Age you start benefits, 62 to 70 (decimals such as 62.5 are rounded to whole months). Default 67."
    },
    "birthYear": {
      "type": "number",
      "description": "Birth year, which sets full retirement age (67 if born 1960 or later). Default 1960."
    },
    "yearsWorked": {
      "type": "number",
      "minimum": 0,
      "description": "With annualEarnings: years of work, up to 35 (default 35)."
    },
    "annualEarnings": {
      "type": "number",
      "minimum": 0,
      "description": "Alternative to AIME: current yearly earnings (capped at the 2026 wage base of $184,500). AIME is estimated from it."
    },
    "averageIndexedMonthlyEarnings": {
      "type": "number",
      "description": "Your AIME (average indexed monthly earnings) from your SSA statement. Send this or annualEarnings."
    }
  },
  "additionalProperties": false
}
converters_social_security annotations
{
  "title": "Converters Social Security",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_chores
Advertised by the server during the last successful anonymous check.
Advertised read-only

Household chore splitter

planning_chores input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "people",
    "chores"
  ],
  "properties": {
    "chores": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "people": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
planning_chores annotations
{
  "title": "Planning Chores",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_nda_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

NDA draft

business_nda_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "disclosingParty",
    "receivingParty",
    "purpose"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "minLength": 1
    },
    "termYears": {
      "type": "number",
      "minimum": 0
    },
    "receivingParty": {
      "type": "string",
      "minLength": 1
    },
    "disclosingParty": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_nda_draft annotations
{
  "title": "Business Nda Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_offer_letter_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Employment offer letter draft

business_offer_letter_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "candidate",
    "company",
    "title",
    "salary",
    "startDate"
  ],
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "salary": {
      "type": "string",
      "minLength": 1
    },
    "company": {
      "type": "string",
      "minLength": 1
    },
    "candidate": {
      "type": "string",
      "minLength": 1
    },
    "startDate": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_offer_letter_draft annotations
{
  "title": "Business Offer Letter Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_bill_of_sale_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Bill of sale draft

business_bill_of_sale_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "seller",
    "buyer",
    "item",
    "price",
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "minLength": 1
    },
    "item": {
      "type": "string",
      "minLength": 1
    },
    "buyer": {
      "type": "string",
      "minLength": 1
    },
    "price": {
      "type": "string",
      "minLength": 1
    },
    "seller": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_bill_of_sale_draft annotations
{
  "title": "Business Bill Of Sale Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_product_margin
Advertised by the server during the last successful anonymous check.
Advertised read-only

Product margin calculator

business_product_margin input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cost",
    "price"
  ],
  "properties": {
    "cost": {
      "type": "number",
      "minimum": 0
    },
    "price": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
business_product_margin annotations
{
  "title": "Business Product Margin",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_paper_format
Advertised by the server during the last successful anonymous check.
Advertised read-only

Paper format checker

text_paper_format input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
text_paper_format annotations
{
  "title": "Text Paper Format",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_monthly_budget
Advertised by the server during the last successful anonymous check.
Advertised read-only

Monthly budget planner

planning_monthly_budget input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "income",
    "expenses"
  ],
  "properties": {
    "income": {
      "type": "number"
    },
    "expenses": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "amount"
        ],
        "properties": {
          "kind": {
            "enum": [
              "need",
              "want",
              "savings",
              "debt"
            ],
            "type": "string",
            "description": "50/30/20 bucket: need, want, savings, or debt (a required debt payment, counted in needs). When no expense has a kind the site's name-based guess is used for plan, and without kind or period on any expense the response is the first version."
          },
          "name": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "period": {
            "enum": [
              "month",
              "year"
            ],
            "type": "string",
            "description": "month (default) or year: a yearly amount counts as amount / 12 a month (a sinking fund for an annual bill)."
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
planning_monthly_budget annotations
{
  "title": "Planning Monthly Budget",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_grocery_list
Advertised by the server during the last successful anonymous check.
Advertised read-only

Grocery list planner

planning_grocery_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "qty": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "aisle": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
planning_grocery_list annotations
{
  "title": "Planning Grocery List",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_inventory
Advertised by the server during the last successful anonymous check.
Advertised read-only

Inventory tracker

planning_inventory input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "qty"
        ],
        "properties": {
          "qty": {
            "type": "number"
          },
          "sku": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "reorderAt": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
planning_inventory annotations
{
  "title": "Planning Inventory",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_student_loan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Student loan calculator

converters_student_loan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "annualRatePct"
  ],
  "properties": {
    "ibr": {
      "enum": [
        10,
        15
      ],
      "type": "number",
      "description": "Also show IBR at 10% (loans from 1 July 2014, 20 years) or 15% (older loans, 25 years) of discretionary income. Only for borrowers whose loans were all made before 1 July 2026."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code. AK and HI use their own poverty guideline for IBR; anything else the 48-state figure."
    },
    "income": {
      "type": "number",
      "minimum": 0,
      "description": "Yearly adjusted gross income. Adds incomeDriven: the Repayment Assistance Plan payment (and IBR with ibr) beside the standard plan, with total paid, term and forgiven balance."
    },
    "principal": {
      "type": "number"
    },
    "refinance": {
      "type": "object",
      "required": [
        "annualRatePct",
        "years"
      ],
      "properties": {
        "years": {
          "type": "number",
          "maximum": 40,
          "minimum": 1
        },
        "annualRatePct": {
          "type": "number",
          "maximum": 100,
          "minimum": 0
        }
      },
      "description": "A private refinance on the same balance: returns the new payment and the interest saved or added.",
      "additionalProperties": false
    },
    "dependents": {
      "type": "integer",
      "minimum": 0,
      "description": "Dependents claimed on the tax return (RAP takes $50 a month off for each). With income."
    },
    "annualRatePct": {
      "type": "number"
    },
    "householdSize": {
      "type": "integer",
      "minimum": 1,
      "description": "Household size for the IBR poverty guideline. With income. Default 1."
    },
    "monthlyPayment": {
      "type": "number",
      "description": "The payment you make. Send this or standardTermYears."
    },
    "firstPaymentDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date the first payment is due, as YYYY-MM-DD. Adds firstPaymentDate, lastPaymentDate and payoffDate to the result. It only labels the result; the months, interest and totals do not change. A payment day of 29 to 31 moves to the last day of shorter months."
    },
    "standardTermYears": {
      "type": "number",
      "description": "Use the standard payment for this many years instead of sending monthlyPayment."
    }
  },
  "additionalProperties": false
}
converters_student_loan annotations
{
  "title": "Converters Student Loan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_lease_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lease agreement draft

business_lease_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "landlord",
    "tenant",
    "address",
    "rent",
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "string",
      "minLength": 1
    },
    "rent": {
      "type": "string",
      "minLength": 1
    },
    "start": {
      "type": "string",
      "minLength": 1
    },
    "tenant": {
      "type": "string",
      "minLength": 1
    },
    "address": {
      "type": "string",
      "minLength": 1
    },
    "landlord": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_lease_draft annotations
{
  "title": "Business Lease Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_promissory_note_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Promissory note draft

business_promissory_note_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "borrower",
    "lender",
    "amount",
    "due"
  ],
  "properties": {
    "due": {
      "type": "string",
      "minLength": 1
    },
    "amount": {
      "type": "string",
      "minLength": 1
    },
    "lender": {
      "type": "string",
      "minLength": 1
    },
    "borrower": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_promissory_note_draft annotations
{
  "title": "Business Promissory Note Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_eviction_notice_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Eviction notice draft

business_eviction_notice_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "landlord",
    "tenant",
    "address",
    "date",
    "days"
  ],
  "properties": {
    "date": {
      "type": "string",
      "minLength": 1
    },
    "days": {
      "type": "number",
      "minimum": 0
    },
    "tenant": {
      "type": "string",
      "minLength": 1
    },
    "address": {
      "type": "string",
      "minLength": 1
    },
    "landlord": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_eviction_notice_draft annotations
{
  "title": "Business Eviction Notice Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_poa_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Power of attorney draft

business_poa_draft input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "agent",
    "powers"
  ],
  "properties": {
    "agent": {
      "type": "string",
      "minLength": 1
    },
    "powers": {
      "type": "string",
      "minLength": 1
    },
    "principal": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_poa_draft annotations
{
  "title": "Business Poa Draft",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
security_qr
Advertised by the server during the last successful anonymous check.
Advertised read-only

QR code generator

security_qr input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1
    },
    "format": {
      "enum": [
        "json",
        "svg"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
security_qr annotations
{
  "title": "Security Qr",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_emoji_unicode
Advertised by the server during the last successful anonymous check.
Advertised read-only

Emoji unicode converter

text_emoji_unicode input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "operation",
    "value"
  ],
  "properties": {
    "value": {
      "type": "string"
    },
    "operation": {
      "enum": [
        "toUnicode",
        "fromUnicode"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
text_emoji_unicode annotations
{
  "title": "Text Emoji Unicode",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_amortization
Advertised by the server during the last successful anonymous check.
Advertised read-only

Loan amortization schedule with optional payment dates and step-by-step working

converters_amortization input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "annualRatePct",
    "months"
  ],
  "properties": {
    "months": {
      "type": "number"
    },
    "principal": {
      "type": "number"
    },
    "annualRatePct": {
      "type": "number",
      "minimum": 0
    },
    "firstPaymentDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date the first payment is due, as YYYY-MM-DD. Adds a date to every schedule row and returns firstPaymentDate, lastPaymentDate and payoffDate. It only labels the schedule; the amounts do not change. A payment day of 29 to 31 moves to the last day of shorter months."
    }
  },
  "additionalProperties": false
}
converters_amortization annotations
{
  "title": "Converters Amortization",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_us_income_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

US federal income tax estimate with 2026 brackets, filing status, deductions, FICA and state tax

converters_us_income_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "state": {
      "type": "string",
      "description": "With grossIncome: US state (two-letter code or name) to add that state's 2026 income tax."
    },
    "deduction": {
      "enum": [
        "standard",
        "itemized"
      ],
      "type": "string",
      "description": "With grossIncome. Default standard (2026 amount for the filing status)."
    },
    "grossIncome": {
      "type": "number",
      "description": "Gross income before deductions (wages or profit). The standard or itemized deduction is applied for you, and FICA and optional state tax are added. Send this OR taxableIncome."
    },
    "filingStatus": {
      "enum": [
        "single",
        "married-joint",
        "married-separate",
        "head-of-household"
      ],
      "type": "string",
      "description": "Federal filing status. Default single."
    },
    "selfEmployed": {
      "type": "boolean",
      "description": "With grossIncome: treat the income as self-employment profit (self-employment tax instead of employee FICA)."
    },
    "taxableIncome": {
      "type": "number",
      "description": "Income after deductions. Send this OR grossIncome."
    },
    "preTaxDeductions": {
      "type": "number",
      "minimum": 0,
      "description": "With grossIncome: yearly pre-tax deductions such as traditional 401(k). Lowers income tax but not FICA."
    },
    "itemizedDeductions": {
      "type": "number",
      "minimum": 0,
      "description": "With deduction 'itemized': the total of your itemized deductions."
    }
  },
  "additionalProperties": false
}
converters_us_income_tax annotations
{
  "title": "Converters Us Income Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_startup_names
Advertised by the server during the last successful anonymous check.
Advertised read-only

Startup name generator

business_startup_names input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "seeds"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "minimum": 0
    },
    "seeds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
business_startup_names annotations
{
  "title": "Business Startup Names",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_resume_outline
Advertised by the server during the last successful anonymous check.
Advertised read-only

Resume outline builder

business_resume_outline input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name",
    "title"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "skills": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "summary": {
      "type": "string"
    },
    "experience": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "company",
          "role"
        ],
        "properties": {
          "role": {
            "type": "string"
          },
          "years": {
            "type": "string"
          },
          "company": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
business_resume_outline annotations
{
  "title": "Business Resume Outline",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_split_bill
Advertised by the server during the last successful anonymous check.
Advertised read-only

Split bill calculator

planning_split_bill input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "total",
    "people"
  ],
  "properties": {
    "total": {
      "type": "number"
    },
    "people": {
      "type": "number"
    },
    "tipPct": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
planning_split_bill annotations
{
  "title": "Planning Split Bill",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_product_description
Advertised by the server during the last successful anonymous check.
Advertised read-only

Product description writer

text_product_description input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name",
    "audience",
    "benefits"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Product name, used as written."
    },
    "audience": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Who it is for, for example 'busy commuters'. A leading 'for' is fine."
    },
    "benefits": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "What the product does for the buyer, in any form: 'keeps water cold', 'keep water cold', 'to keep water cold', 'keeping water cold', 'designed for comfort' or 'long battery life'."
    },
    "features": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      },
      "maxItems": 20,
      "description": "Optional specifications or details, same flexible wording as benefits."
    }
  },
  "additionalProperties": false
}
text_product_description annotations
{
  "title": "Text Product Description",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_user_manual
Advertised by the server during the last successful anonymous check.
Advertised read-only

User manual writer

text_user_manual input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "product",
    "tasks"
  ],
  "properties": {
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "product": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
text_user_manual annotations
{
  "title": "Text User Manual",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_invention_disclosure
Advertised by the server during the last successful anonymous check.
Advertised read-only

Invention disclosure worksheet

business_invention_disclosure input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title",
    "inventor",
    "problem",
    "solution"
  ],
  "properties": {
    "date": {
      "type": "string"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "problem": {
      "type": "string",
      "minLength": 1
    },
    "inventor": {
      "type": "string",
      "minLength": 1
    },
    "solution": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_invention_disclosure annotations
{
  "title": "Business Invention Disclosure",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_contract_pack
Advertised by the server during the last successful anonymous check.
Advertised read-only

Contract templates

business_contract_pack input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "services",
        "nda",
        "employment",
        "sale"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
business_contract_pack annotations
{
  "title": "Business Contract Pack",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_receipt
Advertised by the server during the last successful anonymous check.
Advertised read-only

Receipt maker

business_receipt input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "merchant",
    "lines"
  ],
  "properties": {
    "date": {
      "type": "string"
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "qty",
          "unitPrice"
        ],
        "properties": {
          "qty": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "unitPrice": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "taxPct": {
      "type": "number",
      "minimum": 0
    },
    "merchant": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_receipt annotations
{
  "title": "Business Receipt",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_invitation_copy
Advertised by the server during the last successful anonymous check.
Advertised read-only

Invitation copy

text_invitation_copy input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "event",
    "host",
    "when",
    "where"
  ],
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1
    },
    "when": {
      "type": "string",
      "minLength": 1
    },
    "event": {
      "type": "string",
      "minLength": 1
    },
    "where": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
text_invitation_copy annotations
{
  "title": "Text Invitation Copy",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_menu_outline
Advertised by the server during the last successful anonymous check.
Advertised read-only

Menu card outline

text_menu_outline input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "venue",
    "sections"
  ],
  "properties": {
    "venue": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Restaurant or cafe name."
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "items"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1,
            "description": "Section name, for example Starters, Mains, Desserts, Drinks."
          },
          "items": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200,
                  "minLength": 1
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "maxLength": 200,
                      "minLength": 1
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 30
                        },
                        {
                          "type": "number"
                        }
                      ]
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 300
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "maxItems": 100,
            "minItems": 1,
            "description": "Dish names, or {name, description, price}. A plain string may carry its own description ('Margherita pizza with basil', 'Soup (tomato, basil)', 'Soup - tomato and basil') or a trailing price ('Burger $12'); those words are used as given."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 30,
      "minItems": 1,
      "description": "Menu sections."
    },
    "keepOrder": {
      "type": "boolean",
      "description": "true keeps your section order. Default false: sections are put in the usual menu order (breakfast, starters, soups and salads, mains, sides, desserts, drinks)."
    }
  },
  "additionalProperties": false
}
text_menu_outline annotations
{
  "title": "Text Menu Outline",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_flyer_outline
Advertised by the server during the last successful anonymous check.
Advertised read-only

Brochure flyer outline

text_flyer_outline input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "offer",
    "audience",
    "cta"
  ],
  "properties": {
    "cta": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "The action you want, for example 'Book your spot'."
    },
    "date": {
      "type": "string",
      "maxLength": 60,
      "description": "Optional date, used as given."
    },
    "time": {
      "type": "string",
      "maxLength": 60,
      "description": "Optional time, used as given."
    },
    "offer": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "What is offered, for example 'First lesson half price'."
    },
    "title": {
      "type": "string",
      "maxLength": 120,
      "description": "Optional headline. Default: the offer."
    },
    "contact": {
      "type": "string",
      "maxLength": 160,
      "description": "Optional phone, email or website, used as given."
    },
    "details": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "maxItems": 10,
      "description": "Optional bullet points, used as given."
    },
    "audience": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Who it is for, for example 'new students'."
    },
    "location": {
      "type": "string",
      "maxLength": 160,
      "description": "Optional place, used as given."
    }
  },
  "additionalProperties": false
}
text_flyer_outline annotations
{
  "title": "Text Flyer Outline",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_banner_copy
Advertised by the server during the last successful anonymous check.
Advertised read-only

Banner sign copy

text_banner_copy input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "message"
  ],
  "properties": {
    "cta": {
      "type": "string",
      "maxLength": 80,
      "description": "Optional call to action, for example 'Visit us today'. Default: Learn more."
    },
    "message": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "What the banner should say, for example 'Grand opening this Saturday'. A long message is split into a headline and a subheadline."
    },
    "maxCtaChars": {
      "type": "integer",
      "maximum": 60,
      "minimum": 5,
      "description": "Call to action length limit in characters (default 25)."
    },
    "maxHeadlineChars": {
      "type": "integer",
      "maximum": 200,
      "minimum": 10,
      "description": "Headline length limit in characters (default 40)."
    }
  },
  "additionalProperties": false
}
text_banner_copy annotations
{
  "title": "Text Banner Copy",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planning_travel_countdown
Advertised by the server during the last successful anonymous check.
Advertised read-only

Travel countdown planner

planning_travel_countdown input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "departIso",
    "nights",
    "climate"
  ],
  "properties": {
    "nights": {
      "type": "number",
      "minimum": 0
    },
    "climate": {
      "enum": [
        "hot",
        "mild",
        "cold"
      ],
      "type": "string"
    },
    "departIso": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
planning_travel_countdown annotations
{
  "title": "Planning Travel Countdown",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
text_ascii_art
Advertised by the server during the last successful anonymous check.
Advertised read-only

ASCII art generator

text_ascii_art input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "fill": {
      "type": "string",
      "maxLength": 1,
      "minLength": 1,
      "description": "Optional single visible ASCII character used to draw the letters (default #)."
    },
    "font": {
      "enum": [
        "banner",
        "wide",
        "box"
      ],
      "type": "string",
      "description": "banner (default): 5-row block letters. wide: the same letters twice as wide. box: one line of plain text inside a box."
    },
    "text": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Text to draw. Plain ASCII only (letters, digits, space and . , ! ? - _ : ; ' \" + = / \\ ( ) @ # & * < >); lowercase is drawn as capitals. Use \\n for several lines (up to 6 lines of 20 characters). Emoji and non-ASCII characters return 400."
    }
  },
  "additionalProperties": false
}
text_ascii_art annotations
{
  "title": "Text Ascii Art",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_india_income_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

India income tax FY 2026-27: old and new regime, standard deduction, rebate, surcharge and cess

converters_india_income_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "income"
  ],
  "properties": {
    "age": {
      "enum": [
        "below60",
        "60to80",
        "above80"
      ],
      "type": "string",
      "description": "Age group (old regime slabs). Default below60."
    },
    "income": {
      "type": "number",
      "description": "Annual salary or pension income in rupees. The standard deduction is taken off it."
    },
    "regime": {
      "enum": [
        "old",
        "new"
      ],
      "type": "string",
      "description": "Which regime the top-level tax and effectiveRatePct report. Default old. Both regimes are always returned in 'regimes'."
    },
    "itemised": {
      "type": "object",
      "properties": {
        "hra": {
          "type": "object",
          "required": [
            "basicPlusDa",
            "hraReceived",
            "rentPaid",
            "metro"
          ],
          "properties": {
            "metro": {
              "type": "boolean"
            },
            "rentPaid": {
              "type": "number",
              "minimum": 0
            },
            "basicPlusDa": {
              "type": "number",
              "minimum": 0
            },
            "hraReceived": {
              "type": "number",
              "minimum": 0
            }
          },
          "description": "HRA exemption inputs (per year). metro true uses 50% of basic + DA, false 40%.",
          "additionalProperties": false
        },
        "other": {
          "type": "number",
          "minimum": 0,
          "description": "Other deductions, added as entered (not capped here)."
        },
        "health80D": {
          "type": "object",
          "properties": {
            "self": {
              "type": "number",
              "minimum": 0
            },
            "parents": {
              "type": "number",
              "minimum": 0
            },
            "selfSenior": {
              "type": "boolean"
            },
            "parentsSenior": {
              "type": "boolean"
            }
          },
          "description": "80D premiums for self and family and for parents; each capped at 25,000, or 50,000 for a senior citizen.",
          "additionalProperties": false
        },
        "nps80CCD1B": {
          "type": "number",
          "minimum": 0,
          "description": "Own NPS contribution, 80CCD(1B); capped at 50,000."
        },
        "section80C": {
          "type": "number",
          "minimum": 0,
          "description": "80C investments and payments; capped at 1,50,000."
        },
        "homeLoanInterest": {
          "type": "number",
          "minimum": 0,
          "description": "Interest on a self-occupied home loan; capped at 2,00,000."
        }
      },
      "description": "Old-regime deductions itemised, with the caps applied and returned in deductionBreakdown. Use instead of deductions.",
      "additionalProperties": false
    },
    "deductions": {
      "type": "number",
      "minimum": 0,
      "description": "Old regime only: total of 80C, 80D, HRA, home-loan interest and other deductions."
    },
    "employerNps": {
      "type": "number",
      "minimum": 0,
      "description": "Employer NPS contribution, section 80CCD(2), capped at 14% of salary (new) or 10% (old)."
    },
    "otherIncome": {
      "type": "number",
      "minimum": 0,
      "description": "Other annual income in rupees (business, interest, rent). No standard deduction."
    }
  },
  "additionalProperties": false
}
converters_india_income_tax annotations
{
  "title": "Converters India Income Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_uk_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

UK income tax and Class 1 National Insurance 2026/27 with Scottish rates

converters_uk_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "income"
  ],
  "properties": {
    "bonus": {
      "type": "number",
      "minimum": 0,
      "description": "A one-off bonus or overtime in the year, in pounds. Returns what it adds on its own in 'bonus'."
    },
    "income": {
      "type": "number",
      "description": "Gross annual salary in pounds."
    },
    "taxCode": {
      "type": "string",
      "maxLength": 20,
      "description": "Optional PAYE tax code as printed on a payslip: 1257L, 1383M, 0T, BR, D0, D1, NT, K475, S1257L (Scotland), C1257L (Wales), SBR, SD0 to SD3. A code replaces the standard allowance. Omit it for the standard allowance and taper."
    },
    "benefits": {
      "type": "number",
      "minimum": 0,
      "description": "Taxable benefits in kind per year, in pounds: added to taxable pay for income tax, not charged employee National Insurance."
    },
    "scotland": {
      "type": "boolean",
      "description": "true for Scottish income tax bands. Default false (England, Wales, Northern Ireland)."
    },
    "pensionPct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Your pension contribution as a percent of salary."
    },
    "pensionType": {
      "enum": [
        "sacrifice",
        "netpay",
        "ras"
      ],
      "type": "string",
      "description": "How the pension is taken: salary sacrifice (default, lowers tax and National Insurance), net pay arrangement (lowers tax only) or relief at source."
    },
    "marriageAllowance": {
      "enum": [
        "none",
        "receive",
        "give"
      ],
      "type": "string",
      "description": "Marriage Allowance when no taxCode is sent: receive (tax reduced by up to £252) or give (£1,260 of allowance). Ignored when taxCode is sent."
    }
  },
  "additionalProperties": false
}
converters_uk_tax annotations
{
  "title": "Converters Uk Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_state_tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

US state income tax with a 50-state schedule lookup

converters_state_tax input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "income"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "US state (two-letter code such as NY, or the full name; DC included). Looks up that state's 2026 brackets, standard deduction and exemptions. Send this or ratePct."
    },
    "income": {
      "type": "number",
      "description": "Annual income subject to state tax, in US dollars."
    },
    "ratePct": {
      "type": "number",
      "description": "Flat rate in percent (first-version behaviour). Takes priority over state."
    },
    "filingStatus": {
      "enum": [
        "single",
        "married-joint",
        "married-separate",
        "head-of-household"
      ],
      "type": "string",
      "description": "Filing status for the state schedule. Default single."
    },
    "includeLocal": {
      "type": "boolean",
      "description": "true adds an average local income tax where the state has local taxes (an estimate). Default false."
    }
  },
  "additionalProperties": false
}
converters_state_tax annotations
{
  "title": "Converters State Tax",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_college_cost
Advertised by the server during the last successful anonymous check.
Advertised read-only

College cost calculator

converters_college_cost input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "annualCost",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "minimum": 0
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional date the first year starts, as YYYY-MM-DD. Adds the start date of each year to byYear, plus startDate and endDate for the whole program. It only labels the years; the costs do not change."
    },
    "annualCost": {
      "type": "number",
      "minimum": 0
    },
    "inflationPct": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
converters_college_cost annotations
{
  "title": "Converters College Cost",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_profit_margin
Advertised by the server during the last successful anonymous check.
Advertised read-only

Profit margin calculator

business_profit_margin input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "cost": {
      "type": "number",
      "minimum": 0
    },
    "price": {
      "type": "number",
      "minimum": 0
    },
    "profit": {
      "type": "number"
    },
    "shipping": {
      "type": "number"
    },
    "marginPct": {
      "type": "number"
    },
    "markupPct": {
      "type": "number"
    },
    "acquisition": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
business_profit_margin annotations
{
  "title": "Business Profit Margin",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_marketplace_fee
Advertised by the server during the last successful anonymous check.
Advertised read-only

Marketplace fee calculator

business_marketplace_fee input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "price",
    "feePct"
  ],
  "properties": {
    "price": {
      "type": "number",
      "minimum": 0
    },
    "feePct": {
      "type": "number",
      "minimum": 0
    },
    "fixedFee": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
business_marketplace_fee annotations
{
  "title": "Business Marketplace Fee",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_shipping_estimate
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shipping cost estimator

business_shipping_estimate input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "weightKg",
    "ratePerKg"
  ],
  "properties": {
    "base": {
      "type": "number",
      "minimum": 0
    },
    "weightKg": {
      "type": "number"
    },
    "ratePerKg": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
business_shipping_estimate annotations
{
  "title": "Business Shipping Estimate",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_break_even
Advertised by the server during the last successful anonymous check.
Advertised read-only

Break even calculator

business_break_even input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "fixedCosts",
    "price",
    "variableCost"
  ],
  "properties": {
    "price": {
      "type": "number"
    },
    "fixedCosts": {
      "type": "number"
    },
    "startupCost": {
      "type": "number"
    },
    "targetProfit": {
      "type": "number"
    },
    "variableCost": {
      "type": "number"
    },
    "expectedUnits": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
business_break_even annotations
{
  "title": "Business Break Even",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_government_forms
Advertised by the server during the last successful anonymous check.
Advertised read-only

Government forms hub

business_government_forms input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "region": {
      "enum": [
        "US",
        "IN",
        "UK",
        "other"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
business_government_forms annotations
{
  "title": "Business Government Forms",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_mortgage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Mortgage calculator: payment with taxes, insurance, PMI and HOA, extra payments, biweekly and payoff date

converters_mortgage input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "homePrice",
    "ratePct",
    "years"
  ],
  "properties": {
    "vaUse": {
      "enum": [
        "first",
        "subsequent",
        "exempt"
      ],
      "type": "string",
      "description": "VA funding fee class (VA loans only). Default first."
    },
    "years": {
      "type": "number",
      "description": "Term in years, 1 to 50."
    },
    "ratePct": {
      "type": "number",
      "description": "Annual interest rate in percent."
    },
    "loanType": {
      "enum": [
        "conventional",
        "fha",
        "va",
        "usda"
      ],
      "type": "string",
      "description": "Default conventional. FHA, VA and USDA add their standard fees (see sources in the response)."
    },
    "homePrice": {
      "type": "number",
      "description": "Purchase price."
    },
    "hoaMonthly": {
      "type": "number",
      "description": "Monthly HOA dues."
    },
    "pmiRatePct": {
      "type": "number",
      "description": "Conventional PMI rate, percent of the loan a year (default 0.6). Applies only above 80% loan-to-value and stops at 78% of the original price."
    },
    "downPayment": {
      "type": "number",
      "description": "Down payment as an amount. Send this or downPaymentPct (default 20%)."
    },
    "yearlyExtra": {
      "type": "object",
      "required": [
        "amount"
      ],
      "properties": {
        "month": {
          "type": "number",
          "description": "Payment number 1 to 12 of each loan year it is paid in (default 12)."
        },
        "amount": {
          "type": "number"
        }
      },
      "description": "One extra payment every year.",
      "additionalProperties": false
    },
    "annualIncome": {
      "type": "number",
      "description": "Gross yearly income, for the debt-to-income check. Send this or monthlyIncome."
    },
    "compareYears": {
      "type": "array",
      "items": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "maxItems": 2,
      "minItems": 2,
      "description": "The two terms to compare, default [15, 30]."
    },
    "extraMonthly": {
      "type": "number",
      "description": "Extra principal paid every month."
    },
    "hoaGrowthPct": {
      "type": "number",
      "description": "Yearly increase of HOA dues in percent."
    },
    "oneTimeExtra": {
      "type": "object",
      "required": [
        "month",
        "amount"
      ],
      "properties": {
        "month": {
          "type": "number",
          "description": "Payment number (1 to 600) the extra is paid with."
        },
        "amount": {
          "type": "number"
        }
      },
      "description": "One extra payment.",
      "additionalProperties": false
    },
    "taxGrowthPct": {
      "type": "number",
      "description": "Yearly increase of property tax in percent; any growth field adds a year-by-year costGrowth table."
    },
    "includeYearly": {
      "type": "boolean",
      "description": "false leaves out the year-by-year table."
    },
    "monthlyIncome": {
      "type": "number",
      "description": "Gross monthly income."
    },
    "closingCostPct": {
      "type": "number",
      "description": "Closing costs as a percent of the price; adds closing costs and cash to close."
    },
    "downPaymentPct": {
      "type": "number",
      "description": "Down payment as a percent of the price."
    },
    "propertyTaxPct": {
      "type": "number",
      "description": "Yearly property tax as a percent of the price. Send this or propertyTaxAnnual."
    },
    "firstPaymentDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of the first payment, YYYY-MM-DD. Adds the payoff dates; it only labels the schedule."
    },
    "otherMonthlyDebts": {
      "type": "number",
      "description": "Other monthly debt payments (car, cards, student loans) for the back-end ratio."
    },
    "propertyTaxAnnual": {
      "type": "number",
      "description": "Yearly property tax as an amount."
    },
    "insuranceGrowthPct": {
      "type": "number",
      "description": "Yearly increase of insurance (and maintenance) in percent."
    },
    "maintenanceMonthly": {
      "type": "number",
      "description": "Monthly maintenance and other costs (shown in the total, left out of the debt-to-income housing figure)."
    },
    "homeInsuranceAnnual": {
      "type": "number",
      "description": "Yearly homeowners insurance."
    }
  },
  "additionalProperties": false
}
converters_mortgage annotations
{
  "title": "Converters Mortgage",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_refinance
Advertised by the server during the last successful anonymous check.
Advertised read-only

Refinance break-even calculator: simple and full-cost break-even, interest difference and horizon table

converters_refinance input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "currentBalance",
    "currentRatePct",
    "newRatePct",
    "newTermYears"
  ],
  "properties": {
    "newRatePct": {
      "type": "number",
      "description": "Annual rate of the new loan in percent."
    },
    "closingCosts": {
      "type": "number",
      "description": "Closing costs as an amount. Send this or closingCostPct."
    },
    "newTermYears": {
      "type": "number",
      "description": "Term of the new loan in years."
    },
    "closingCostPct": {
      "type": "number",
      "description": "Closing costs as a percent of the current balance."
    },
    "currentBalance": {
      "type": "number",
      "description": "What you still owe on the current loan."
    },
    "currentPayment": {
      "type": "number",
      "description": "Your actual principal-and-interest payment, if you do not want it calculated from balance, rate and time left."
    },
    "currentRatePct": {
      "type": "number",
      "description": "Current annual rate in percent."
    },
    "remainingYears": {
      "type": "number",
      "description": "Years left on the current loan. Send this or remainingMonths."
    },
    "remainingMonths": {
      "type": "number",
      "description": "Months left on the current loan."
    },
    "plannedYearsToKeep": {
      "type": "number",
      "description": "How long you expect to keep the loan; adds a worthIt answer for that horizon."
    },
    "financeClosingCosts": {
      "type": "boolean",
      "description": "true adds the closing costs to the new loan instead of paying them in cash."
    }
  },
  "additionalProperties": false
}
converters_refinance annotations
{
  "title": "Converters Refinance",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_affordability
Advertised by the server during the last successful anonymous check.
Advertised read-only

Home affordability and debt-to-income calculator: maximum home price at the 28/36 guideline and 31/43 stretch limits

converters_affordability input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ratePct"
  ],
  "properties": {
    "vaUse": {
      "enum": [
        "first",
        "subsequent",
        "exempt"
      ],
      "type": "string",
      "description": "VA funding fee class (VA loans only)."
    },
    "years": {
      "type": "number",
      "description": "Term in years (default 30)."
    },
    "ratePct": {
      "type": "number",
      "description": "Annual mortgage rate in percent."
    },
    "loanType": {
      "enum": [
        "conventional",
        "fha",
        "va",
        "usda"
      ],
      "type": "string",
      "description": "Default conventional."
    },
    "homePrice": {
      "type": "number",
      "description": "A price to check: adds the front and back ratios and a verdict for it."
    },
    "hoaMonthly": {
      "type": "number",
      "description": "Monthly HOA dues."
    },
    "pmiRatePct": {
      "type": "number",
      "description": "Conventional PMI rate in percent of the loan a year (default 0.6)."
    },
    "downPayment": {
      "type": "number",
      "description": "Down payment as an amount. Send this or downPaymentPct (default 20%)."
    },
    "annualIncome": {
      "type": "number",
      "description": "Gross yearly income. Send this or monthlyIncome."
    },
    "maxBackEndPct": {
      "type": "number",
      "description": "Your own total-debt-ratio limit in percent."
    },
    "monthlyIncome": {
      "type": "number",
      "description": "Gross monthly income."
    },
    "downPaymentPct": {
      "type": "number",
      "description": "Down payment as a percent of the price."
    },
    "maxFrontEndPct": {
      "type": "number",
      "description": "Your own housing-ratio limit in percent. When either limit is sent the response has one 'custom' result instead of guideline and stretch."
    },
    "propertyTaxPct": {
      "type": "number",
      "description": "Yearly property tax as a percent of the price (default 1.1)."
    },
    "otherMonthlyDebts": {
      "type": "number",
      "description": "Other monthly debt payments (car, cards, student loans)."
    },
    "homeInsuranceAnnual": {
      "type": "number",
      "description": "Yearly homeowners insurance."
    }
  },
  "additionalProperties": false
}
converters_affordability annotations
{
  "title": "Converters Affordability",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_debt_payoff
Advertised by the server during the last successful anonymous check.
Advertised read-only

Debt payoff planner: avalanche and snowball plans with payoff dates, interest and a minimums-only baseline

converters_debt_payoff input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "debts"
  ],
  "properties": {
    "debts": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "balance",
          "aprPct",
          "minPayment"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "aprPct": {
            "type": "number",
            "description": "Annual interest rate in percent."
          },
          "balance": {
            "type": "number",
            "description": "Current balance."
          },
          "minPayment": {
            "type": "number",
            "description": "Required minimum monthly payment."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 30,
      "minItems": 1,
      "description": "The debts to pay off, 1 to 30."
    },
    "strategy": {
      "enum": [
        "avalanche",
        "snowball",
        "both"
      ],
      "type": "string",
      "description": "avalanche = highest rate first, snowball = smallest balance first, both (default) returns both and compares them."
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of the first payment, YYYY-MM-DD. Adds a payoff date for every debt and the debt-free date."
    },
    "extraMonthly": {
      "type": "number",
      "description": "Money you can add each month on top of all the minimums. Send this or totalMonthlyBudget."
    },
    "totalMonthlyBudget": {
      "type": "number",
      "description": "Total you can pay each month across all debts (at least the sum of the minimums)."
    }
  },
  "additionalProperties": false
}
converters_debt_payoff annotations
{
  "title": "Converters Debt Payoff",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_contribution_limits
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retirement and HSA contribution limits by tax year: 401(k), SIMPLE, IRA, Roth phase-out and HSA

converters_contribution_limits input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "age": {
      "type": "number",
      "description": "Age reached by the end of the year: adds the catch-up for 401(k) (50, and the larger 60 to 63 amount), IRA (50) and HSA (55) and the total for that age."
    },
    "magi": {
      "type": "number",
      "description": "Modified adjusted gross income. With filingStatus: the Roth IRA contribution you are allowed after the income phase-out (and, with coveredByWorkplacePlan, the traditional IRA deduction). Phase-out ranges are in the table for 2026 only."
    },
    "taxYear": {
      "type": "number",
      "description": "Tax year, 2025 or 2026 (default: the latest in the table). Other years are a 400 that lists the years available."
    },
    "hsaCoverage": {
      "enum": [
        "self",
        "family"
      ],
      "type": "string",
      "description": "HSA coverage in December: adds the limit for it."
    },
    "filingStatus": {
      "enum": [
        "single",
        "married-joint",
        "married-separate",
        "head-of-household"
      ],
      "type": "string",
      "description": "Needed with magi."
    },
    "coveredByWorkplacePlan": {
      "type": "boolean",
      "description": "true adds the traditional IRA deduction phase-out for someone covered by a workplace plan."
    }
  },
  "additionalProperties": false
}
converters_contribution_limits annotations
{
  "title": "Converters Contribution Limits",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_retirement
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retirement and FIRE projection: nest egg, sustainable income, gap and drawdown with inflation and a withdrawal rate

converters_retirement input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "currentAge",
    "retirementAge"
  ],
  "properties": {
    "currentAge": {
      "type": "number",
      "description": "Your age now (whole years)."
    },
    "inflationPct": {
      "type": "number",
      "description": "Expected inflation, percent a year (default 2.5)."
    },
    "retirementAge": {
      "type": "number",
      "description": "Age you plan to stop working."
    },
    "currentSavings": {
      "type": "number",
      "description": "Invested savings now."
    },
    "expectedReturnPct": {
      "type": "number",
      "description": "Expected nominal return before retirement, percent a year (default 7). An assumption, not market data."
    },
    "lifeExpectancyAge": {
      "type": "number",
      "description": "Age the money must last to (default 95)."
    },
    "otherAnnualIncome": {
      "type": "number",
      "description": "Pension or Social Security per year in today's dollars, counted from the retirement age (default 0)."
    },
    "withdrawalRatePct": {
      "type": "number",
      "description": "Share of the nest egg withdrawn in the first year (default 4)."
    },
    "annualContribution": {
      "type": "number",
      "description": "What you add each year, in today's dollars."
    },
    "desiredAnnualIncome": {
      "type": "number",
      "description": "Income you want per year in today's dollars. Adds the nest egg needed, the gap, the extra saving needed and the years to financial independence."
    },
    "contributionGrowthPct": {
      "type": "number",
      "description": "Yearly real increase of the contribution in percent (default 0)."
    },
    "returnInRetirementPct": {
      "type": "number",
      "description": "Expected nominal return during retirement (default: same as before retirement)."
    }
  },
  "additionalProperties": false
}
converters_retirement annotations
{
  "title": "Converters Retirement",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_loan_interest
Advertised by the server during the last successful anonymous check.
Advertised read-only

Loan and interest calculator: loan payments, simple interest and compound interest with contributions in one endpoint

converters_loan_interest input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "kind"
  ],
  "properties": {
    "fee": {
      "type": "number",
      "description": "Loan: upfront fee; adds the APR and money received."
    },
    "kind": {
      "enum": [
        "loan",
        "simple-interest",
        "compound-interest"
      ],
      "type": "string",
      "description": "loan: payment, schedule and solving; simple-interest; compound-interest (with regular contributions and inflation)."
    },
    "years": {
      "type": "number",
      "description": "Term in years."
    },
    "payment": {
      "type": "number",
      "description": "Loan: target payment per period for solveFor amount, term or rate."
    },
    "loanType": {
      "enum": [
        "amortized",
        "deferred",
        "zeroCoupon"
      ],
      "type": "string",
      "description": "Loan: amortized (default), deferred or zeroCoupon."
    },
    "solveFor": {
      "enum": [
        "payment",
        "amount",
        "term",
        "rate"
      ],
      "type": "string",
      "description": "Loan: what to solve for; amount, term and rate need 'payment'."
    },
    "frequency": {
      "enum": [
        "annually",
        "semiannually",
        "quarterly",
        "monthly",
        "daily"
      ],
      "type": "string",
      "description": "Compound interest: compounding frequency (default annually)."
    },
    "principal": {
      "type": "number",
      "description": "Amount. For kind loan it is required except when solveFor is 'amount'."
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Interest kinds: start date, YYYY-MM-DD; adds the maturity date."
    },
    "compounding": {
      "enum": [
        "payment",
        "annual",
        "monthly",
        "daily",
        "continuous"
      ],
      "type": "string",
      "description": "Loan: how interest compounds (default: on every payment)."
    },
    "extraMonthly": {
      "type": "number",
      "description": "Plain monthly loan: extra principal each month; adds interest saved and payments saved."
    },
    "inflationPct": {
      "type": "number",
      "description": "Compound interest: adds the future value in today's dollars."
    },
    "previewMonths": {
      "type": "number",
      "description": "Loan: number of schedule rows to return, 0 to 12."
    },
    "yearlySummary": {
      "type": "boolean",
      "description": "Plain monthly loan: adds a year-by-year principal, interest and balance table."
    },
    "firstPaymentDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Loan: date of the first payment, YYYY-MM-DD; adds payment dates and the payoff date."
    },
    "paymentFrequency": {
      "enum": [
        "monthly",
        "biweekly",
        "weekly"
      ],
      "type": "string",
      "description": "Loan: payment frequency (default monthly)."
    },
    "annualRatePercent": {
      "type": "number",
      "description": "Annual rate in percent."
    },
    "contributeAtStart": {
      "type": "boolean",
      "description": "Compound interest: true adds each contribution at the start of the month instead of the end."
    },
    "compareWithCompound": {
      "type": "boolean",
      "description": "Simple interest: adds the result with annual compounding for comparison."
    },
    "monthlyContribution": {
      "type": "number",
      "description": "Compound interest: amount added every month (needs frequency monthly)."
    }
  },
  "additionalProperties": false
}
converters_loan_interest annotations
{
  "title": "Converters Loan Interest",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_exchange_rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Exchange rates: daily reference rates for about 200 currencies, crypto and metals, with ECB fallback and ECB history (reference rates, not live)

converters_exchange_rates input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Currency code, or a list of up to 20 codes, to convert to. Required unless listCurrencies is true."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "A past date, YYYY-MM-DD: the daily rate for that day (ECB set: the latest earlier working day if none was published)."
    },
    "from": {
      "type": "string",
      "description": "Currency code to convert from (default USD): ISO codes such as USD, plus crypto and metal codes in the broad set."
    },
    "amount": {
      "type": "number",
      "description": "Amount to convert (default 1)."
    },
    "source": {
      "enum": [
        "auto",
        "broad",
        "ecb"
      ],
      "type": "string",
      "description": "auto (default): the broad daily set of about 200 currencies, crypto and metals, falling back to the ECB set; broad: only the broad set; ecb: only the ECB set (about 30 currencies, and the only one with history ranges)."
    },
    "endDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "History: last day of the range."
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "History: first day of a range of up to 366 days (send with endDate)."
    },
    "listCurrencies": {
      "type": "boolean",
      "description": "true returns the supported currency codes (with type and name) and the date of the latest rates."
    }
  },
  "additionalProperties": false
}
converters_exchange_rates annotations
{
  "title": "Converters Exchange Rates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_vat_validate
Advertised by the server during the last successful anonymous check.
Advertised read-only

EU VAT number validation: layout check per member state plus a live VIES lookup

converters_vat_validate input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "vatNumber"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "Two-letter country code when vatNumber has no prefix (Greece is EL)."
    },
    "vatNumber": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "The EU VAT number, with or without the two-letter prefix and with spaces or dots, for example DE123456789 or 'DE 123.456.789'."
    },
    "offlineOnly": {
      "type": "boolean",
      "description": "true checks only the number layout and skips the live VIES lookup."
    }
  },
  "additionalProperties": false
}
converters_vat_validate annotations
{
  "title": "Converters Vat Validate",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
converters_vat_rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

VAT and GST rates by country: standard and reduced rates with a data version and as-of date

converters_vat_rates input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "region": {
      "enum": [
        "eu",
        "other-europe",
        "canada",
        "asia-pacific",
        "middle-east-africa",
        "americas"
      ],
      "type": "string",
      "description": "Only the countries of one region."
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "A country name, or a list of names (for example Germany, UK, Canada - Ontario HST). Leave out for the whole table."
    },
    "currency": {
      "type": "string",
      "description": "Only the countries that use this currency code, for example EUR."
    }
  },
  "additionalProperties": false
}
converters_vat_rates annotations
{
  "title": "Converters Vat Rates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_bank_statement_to_csv
Advertised by the server during the last successful anonymous check.
Advertised read-only

Bank statement to CSV

business_bank_statement_to_csv input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 2000000,
      "minLength": 1,
      "description": "The statement as pasted text. Send this, or a PDF in fileBase64 (or as the multipart field file)."
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1990
    },
    "dateOrder": {
      "enum": [
        "auto",
        "mdy",
        "dmy"
      ],
      "type": "string"
    },
    "flipSigns": {
      "type": "boolean"
    },
    "categorize": {
      "type": "boolean",
      "description": "true adds a category to every row from a short list of generic keywords (not a merchant database). Default false."
    },
    "fileBase64": {
      "type": "string",
      "maxLength": 28000000,
      "minLength": 8,
      "description": "A text-based PDF statement, base64 encoded, up to 20 MB and 100 pages. Scanned or photographed PDFs are refused with a 422: there is no OCR."
    },
    "includeText": {
      "type": "boolean",
      "description": "true adds the lines read from the PDF to the response as extractedText, to see what the parser saw."
    },
    "numberFormat": {
      "enum": [
        "auto",
        "us",
        "eu"
      ],
      "type": "string"
    },
    "categoryRules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "match",
          "category"
        ],
        "properties": {
          "match": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "category": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "maxItems": 200,
      "description": "Your own rules: a row whose description contains match (any case) gets that category; the first matching rule wins, before the built-in keywords."
    }
  },
  "additionalProperties": false
}
business_bank_statement_to_csv annotations
{
  "title": "Business Bank Statement To Csv",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_blind_cv
Advertised by the server during the last successful anonymous check.
Advertised read-only

Blind CV redactor

business_blind_cv input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 500000,
      "minLength": 1
    },
    "names": {
      "type": "string",
      "maxLength": 500
    },
    "custom": {
      "type": "string",
      "maxLength": 5000
    },
    "labels": {
      "type": "boolean"
    },
    "removeBirth": {
      "type": "boolean"
    },
    "removeEmail": {
      "type": "boolean"
    },
    "removeLinks": {
      "type": "boolean"
    },
    "removePhone": {
      "type": "boolean"
    },
    "removeYears": {
      "type": "boolean"
    },
    "removeGender": {
      "type": "boolean"
    },
    "removeAddress": {
      "type": "boolean"
    },
    "removePersonal": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
business_blind_cv annotations
{
  "title": "Business Blind Cv",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
publishing_isbn
Advertised by the server during the last successful anonymous check.
Advertised read-only

ISBN checker and converter

publishing_isbn input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "isbn"
  ],
  "properties": {
    "isbn": {
      "type": "string",
      "maxLength": 40,
      "minLength": 1,
      "description": "An ISBN-10 or ISBN-13, with or without hyphens or spaces, optionally written with an ISBN prefix."
    }
  },
  "additionalProperties": false
}
publishing_isbn annotations
{
  "title": "Publishing Isbn",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
publishing_spine_width
Advertised by the server during the last successful anonymous check.
Advertised read-only

Book spine and cover size calculator

publishing_spine_width input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "trimWidthIn",
    "trimHeightIn",
    "pages",
    "thicknessIn"
  ],
  "properties": {
    "dpi": {
      "type": "integer",
      "maximum": 1200,
      "minimum": 72,
      "description": "Resolution used to give the cover size in pixels, a whole number from 72 to 1200. Default 300."
    },
    "pages": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 1,
      "description": "Page count, a whole number from 1 to 2000. Printed books have an even count; an odd number returns a warning."
    },
    "bleedIn": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Bleed in inches added on every outer edge, 0 to 1. Default 0.125."
    },
    "platform": {
      "enum": [
        "kdp",
        "ingramspark",
        "lulu"
      ],
      "type": "string",
      "description": "Printer the numbers are for. Default kdp. For kdp a warning is returned when pages is outside 24 to 828 (black and white, white paper); the other printers have no built-in page limits."
    },
    "thicknessIn": {
      "type": "number",
      "maximum": 0.02,
      "description": "Paper thickness in inches per page (one sheet is two pages), above 0 and at most 0.02, for example 0.002252 for KDP black and white on white paper.",
      "exclusiveMinimum": 0
    },
    "trimWidthIn": {
      "type": "number",
      "maximum": 14,
      "minimum": 2,
      "description": "Trim width of one page in inches, 2 to 14."
    },
    "trimHeightIn": {
      "type": "number",
      "maximum": 14,
      "minimum": 2,
      "description": "Trim height in inches, 2 to 14."
    },
    "spineAllowanceIn": {
      "type": "number",
      "maximum": 0.5,
      "minimum": -0.5,
      "description": "Extra width in inches added to (or, if negative, removed from) the spine, -0.5 to 0.5. Default 0."
    }
  },
  "additionalProperties": false
}
publishing_spine_width annotations
{
  "title": "Publishing Spine Width",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
publishing_print_royalty
Advertised by the server during the last successful anonymous check.
Advertised read-only

Print cost and royalty calculator

publishing_print_royalty input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "pages",
    "fixedCharge",
    "perPageCharge",
    "method",
    "percent",
    "listPrice"
  ],
  "properties": {
    "pages": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 1,
      "description": "Page count, 1 to 2000."
    },
    "method": {
      "enum": [
        "rate",
        "wholesale"
      ],
      "type": "string",
      "description": "rate: you earn percent of the list price. wholesale: percent is the discount given to retailers and you earn the rest."
    },
    "percent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "The royalty rate (method rate) or the retailer discount (method wholesale), 0 to 100."
    },
    "listPrice": {
      "type": "number",
      "minimum": 0,
      "description": "The list (cover) price per copy, 0 or more. At 0 nothing is earned, so the royalty is the printing cost as a loss."
    },
    "fixedCharge": {
      "type": "number",
      "minimum": 0,
      "description": "Fixed printing charge per copy, in your currency (0 or more)."
    },
    "upfrontCost": {
      "type": "number",
      "minimum": 0,
      "description": "One-off cost (editing, cover, ISBN), 0 or more. When given, copiesToRecoverUpfront is how many copies earn it back; null when each copy earns nothing."
    },
    "perPageCharge": {
      "type": "number",
      "minimum": 0,
      "description": "Printing charge per page, in the same currency (0 or more). Printing cost per copy = fixedCharge + perPageCharge x pages."
    },
    "targetRoyalty": {
      "type": "number",
      "minimum": 0,
      "description": "The royalty per copy you want to earn, 0 or more. When given, priceForTargetRoyalty is the lowest list price (to the cent) that earns it; null when the royalty share is 0."
    }
  },
  "additionalProperties": false
}
publishing_print_royalty annotations
{
  "title": "Publishing Print Royalty",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ecommerce_etsy_listing_check
Advertised by the server during the last successful anonymous check.
Advertised read-only

Etsy listing checker

ecommerce_etsy_listing_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title"
  ],
  "properties": {
    "tags": {
      "type": "string",
      "maxLength": 5000,
      "description": "Tags separated by commas, semicolons or new lines. Errors: more than 13 tags, a tag over 20 characters, a repeated tag, a tag starting with a hyphen or apostrophe."
    },
    "title": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "description": "The listing title. Errors: more than 140 characters; the characters % : & used more than once each; any of $ ^ \\ and the backtick. Everything else is advice."
    }
  },
  "additionalProperties": false
}
ecommerce_etsy_listing_check annotations
{
  "title": "Ecommerce Etsy Listing Check",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
publishing_kdp_description
Advertised by the server during the last successful anonymous check.
Advertised read-only

Book description HTML formatter

publishing_kdp_description input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "html": {
      "type": "string",
      "maxLength": 200000,
      "description": "HTML to clean to the tags KDP allows; what was removed or changed is reported."
    },
    "text": {
      "type": "string",
      "maxLength": 200000,
      "description": "Plain text; blank lines make paragraphs. Send text or html (html wins when both are sent)."
    },
    "heading": {
      "enum": [
        "h4",
        "h5",
        "h6"
      ],
      "type": "string",
      "description": "Tag used for headings. Default h4."
    }
  },
  "additionalProperties": false
}
publishing_kdp_description annotations
{
  "title": "Publishing Kdp Description",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
publishing_onix
Advertised by the server during the last successful anonymous check.
Advertised read-only

publishing onix

publishing_onix input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title",
    "contributors",
    "isbn",
    "publisher",
    "pubDate"
  ],
  "properties": {
    "isbn": {
      "type": "string",
      "maxLength": 40,
      "minLength": 1,
      "description": "The ISBN-13 (978 or 979, valid check digit), hyphens allowed. An ISBN-10 is rejected with the ISBN-13 to use."
    },
    "title": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "description": "The product title."
    },
    "prices": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "amount",
          "currency"
        ],
        "properties": {
          "type": {
            "enum": [
              "01",
              "02"
            ],
            "type": "string",
            "description": "ONIX price type: 01 recommended retail price EXCLUDING tax, 02 INCLUDING tax. Default by currency: 01 for USD and CAD (their prices are quoted before sales tax), 02 for every other currency. A warning is returned when USD or CAD is sent with 02. Two prices with the same currency and type are rejected."
          },
          "amount": {
            "type": "string",
            "maxLength": 20,
            "description": "Digits with a decimal point and at most 2 decimals, for example 14.99. 0 and any other format are reported as an error issue (422)."
          },
          "currency": {
            "type": "string",
            "maxLength": 10,
            "description": "Three-letter ISO 4217 code in capitals, for example USD. Anything else is an error issue (422)."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 20
    },
    "pubDate": {
      "type": "string",
      "maxLength": 20,
      "description": "Publication date as YYYY-MM-DD, YYYY-MM or YYYY, and a real calendar date. Anything else is reported as an error issue (422)."
    },
    "audience": {
      "enum": [
        "01",
        "02",
        "03",
        "04",
        "05",
        "06"
      ],
      "type": "string",
      "description": "ONIX audience code: 01 general/trade, 02 children/juvenile, 03 young adult, 04 primary and secondary education, 05 college/higher education, 06 professional and scholarly. Default: not stated."
    },
    "language": {
      "type": "string",
      "maxLength": 10,
      "description": "Three-letter ISO 639-2/B language code in lower case, for example eng, fre, ger, spa. Default eng. Anything else is reported as an error issue (422)."
    },
    "subjects": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "scheme",
          "code"
        ],
        "properties": {
          "code": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1,
            "description": "A BISAC code such as FIC027020 (three letters, six digits) or a Thema code such as FBA or 1KBB."
          },
          "scheme": {
            "enum": [
              "bisac",
              "thema"
            ],
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 20
    },
    "subtitle": {
      "type": "string",
      "maxLength": 1000
    },
    "pageCount": {
      "type": "string",
      "maxLength": 10,
      "description": "Number of pages as digits, 1 to 999999, written as text. Anything else is an error issue (422); print forms without it get a warning."
    },
    "publisher": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1
    },
    "territory": {
      "type": "string",
      "maxLength": 200,
      "description": "WORLD, or two-letter country codes separated by spaces, for example US CA GB. Default WORLD. Anything else is an error issue (422)."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The main description; a warning when missing."
    },
    "productForm": {
      "enum": [
        "BB",
        "BC",
        "EA"
      ],
      "type": "string",
      "description": "ONIX product form: BC paperback (default), BB hardback, EA digital download (written with form detail E101, EPUB)."
    },
    "availability": {
      "type": "string",
      "pattern": "^[0-9]{2}$",
      "description": "ONIX product availability code (code list 65). Default 20 (available). 10 not yet available, 40 not available."
    },
    "contributors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 300,
            "minLength": 1,
            "description": "Name as printed, for example Jane Q. Writer."
          },
          "role": {
            "type": "string",
            "pattern": "^[A-Z][0-9]{2}$",
            "description": "ONIX contributor role code (code list 17). Default A01 (author). Common: B01 editor, A12 illustrator, B06 translator."
          },
          "inverted": {
            "type": "string",
            "maxLength": 300,
            "description": "Name inverted for sorting, written Last name, First name (a warning when there is no comma)."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50,
      "minItems": 1,
      "description": "At least one named contributor."
    },
    "shortDescription": {
      "type": "string",
      "maxLength": 350,
      "description": "Up to 350 characters."
    }
  },
  "additionalProperties": false
}
publishing_onix annotations
{
  "title": "Publishing Onix",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_cover_letter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cover letter maker

business_cover_letter input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name",
    "contact",
    "date",
    "company",
    "role",
    "achievements"
  ],
  "properties": {
    "why": {
      "type": "string"
    },
    "date": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "role": {
      "type": "string",
      "minLength": 1
    },
    "found": {
      "type": "string"
    },
    "years": {
      "type": "string"
    },
    "company": {
      "type": "string",
      "minLength": 1
    },
    "contact": {
      "type": "string",
      "minLength": 1,
      "description": "Contact lines, one per line"
    },
    "manager": {
      "type": "string"
    },
    "achievements": {
      "type": "string",
      "minLength": 1,
      "description": "Best results for this job, one per line"
    }
  },
  "additionalProperties": false
}
business_cover_letter annotations
{
  "title": "Business Cover Letter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_pay_stub
Advertised by the server during the last successful anonymous check.
Advertised read-only

Pay stub generator

business_pay_stub input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "employer",
    "employee",
    "periodStart",
    "periodEnd",
    "payDate",
    "payType",
    "rate"
  ],
  "properties": {
    "rate": {
      "type": "string",
      "minLength": 1,
      "description": "Hourly rate, or the salary for this period"
    },
    "bonus": {
      "type": "string"
    },
    "hours": {
      "type": "string"
    },
    "other": {
      "type": "string"
    },
    "ssPct": {
      "type": "string"
    },
    "fedPct": {
      "type": "string"
    },
    "health": {
      "type": "string"
    },
    "medPct": {
      "type": "string"
    },
    "retire": {
      "type": "string"
    },
    "payDate": {
      "type": "string",
      "minLength": 1
    },
    "payType": {
      "enum": [
        "hourly",
        "salary"
      ],
      "type": "string"
    },
    "employee": {
      "type": "string",
      "minLength": 1
    },
    "employer": {
      "type": "string",
      "minLength": 1
    },
    "statePct": {
      "type": "string"
    },
    "ytdGross": {
      "type": "string"
    },
    "periodEnd": {
      "type": "string",
      "minLength": 1
    },
    "employeeId": {
      "type": "string"
    },
    "periodStart": {
      "type": "string",
      "minLength": 1
    },
    "otMultiplier": {
      "type": "string"
    },
    "overtimeHours": {
      "type": "string"
    },
    "employerAddress": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
business_pay_stub annotations
{
  "title": "Business Pay Stub",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_proposal
Advertised by the server during the last successful anonymous check.
Advertised read-only

Proposal builder

business_proposal input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "you",
    "client",
    "date",
    "summary",
    "scope",
    "prices"
  ],
  "properties": {
    "you": {
      "type": "string",
      "minLength": 1
    },
    "date": {
      "type": "string",
      "minLength": 1
    },
    "scope": {
      "type": "string",
      "minLength": 1,
      "description": "Scope of work, one item per line"
    },
    "terms": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "client": {
      "type": "string",
      "minLength": 1
    },
    "prices": {
      "type": "string",
      "minLength": 1,
      "description": "Price lines with the amount at the end, for example Design: $1,200"
    },
    "summary": {
      "type": "string",
      "minLength": 1
    },
    "timeline": {
      "type": "string"
    },
    "validDays": {
      "type": "string"
    },
    "outOfScope": {
      "type": "string"
    },
    "deliverables": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
business_proposal annotations
{
  "title": "Business Proposal",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
business_rental_application
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rental application maker

business_rental_application input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "property",
    "landlord"
  ],
  "properties": {
    "fee": {
      "type": "string"
    },
    "pets": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string"
    },
    "rent": {
      "type": "string"
    },
    "moveIn": {
      "type": "string"
    },
    "deposit": {
      "type": "string"
    },
    "landlord": {
      "type": "string",
      "minLength": 1
    },
    "property": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
business_rental_application annotations
{
  "title": "Business Rental Application",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
477 ms
95th percentile latency
477 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 477 ms · metadata changed · 225 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http freedailypro-mcp https://api.freedailypro.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add freedailypro-mcp --url https://api.freedailypro.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable freedailypro-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "freedailypro-mcp": {
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "freedailypro-mcp": {
      "type": "streamableHttp",
      "url": "https://api.freedailypro.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start freedailypro-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "freedailypro-mcp": {
      "type": "http",
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http freedailypro-mcp https://api.freedailypro.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "freedailypro-mcp": {
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "freedailypro-mcp": {
      "serverUrl": "https://api.freedailypro.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like FreeDailyPro MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run FreeDailyPro MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing