AgentMarketMCP / SKILL 资产档案馆

目录 / ToolForte

MCP 鉴权未知 未评级 已上架

ToolForte

180 tools for AI assistants, free to start. Exact answers instead of guesses: IBAN and VAT checks, VAT amounts, Dutch public holidays and working days, cron parsing, regex testing, JSON, CSV and Base64 transforms, UUIDs, Dutch test data. Render tools turn HTML or any URL into a hosted PDF or screenshot, make QR codes, merge and split PDFs, resize, convert and compress images, and read JavaScript-rendered pages as Markdown. Memory tools give the agent a private key-value store between sessions. Workflow tools run the multi-step workflows saved on your account by id. Remote streamable HTTP endpoint: https://toolforte.com/api/mcp/mcp. For stdio-only clients: `npx -y toolforte-mcp` (npm). Setup guides per client (Claude, Claude Code, Cursor, VS Code, ChatGPT, Windsurf, Gemini CLI): https://toolforte.com/mcp Utilities and memory are free. A free API key adds a monthly credit balance for renders and workflows; pass it as `Authorization: Bearer tf_...`.

该来源不提供完整文件导出(国内平台多为平台内托管),仅存元数据与原链

接入信息

传输形态
http
鉴权方式
鉴权未知
端点
https://toolforte--toine.run.tools
鉴权方式未标注,请核对官方文档后再接入——不要直接使用以下片段
{
  "mcpServers": {
    "ToolForte": {
      "url": "https://toolforte--toine.run.tools"
    }
  }
}

能力清单

工具说明
text_diffCompute an exact line-based diff between two texts with add/remove/unchanged stats.
format_jsonValidate and pretty-print JSON with a real parser. Returns formatted JSON or the exact parse error.
markdown_to_htmlConvert Markdown to sanitized HTML with a real parser: GitHub tables, task lists, fenced code and nested lists come out right. Use this instead of writing the HTML yourself; nested lists and inline code are where hand conversion goes wrong.
csv_to_jsonParse CSV data into JSON with delimiter auto-detection and quoted-field handling.
url_encodePercent-encode a string for use in a URL, or decode one back to text, exactly as a browser would (reserved characters, UTF-8 bytes, plus versus %20). Use this instead of encoding by hand: a single wrong byte makes a link that does not open.
base64Encode text to Base64 or decode Base64 to text, byte for byte, with UTF-8 handled correctly. Use this instead of encoding or decoding by eye: one wrong character corrupts the whole value, and a model cannot see its own mistake.
test_regexRun a JavaScript regular expression against a test string using a real regex engine. Returns all matches with capture groups and indices.
convert_colorConvert a CSS color between HEX, RGB, HSL, and HSB with exact math.
password_strengthAnalyze password strength with entropy-based scoring and concrete feedback. Do not log or store the password.
count_wordsExact word, character, sentence, and paragraph counts plus reading time for a text.
parse_cronParse a cron expression into a human-readable description and the next scheduled run times. Exact cron semantics: use this instead of interpreting cron syntax yourself.
generate_uuidsGenerate cryptographically random UUID v4 values. Use this instead of writing identifiers yourself: an id a model types out is neither random nor guaranteed unique, and duplicates surface later as data that overwrites other data.
validate_ibanCheck whether an IBAN is well formed: the mod-97 checksum, the country code, the length that country's IBAN must have, and whether every position holds the kind of character that country allows there (mod-97 turns letters into numbers, so on its own it cannot see a capital O typed in place of a zero). Returns validity, country, and where known the bank identifier printed inside the IBAN. This is a format check, not a bank check: a passing IBAN can still name a bank code that never existed or has since merged away, and says nothing about whether the account exists or can receive a payment. For twelve countries it also verifies the national check digit that the bank computes over the bank code and account number (BE, FR, MC, ES, IT, SM, PT, SI, PL, TN, EE, HU); nationalCheck 'failed' there means the number is very probably invented, since that digit cannot be back-computed the way the mod-97 pair can. Absent nationalCheck means not checked, never approved. For Dutch IBANs it also names the institution behind the four-letter bank code, including codes that no longer issue accounts; an unrecognised code does not make the IBAN invalid. A territory that borrows another country's IBAN (Reunion, Guernsey, Aland and the like) is reported with the prefix it actually uses, since no IBAN starts with RE or GG. Never guess whether an IBAN is well formed: use this tool. Do not present a pass as confirmation that money can be sent.
generate_slugConvert text into a URL-safe slug, handling unicode and diacritics deterministically.
validate_emailValidate email address syntax and detect common domain typos (e.g. gmial.com).
calculate_vatAdd VAT to a net amount or extract VAT from a gross amount at any rate (e.g. 21 for Dutch BTW). Returns exact net, VAT, and gross amounts rounded to cents.
check_vat_number_formatCheck the format of an EU/GB/CH VAT number (syntax only, no VIES registration lookup). Supported country prefixes: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, GB, CH.
dutch_public_holidaysExact Dutch public holidays for a year, including movable feasts (Easter, Ascension, Whitsun) and King's Day rules. Use this instead of computing Dutch holidays yourself.
working_days_betweenCount working days (Mon-Fri) between two dates inclusive, optionally excluding Dutch public holidays. Exact date math for SLA, payroll, and planning questions.
generate_test_bsnGenerate Dutch BSN test numbers that pass the elfproef (11-check) but belong to no real person. For development and test data only.
generate_test_ibanGenerate structurally valid test IBANs for NL, DE, BE, FR, or GB that belong to no real bank account. Each one carries the country's own character layout, correct mod-97 check digits, and for Belgium and France the national check digit the bank computes over the account, so it also passes validate_iban in full. For development and test data only.
generate_brp_test_dataGenerate Dutch BRP/GBA test persons with valid BSNs, families, addresses and life events (married, widowed, deceased, moved, living abroad). Use this instead of inventing Dutch personal data: made-up BSNs fail the elfproef and are rejected by real systems. Deterministic per seed. For more than 50 people or CSV output, use the REST API at https://toolforte.com/api/v1/tools/brp-test-data-generator
generate_upa_filesGenerate UPA pension declaration XML (the Dutch payroll-to-pension-fund message) for one or more periods, with employments, schemes and optional deliberate defects that a receiving system should reject. Deterministic per seed. XML is large, so ask for the summary format unless you need the file contents; for bulk use the REST API at https://toolforte.com/api/v1/tools/upa-file-generator
convert_caseConvert a text to one case style: upper, lower, title, sentence, camel, pascal, snake or kebab. Returns the converted string. Arguments: text, mode. Same result as POST /api/v1/tools/text-case-converter.
generate_lorem_ipsumGenerate classic lorem ipsum placeholder text as paragraphs, sentences, words or a list, optionally wrapped in HTML. Deterministic: the same options give the same text. Arguments: count?, type?, startWithLorem?, html?, seed?. Same result as POST /api/v1/tools/lorem-ipsum-generator.
sort_linesSort the lines of a text A to Z, Z to A, by length, in natural numeric order, or shuffle them with a seed. Can drop duplicates and ignore case. Returns the sorted text and line count. Arguments: text, mode?, caseInsensitive?, removeDuplicates?, reverse?, seed?. Same result as POST /api/v1/tools/sort-lines.
dedupe_linesRemove repeated lines from a text while keeping the original order. Returns the cleaned text with how many lines were removed. Arguments: text, caseInsensitive?, trim?, keepFirst?. Same result as POST /api/v1/tools/remove-duplicate-lines.
reverse_textReverse a text by characters, by word order per line, or by the characters of each line. Returns the reversed string. Arguments: text, mode?. Same result as POST /api/v1/tools/reverse-text.
find_and_replaceReplace every occurrence of a string or regular expression in a text. Supports case sensitivity, whole word matching and regex groups in the replacement. Returns the new text and the number of replacements. Arguments: text, find, replace?, caseSensitive?, wholeWord?, useRegex?. Same result as POST /api/v1/tools/find-and-replace.
word_frequencyCount how often each word occurs in a text and return a ranked table, most frequent first, with counts and percentages. Can ignore case, skip short words and drop common stop words. Arguments: text, ignoreCase?, minLength?, excludeStopWords?, limit?. Same result as POST /api/v1/tools/word-frequency-counter.
reading_timeEstimate how long a text takes to read and to speak aloud, from the text itself or a word count, at a chosen words-per-minute plus slow, average and fast presets. Arguments: text?, wordCount?, readingWpm?, speakingWpm?. Same result as POST /api/v1/tools/reading-time-calculator.
rot13Apply ROT13, or any Caesar shift from 1 to 25, to a text. Letters rotate and keep their case; digits and punctuation stay as they are. Decoding with shift 13 gives the original back. Arguments: text, shift?, decode?. Same result as POST /api/v1/tools/rot13.
morse_codeTranslate text to International Morse code or Morse back to text. Letters are separated by a space and words by a slash; characters without a Morse code are dropped. Arguments: text, mode?. Same result as POST /api/v1/tools/morse-code-translator.
numbers_to_wordsWrite a number out in English words, up to 999 quadrillion, with decimals read digit by digit or as a currency amount in dollars, euros or pounds. Optional British style with "and". Arguments: number, mode?, currency?, british?. Same result as POST /api/v1/tools/numbers-to-words.
roman_numeralsConvert a whole number from 1 to 3999 into a Roman numeral, or a Roman numeral back into a number, with strict validation and a symbol-by-symbol breakdown. Detects the direction from the input unless a mode is given. Arguments: value, mode?. Same result as POST /api/v1/tools/roman-numeral-converter.
clean_textClean up messy text: collapse extra spaces, trim lines, drop empty lines, strip HTML tags, remove punctuation, digits, emojis or control characters, and straighten smart quotes. Returns the cleaned text and how many characters each step removed. Arguments: text, extraSpaces?, trimLines?, emptyLines?, lineBreaks?, htmlTags?, punctuation?, numbers?, emojis?, plainQuotes?, controlChars?. Same result as POST /api/v1/tools/text-cleaner.
json_to_csvTurn a JSON array of objects, or a JSON string holding one, into CSV text. Nested objects become dotted column names such as address.city, arrays are written as JSON inside the cell, and every key seen in any row becomes a column. Arguments: json, delimiter?, includeHeader?, flatten?. Same result as POST /api/v1/tools/json-to-csv.
json_to_yamlConvert a JSON string to YAML text. Strings are quoted only when a YAML reader would otherwise see a number, boolean, date or empty value, multi-line strings become block scalars, and keys can be sorted. Arguments: json, indent?, sortKeys?, nullStyle?. Same result as POST /api/v1/tools/json-to-yaml.
yaml_to_jsonParse YAML text and return both the value and its JSON text. Reads maps, lists, inline [lists] and {maps}, quoted and block scalars and comments. Anchors, aliases, merge keys, tags and multi-document files are not supported and are reported with the line number. Arguments: yaml, indent?. Same result as POST /api/v1/tools/yaml-to-json.
xml_to_jsonParse XML into a JSON object keyed by the root element. Attributes become keys with a prefix ("@id"), text beside attributes or children lands under "#text", repeated elements become arrays, and namespace prefixes can be dropped. Malformed XML is reported with the line number; DTD-declared entities are not expanded. Arguments: xml, attributePrefix?, dropNamespaces?, indent?. Same result as POST /api/v1/tools/xml-to-json.
json_to_xmlSerialise a JSON string as XML. Object keys become element names, array items repeat the parent key, null and empty objects become self-closing tags, and the root element name is yours to choose. A top-level array is wrapped in the root with one item element per entry. Arguments: json, rootName?, declaration?. Same result as POST /api/v1/tools/json-to-xml.
format_xmlPretty-print XML with consistent indentation, or minify it by removing the whitespace between tags. Elements that hold only text stay on one line, and comments, CDATA and processing instructions are kept. Malformed XML is reported with the line number rather than reshaped. Arguments: xml, mode?, indent?. Same result as POST /api/v1/tools/xml-formatter.
csv_to_markdownTurn CSV text into a GitHub-style Markdown table. Detects the delimiter (comma, semicolon, tab or pipe) unless told, reads quoted fields with embedded delimiters and newlines, and can align columns and pad cells so the table lines up in plain text. Arguments: csv, delimiter?, firstRowHeader?, padded?, alignment?. Same result as POST /api/v1/tools/csv-to-markdown.
format_sqlPretty-print a SQL statement: keywords in upper case, each major clause (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY and so on) on its own line, and indentation inside CASE and parentheses. String literals are left untouched. A formatter, not a parser: it does not check that the SQL is valid. Arguments: sql. Same result as POST /api/v1/tools/sql-formatter.
html_entitiesEncode text as HTML entities or decode entities back to text. Encoding always covers &, <, >, quotes and common typographic characters, and can cover every non-ASCII character too, named where HTML has a name (&eacute;) and numeric otherwise. Decoding reads numeric references and HTML 4 named entities; unknown names are left as they are. Arguments: text, mode?, encodeNonAscii?. Same result as POST /api/v1/tools/html-entity-encoder.
json_to_typescriptDerive TypeScript interfaces from a JSON sample. Nested objects become their own interfaces named after their key, arrays become typed arrays (a union when the items differ), null stays null, and properties can be made optional or readonly. Arguments: json, rootName?, exportInterfaces?, optionalProps?, readonlyProps?. Same result as POST /api/v1/tools/json-to-typescript.
hash_textHash a text with SHA-1, SHA-256, SHA-384 or SHA-512 and return the hex digest, or all four at once. Text is hashed as UTF-8. No MD5: it is broken and Web Crypto does not offer it. Arguments: text, algorithm?. Same result as POST /api/v1/tools/hash-generator.
decode_jwtDecode a JSON Web Token into its header and payload, and explain the exp, iat and nbf claims as ISO dates with an expired flag. The signature is returned but never verified. Arguments: token, now?. Same result as POST /api/v1/tools/jwt-decoder.
convert_timestampConvert a Unix timestamp (seconds or milliseconds) to an ISO 8601 UTC date, or an ISO date to a Unix timestamp. Returns both timestamps, the ISO and RFC 7231 forms, and the weekday. Arguments: value, unit?. Same result as POST /api/v1/tools/timestamp-converter.
convert_number_baseConvert a whole number from one base to another, any base 2 to 36, and also return its binary, octal, decimal and hexadecimal forms. Exact for numbers of any size, no rounding. Arguments: value, fromBase?, toBase?. Same result as POST /api/v1/tools/number-base-converter.
generate_passwordGenerate one or more random passwords of a chosen length from lower case, upper case, digits and symbols, optionally without look-alike characters. Returns the passwords with their entropy in bits and a rough crack time. Arguments: length?, uppercase?, lowercase?, numbers?, symbols?, excludeAmbiguous?, count?. Same result as POST /api/v1/tools/password-generator.
random_numbersDraw random whole numbers between a minimum and maximum, inclusive, using cryptographic randomness. Ask for several at once, with or without repeats, for dice, lottery draws or samples. Arguments: min?, max?, count?, allowDuplicates?. Same result as POST /api/v1/tools/random-number-generator.
chmodConvert Unix file permissions between octal (755) and symbolic (rwxr-xr-x) form. Returns both, a read/write/execute breakdown for owner, group and others, and the chmod command to apply them. Arguments: permissions. Same result as POST /api/v1/tools/chmod-calculator.
http_statusLook up what an HTTP status code means. Give a code (404), a class (4xx) or a word (timeout) and get the name, class, one-line meaning, typical use case and RFC reference for every match. Arguments: query. Same result as POST /api/v1/tools/http-status-codes.
px_to_remConvert a pixel value to rem or a rem value to pixels for a given root font size, 16px unless told otherwise. Returns both numbers and CSS-ready strings. Arguments: value, direction?, rootFontSize?. Same result as POST /api/v1/tools/px-rem-converter.
build_utm_urlAdd utm_source, utm_medium, utm_campaign, utm_term and utm_content to a URL, keeping any query parameters it already has. Returns the tagged link plus warnings about upper case or missing required tags. Arguments: url, source?, medium?, campaign?, term?, content?. Same result as POST /api/v1/tools/utm-builder.
color_contrastCompute the WCAG 2 contrast ratio between a text colour and a background colour and say whether it passes AA and AAA for normal and large text. Accepts hex, rgb() or hsl(), and suggests a nearby colour when it fails. Arguments: foreground, background. Same result as POST /api/v1/tools/color-contrast-checker.
percentageAnswer one percentage question from two numbers: what x% of y is, what percent x is of y, the percentage change from x to y, or x increased or decreased by y%. Returns the number and a sentence stating it. Arguments: mode, x, y. Same result as POST /api/v1/tools/percentage-calculator.
compound_interestGrow a starting amount at an annual rate for a number of years, compounding monthly, quarterly or annually, with an optional monthly contribution. Returns the future value, total contributed, total interest and a year-by-year table. Arguments: principal, annualRatePercent, years, compoundsPerYear?, monthlyContribution?. Same result as POST /api/v1/tools/compound-interest-calculator.
loan_paymentWork out an annuity loan from the amount, annual interest rate and term: the fixed monthly payment, total paid, total interest and an amortisation schedule of up to 360 months showing principal, interest and remaining balance. Arguments: amount, annualRatePercent, term, termUnit?. Same result as POST /api/v1/tools/loan-calculator.
bmiBody mass index from height and weight, in centimetres and kilograms or in inches and pounds. Returns the BMI, its category (underweight, normal weight, overweight, obese) and the weight range that would count as normal at that height. Arguments: height, weight, units?. Same result as POST /api/v1/tools/bmi-calculator.
date_differenceThe time between two calendar dates: total days, weeks plus days, a years/months/days breakdown, hours, and the number of business days (Monday to Friday, no holidays). Order does not matter; the end date is excluded unless includeEndDate is true. Arguments: startDate, endDate, includeEndDate?. Same result as POST /api/v1/tools/date-difference-calculator.
ageExact age on a date from a birth date: years, months and days, total days, weeks and months lived, and the date of the next birthday with the days until it. Defaults to today when asOf is left out. Arguments: birthDate, asOf?. Same result as POST /api/v1/tools/age-calculator.
week_numberThe ISO 8601 week number and ISO year for a date, with the Monday and Sunday of that week, plus the US (Sunday-based) and UK/EU week numbers. Defaults to today when no date is given. Arguments: date?. Same result as POST /api/v1/tools/week-number.
convert_unitsConvert a value between units of length (m, km, cm, mm, mi, yd, ft, in, nmi, um), weight (kg, g, mg, lb, oz, st, t, us_ton, imperial_ton, ug), temperature (c, f, k), speed (kmh, ms, mph, kn) or data (b, kb, mb, gb, tb, in 1024 steps). Units are matched by key, full name or common alias. Arguments: value, from, to, category?. Same result as POST /api/v1/tools/unit-converter.
discountFinal price and saving after a discount given as a percentage or a fixed amount, with optional extra stacked discounts applied one after another and optional VAT added on the discounted price. Money is rounded to cents. Arguments: price, discountPercent?, discountAmount?, additionalDiscountPercents?, vatPercent?. Same result as POST /api/v1/tools/discount-calculator.
split_tipTip on a restaurant bill at a percentage, the total, and the even split per person. Can round the total up to the next whole unit, in which case the tip absorbs the difference. Arguments: bill, tipPercent?, people?, roundUp?. Same result as POST /api/v1/tools/tip-calculator.
convert_timezoneTake a local date and time in one IANA time zone (such as Europe/Amsterdam) and express it in another, using the built-in Intl zone rules including daylight saving. Returns both wall-clock times with their UTC offsets, the UTC instant and the hour difference. Arguments: dateTime, from, to. Same result as POST /api/v1/tools/timezone-converter.
roiReturn on investment from the amount invested and the total amount that came back: the gain, the ROI in percent and, when a holding period in years is given, the annualised return. An estimate, not financial advice. Arguments: invested, returned, years?. Same result as POST /api/v1/tools/roi-calculator.
break_evenBreak-even point from fixed costs per period, the price per unit and the variable cost per unit: the units and revenue needed to cover costs, the contribution margin, profit at an optional sales volume, and scenarios at half to twice the break-even volume. Arguments: fixedCosts, variableCostPerUnit, pricePerUnit, volume?. Same result as POST /api/v1/tools/break-even-calculator.
aow_ageLook up the Dutch state pension (AOW) age for a birth date from the official SVB table: the age in years and months, the date it starts, how long until then, and whether that age is legally fixed or still an expectation. Arguments: birthDate, today?. Same result as POST /api/v1/tools/aow-age-calculator.
dutch_inheritance_taxEstimate Dutch inheritance tax (erfbelasting) for one heir with the 2026 exemptions and two-bracket rates: give the inherited amount and the relationship to the deceased, get the exemption, taxable amount, tax per bracket, total tax and what the heir keeps. Arguments: amount, heir. Same result as POST /api/v1/tools/erfbelasting-calculator.
dutch_gift_taxEstimate Dutch gift tax (schenkbelasting) with the 2026 exemptions and two-bracket rates: give the gift amount, the relationship to the donor and which exemption applies, get the exemption used, taxable amount, tax per bracket, total tax and what the recipient keeps. Arguments: amount, relationship, exemption?. Same result as POST /api/v1/tools/schenkbelasting-calculator.
dutch_ww_durationEstimate how many months of Dutch unemployment benefit (WW) an employment history gives: one month per year for the first ten years, half a month per year after that, between three and twenty-four months, with the notional years for people born in 1979 or earlier counted automatically. Arguments: birthYear, workedYearsSince1998. Same result as POST /api/v1/tools/ww-duration-calculator.
dutch_30_percent_rulingWork out the tax-free allowance under the Dutch 30% ruling for a gross annual salary with the 2026 salary norm and WNT cap, plus a simplified estimate of net pay with and without the ruling and the yearly advantage. Arguments: grossAnnualSalary, youngMaster?. Same result as POST /api/v1/tools/30-percent-ruling-calculator.
dutch_holiday_allowanceCalculate Dutch holiday allowance (vakantiegeld) from a gross monthly salary and the months worked: the gross amount at the given percentage (statutory minimum 8%) and an estimate of the net payout after the special payroll tax rate (bijzonder tarief). Arguments: monthlySalary, monthsWorked?, allowancePercent?, specialRatePercent?. Same result as POST /api/v1/tools/dutch-holiday-allowance-calculator.
dutch_notice_periodFind the statutory Dutch notice period (Article 7:672 Civil Code) for an employee or employer from the employment start date and the date notice is given, and the date the contract ends, since notice runs from the first of the next month. A contractual period can override the statutory one. Arguments: givenBy, startDate, noticeDate, contractMonths?. Same result as POST /api/v1/tools/dutch-notice-period-calculator.
dutch_severanceCalculate the Dutch statutory transition payment (transitievergoeding) with the 2026 rules: one third of the monthly salary base per year of service, pro rata by day, capped at EUR 102,000 or one annual salary if higher. The base can include 8% holiday allowance and fixed yearly bonuses. Arguments: monthlySalary, fixedAnnualBonuses?, includeHolidayAllowance?, startDate, endDate. Same result as POST /api/v1/tools/dutch-severance-calculator.
generate_test_document_numberGenerate random Dutch test document numbers in the structural format of an ID card (4 letters + 5 digits), passport (2 letters + 7 digits) or driving licence (10 digits). Format only, no check digit, tied to no real document, for test environments. Arguments: type?, count?. Same result as POST /api/v1/tools/test-documentnummer-generator.
dutch_school_holidaysList the official Dutch school holidays (schoolvakanties) for a school year and region (noord, midden or zuid) with start and end dates, whether each is advisory, days until each one, and which break comes next. Covers 2026-2027 and 2027-2028 from Rijksoverheid.nl. Arguments: schoolYear?, region?, today?. Same result as POST /api/v1/tools/dutch-school-holidays.
dutch_mileage_allowanceCalculate a Dutch kilometre reimbursement per week, month and year from a distance per trip and trips per week (or a weekly total), working weeks and a rate, and show how much of it exceeds the 2026 tax-free maximum of EUR 0.25 per km. Arguments: kmPerTrip?, tripsPerWeek?, kmPerWeek?, weeksPerYear?, ratePerKm?. Same result as POST /api/v1/tools/dutch-mileage-calculator.
convert_subtitlesConvert subtitles between SRT and WebVTT or to a plain transcript, shift or stretch the timing, append a second part, and repair order, overlaps, empty and flashing cues. Returns the rewritten subtitle text and a report of what changed. Arguments: text, format?, shiftSeconds?, scalePercent?, repair?, appendText?, appendOffsetSeconds?. Same result as POST /api/v1/tools/subtitle-converter.
merge_csvAppend several CSV files into one. By header, columns are matched by name (case-insensitive) and the headers are unioned, so files with different column orders or an extra column combine cleanly; by position, rows are appended under the first file's header. Optionally adds a Source column with each file's name. Returns the merged CSV. Arguments: files, mode?, sourceColumn?, delimiter?. Same result as POST /api/v1/tools/csv-merge.
split_csvSplit one CSV into parts, either every N rows or one part per distinct value of a column. Every part keeps the header. Returns the parts as CSV text with a name each. Arguments: text, by, size?, column?, name?. Same result as POST /api/v1/tools/csv-split.
mortgage_paymentWork out the payment on a home loan from the price, the deposit, the rate and the term, paid monthly, bi-weekly or weekly. Returns the payment per period, the total paid, the total interest, the loan-to-value ratio and an amortisation schedule of up to 360 periods showing how each payment splits between principal and interest. Arguments: homePrice, downPayment?, annualRatePercent, termYears, paymentFrequency?. Same result as POST /api/v1/tools/mortgage-calculator.
simple_interestInterest at a flat rate on the original principal only, I = P x r x t, over a period given in years or months. Returns the interest, the final amount, and what the same money would have made with annual compounding, so the two methods can be compared before signing anything. Arguments: principal, annualRatePercent, time, timeUnit?. Same result as POST /api/v1/tools/simple-interest-calculator.
investment_growthProject a lump sum plus a monthly contribution at a yearly return, compounded monthly with the contribution going in at the start of each month. Returns the final value, everything paid in, the growth, and a year-by-year table of balance and growth. Arguments: initialInvestment?, monthlyContribution?, annualReturnPercent, years. Same result as POST /api/v1/tools/investment-calculator.
sip_returnsReturns on a systematic investment plan: the same amount invested every month for a number of years at an expected annual return, using the annuity due formula Indian SIP calculators publish. Returns the total value, the amount invested, the returns earned and a year-by-year table. Arguments: monthlyInvestment, expectedAnnualReturnPercent, years. Same result as POST /api/v1/tools/sip-calculator.
emiThe equated monthly instalment on a loan from the amount, the annual rate and a tenure in years or months. Returns the instalment, the total paid, the total interest, interest as a share of the total, and an amortisation schedule grouped by year. Arguments: loanAmount, annualRatePercent, tenure, tenureUnit?. Same result as POST /api/v1/tools/emi-calculator.
profit_marginGross margin, markup and profit on one sale. In margin mode give the cost and the selling price; in price mode give the cost and the margin you want and it returns the price to charge. Margin is profit over the price, markup is profit over the cost, and both come back either way. Arguments: mode?, cost, revenue?, targetMarginPercent?. Same result as POST /api/v1/tools/profit-margin-calculator.
margin_markupGive any two of cost, revenue and gross margin and this solves for the rest, including the markup. Use costRevenue when you know both amounts, costMargin to price up from a cost, and revenueMargin to work out what a product may cost to hit a margin at a fixed price. Arguments: mode?, cost?, revenue?, marginPercent?. Same result as POST /api/v1/tools/margin-calculator.
commissionCommission on a sale and what is left after it. Flat mode pays one rate on the whole amount; tiered mode works like tax brackets, each rate paid only on the slice of the sale inside its band, which is why the effective rate lands between the lowest and highest tier. Arguments: saleAmount, mode?, ratePercent?, tiers?. Same result as POST /api/v1/tools/commission-calculator.
sales_taxAdd sales tax to a net price, or pull it back out of a price that already includes it. Works for US sales tax and for VAT alike. Returns the net, the tax and the gross, rounded so that net plus tax is exactly the gross. Arguments: amount, ratePercent, mode?. Same result as POST /api/v1/tools/sales-tax-calculator.
gstAdd GST to a base price or remove it from an inclusive one, at any rate including the Indian slabs of 5, 12, 18 and 28 percent. Returns the net, the GST and the gross, plus the CGST and SGST halves for an intra-state supply, split so the two halves add up to the tax exactly. Arguments: amount, ratePercent, mode?. Same result as POST /api/v1/tools/gst-calculator.
inflation_adjustWhat an amount is worth after inflation, or what it was worth before. Fixed mode applies a rate you choose over a number of years. CPI mode uses the published US CPI-U annual averages from 1913 to 2025, so two years can be compared with the figures the BLS actually reported. Arguments: mode?, amount, annualRatePercent?, years?, fromYear?, toYear?. Same result as POST /api/v1/tools/inflation-calculator.
retirement_savingsProject a pension pot from what is saved now, what goes in every month, the return and the years left until retirement. Returns the pot at the retirement age, the same pot restated in today's money at an inflation rate, what the 4% rule would pay per month, and a year-by-year table. Arguments: currentAge, retirementAge, currentSavings?, monthlyContribution?, annualReturnPercent, annualInflationPercent?. Same result as POST /api/v1/tools/retirement-calculator.
debt_payoffTake a list of debts with balance, APR and minimum payment, add whatever extra you can pay each month, and simulate both payoff strategies: snowball, which clears the smallest balance first, and avalanche, which clears the dearest first. Returns months to debt free, total interest and the payoff order for each, plus what avalanche saves. Arguments: debts, extraMonthlyPayment?. Same result as POST /api/v1/tools/debt-payoff-calculator.
savings_goalA savings goal from either end. monthsToGoal walks the months at a given deposit until the balance clears the goal and reports the quarter marks along the way; requiredDeposit solves the other way round for the monthly amount a deadline needs. Both include interest compounded monthly. Arguments: mode?, goal, currentSavings?, monthlyDeposit?, months?, annualRatePercent?. Same result as POST /api/v1/tools/savings-goal-calculator.
split_billSettle up a group who have been paying for each other. Each expense is paid by one person and shared evenly by everyone or by the people named on it, with an optional tip added first. Returns what each person paid, owes and is owed, plus the shortest set of transfers that clears the group, optionally rounded to whole notes. Arguments: people, expenses, tipPercent?, roundTransfersTo?. Same result as POST /api/v1/tools/split-bill-calculator.
freelance_rateThe hourly and day rate a Dutch freelancer has to charge to take home a target net income. Works backwards from the net through the 2026 box 1 brackets, the zelfstandigenaftrek, the mkb-winstvrijstelling, the tax credits and the Zvw contribution, adds business costs and a buffer, and divides by the hours left after holidays and non-billable time. Dutch ZZP rules only. Arguments: targetNetIncome, businessCosts?, nonBillablePercent?, vacationWeeks?, hoursPerWeek?, bufferPercent?, monthlyDisabilityInsurance?, monthlyPensionDeposit?, hoursPerDay?. Same result as POST /api/v1/tools/freelance-rate-calculator.
macrosDaily protein, carbohydrate and fat grams for a calorie target and a goal. Calories come from the Mifflin-St Jeor basal rate times an activity factor, shifted by 500 kcal down to lose or 300 kcal up to gain and never below 1200, and are then split three ways: balanced 30/40/30, low carb 40/20/40 and high protein 40/30/30. This is an indication, not medical advice. Arguments: age, sex, heightCm, weightKg, activity?, goal?. Same result as POST /api/v1/tools/macro-calculator.
sleep_timesBedtimes or wake-up times that complete whole sleep cycles. From one clock time it counts six, five, four and three blocks of 90 minutes, plus the 15 minutes an average adult needs to fall asleep, so the alarm lands between cycles instead of in deep sleep. This is an indication, not medical advice. Arguments: time, mode?. Same result as POST /api/v1/tools/sleep-calculator.
water_intakeDaily water intake from weight, activity and climate. The base is 35 ml per kilogram of body weight, the midpoint of the usual 30 to 40 ml guideline, plus 350 ml for every 30 minutes of exercise and a flat 500 ml in a hot or humid climate, reported in litres and in 250 ml glasses. This is an indication, not medical advice. Arguments: weightKg, exerciseMinutes?, climate?. Same result as POST /api/v1/tools/water-intake-calculator.
body_fatBody fat percentage from tape measurements using the US Navy method. The Hodgdon and Beckett (1984) circumference formula takes height, neck and waist for men and adds the hip for women, returns the American Council on Exercise category band, and splits a body weight into fat and lean mass when one is given. This is an indication, not medical advice. Arguments: sex, heightCm, neckCm, waistCm, hipCm?, weightKg?. Same result as POST /api/v1/tools/body-fat-calculator.
bmrBasal metabolic rate from sex, age, height and weight, by both Mifflin-St Jeor (1990) and the revised Harris-Benedict (Roza and Shizgal, 1984), so the spread between them shows the uncertainty. Also returns total daily energy expenditure at all five activity factors, from 1.2 sedentary to 1.9 extra active. This is an indication, not medical advice. Arguments: sex, age, heightCm, weightKg. Same result as POST /api/v1/tools/bmr-calculator.
ideal_weightIdeal body weight from height and sex by the common formulas: Robinson (1983), Miller (1983), Devine (1974) and Hamwi (1964), with their average and the WHO healthy BMI band of 18.5 to 24.9 for the same height, all in kilograms and pounds. This is an indication, not medical advice. Arguments: heightCm, sex. Same result as POST /api/v1/tools/ideal-weight-calculator.
daily_caloriesDaily calories to maintain, lose or gain weight from your details and activity. Mifflin-St Jeor (1990) sets the basal rate and drives the targets, revised Harris-Benedict (1984) is returned beside it for comparison, and the maintenance figure is also split into the balanced 30/40/30 macros. Consult a registered dietitian for personalized nutrition advice. Arguments: sex, age, heightCm, weightKg, activity?. Same result as POST /api/v1/tools/calorie-calculator.
running_pacePace, time or distance from the other two, with splits. Give any two of the three and it returns the missing one, the pace in both minutes per kilometre and per mile, the speed in km/h, a cumulative split for every whole unit, and the finish time at that same pace for seven race distances from 1 km to the marathon. Arguments: solve?, unit?, distance?, time?, pace?. Same result as POST /api/v1/tools/running-pace-calculator.
tdeeTotal daily energy expenditure from BMR and activity level. The basal rate is Mifflin-St Jeor (1990) and comes from the same function the BMR tool uses, multiplied by an activity factor from 1.2 to 1.9, with five ready-made calorie targets from a 500 kcal cut to a 500 kcal bulk. This is an indication, not medical advice. Arguments: sex, age, heightCm, weightKg, activityFactor?. Same result as POST /api/v1/tools/tdee-calculator.
pregnancy_due_dateEstimated due date and current week from the last period or conception date. Naegele's rule adds 280 days to the first day of the last menstrual period, or 266 days when counting from conception, and the result also carries gestational age, trimester and the 12, 20, 28 and 37 week milestone dates. Estimate only, consult your midwife or doctor. Arguments: date, method?, today?. Same result as POST /api/v1/tools/due-date-calculator.
ovulation_windowFertile window and ovulation day from the last period and cycle length. The calendar method places ovulation 14 days before the next period rather than 14 days after the last one, opens the fertile window five days before it and closes it one day after, and projects the same pattern across three cycles. Estimate only, consult your midwife or doctor. Arguments: lastPeriod, cycleLength?, today?. Same result as POST /api/v1/tools/ovulation-calculator.
one_rep_maxEstimated one repetition maximum from a weight and reps, with percentages. Four formulas run side by side, Epley, Brzycki, Lombardi and O'Conner, and their average drives a training table from 95% down to 50% with the usual rep range for each load. This is an indication for training purposes, not medical advice. Arguments: weight, reps. Same result as POST /api/v1/tools/one-rep-max-calculator.
date_add_subtractAdd or subtract days, weeks, months or years from a date and get the date you land on, written out with its weekday. The arithmetic is calendar aware and runs in UTC, so leap years and month lengths are handled and the answer never shifts with a time zone. Arguments: amount, unit, operation?, startDate?. Same result as POST /api/v1/tools/date-calculator.
fractionsAdd, subtract, multiply or divide two fractions, mixed numbers included, and get the answer reduced to lowest terms. The arithmetic is exact whole-number arithmetic, so nothing is rounded through a decimal on the way, and the result comes back as a fraction, a mixed number and a decimal. Arguments: a, b, operation. Same result as POST /api/v1/tools/fraction-calculator.
ratioReduce a ratio to lowest whole-number terms, solve a proportion A:B = C:D for the one value left out, or scale a ratio by a factor for a recipe or a mix. Reducing is exact whole-number arithmetic, so a ratio written with decimals is scaled to integers first rather than rounded. Arguments: mode, a?, b?, c?, d?, factor?. Same result as POST /api/v1/tools/ratio-calculator.
averageEvery average of a list of numbers in one call: mean, median, mode, sum, count, minimum, maximum, range, and the geometric and harmonic means. A list where nothing repeats has no mode, and the two positive-only means come back null when any value is zero or below. Arguments: values. Same result as POST /api/v1/tools/average-calculator.
standard_deviationStandard deviation and variance of a list of numbers, both the sample and the population figures, plus the mean, the sum and the sum of squared deviations. The `type` field says which of the two the headline standardDeviation reports: the sample one unless asked otherwise, or the population one when there is a single value. Arguments: values, type?. Same result as POST /api/v1/tools/standard-deviation-calculator.
gpaWork out a grade point average from courses that each have a grade and a credit weight, on the 4.0 letter scale, the 10-point European scale or percentages. Returns the GPA on the 4.0 scale with its letter, its honours classification and the credits counted. Arguments: courses, scale?. Same result as POST /api/v1/tools/gpa-calculator.
weighted_gradeAverage the assessments of one course into the weighted grade it stands at, from each item's score and what it is worth. Divides by the weight actually entered, so a half-graded course reports the average so far rather than a score dragged down by work not handed in yet. Arguments: items. Same result as POST /api/v1/tools/grade-calculator.
final_grade_neededWork out the score needed on a final exam to finish a course at a target grade, from the grade so far and what the final is worth. Says plainly whether the target is reachable, already secured, or out of reach, and prices the usual A to D targets at the same weight. Arguments: currentGrade, targetGrade, finalWeightPercent. Same result as POST /api/v1/tools/final-grade-calculator.
test_gradeTurn a number of questions and a number of wrong answers into a percentage and a letter grade, with a chart pricing every possible number of wrong answers on that test. The letter cutoffs default to the US ten point scale and can be replaced. Arguments: questions, wrong, scale?. Same result as POST /api/v1/tools/test-grade-calculator.
grade_curveCurve a set of test scores by one of the three methods teachers use: add the same points to everyone, take the square root and multiply by ten, or scale the highest score in the room up to 100. Returns every adjusted score plus the class mean, median, minimum and maximum before and after. Arguments: scores, method?, flatPoints?, capAt100?. Same result as POST /api/v1/tools/grade-curve-calculator.
percentage_to_cgpaConvert percentage marks to CGPA on the Indian 10-point scale using the CBSE divisor of 9.5, or convert a CGPA back to a percentage. Returns the indicative American 4-point GPA alongside it, which is what an overseas application asks for. Arguments: value, direction?, divisor?. Same result as POST /api/v1/tools/percentage-to-cgpa-calculator.
meeting_costPrice a meeting in salary from the number of attendees, one blended hourly rate and how long it runs. Returns the total, the cost per minute and the cost per person, so a recurring meeting can be weighed against what it produces. Arguments: attendees, hourlyRate, durationMinutes, currency?. Same result as POST /api/v1/tools/meeting-cost-calculator.
fuel_costWork out the fuel a journey burns and what it costs, from a distance in kilometres or miles, a consumption figure in any of the four common units, and a pump price per litre or gallon. Handles return trips, a repeat count for a monthly commute, and splitting the bill between passengers. Arguments: distance, distanceUnit?, consumption, consumptionUnit?, price, priceUnit?, passengers?, roundTrip?, trips?. Same result as POST /api/v1/tools/fuel-cost-calculator.
appliance_energy_costPrice what an appliance costs to run, from its wattage, how it is used and the price of a kilowatt hour. Takes either a daily pattern (hours a day) or a weekly one (runs per week times minutes a run), and returns kilowatt hours and money per day, per month and per year. Arguments: watts, pricePerKwh, mode?, hoursPerDay?, usesPerWeek?, minutesPerUse?. Same result as POST /api/v1/tools/appliance-energy-cost-calculator.
dog_ageConvert a dog's age into human years with the epigenetic research formula, 16 x ln(age) + 31, and return the size-adjusted chart estimate and the old multiply-by-seven answer next to it. Cats are handled by the standard veterinary chart. Arguments: age, species?, size?. Same result as POST /api/v1/tools/dog-age-calculator.
aspect_ratioReduce a width and a height to their aspect ratio, or work out the side that is missing at a given ratio so an image or a canvas keeps its proportions. Also returns the decimal ratio, the megapixels and whether the result is landscape, portrait or square. Arguments: width?, height?, ratioWidth?, ratioHeight?. Same result as POST /api/v1/tools/aspect-ratio-calculator.
military_timeConvert a time between the 24-hour military clock and the 12-hour AM/PM clock, in either direction, and get both spellings plus the spoken military phrase. Accepts 1:30 PM, 130pm, 1330 and 13:00. Arguments: time, from?. Same result as POST /api/v1/tools/military-time-converter.
timesheet_hoursTurn clock-in and clock-out times into hours worked: the net hours per day after the break, the weekly total in decimal hours and in hours and minutes, the split between regular and overtime hours at a threshold you choose, and gross pay at a flat hourly rate. Overnight shifts are handled, a day nobody worked is reported rather than guessed, and the result carries the page's caveat that this is an indication, not payroll or legal advice. Arguments: days, overtimeThresholdHours?, hourlyRate?. Same result as POST /api/v1/tools/timesheet-calculator.
overtime_payWork out a pay packet that mixes rates: regular hours at the base rate, overtime hours at a multiplier such as the 1.5x the United States FLSA sets as a minimum, and double-time hours at twice the base rate. Returns each line, the total, the total hours and the effective rate across all of them, which is the number to compare a salaried offer against. An indication, not payroll or legal advice. Arguments: hourlyRate, regularHours, overtimeHours, doubleTimeHours?, overtimeMultiplier?. Same result as POST /api/v1/tools/overtime-calculator.
pto_accrualProject a paid time off balance: give an accrual rate either as hours per pay period or as days per year, plus the hours in the bank and the hours already booked, and get the accrual per year and per month, the balance after what is planned, twelve months of projected balance, and the balance on a target date. Accrual caps, carry-over deadlines and waiting periods are deliberately not modelled, which the note repeats. Arguments: mode?, accrualPerPeriod?, payFrequency?, daysPerYear?, hoursPerDay?, currentBalanceHours?, plannedHours?, targetDate?, today?. Same result as POST /api/v1/tools/pto-calculator.
salary_convertExpress one gross salary in every pay period at once: per hour, per day, per week, per fortnight, per month and per year. Give the amount and the period it is quoted in, and adjust the hours per week and weeks per year for part-time, term-time or shift work. A day is a fifth of the working week rather than a fixed eight hours, so a 36 hour week converts honestly. Gross only: tax, contributions and benefits are not modelled. Arguments: amount, period, hoursPerWeek?, weeksPerYear?. Same result as POST /api/v1/tools/salary-calculator-converter.
dutch_mortgageWork out what a Dutch mortgage costs per month: an annuiteitenhypotheek, where the payment stays the same and the split between interest and repayment shifts, or a lineaire hypotheek, where the payment falls every month. Returns the first and last monthly payment, the interest in the first month, the total interest and the total cost, plus a net payment after hypotheekrenteaftrek when you give the deduction rate. An indication, not mortgage or tax advice: NHG, income tests and lender conditions are not modelled. Arguments: amount, years, annualRatePercent, type?, deductionRatePercent?. Same result as POST /api/v1/tools/hypotheek-calculator.
dutch_net_salaryEstimate a Dutch net salary from a gross one, or the gross salary needed for a net one, with the 2026 box 1 brackets (36.97% up to EUR 75,518, 49.50% above) and the two credits that follow income: the algemene heffingskorting and the arbeidskorting. Returns gross and net per year and per month, the tax before and after credits, each credit, and the effective rate. An estimate based on 2026 Dutch tax rates: it does not account for social security premiums, pension contributions, or individual circumstances, so it is not tax advice. Arguments: amount, period?, mode?. Same result as POST /api/v1/tools/salaris-calculator.
dutch_student_financeEstimate what DUO pays a Dutch student each month: the basisbeurs for mbo or hbo/wo, living at home or away, plus the aanvullende beurs that follows the parents' income, and the student travel product. The middle income band returns a range rather than a number, because DUO phases the aanvullende beurs out between roughly EUR 41,500 and EUR 70,000 of combined 2024 parental income. An indication, not advice: the official 2026 DUO amounts are indexed during the year. Arguments: study?, living?, parentalIncome?. Same result as POST /api/v1/tools/dutch-student-finance-calculator.
dutch_exam_gradeTurn Dutch exam results into final grades and a havo/vwo pass check: per subject the eindcijfer is the average of the schoolexamen and centraal examen grade rounded to a whole number, and the slaag-zakregeling is then applied in full, the CE average of 5.50, the kernvakkenregel for Nederlands, Engels and wiskunde, and the compensation rules. A CE grade may be given directly or derived from the points scored, the maximum score and the N-term. An indication, not an official determination, and vmbo has its own regulation. Arguments: subjects. Same result as POST /api/v1/tools/dutch-exam-grade-calculator.
validate_card_numberCheck a payment card number the way a checkout form does: the Luhn checksum that every major network uses to catch a mistyped digit, and the scheme behind the prefix (Visa, Mastercard, Amex, Discover, JCB, Diners). It is a format check and nothing more: it says nothing about whether a card exists, is active or has funds. The number is never logged, stored or returned, and the result shows at most the last four digits. Arguments: cardNumber. Same result as POST /api/v1/tools/credit-card-validator.
add_line_numbersPut a sequential number in front of every line of a text, with a chosen first number, step and separator. Blank lines can keep their place without taking a number, and the numbers can be padded so the text after them lines up. Use it to cite log lines, contract clauses or manuscript lines. Arguments: text, start?, step?, separator?, skipEmptyLines?, padNumbers?. Same result as POST /api/v1/tools/add-line-numbers.
add_prefix_suffixPut the same text in front of and behind every line of a text. Nothing is escaped or interpreted, so quotes, commas, brackets and HTML tags all pass through as typed. Use it to wrap a column of values in quotes for a SQL IN clause, turn a keyword list into hashtags, or build list markup from plain lines. Arguments: text, prefix?, suffix?, skipEmptyLines?. Same result as POST /api/v1/tools/add-prefix-suffix.
remove_line_breaksJoin lines that were broken in the wrong places back into flowing text. Each line is trimmed and blank lines are dropped before the join, and the separator can be a space, nothing, or any string such as a comma. Keeping paragraph breaks treats a blank line as a boundary, so a document keeps its shape instead of becoming one wall of text. Arguments: text, separator?, keepParagraphs?. Same result as POST /api/v1/tools/remove-line-breaks.
tsv_to_csvConvert tab separated text to CSV, or CSV back to TSV, quoting every field that needs it. A field holding the output delimiter, a double quote, a line break or outer whitespace is wrapped in quotes with inner quotes doubled, which is what stops a value such as Hex bolt, stainless from silently gaining a column. Semicolon output and a UTF-8 byte order mark are there for Excel in comma-decimal locales. Arguments: text, direction?, delimiter?, crlf?, byteOrderMark?, trailingNewline?. Same result as POST /api/v1/tools/tsv-to-csv.
csv_extract_columnsKeep, drop or reorder the columns of a CSV. Columns are named by header text or by 1-based position, and the order they are asked for is the order they come back in, so the same call also reorders. The delimiter is detected when not given, quoted fields holding commas and line breaks survive, and the result is either CSV or one value per line. Arguments: csv, columns?, exclude?, delimiter?, firstRowHeader?, format?. Same result as POST /api/v1/tools/csv-column-extractor.
count_charactersCount the characters, characters without spaces, words, sentences, lines and paragraphs of a text, and rank how often each character appears. The shared counts are defined exactly as the word counter defines them, so the two never disagree about the same paragraph. Use it against a field limit: 280 for a post, 160 for an SMS, 155 for a meta description. Arguments: text, limit?. Same result as POST /api/v1/tools/character-counter.
text_to_binaryTurn text into its UTF-8 bytes written as binary, hexadecimal, octal and decimal, or read those numbers back into text. The unit is the byte, not the character, so an accented letter is two groups and an emoji four. Both directions return all four bases at once, and decoding rejects a value that is not a byte or a byte sequence that is not valid UTF-8. Arguments: input, action?, format?, separator?. Same result as POST /api/v1/tools/text-to-binary.
upside_down_textFlip text upside down, or mirror it left to right, using Unicode characters that look like rotated or reflected Latin letters. The string is reversed after mapping, so it reads correctly when the screen is turned round or held up to a mirror. The result is ordinary text, so it can be pasted into a bio, a username or a chat message. Arguments: text, mode?. Same result as POST /api/v1/tools/upside-down-text.
leetspeakWrite text in leetspeak at one of three intensities, or read leetspeak back into plain text. Basic swaps the six canonical letters (a4 e3 i1 o0 s5 t7), advanced adds four more, and extreme builds most of the alphabet out of punctuation. Decoding is best effort because leet is ambiguous: the digit 1 stands for both i and l, and this resolves it to l. Arguments: text, action?, intensity?. Same result as POST /api/v1/tools/leetspeak-translator.
keyword_densityCount how often each word or phrase appears in a text and what share of it they take up. Phrases are one to five words long, stop words are left out of the table but still counted in the total, and one target keyword can be reported separately whatever its count. Each row is banded: under 1 percent is sparse, 1 to 3 is good, over 5 reads as stuffing. Arguments: text, phraseLength?, minCount?, limit?, excludeStopWords?, sortBy?, order?, targetKeyword?. Same result as POST /api/v1/tools/keyword-density-analyzer.
readability_scoresScore how hard a text is to read with six named formulas: Flesch Reading Ease, Flesch-Kincaid Grade, Gunning Fog, SMOG, Coleman-Liau and the Automated Readability Index. Each is returned under its own name alongside the word, sentence and syllable counts it was built from, plus the mean grade, the school year it maps to and the audience that suits. Arguments: text. Same result as POST /api/v1/tools/readability-checker.
text_similarityCompare two texts with five named measures instead of one unexplained percentage: Jaccard over the word sets, cosine over the word counts, word overlap, Levenshtein edit distance with a ratio, and the longest common subsequence of words. It also returns the words the two share and the words only one of them has, plus word, character and sentence counts for each. Arguments: textA, textB, commonWordLimit?, uniqueWordLimit?. Same result as POST /api/v1/tools/text-similarity-analyzer.
workflow_listList the workflows saved to the ToolForte account this API key belongs to. A workflow runs several ToolForte tools in order, passing each one the output of an earlier step, so it does a whole job in one call instead of you orchestrating the steps yourself. Returns each workflow's id, the inputs it expects, the steps it runs and what a run costs. Call this first: workflow_run needs an id from here. Requires an API key, because a workflow belongs to an account. Get a free key at https://toolforte.com/developers and send it on the MCP connection as the header Authorization: Bearer tf_...
workflow_proposeDescribe a job in plain words and get back a workflow built only from tools this server really has: a name, the inputs it needs, and the steps in order, each with one sentence on why it is there. The proposal is honest about gaps: partial is true and missing names what could not be done, and when nothing here fits the answer says so instead of inventing a step. Send save: true to keep it on the account, after which workflow_run can run it by the returned id. Costs 10 credits, the price of one AI generation, charged once per proposal. Requires an API key linked to a ToolForte account. Get a free key at https://toolforte.com/developers and send it on the MCP connection as the header Authorization: Bearer tf_...
workflow_runRun one saved workflow by id and return what every step produced. Get the id and the input keys from workflow_list. Each step costs the credits its own tool costs, normally 1 per step, and the credit for this call counts as the first step's rather than being charged on top. Steps run in order and stop at the first failure; the result says which step stopped it and what was spent up to that point. Check the "substitutions" field when it is present: it lists values a step supplied that the tool replaced with its own, which means the run succeeded on a value you did not send. Requires an API key, because a workflow belongs to an account. Get a free key at https://toolforte.com/developers and send it on the MCP connection as the header Authorization: Bearer tf_...
memory_setStore a value under a key so you can read it back in a LATER session. Use this to remember anything worth keeping: what you already processed, a running list, a decision, intermediate results. Without it, everything you learn is lost when this conversation ends. Requires a free API key (Authorization: Bearer tf_...) so entries stay private to you: https://toolforte.com/developers
memory_getRead back a value you (or another session using the same API key) stored earlier with memory_set. Returns null when the key does not exist. Requires a free API key (Authorization: Bearer tf_...) so entries stay private to you: https://toolforte.com/developers
memory_listList the keys you have stored, newest first, optionally filtered by prefix. Use this to discover what a previous session left behind before deciding what to read. Returns keys and sizes, not values. Requires a free API key (Authorization: Bearer tf_...) so entries stay private to you: https://toolforte.com/developers
memory_deleteDelete a stored key. Use it to clean up entries you no longer need, since each API key has a quota. Requires a free API key (Authorization: Bearer tf_...) so entries stay private to you: https://toolforte.com/developers
html_to_pdfRender an HTML document to a real PDF with headless Chrome (full CSS support, print backgrounds). Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
url_to_pdfRender a public web page to PDF with headless Chrome. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
url_screenshotTake a PNG screenshot of a public web page with headless Chrome. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
qr_code_pngGenerate a QR code as a downloadable PNG image. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
read_pageRead a web page as clean text or Markdown, WITH JavaScript executed. Use this when a plain fetch returns an empty shell or a loading spinner: single page apps, dashboards, docs sites and anything client-side rendered only produce their content after scripts run. Returns title, description, readable content and links, with navigation and cookie banners stripped. Free demo: 3 reads/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers): 50 reads/month, then 1 credit per read.
pdf_mergeMerge 2-10 PDFs (public URLs, max 10MB each) into one PDF. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
pdf_splitExtract a 1-indexed, inclusive page range from a PDF (public URL, max 10MB) into a new PDF. "to" defaults to the last page. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
images_to_pdfCombine 1-20 images (public JPEG or PNG URLs, max 15MB each) into one PDF, one image per page. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
image_resizeResize an image (public URL, max 15MB) and return a PNG. Give a width, a height, or both; one side keeps the aspect ratio. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
image_convertConvert an image (public URL, max 15MB) to another format (png, jpeg, bmp, gif, tiff), pixels unchanged. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
strip_metadataRemove hidden metadata from a file behind a public URL (max 50MB) and return a cleaned copy: EXIF, XMP, IPTC and comments from JPEG, PNG and WebP; the Info dictionary and XMP stream from PDF; author, company, editing time and other document properties from DOCX, XLSX and PPTX. Picture data and document content are untouched. The result lists exactly what was removed. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
pdf_to_docxConvert a PDF behind a public URL (max 10MB, up to 200 pages) into an editable Word .docx with paragraphs, headings and page breaks rebuilt from the text layer. Scanned PDFs without a text layer are refused with a pointer to the browser tool, which runs OCR locally. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
docx_to_pdfConvert a Word .docx behind a public URL (max 20MB) to PDF. Headings, lists, tables and images are laid out on A4 by headless Chrome. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
image_compressRe-encode an image (public URL, max 15MB) as JPEG at a chosen quality (1-100, default 70) to shrink it. Returns a hosted download URL valid for 24 hours. Free demo: 3 renders/day. With a free ToolForte API key (Authorization: Bearer tf_..., get one at https://toolforte.com/developers), which spends your monthly unit balance: 25 units per render.
check_scam_messageJudge whether a text message, email, WhatsApp, voicemail transcript or web message is a scam. Returns a verdict (scam, suspicious or likely legitimate), a risk score, the concrete signals found with the evidence quoted from the message, what the reader should do next, and a safe reply. Knows Dutch scams (bankhelpdeskfraude, WhatsApp 'hoi mam/pap' family emergency, fake Tikkie and iDEAL links, DigiD, Belastingdienst, CJIB fines, parcel delivery fees, Marktplaats payment requests, energy refunds) as well as international phishing, tech support, investment and romance scams. Answers in the language of the message unless told otherwise. This is an AI assessment, not proof: a legitimate message can look suspicious and a scam can look clean. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/scam-message-check.
generate_excel_formulaTurn a plain-language request into an Excel or Google Sheets formula, or explain a formula someone else wrote. Returns the formula, a step-by-step explanation, notes on pitfalls (absolute references, empty cells, text that looks like numbers) and alternatives. Handles the English and Dutch function names and argument separators (comma versus semicolon), XLOOKUP, INDEX/MATCH, SUMIFS, LET, LAMBDA, dynamic arrays and Google Sheets specifics such as ARRAYFORMULA and QUERY. Always check the result on a copy of your data. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/excel-formula.
generate_sqlWrite a SQL query from a plain-language question, for PostgreSQL, MySQL, SQLite, SQL Server or BigQuery. Give it the table layout (CREATE TABLE statements or a description of the columns) and the question; it returns the query, an explanation, the assumptions it had to make about your schema, and warnings such as a missing index or an ambiguous join. Read-only by default: it will not write DELETE or UPDATE unless the question asks for a change, and it says so when it does. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/sql-from-question.
translate_codeTranslate a piece of code from one programming language to another (for example Python to TypeScript, JavaScript to Go, VBA to Python, jQuery to plain JavaScript, SQL between dialects). Keeps the behaviour, uses the idioms of the target language, and lists what could not be translated one to one: libraries without an equivalent, integer sizes, error handling, concurrency. Meant for snippets and single files up to about 10,000 characters, not whole projects. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/code-translate.
improve_promptRewrite a rough prompt for an AI model into one that gets better results: a clear role, the task, the context the model is missing, constraints, the output format, and an example when that helps. Returns the improved prompt, a list of what changed and why, and tips for iterating. Works for ChatGPT, Claude, Gemini and open models; say which one if it matters. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/prompt-improve.
write_emailWrite an email from a purpose, a recipient and the key points, in a chosen tone (formal, friendly, persuasive, urgent, apologetic or neutral) and length. Returns a subject line and the body, ready to paste, in the requested language or the language of the key points. Good for follow-ups, requests, complaints, cold outreach, thank-you notes and apologies. Costs one AI generation (10 credits) with an API key; a few free demo calls per day without one. Same result as POST /api/v1/ai/email-write.
search_toolsFind ToolForte tools by what you want done, for example "iban", "vat", "pdf merge", "working days", "csv to json", "screenshot". ToolForte has over a hundred exact tools (validation, conversion, Dutch tax and dates, test data, files, AI); a session lists a small core of them and this is how you reach the rest. Returns the best matches with their arguments and cost. Then call the tool by name, or through run_tool. Free.
describe_toolThe full definition of one ToolForte tool by name: description, argument schema (JSON Schema), output schema, annotations, cost and an example call. Use it after search_tools when the argument summary is not enough. Free.
run_toolRun any ToolForte tool by name with its arguments, whether or not it is listed in this session. The result, the cost and the metering are exactly what the tool gives when called directly; run_tool itself is free. Find names with search_tools and schemas with describe_tool.
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。