Ce que fait ce MCP
Provides read-only calculators, converters, validators, text utilities, encoders, and generators for everyday and technical tasks.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['start', 'days'], 'properties': {'days': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Number of working days to move (0 to 100000)'}, 'start': {'type': 'string', 'format': 'date', 'description': 'Start date in YYYY-MM-DD format'}, 'direction': {'enum': ['add', 'sub'], 'type': 'string', 'default': 'add', 'description': "'add' to count forwards, 'sub' to count backwards (default 'add')"}, 'bankHolidays': {'type': 'boolean', 'default': True, 'description': 'Also skip England and Wales bank holidays, not just weekends (default true)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'days': {'type': 'number'}, 'start': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'weekday': {'type': 'string'}, 'complete': {'type': 'boolean'}, 'warnings': {'type': 'array'}, 'direction': {'type': 'string'}, 'resultLong': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'daysSpanned': {'type': 'number'}, 'bankHolidays': {'type': 'boolean'}, 'holidayCoverage': {'type': 'object'}, 'holidaysSkipped': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['dob'], 'properties': {'dob': {'type': 'string', 'format': 'date', 'description': 'Date of birth in YYYY-MM-DD format'}, 'asOf': {'type': 'string', 'format': 'date', 'description': 'Optional date to measure the age at, in YYYY-MM-DD format (defaults to today)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'dob': {'type': 'string'}, 'asOf': {'type': 'string'}, 'days': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'summary': {'type': 'string'}, 'totalDays': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'nextBirthdayInDays': {'type': 'number'}, 'nextBirthdayWeekday': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['abv', 'ml'], 'properties': {'ml': {'type': 'number', 'description': 'Volume of the drink in millilitres, e.g. 175 for a medium glass of wine', 'exclusiveMinimum': 0}, 'abv': {'type': 'number', 'maximum': 100, 'description': 'Alcohol by volume as a percentage, e.g. 12 for 12% wine', 'exclusiveMinimum': 0}, 'drinksPerWeek': {'type': 'number', 'description': 'Optional number of these drinks per week, to work out a weekly units total', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['abv', 'ml', 'source_url', 'summary', 'units'], 'properties': {'ml': {'type': 'number'}, 'abv': {'type': 'number'}, 'units': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to sort, one item per line'}, 'direction': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'asc', 'description': "'asc' for A to Z (default), 'desc' for Z to A"}, 'caseInsensitive': {'type': 'boolean', 'default': False, 'description': 'Ignore letter case when sorting (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['caseInsensitive', 'direction', 'lines', 'result', 'source_url', 'summary'], 'properties': {'lines': {'type': 'number'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'caseInsensitive': {'type': 'boolean'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['deg', 'rad', 'grad', 'turn'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['deg', 'rad', 'grad', 'turn'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'description': 'The angle value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['from', 'result', 'source_url', 'summary', 'to', 'value'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['sqm', 'sqft', 'sqyd', 'acre', 'ha', 'sqkm', 'sqmi'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['sqm', 'sqft', 'sqyd', 'acre', 'ha', 'sqkm', 'sqmi'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The area value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['from', 'result', 'source_url', 'summary', 'to', 'value'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'simplify'}}}, 'then': {'required': ['width', 'height']}}, {'if': {'properties': {'mode': {'const': 'solve'}}}, 'then': {'required': ['ratioW', 'ratioH']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['simplify', 'solve'], 'type': 'string', 'description': "'simplify' a width and height, or 'solve' a missing side from a ratio"}, 'width': {'type': 'number', 'description': 'Width in pixels or units (simplify mode, or the known side in solve mode)', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'description': 'Height in pixels or units (simplify mode, or the known side in solve mode)', 'exclusiveMinimum': 0}, 'ratioH': {'type': 'number', 'description': 'Ratio height part, e.g. 9 (solve mode)', 'exclusiveMinimum': 0}, 'ratioW': {'type': 'number', 'description': 'Ratio width part, e.g. 16 (solve mode)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'ratio', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'ratio': {'type': 'string'}, 'decimal': {'type': 'string'}, 'nearest': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['numbers'], 'properties': {'numbers': {'type': 'string', 'minLength': 1, 'description': 'A list of numbers separated by spaces, commas, semicolons or new lines'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'max', 'mean', 'median', 'min', 'mode', 'modeValues', 'source_url', 'sum', 'summary'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'sum': {'type': 'number'}, 'mean': {'type': 'number'}, 'mode': {'type': 'string'}, 'count': {'type': 'number'}, 'median': {'type': 'number'}, 'summary': {'type': 'string'}, 'modeValues': {'type': ['array', 'null']}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['encode', 'decode'], 'type': 'string', 'default': 'encode', 'description': "'encode' turns text into Base32, 'decode' turns Base32 back into text (default encode)"}, 'text': {'type': 'string', 'description': 'The text to encode, or the Base32 string to decode'}}}
Schéma de sortie
{'type': 'object', 'required': ['output', 'source_url', 'summary'], 'properties': {'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text', 'mode'], 'properties': {'mode': {'enum': ['encode', 'decode'], 'type': 'string', 'description': "'encode' text to Base64, or 'decode' Base64 back to text"}, 'text': {'type': 'string', 'description': 'The text to encode, or the Base64 string to decode'}}}
Schéma de sortie
{'type': 'object', 'required': ['input', 'mode', 'output', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'input': {'type': 'string'}, 'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'itemised'}}}, 'then': {'required': ['people', 'items']}}, {'if': {'properties': {'mode': {'const': 'even'}}}, 'then': {'required': ['total', 'peopleCount']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['itemised', 'even'], 'type': 'string', 'description': "'itemised' splits by item and who had it; 'even' splits one total equally"}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['amount'], 'properties': {'name': {'type': 'string', 'description': 'Item name'}, 'amount': {'type': 'number', 'minimum': 0, 'description': 'Item cost in GBP'}, 'assigned': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Names sharing this item; omit or empty for everyone'}}}, 'minItems': 1, 'description': 'Itemised mode: each item with its amount and the names who shared it. An item with no names is shared by everyone.'}, 'total': {'type': 'number', 'minimum': 0, 'description': 'Even mode: the bill total before tip'}, 'people': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Itemised mode: names of the people sharing the bill'}, 'tipPercent': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Tip as a percentage (default 0)'}, 'peopleCount': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Even mode: number of people to split between'}, 'servicePercent': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Itemised mode: service charge as a percentage (default 0)'}}}
Schéma de sortie
{'type': 'object', 'required': ['grandTotal', 'mode', 'perPerson', 'source_url', 'summary', 'tipPercent'], 'properties': {'tip': {'type': 'number'}, 'mode': {'type': 'string'}, 'total': {'type': 'number'}, 'summary': {'type': 'string'}, 'perPerson': {'type': ['number', 'object']}, 'grandTotal': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'tipPercent': {'type': 'number'}, 'peopleCount': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'count': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'How many cards to generate, 1 to 100 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['cards', 'count', 'source_url', 'summary'], 'properties': {'cards': {'type': 'array'}, 'count': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The Bitcoin address to validate'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary', 'valid'], 'properties': {'type': {'type': 'string'}, 'valid': {'type': 'boolean'}, 'network': {'type': 'string'}, 'summary': {'type': 'string'}, 'encoding': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'units': {'const': 'metric'}}}, 'then': {'required': ['heightCm', 'weightKg']}}, {'if': {'properties': {'units': {'const': 'imperial'}}}, 'then': {'required': ['heightInches', 'weightPounds']}}], 'required': ['units'], 'properties': {'units': {'enum': ['metric', 'imperial'], 'type': 'string', 'description': "'metric' (cm and kg) or 'imperial' (inches and pounds)"}, 'heightCm': {'type': 'number', 'description': 'Height in centimetres (metric)', 'exclusiveMinimum': 0}, 'weightKg': {'type': 'number', 'description': 'Weight in kilograms (metric)', 'exclusiveMinimum': 0}, 'heightInches': {'type': 'number', 'description': 'Total height in inches (imperial)', 'exclusiveMinimum': 0}, 'weightPounds': {'type': 'number', 'description': 'Weight in pounds (imperial)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['bmi', 'category', 'source_url', 'summary', 'units'], 'properties': {'bmi': {'type': 'number'}, 'units': {'type': 'string'}, 'summary': {'type': 'string'}, 'category': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'sex': {'const': 'female'}}}, 'then': {'required': ['hip']}}], 'required': ['sex', 'units', 'height', 'neck', 'waist'], 'properties': {'hip': {'type': 'number', 'description': 'Hip circumference, females only (cm if metric, inches if imperial)', 'exclusiveMinimum': 0}, 'sex': {'enum': ['male', 'female'], 'type': 'string', 'description': 'Biological sex, determines the formula and whether hip is needed'}, 'neck': {'type': 'number', 'description': 'Neck circumference (cm if metric, inches if imperial)', 'exclusiveMinimum': 0}, 'units': {'enum': ['metric', 'imperial'], 'type': 'string', 'description': "'metric' (cm) or 'imperial' (inches)"}, 'waist': {'type': 'number', 'description': 'Waist circumference (cm if metric, inches if imperial)', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'description': 'Height (cm if metric, inches if imperial)', 'exclusiveMinimum': 0}, 'weight': {'type': 'number', 'description': 'Optional weight (kg if metric, pounds if imperial) for fat and lean mass', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['bodyFatPercent', 'category', 'sex', 'source_url', 'summary', 'units'], 'properties': {'sex': {'type': 'string'}, 'units': {'type': 'string'}, 'summary': {'type': 'string'}, 'category': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'bodyFatPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text', 'shift'], 'properties': {'mode': {'enum': ['encode', 'decode'], 'type': 'string', 'default': 'encode', 'description': "'encode' to apply the shift, 'decode' to reverse it (default encode)"}, 'text': {'type': 'string', 'description': 'The text to transform'}, 'shift': {'type': 'integer', 'description': 'How many places to shift each letter (e.g. 3, or 13 for ROT13)'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'result', 'shift', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'shift': {'type': 'number'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['start', 'end', 'years'], 'properties': {'end': {'type': 'number', 'minimum': 0, 'description': 'Ending value'}, 'start': {'type': 'number', 'description': 'Starting value (must be greater than zero)', 'exclusiveMinimum': 0}, 'years': {'type': 'number', 'maximum': 200, 'description': 'Number of years over the period (may be a fraction)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'end': {'type': 'number'}, 'start': {'type': 'number'}, 'years': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'cagrPercent': {'type': 'number'}, 'growthMultiple': {'type': 'number'}, 'shortPeriodWarning': {'type': 'boolean'}, 'totalGrowthPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'unit'], 'properties': {'unit': {'enum': ['kcal', 'kj'], 'type': 'string', 'description': "The unit of the amount: 'kcal' (kilocalories) or 'kj' (kilojoules)"}, 'amount': {'type': 'number', 'description': 'The energy amount to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['kcal', 'kj', 'source_url', 'summary'], 'properties': {'kj': {'type': 'number'}, 'kcal': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text', 'mode'], 'properties': {'mode': {'enum': ['upper', 'lower', 'title', 'sentence'], 'type': 'string', 'description': 'The target case'}, 'text': {'type': 'string', 'description': 'The text to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'result', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['catAge'], 'properties': {'catAge': {'type': 'number', 'maximum': 40, 'minimum': 0, 'description': "The cat's age in years (0 to 40)"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'stage': {'type': 'string'}, 'catAge': {'type': 'number'}, 'summary': {'type': 'string'}, 'humanYears': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'direction'], 'properties': {'value': {'type': 'number', 'description': 'The temperature value to convert'}, 'direction': {'enum': ['c-to-f', 'f-to-c'], 'type': 'string', 'description': "'c-to-f' converts Celsius to Fahrenheit, 'f-to-c' converts Fahrenheit to Celsius"}}}
Schéma de sortie
{'type': 'object', 'required': ['celsius', 'direction', 'fahrenheit', 'kelvin', 'source_url', 'summary'], 'properties': {'kelvin': {'type': 'number'}, 'celsius': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'fahrenheit': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to measure'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'words': {'type': 'number'}, 'summary': {'type': 'string'}, 'smsParts': {'type': 'number'}, 'characters': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'tweetRemaining': {'type': 'number'}, 'charactersNoSpaces': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'minLength': 1, 'description': 'The unknown text to identify and decode'}}}
Schéma de sortie
{'type': 'object', 'required': ['candidates', 'chain', 'plaintext', 'source_url', 'summary'], 'properties': {'chain': {'type': 'array'}, 'summary': {'type': 'string'}, 'plaintext': {'type': 'string'}, 'candidates': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'direction': {'const': 'cm-to-feet'}}}, 'then': {'required': ['cm']}}], 'required': ['direction'], 'properties': {'cm': {'type': 'number', 'minimum': 0, 'description': 'Centimetres (for cm-to-feet)'}, 'feet': {'type': 'number', 'minimum': 0, 'description': 'Feet (for feet-to-cm)'}, 'inches': {'type': 'number', 'minimum': 0, 'description': 'Inches (for feet-to-cm, optional)'}, 'direction': {'enum': ['cm-to-feet', 'feet-to-cm'], 'type': 'string', 'description': 'Which way to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['cm', 'direction', 'feet', 'inches', 'source_url', 'summary'], 'properties': {'cm': {'type': 'number'}, 'feet': {'type': 'number'}, 'inches': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'feetDecimal': {'type': 'number'}, 'totalInches': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'cmyk_to_rgb'}}}, 'then': {'required': ['c', 'm', 'y', 'k']}}, {'if': {'properties': {'mode': {'const': 'rgb_to_cmyk'}}}, 'then': {'required': ['r', 'g', 'b']}}], 'required': ['mode'], 'properties': {'b': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Blue 0 to 255 (for rgb_to_cmyk)'}, 'c': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Cyan 0 to 100 (for cmyk_to_rgb)'}, 'g': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Green 0 to 255 (for rgb_to_cmyk)'}, 'k': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Key/black 0 to 100 (for cmyk_to_rgb)'}, 'm': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Magenta 0 to 100 (for cmyk_to_rgb)'}, 'r': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Red 0 to 255 (for rgb_to_cmyk)'}, 'y': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Yellow 0 to 100 (for cmyk_to_rgb)'}, 'mode': {'enum': ['cmyk_to_rgb', 'rgb_to_cmyk'], 'type': 'string', 'description': 'Direction of conversion'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'rgb': {'type': 'array'}, 'mode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'count': {'type': 'integer', 'default': 1, 'maximum': 10000, 'minimum': 1, 'description': 'How many coins to flip, 1 to 10000 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'heads', 'results', 'source_url', 'summary', 'tails'], 'properties': {'count': {'type': 'number'}, 'heads': {'type': 'number'}, 'tails': {'type': 'number'}, 'results': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$', 'description': 'Hex colour code, e.g. #DC143C or #F00'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'name': {'type': 'string'}, 'exact': {'type': 'boolean'}, 'input': {'type': 'string'}, 'names': {'type': 'array'}, 'summary': {'type': 'string'}, 'distance': {'type': 'number'}, 'nearestHex': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#?[0-9a-fA-F]{6}$', 'description': 'Base colour as a six-digit hex code, e.g. #1F8A70'}, 'scheme': {'enum': ['analogous', 'complementary', 'triadic', 'mixed'], 'type': 'string', 'default': 'analogous', 'description': 'Colour scheme (default analogous)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'base': {'type': 'string'}, 'scheme': {'type': 'string'}, 'palette': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#?[0-9a-fA-F]{6}$', 'description': 'Six-digit hex colour code, e.g. #1F8A70'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'hsl': {'type': 'array'}, 'rgb': {'type': 'array'}, 'summary': {'type': 'string'}, 'hslString': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#?[0-9a-fA-F]{6}$', 'description': 'Base colour as a six-digit hex code, e.g. #1F8A70'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'base': {'type': 'string'}, 'tints': {'type': 'array'}, 'shades': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['items', 'choose'], 'properties': {'items': {'type': 'array', 'maxItems': 10000, 'minItems': 1, 'description': 'The list of items to choose from'}, 'choose': {'type': 'integer', 'minimum': 1, 'description': 'How many items to pick in each combination (r)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'count': {'type': 'string'}, 'summary': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'combinations': {'type': 'array'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['rate', 'years'], 'properties': {'rate': {'type': 'number', 'minimum': 0, 'description': 'Annual interest rate as a percentage'}, 'years': {'type': 'number', 'maximum': 100, 'description': 'Term in years (1 to 100)', 'exclusiveMinimum': 0}, 'monthly': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Monthly contribution in GBP (default 0)'}, 'principal': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Starting deposit in GBP (default 0)'}}}
Schéma de sortie
{'type': 'object', 'required': ['finalBalance', 'interestEarned', 'monthly', 'months', 'principal', 'rate', 'source_url', 'summary', 'totalPaidIn', 'years'], 'properties': {'rate': {'type': 'number'}, 'years': {'type': 'number'}, 'months': {'type': 'number'}, 'monthly': {'type': 'number'}, 'summary': {'type': 'string'}, 'principal': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalPaidIn': {'type': 'number'}, 'finalBalance': {'type': 'number'}, 'interestEarned': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['foreground', 'background'], 'properties': {'background': {'type': 'string', 'pattern': '^#?[0-9a-fA-F]{6}$', 'description': 'Background colour as a six-digit hex code, e.g. #FFFFFF'}, 'foreground': {'type': 'string', 'pattern': '^#?[0-9a-fA-F]{6}$', 'description': 'Text colour as a six-digit hex code, e.g. #767676'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'ratio': {'type': 'number'}, 'aaLarge': {'type': 'boolean'}, 'summary': {'type': 'string'}, 'verdict': {'type': 'string'}, 'aaNormal': {'type': 'boolean'}, 'aaaLarge': {'type': 'boolean'}, 'aaaNormal': {'type': 'boolean'}, 'background': {'type': 'string'}, 'foreground': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'ratioString': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['expression'], 'properties': {'expression': {'type': 'string', 'minLength': 1, 'description': "A five-field cron expression, for example '*/5 9-17 * * MON-FRI', or a shortcut like @daily"}}}
Schéma de sortie
{'type': 'object', 'required': ['dayOfMonth', 'dayOfWeek', 'english', 'expression', 'hour', 'minute', 'month', 'source_url', 'summary'], 'properties': {'hour': {'type': 'string'}, 'month': {'type': 'string'}, 'minute': {'type': 'string'}, 'english': {'type': 'string'}, 'summary': {'type': 'string'}, 'dayOfWeek': {'type': 'string'}, 'dayOfMonth': {'type': 'string'}, 'expression': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['buy', 'quantity'], 'properties': {'buy': {'type': 'number', 'description': 'Buy price per unit', 'exclusiveMinimum': 0}, 'fee': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Fee percentage charged on each side (default 0, must be 0 to under 100)', 'exclusiveMaximum': 100}, 'sell': {'type': 'number', 'minimum': 0, 'description': 'Sell price per unit (optional; omit to see breakeven only)'}, 'quantity': {'type': 'number', 'description': 'Quantity of coin traded', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['breakeven', 'breakevenString', 'source_url', 'summary'], 'properties': {'profit': {'type': 'number'}, 'summary': {'type': 'string'}, 'breakeven': {'type': 'number'}, 'totalFees': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'profitString': {'type': 'string'}, 'returnPercent': {'type': 'number'}, 'breakevenString': {'type': 'string'}, 'totalFeesString': {'type': 'string'}, 'returnPercentString': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['colour1', 'colour2'], 'properties': {'type': {'enum': ['linear', 'radial'], 'type': 'string', 'default': 'linear', 'description': 'Gradient type (default linear)'}, 'angle': {'type': 'number', 'default': 90, 'maximum': 360, 'minimum': 0, 'description': 'Angle in degrees for a linear gradient (default 90)'}, 'colour1': {'type': 'string', 'description': 'First colour, e.g. #FF512F'}, 'colour2': {'type': 'string', 'description': 'Second colour, e.g. #DD2476'}}}
Schéma de sortie
{'type': 'object', 'required': ['angle', 'css', 'gradient', 'source_url', 'summary', 'type'], 'properties': {'css': {'type': 'string'}, 'type': {'type': 'string'}, 'angle': {'type': ['number', 'null']}, 'summary': {'type': 'string'}, 'gradient': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['css'], 'properties': {'css': {'type': 'string', 'minLength': 1, 'description': 'The CSS source to minify'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'css': {'type': 'string'}, 'summary': {'type': 'string'}, 'afterBytes': {'type': 'number'}, 'savedBytes': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'beforeBytes': {'type': 'number'}, 'savedPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['csv'], 'properties': {'csv': {'type': 'string', 'minLength': 1, 'description': 'The CSV text to convert'}, 'firstRowHeaders': {'type': 'boolean', 'default': True, 'description': 'When true, the first row supplies the object keys; when false, every row becomes a plain array of strings (default true)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'data': {'type': 'array'}, 'json': {'type': 'string'}, 'rows': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'firstRowHeaders': {'type': 'boolean'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['cups', 'ingredient'], 'properties': {'cups': {'type': 'number', 'minimum': 0, 'description': 'Number of US cups'}, 'ingredient': {'enum': ['flour', 'caster', 'brown', 'butter', 'cocoa', 'oats', 'rice', 'icing'], 'type': 'string', 'description': 'The ingredient'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'cups': {'type': 'number'}, 'grams': {'type': 'number'}, 'summary': {'type': 'string'}, 'ingredient': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'gramsPerCup': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'from', 'to'], 'properties': {'to': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'maxLength': 3, 'minLength': 3, 'description': 'Currency to convert to, ISO 4217 code e.g. EUR'}, 'from': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'maxLength': 3, 'minLength': 3, 'description': 'Currency to convert from, ISO 4217 code e.g. GBP'}, 'amount': {'type': 'number', 'description': 'The amount to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'rate': {'type': 'number'}, 'amount': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'asOfUnix': {'type': ['number', 'null']}, 'complete': {'type': 'boolean'}, 'warnings': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'rateAgeHours': {}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['B', 'KB', 'MB', 'GB', 'TB'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['B', 'KB', 'MB', 'GB', 'TB'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The size value to convert'}, 'binary': {'type': 'boolean', 'default': False, 'description': 'Use binary units (1 KB = 1024 bytes) instead of decimal (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['binary', 'from', 'result', 'source_url', 'summary', 'to', 'value'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'binary': {'type': 'boolean'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['date', 'amount'], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Start date in YYYY-MM-DD format'}, 'unit': {'enum': ['days', 'weeks', 'months', 'years'], 'type': 'string', 'default': 'days', 'description': "Unit to move by (default 'days')"}, 'amount': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'How many units to move (0 to 100000)'}, 'direction': {'enum': ['add', 'subtract'], 'type': 'string', 'default': 'add', 'description': "'add' to move forwards, 'subtract' to move backwards (default 'add')"}}}
Schéma de sortie
{'type': 'object', 'required': ['amount', 'date', 'direction', 'result', 'resultLong', 'source_url', 'summary', 'unit', 'weekday'], 'properties': {'date': {'type': 'string'}, 'unit': {'type': 'string'}, 'amount': {'type': 'number'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'weekday': {'type': 'string'}, 'direction': {'type': 'string'}, 'resultLong': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'The date in YYYY-MM-DD format'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'date': {'type': 'string'}, 'summary': {'type': 'string'}, 'weekday': {'type': 'string'}, 'fullDate': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'thisYearWeekday': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'to_salary'}}}, 'then': {'required': ['dayRate']}}, {'if': {'properties': {'mode': {'const': 'to_rate'}}}, 'then': {'required': ['salary']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['to_salary', 'to_rate'], 'type': 'string', 'description': "'to_salary' from a day rate, or 'to_rate' from a salary"}, 'salary': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Annual salary in GBP (required for to_rate)'}, 'dayRate': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'Day rate in GBP (required for to_salary)'}, 'workingDays': {'type': 'number', 'default': 220, 'maximum': 365, 'minimum': 1, 'description': 'Billable working days per year, 1 to 365 (default 220)'}}}
Schéma de sortie
{'type': 'object', 'required': ['dayRate', 'mode', 'source_url', 'summary', 'weekly', 'workingDays'], 'properties': {'mode': {'type': 'string'}, 'annual': {'type': 'number'}, 'weekly': {'type': 'number'}, 'dayRate': {'type': 'number'}, 'monthly': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'workingDays': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'format': 'date', 'description': 'End date in YYYY-MM-DD format'}, 'from': {'type': 'string', 'format': 'date', 'description': 'Start date in YYYY-MM-DD format'}, 'inclusive': {'type': 'boolean', 'default': False, 'description': 'Count both end days rather than excluding the end day (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['days', 'from', 'inclusive', 'remainderDays', 'source_url', 'summary', 'swapped', 'to', 'weekdays', 'weeks'], 'properties': {'to': {'type': 'string'}, 'days': {'type': 'number'}, 'from': {'type': 'string'}, 'weeks': {'type': 'number'}, 'summary': {'type': 'string'}, 'swapped': {'type': 'boolean'}, 'weekdays': {'type': 'number'}, 'inclusive': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'remainderDays': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'from': {'type': 'string', 'format': 'date', 'description': 'Optional date to count from, in YYYY-MM-DD format (defaults to today)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'sleeps': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'christmasDate': {'type': 'string'}, 'isChristmasDay': {'type': 'boolean'}, 'christmasWeekday': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['buys'], 'properties': {'buys': {'type': 'array', 'items': {'type': 'object', 'required': ['amount', 'price'], 'properties': {'price': {'type': 'number', 'description': 'Price paid per unit on this buy', 'exclusiveMinimum': 0}, 'amount': {'type': 'number', 'description': 'Money spent on this buy', 'exclusiveMinimum': 0}}}, 'minItems': 1, 'description': 'The list of buys'}, 'currentPrice': {'type': 'number', 'description': 'Current price per unit (optional), to value the position now', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['averageCost', 'averageCostString', 'buys', 'coinsAcquired', 'coinsAcquiredString', 'source_url', 'summary', 'totalInvested', 'totalInvestedString'], 'properties': {'buys': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'averageCost': {'type': 'number'}, 'coinsAcquired': {'type': 'number'}, 'totalInvested': {'type': 'number'}, 'averageCostString': {'type': 'string'}, 'coinsAcquiredString': {'type': 'string'}, 'totalInvestedString': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'sides': {'type': 'integer', 'default': 6, 'minimum': 2, 'description': 'Number of sides on each die (default 6)'}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 20, 'minimum': 1, 'description': 'How many dice to roll, 1 to 20 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['highest', 'lowest', 'quantity', 'results', 'sides', 'source_url', 'summary', 'total'], 'properties': {'sides': {'type': 'number'}, 'total': {'type': 'number'}, 'lowest': {'type': 'number'}, 'highest': {'type': 'number'}, 'results': {'type': 'array'}, 'summary': {'type': 'string'}, 'quantity': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'The original (left) text'}, 'b': {'type': 'string', 'description': 'The changed (right) text'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'diff': {'type': 'string'}, 'added': {'type': 'number'}, 'removed': {'type': 'number'}, 'summary': {'type': 'string'}, 'identical': {'type': 'boolean'}, 'addedLines': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'removedLines': {'type': 'array'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'pct'}}}, 'then': {'required': ['percentOff'], 'properties': {'price': {'minimum': 0}}}}, {'if': {'properties': {'mode': {'const': 'fixed'}}}, 'then': {'required': ['amountOff'], 'properties': {'price': {'exclusiveMinimum': 0}}}}, {'if': {'properties': {'mode': {'const': 'find'}}}, 'then': {'required': ['finalPrice'], 'properties': {'price': {'exclusiveMinimum': 0}}}}], 'required': ['mode', 'price'], 'properties': {'mode': {'enum': ['pct', 'fixed', 'find'], 'type': 'string', 'description': "'pct' percentage off, 'fixed' pound amount off, or 'find' the discount from two prices"}, 'price': {'type': 'number', 'description': 'The original price (used in all modes)'}, 'amountOff': {'type': 'number', 'description': "Fixed pound amount off (mode 'fixed' only)"}, 'finalPrice': {'type': 'number', 'description': "The final price paid (mode 'find' only)"}, 'percentOff': {'type': 'number', 'description': "Discount percentage (mode 'pct' only)"}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'price', 'saving', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'price': {'type': 'number'}, 'saving': {'type': 'number'}, 'summary': {'type': 'string'}, 'salePrice': {'type': 'number'}, 'percentOff': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'effectiveDiscount': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['dogAge'], 'properties': {'size': {'enum': ['small', 'medium', 'large'], 'type': 'string', 'default': 'medium', 'description': "Dog size band (default 'medium')"}, 'dogAge': {'type': 'number', 'maximum': 30, 'minimum': 0, 'description': "The dog's age in years (0 to 30)"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'size': {'type': 'string'}, 'dogAge': {'type': 'number'}, 'summary': {'type': 'string'}, 'humanYears': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['size', 'sizeUnit', 'speed', 'speedUnit'], 'properties': {'size': {'type': 'number', 'minimum': 0, 'description': 'File size value'}, 'speed': {'type': 'number', 'description': 'Connection speed value', 'exclusiveMinimum': 0}, 'sizeUnit': {'enum': ['MB', 'GB', 'TB'], 'type': 'string', 'description': 'File size unit'}, 'speedUnit': {'enum': ['Mbps', 'MBps', 'Gbps'], 'type': 'string', 'description': 'Speed unit: Mbps/Gbps are bits per second, MBps is megabytes per second'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'size': {'type': 'number'}, 'speed': {'type': 'number'}, 'seconds': {'type': 'number'}, 'summary': {'type': 'string'}, 'duration': {'type': 'string'}, 'sizeUnit': {'type': 'string'}, 'speedUnit': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'megabytesPerSecond': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['lmp'], 'properties': {'lmp': {'type': 'string', 'format': 'date', 'description': "First day of the last menstrual period, ISO date 'YYYY-MM-DD'"}, 'cycleLength': {'type': 'integer', 'default': 28, 'maximum': 45, 'minimum': 20, 'description': 'Cycle length in days, 20 to 45 (default 28)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'lmp': {'type': 'string'}, 'dueDate': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'cycleLength': {'type': 'number'}, 'trimester2Starts': {'type': 'string'}, 'trimester3Starts': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['count'], 'properties': {'count': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'How many records to generate, from 1 to 1000'}, 'fields': {'type': 'array', 'items': {'enum': ['firstName', 'lastName', 'fullName', 'email', 'ukMobile', 'ukLandline', 'streetAddress', 'town', 'postcode', 'dateOfBirth', 'company'], 'type': 'string'}, 'description': 'Which fields to include (default all). Choose from firstName, lastName, fullName, email, ukMobile, ukLandline, streetAddress, town, postcode, dateOfBirth, company'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'csv': {'type': 'string'}, 'rows': {'type': 'array'}, 'count': {'type': 'number'}, 'fields': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['to'], 'properties': {'cc': {'type': 'string', 'description': 'Optional cc addresses, separated by commas or semicolons'}, 'to': {'type': 'string', 'minLength': 1, 'description': 'One or more recipient addresses, separated by commas or semicolons'}, 'bcc': {'type': 'string', 'description': 'Optional bcc addresses, separated by commas or semicolons'}, 'body': {'type': 'string', 'description': 'Optional body text; line breaks are preserved'}, 'subject': {'type': 'string', 'description': 'Optional subject line'}, 'linkText': {'type': 'string', 'default': 'Email us', 'description': "Optional visible text for the HTML anchor (default 'Email us')"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'url': {'type': 'string'}, 'html': {'type': 'string'}, 'summary': {'type': 'string'}, 'warning': {'type': ['string', 'null']}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to clean'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'result': {'type': 'string'}, 'removed': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['watts', 'hoursPerDay', 'pencePerKwh'], 'properties': {'watts': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Appliance power draw in watts (0 to 100000)'}, 'hoursPerDay': {'type': 'number', 'maximum': 24, 'minimum': 0, 'description': 'Hours used per day (0 to 24)'}, 'pencePerKwh': {'type': 'number', 'minimum': 0, 'description': 'Electricity unit price in pence per kWh'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'watts': {'type': 'number'}, 'summary': {'type': 'string'}, 'kwhPerDay': {'type': 'number'}, 'costPerDay': {'type': 'number'}, 'kwhPerYear': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'costPerWeek': {'type': 'number'}, 'costPerYear': {'type': 'number'}, 'hoursPerDay': {'type': 'number'}, 'pencePerKwh': {'type': 'number'}, 'costPerMonth': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['env-to-json', 'json-to-env'], 'type': 'string', 'default': 'env-to-json', 'description': "'env-to-json' parses a .env file into JSON, 'json-to-env' turns a JSON object into .env lines (default env-to-json)"}, 'text': {'type': 'string', 'description': 'The .env file text, or the JSON object text, depending on mode'}}}
Schéma de sortie
{'type': 'object', 'required': ['output', 'source_url', 'summary'], 'properties': {'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The Ethereum address, with or without a 0x prefix'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary', 'valid'], 'properties': {'note': {'type': 'string'}, 'valid': {'type': 'boolean'}, 'status': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'checksummed': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'unit'], 'properties': {'unit': {'enum': ['wei', 'gwei', 'eth'], 'type': 'string', 'description': 'The unit the amount is given in'}, 'amount': {'type': 'string', 'description': 'The amount to convert, as a plain number (string preferred to keep full precision), e.g. "1.5"'}}}
Schéma de sortie
{'type': 'object', 'required': ['eth', 'ethPretty', 'gwei', 'gweiPretty', 'source_url', 'summary', 'wei', 'weiPretty'], 'properties': {'eth': {'type': 'string'}, 'wei': {'type': 'string'}, 'gwei': {'type': 'string'}, 'summary': {'type': 'string'}, 'ethPretty': {'type': 'string'}, 'weiPretty': {'type': 'string'}, 'gweiPretty': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'lines': {'type': 'integer', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'How many lines to generate, 1 to 10 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'lines': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['guests'], 'properties': {'guests': {'type': 'number', 'description': 'Number of guests'}, 'redSize': {'type': 'number', 'description': 'Red glass size in ml: 125, 175 or 250'}, 'whiteSize': {'type': 'number', 'description': 'White glass size in ml: 125, 175 or 250'}, 'redGlasses': {'type': 'number', 'description': 'Glasses of red per guest'}, 'redDifferent': {'type': 'boolean', 'description': 'Serve a different red for each glass'}, 'whiteGlasses': {'type': 'number', 'description': 'Glasses of white per guest'}, 'sparklingSize': {'type': 'number', 'description': 'Sparkling glass size in ml: 100, 125 or 150'}, 'whiteDifferent': {'type': 'boolean', 'description': 'Serve a different white for each glass'}, 'sparklingGlasses': {'type': 'number', 'description': 'Glasses of Champagne or sparkling per guest'}, 'sparklingDifferent': {'type': 'boolean', 'description': 'Serve a different sparkling for each glass'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'guests': {'type': 'number'}, 'summary': {'type': 'string'}, 'breakdown': {'type': 'array'}, 'overageMl': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalBottles': {'type': 'number'}, 'glassesPerGuest': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'fortune': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['op', 'n1', 'd1', 'n2', 'd2'], 'properties': {'d1': {'not': {'const': 0}, 'type': 'integer', 'description': 'First denominator (not zero)'}, 'd2': {'not': {'const': 0}, 'type': 'integer', 'description': 'Second denominator (not zero)'}, 'n1': {'type': 'integer', 'description': 'First numerator'}, 'n2': {'type': 'integer', 'description': 'Second numerator'}, 'op': {'enum': ['add', 'sub', 'mul', 'div'], 'type': 'string', 'description': 'Operation: add, sub (subtract), mul (multiply) or div (divide)'}}}
Schéma de sortie
{'type': 'object', 'required': ['decimal', 'denominator', 'mixed', 'numerator', 'op', 'result', 'source_url', 'summary'], 'properties': {'op': {'type': 'string'}, 'mixed': {'type': ['string', 'null']}, 'result': {'type': 'string'}, 'decimal': {'type': 'number'}, 'summary': {'type': 'string'}, 'numerator': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'denominator': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'toDecimal'}}}, 'then': {'required': ['numerator', 'denominator']}}, {'if': {'properties': {'mode': {'const': 'toFraction'}}}, 'then': {'required': ['decimal']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['toDecimal', 'toFraction'], 'type': 'string', 'description': "'toDecimal' from a fraction, or 'toFraction' from a decimal"}, 'decimal': {'type': 'number', 'description': "The decimal to convert (mode 'toFraction')"}, 'numerator': {'type': 'integer', 'description': "Numerator (mode 'toDecimal')"}, 'denominator': {'not': {'const': 0}, 'type': 'integer', 'description': "Denominator, not zero (mode 'toDecimal')"}}}
Schéma de sortie
{'type': 'object', 'required': ['decimal', 'denominator', 'exact', 'mode', 'numerator', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'exact': {'type': 'boolean'}, 'decimal': {'type': 'number'}, 'summary': {'type': 'string'}, 'numerator': {'type': 'number'}, 'recurring': {'type': 'boolean'}, 'percentage': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'denominator': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['miles', 'mpg', 'pencePerLitre'], 'properties': {'mpg': {'type': 'number', 'description': 'Fuel economy in miles per UK gallon', 'exclusiveMinimum': 0}, 'miles': {'type': 'number', 'minimum': 0, 'description': 'One-way distance in miles'}, 'people': {'type': 'integer', 'default': 1, 'maximum': 1000, 'minimum': 1, 'description': 'Number of people to split the cost between (default 1)'}, 'returnTrip': {'type': 'boolean', 'default': False, 'description': 'Double the distance for a return journey (default false)'}, 'pencePerLitre': {'type': 'number', 'minimum': 0, 'description': 'Pump price in pence per litre'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'mpg': {'type': 'number'}, 'miles': {'type': 'number'}, 'litres': {'type': 'number'}, 'people': {'type': 'number'}, 'gallons': {'type': 'number'}, 'summary': {'type': 'string'}, 'totalCost': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'costPerPerson': {'type': 'number'}, 'pencePerLitre': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to hash'}, 'algorithm': {'enum': ['SHA-256', 'SHA-1', 'SHA-512'], 'type': 'string', 'default': 'SHA-256', 'description': 'Hash algorithm (default SHA-256)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'bits': {'type': 'number'}, 'summary': {'type': 'string'}, 'algorithm': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hash'], 'properties': {'hash': {'type': 'string', 'minLength': 1, 'description': 'The hash string to identify'}}}
Schéma de sortie
{'type': 'object', 'required': ['candidates', 'charset', 'length', 'source_url', 'summary'], 'properties': {'length': {'type': 'number'}, 'charset': {'type': 'string'}, 'summary': {'type': 'string'}, 'candidates': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'method': {'const': 'karvonen'}}}, 'then': {'required': ['restingHeartRate']}}], 'required': ['age'], 'properties': {'age': {'type': 'number', 'maximum': 120, 'description': 'Age in years', 'exclusiveMinimum': 0}, 'method': {'enum': ['max', 'karvonen'], 'type': 'string', 'default': 'max', 'description': "'max' (percentage of max HR) or 'karvonen' (heart rate reserve). Default 'max'"}, 'restingHeartRate': {'type': 'number', 'description': 'Resting heart rate in bpm, required for the Karvonen method', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['age', 'maxHeartRate', 'method', 'restingHeartRate', 'source_url', 'summary', 'zones'], 'properties': {'age': {'type': 'number'}, 'zones': {'type': 'array'}, 'method': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'maxHeartRate': {'type': 'number'}, 'restingHeartRate': {'type': ['number', 'null']}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$', 'description': 'Hex colour code, e.g. #D7263D or F0C'}}}
Schéma de sortie
{'type': 'object', 'required': ['hsl', 'hslString', 'rgb', 'rgbString', 'source_url', 'summary'], 'properties': {'hsl': {'type': 'array'}, 'rgb': {'type': 'array'}, 'summary': {'type': 'string'}, 'hslString': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['daysPerWeek'], 'properties': {'months': {'type': 'number', 'default': 12, 'maximum': 12, 'description': 'Months of the year worked (1 to 12, default 12)', 'exclusiveMinimum': 0}, 'daysPerWeek': {'type': 'number', 'maximum': 7, 'description': 'Days worked per week (1 to 7)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['cappedAt28', 'daysPerWeek', 'entitlementDays', 'entitlementWeeks', 'months', 'partYear', 'source_url', 'summary'], 'properties': {'months': {'type': 'number'}, 'summary': {'type': 'string'}, 'partYear': {'type': 'boolean'}, 'cappedAt28': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'daysPerWeek': {'type': 'number'}, 'entitlementDays': {'type': 'number'}, 'entitlementWeeks': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'to_salary'}}}, 'then': {'required': ['hourlyRate']}}, {'if': {'properties': {'mode': {'const': 'to_hourly'}}}, 'then': {'required': ['salary']}}], 'required': ['mode', 'hoursPerWeek'], 'properties': {'mode': {'enum': ['to_salary', 'to_hourly'], 'type': 'string', 'description': "'to_salary' from an hourly rate, or 'to_hourly' from a salary"}, 'salary': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Annual salary in GBP (required for to_hourly)'}, 'hourlyRate': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Hourly pay rate in GBP (required for to_salary)'}, 'hoursPerWeek': {'type': 'number', 'maximum': 168, 'description': 'Hours worked per week (greater than 0, up to 168)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['hourlyRate', 'hoursPerWeek', 'mode', 'source_url', 'summary', 'weekly'], 'properties': {'mode': {'type': 'string'}, 'annual': {'type': 'number'}, 'weekly': {'type': 'number'}, 'monthly': {'type': 'number'}, 'summary': {'type': 'string'}, 'hourlyRate': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'hoursPerWeek': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'format': 'time', 'description': 'End time in 24-hour HH:MM format, e.g. 17:30'}, 'start': {'type': 'string', 'format': 'time', 'description': 'Start time in 24-hour HH:MM format, e.g. 09:00'}, 'breakMinutes': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Unpaid break in minutes (default 0)'}}}
Schéma de sortie
{'type': 'object', 'required': ['breakMinutes', 'decimalHours', 'end', 'grossMinutes', 'overnight', 'source_url', 'start', 'summary', 'worked', 'workedMinutes'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}, 'worked': {'type': 'string'}, 'summary': {'type': 'string'}, 'overnight': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'breakMinutes': {'type': 'number'}, 'decimalHours': {'type': 'number'}, 'grossMinutes': {'type': 'number'}, 'workedMinutes': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'hex_to_hsl'}}}, 'then': {'required': ['hex']}}, {'if': {'properties': {'mode': {'const': 'hsl_to_hex'}}}, 'then': {'required': ['h', 's', 'l']}}], 'required': ['mode'], 'properties': {'h': {'type': 'number', 'maximum': 360, 'minimum': 0, 'description': 'Hue 0 to 360 (for hsl_to_hex)'}, 'l': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Lightness 0 to 100 (for hsl_to_hex)'}, 's': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Saturation 0 to 100 (for hsl_to_hex)'}, 'hex': {'type': 'string', 'pattern': '^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$', 'description': 'Hex colour code, e.g. #1FE85C (for hex_to_hsl)'}, 'mode': {'enum': ['hex_to_hsl', 'hsl_to_hex'], 'type': 'string', 'description': 'Direction of conversion'}}}
Schéma de sortie
{'type': 'object', 'required': ['hex', 'hslString', 'mode', 'rgbString', 'source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'hsl': {'type': 'array'}, 'mode': {'type': 'string'}, 'summary': {'type': 'string'}, 'hslString': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text', 'mode'], 'properties': {'mode': {'enum': ['escape', 'unescape'], 'type': 'string', 'description': "'escape' text to entities, or 'unescape' entities back to text"}, 'text': {'type': 'string', 'description': 'The text to escape, or the HTML with entities to unescape'}}}
Schéma de sortie
{'type': 'object', 'required': ['input', 'mode', 'output', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'input': {'type': 'string'}, 'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'anyOf': [{'required': ['code']}, {'required': ['query']}], 'required': [], 'properties': {'code': {'type': 'integer', 'maximum': 599, 'minimum': 100, 'description': 'An HTTP status code to look up, for example 404'}, 'query': {'type': 'string', 'description': 'A word to search for across code numbers, names and descriptions'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'code': {'type': 'number'}, 'name': {'type': 'string'}, 'class': {'type': 'string'}, 'summary': {'type': 'string'}, 'className': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'description': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {'iban': {'type': 'string', 'description': 'An IBAN to validate (spaces and case are ignored)'}, 'country': {'type': 'string', 'description': 'A two-letter country code (e.g. GB, DE, FR) to generate a test IBAN for instead of validating'}}}
Schéma de sortie
{'type': 'object', 'required': ['country', 'length', 'mode', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'valid': {'type': 'boolean'}, 'length': {'type': 'number'}, 'reason': {'type': 'string'}, 'country': {'type': 'string'}, 'summary': {'type': 'string'}, 'normalised': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'country_code': {'type': 'string'}, 'checksum_passes': {'type': 'boolean'}, 'expected_length': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['title', 'startDate'], 'properties': {'title': {'type': 'string', 'minLength': 1, 'description': 'Event title (SUMMARY)'}, 'allDay': {'type': 'boolean', 'default': False, 'description': 'True for an all-day event (no times). Default false'}, 'endDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "End date, ISO 'YYYY-MM-DD'. Defaults to startDate"}, 'endTime': {'type': 'string', 'description': "End time 'HH:MM' 24-hour, timed events only. Defaults to startTime"}, 'location': {'type': 'string', 'description': 'Optional location'}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Start date, ISO 'YYYY-MM-DD'"}, 'startTime': {'type': 'string', 'default': '00:00', 'description': "Start time 'HH:MM' 24-hour, timed events only. Default '00:00'"}, 'description': {'type': 'string', 'description': 'Optional description'}}}
Schéma de sortie
{'type': 'object', 'required': ['allDay', 'bytes', 'filename', 'ics', 'source_url', 'summary', 'title'], 'properties': {'ics': {'type': 'string'}, 'bytes': {'type': 'number'}, 'title': {'type': 'string'}, 'allDay': {'type': 'boolean'}, 'summary': {'type': 'string'}, 'filename': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'cpi'}}}, 'then': {'required': ['fromMonth', 'fromYear']}}, {'if': {'properties': {'mode': {'const': 'custom'}}}, 'then': {'required': ['ratePercent', 'years']}}], 'required': ['mode', 'amount'], 'properties': {'mode': {'enum': ['cpi', 'custom'], 'type': 'string', 'description': "'cpi' uses the ONS CPI index between two months; 'custom' uses your own rate"}, 'years': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': 'Custom mode: number of years (0 to 200)'}, 'amount': {'type': 'number', 'minimum': 0, 'description': 'The money amount to adjust'}, 'toYear': {'type': 'integer', 'default': 2026, 'maximum': 2026, 'minimum': 1988, 'description': 'CPI mode: ending year (default is the latest year)'}, 'toMonth': {'type': 'integer', 'default': 8, 'maximum': 12, 'minimum': 1, 'description': 'CPI mode: ending month (1 to 12, default is the latest month)'}, 'fromYear': {'type': 'integer', 'maximum': 2026, 'minimum': 1988, 'description': 'CPI mode: starting year (1988 to 2026)'}, 'fromMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'CPI mode: starting month (1 to 12)'}, 'ratePercent': {'type': 'number', 'maximum': 100, 'minimum': -50, 'description': 'Custom mode: annual inflation rate as a percentage (-50 to 100)'}}}
Schéma de sortie
{'type': 'object', 'required': ['adjustedValue', 'amount', 'mode', 'source_url', 'summary', 'totalChangePercent'], 'properties': {'mode': {'type': 'string'}, 'years': {'type': 'number'}, 'amount': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'ratePercent': {'type': 'number'}, 'adjustedValue': {'type': 'number'}, 'totalChangePercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['json'], 'properties': {'json': {'type': 'string', 'minLength': 1, 'description': 'The JSON text to process'}, 'mode': {'enum': ['format', 'minify', 'validate'], 'type': 'string', 'default': 'format', 'description': "'format' to pretty print, 'minify' to strip whitespace, 'validate' to only check validity (default format)"}, 'indent': {'type': 'integer', 'default': 2, 'minimum': 0, 'description': 'Number of spaces per indent level when formatting (default 2)'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'output', 'source_url', 'summary', 'valid'], 'properties': {'mode': {'type': 'string'}, 'valid': {'type': 'boolean'}, 'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['json'], 'properties': {'json': {'type': 'string', 'minLength': 1, 'description': 'A JSON array of objects to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'csv': {'type': 'string'}, 'rows': {'type': 'number'}, 'columns': {'type': 'number'}, 'headers': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['json'], 'properties': {'json': {'type': 'string', 'description': 'A JSON sample to convert. It may be an object, an array or a primitive value.'}, 'rootName': {'type': 'string', 'default': 'Root', 'description': 'Name for the root interface or type alias (default Root).'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary', 'typescript'], 'properties': {'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'typescript': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['json-to-yaml', 'yaml-to-json'], 'type': 'string', 'default': 'json-to-yaml', 'description': 'Direction of conversion (default json-to-yaml)'}, 'text': {'type': 'string', 'description': 'The JSON or YAML text to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'minLength': 1, 'description': "The JWT to decode, optionally with a leading 'Bearer ' prefix"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'exp': {'type': ['number', 'null']}, 'iat': {'type': 'object'}, 'nbf': {'type': ['number', 'null']}, 'type': {'type': 'string'}, 'header': {'type': 'object'}, 'status': {'type': 'string'}, 'payload': {'type': 'object'}, 'summary': {'type': 'string'}, 'algorithm': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'statusNote': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['kilograms'], 'properties': {'kilograms': {'type': 'number', 'minimum': 0, 'description': 'Weight in kilograms'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'stone': {'type': 'number'}, 'pounds': {'type': 'number'}, 'summary': {'type': 'string'}, 'kilograms': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalStone': {'type': 'number'}, 'totalPounds': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'The year to check (1 to 9999)'}}}
Schéma de sortie
{'type': 'object', 'required': ['divisibleBy100', 'divisibleBy4', 'divisibleBy400', 'isLeapYear', 'nextLeapYear', 'previousLeapYear', 'source_url', 'summary', 'year'], 'properties': {'year': {'type': 'number'}, 'summary': {'type': 'string'}, 'isLeapYear': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'divisibleBy4': {'type': 'boolean'}, 'nextLeapYear': {'type': 'number'}, 'divisibleBy100': {'type': 'boolean'}, 'divisibleBy400': {'type': 'boolean'}, 'previousLeapYear': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['mm', 'cm', 'm', 'km', 'in', 'ft', 'yd', 'mi'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['mm', 'cm', 'm', 'km', 'in', 'ft', 'yd', 'mi'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The length value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['from', 'result', 'source_url', 'summary', 'to', 'value'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'direction'], 'properties': {'value': {'type': 'number', 'minimum': 0, 'description': 'The value to convert (litres or UK pints depending on direction)'}, 'direction': {'enum': ['litres-to-pints', 'pints-to-litres'], 'type': 'string', 'description': 'Which way to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'litres', 'source_url', 'summary', 'ukPints'], 'properties': {'litres': {'type': 'number'}, 'summary': {'type': 'string'}, 'ukPints': {'type': 'number'}, 'usPints': {'type': 'number'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'millilitres': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'rate', 'years'], 'properties': {'rate': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Annual interest rate (APR) as a percentage (0 to 100)'}, 'years': {'type': 'number', 'maximum': 30, 'description': 'Loan term in years (greater than 0, up to 30)', 'exclusiveMinimum': 0}, 'amount': {'type': 'number', 'description': 'Amount borrowed in GBP (greater than zero)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['amount', 'monthlyPayment', 'months', 'rate', 'source_url', 'summary', 'totalInterest', 'totalRepaid', 'years'], 'properties': {'rate': {'type': 'number'}, 'years': {'type': 'number'}, 'amount': {'type': 'number'}, 'months': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalRepaid': {'type': 'number'}, 'totalInterest': {'type': 'number'}, 'monthlyPayment': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'paragraphs'}}}, 'then': {'properties': {'count': {'maximum': 100}}}}, {'if': {'properties': {'mode': {'const': 'sentences'}}}, 'then': {'properties': {'count': {'maximum': 500}}}}, {'if': {'properties': {'mode': {'const': 'words'}}}, 'then': {'properties': {'count': {'maximum': 2000}}}}], 'required': ['count'], 'properties': {'mode': {'enum': ['paragraphs', 'sentences', 'words'], 'type': 'string', 'default': 'paragraphs', 'description': 'What the count refers to (default paragraphs)'}, 'count': {'type': 'integer', 'minimum': 1, 'description': 'How many paragraphs, sentences or words to produce'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'mode', 'result', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'count': {'type': 'number'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'game': {'enum': ['lotto', 'thunderball', 'setforlife'], 'type': 'string', 'default': 'lotto', 'description': 'Which game to play (default lotto)'}, 'lines': {'type': 'integer', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'How many lines to generate, 1 to 10 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['game', 'lines', 'source_url', 'summary'], 'properties': {'game': {'type': 'string'}, 'lines': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'question': {'type': 'string', 'description': 'The yes or no question to ask (optional)'}}}
Schéma de sortie
{'type': 'object', 'required': ['answer', 'question', 'source_url', 'summary'], 'properties': {'answer': {'type': 'string'}, 'summary': {'type': 'string'}, 'question': {'type': ['string', 'null']}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['cost', 'price'], 'properties': {'cost': {'type': 'number', 'maximum': 1000000000, 'minimum': 0, 'description': 'Cost price in GBP'}, 'price': {'type': 'number', 'maximum': 1000000000, 'minimum': 0, 'description': 'Selling price in GBP'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'cost': {'type': 'number'}, 'price': {'type': 'number'}, 'profit': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'marginPercent': {'type': 'number'}, 'markupPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['markdown'], 'properties': {'markdown': {'type': 'string', 'description': 'The markdown source to render'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'html': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'market_cap'}}}, 'then': {'required': ['price']}}, {'if': {'properties': {'mode': {'const': 'implied_price'}}}, 'then': {'required': ['target']}}], 'required': ['mode', 'supply'], 'properties': {'mode': {'enum': ['market_cap', 'implied_price'], 'type': 'string', 'description': 'market_cap: price times supply. implied_price: target cap divided by supply.'}, 'price': {'type': 'number', 'minimum': 0, 'description': 'Current price per coin (for market_cap)'}, 'supply': {'type': 'number', 'description': 'Circulating supply (for both modes)', 'exclusiveMinimum': 0}, 'target': {'type': 'number', 'minimum': 0, 'description': 'Target market cap (for implied_price)'}, 'current': {'type': 'number', 'minimum': 0, 'description': 'Current price per coin, to show the multiple (optional, implied_price mode)'}, 'maxSupply': {'type': 'number', 'minimum': 0, 'description': 'Maximum or total supply for FDV (optional, market_cap mode)'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'approx': {'type': 'string'}, 'summary': {'type': 'string'}, 'marketCap': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'marketCapString': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'title': {'type': 'string', 'description': 'Page title (guideline is around 60 characters)'}, 'ogType': {'enum': ['website', 'article', 'product', 'profile'], 'type': 'string', 'default': 'website', 'description': "Open Graph type (default 'website')"}, 'ogImage': {'type': 'string', 'format': 'uri', 'description': 'Open Graph image URL'}, 'ogTitle': {'type': 'string', 'description': 'Open Graph title (defaults to title if omitted)'}, 'canonical': {'type': 'string', 'format': 'uri', 'description': 'Canonical URL for the page'}, 'description': {'type': 'string', 'description': 'Meta description (guideline is around 155 characters)'}, 'twitterCard': {'enum': ['summary', 'summary_large_image', 'app', 'player'], 'type': 'string', 'default': 'summary_large_image', 'description': "Twitter card type (default 'summary_large_image')"}, 'ogDescription': {'type': 'string', 'description': 'Open Graph description (defaults to description if omitted)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'html': {'type': 'string'}, 'lines': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'titleLength': {'type': 'number'}, 'descriptionLength': {'type': 'number'}, 'titleOverGuideline': {'type': 'boolean'}, 'descriptionOverGuideline': {'type': 'boolean'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'direction'], 'properties': {'value': {'type': 'number', 'minimum': 0, 'description': 'The distance value to convert'}, 'direction': {'enum': ['miles-to-km', 'km-to-miles'], 'type': 'string', 'description': 'Which way to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'km', 'miles', 'source_url', 'summary'], 'properties': {'km': {'type': 'number'}, 'miles': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['time', 'direction'], 'properties': {'time': {'type': 'string', 'minLength': 1, 'description': "The time to convert, e.g. '1430', '14:30', '2:30 pm'"}, 'meridiem': {'enum': ['am', 'pm'], 'type': 'string', 'default': 'pm', 'description': 'am or pm for 12h-to-24h when not in the time string (default pm)'}, 'direction': {'enum': ['24h-to-12h', '12h-to-24h'], 'type': 'string', 'description': 'Which way to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'meridiem', 'source_url', 'summary', 'time12', 'time24'], 'properties': {'time12': {'type': 'string'}, 'time24': {'type': 'string'}, 'summary': {'type': 'string'}, 'meridiem': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'minutesToHours'}}}, 'then': {'required': ['minutes']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['minutesToHours', 'hoursToMinutes'], 'type': 'string', 'description': 'Direction of the conversion'}, 'hours': {'type': 'number', 'default': 0, 'maximum': 100000, 'minimum': 0, 'description': "Hours to convert (used when mode is 'hoursToMinutes', 0 to 100000)"}, 'minutes': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': "Minutes to convert (used when mode is 'minutesToHours', 0 to 10000000)"}, 'extraMinutes': {'type': 'number', 'default': 0, 'maximum': 10000000, 'minimum': 0, 'description': "Extra minutes to add to the hours (used when mode is 'hoursToMinutes', default 0)"}}}
Schéma de sortie
{'type': 'object', 'required': ['clock', 'decimalHours', 'mode', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'clock': {'type': 'string'}, 'minutes': {'type': 'number'}, 'summary': {'type': 'string'}, 'breakdown': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'decimalHours': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Optional date in YYYY-MM-DD format (defaults to today)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'date': {'type': 'string'}, 'phase': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'moonAgeDays': {'type': 'number'}, 'nextNewMoon': {'type': 'string'}, 'nextFullMoon': {'type': 'string'}, 'illuminationPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text or Morse code to translate'}, 'direction': {'enum': ['t2m', 'm2t'], 'type': 'string', 'default': 't2m', 'description': "'t2m' text to Morse (default), 'm2t' Morse to text"}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'result', 'source_url', 'summary', 'unknown'], 'properties': {'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'unknown': {'type': 'array'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'rate', 'years'], 'properties': {'rate': {'type': 'number', 'maximum': 50, 'minimum': 0, 'description': 'Annual interest rate as a percentage (0 to 50)'}, 'years': {'type': 'number', 'maximum': 50, 'description': 'Mortgage term in years (greater than 0, up to 50)', 'exclusiveMinimum': 0}, 'amount': {'type': 'number', 'description': 'Amount borrowed in GBP (greater than zero)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'rate': {'type': 'number'}, 'years': {'type': 'number'}, 'amount': {'type': 'number'}, 'months': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalRepaid': {'type': 'number'}, 'totalInterest': {'type': 'number'}, 'monthlyPayment': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['balance', 'rate', 'years', 'extra'], 'properties': {'rate': {'type': 'number', 'maximum': 50, 'minimum': 0, 'description': 'Annual interest rate as a percentage (0 to 50)'}, 'extra': {'type': 'number', 'minimum': 0, 'description': 'Extra monthly overpayment in GBP (0 or more)'}, 'years': {'type': 'number', 'maximum': 50, 'description': 'Remaining term in years (greater than 0, up to 50)', 'exclusiveMinimum': 0}, 'balance': {'type': 'number', 'description': 'Current mortgage balance in GBP (greater than zero)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'rate': {'type': 'number'}, 'extra': {'type': 'number'}, 'years': {'type': 'number'}, 'balance': {'type': 'number'}, 'summary': {'type': 'string'}, 'timeSaved': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'monthsSaved': {'type': 'number'}, 'interestSaved': {'type': 'number'}, 'monthlyPayment': {'type': 'number'}, 'newPayoffMonths': {'type': 'number'}, 'overpaymentPayment': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'direction'], 'properties': {'value': {'type': 'number', 'description': 'The fuel economy value (UK mpg or L/100km depending on direction)', 'exclusiveMinimum': 0}, 'direction': {'enum': ['mpg-to-l100', 'l100-to-mpg'], 'type': 'string', 'description': 'Which way to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'kmPerLitre', 'litresPer100km', 'milesPerLitre', 'source_url', 'summary', 'ukMpg', 'usMpg'], 'properties': {'ukMpg': {'type': 'number'}, 'usMpg': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'kmPerLitre': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'milesPerLitre': {'type': 'number'}, 'litresPer100km': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['salary'], 'properties': {'salary': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Annual gross salary in GBP'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'salary': {'type': 'number'}, 'summary': {'type': 'string'}, 'niPerWeek': {'type': 'number'}, 'niPerYear': {'type': 'number'}, 'niPerMonth': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'effectiveRatePercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text or phonetic spelling to convert'}, 'direction': {'enum': ['t2n', 'n2t'], 'type': 'string', 'default': 't2n', 'description': "'t2n' text to phonetic (default), 'n2t' phonetic to text"}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'result', 'source_url', 'summary', 'unknown'], 'properties': {'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'unknown': {'type': 'array'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['net'], 'properties': {'net': {'type': 'number', 'minimum': 0, 'description': 'Desired take-home pay in GBP'}, 'period': {'enum': ['year', 'month'], 'type': 'string', 'default': 'year', 'description': 'Whether the net figure is yearly or monthly (default year)'}}}
Schéma de sortie
{'type': 'object', 'required': ['grossPerMonth', 'grossPerYear', 'incomeTax', 'nationalInsurance', 'net', 'netCheckPerYear', 'period', 'source_url', 'summary'], 'properties': {'net': {'type': 'number'}, 'period': {'type': 'string'}, 'summary': {'type': 'string'}, 'incomeTax': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'grossPerYear': {'type': 'number'}, 'grossPerMonth': {'type': 'number'}, 'netCheckPerYear': {'type': 'number'}, 'nationalInsurance': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'fromBase', 'toBase'], 'properties': {'value': {'type': 'string', 'description': 'The number to convert, as text (optional 0b/0o/0x prefix, spaces and underscores ignored, may be negative)'}, 'toBase': {'enum': ['binary', 'octal', 'decimal', 'hex'], 'type': 'string', 'description': 'The base to convert to'}, 'fromBase': {'enum': ['binary', 'octal', 'decimal', 'hex'], 'type': 'string', 'description': 'The base the value is written in'}}}
Schéma de sortie
{'type': 'object', 'required': ['binary', 'decimal', 'fromBase', 'hex', 'octal', 'result', 'source_url', 'summary', 'toBase', 'value'], 'properties': {'hex': {'type': 'string'}, 'octal': {'type': 'string'}, 'value': {'type': 'string'}, 'binary': {'type': 'string'}, 'result': {'type': 'string'}, 'toBase': {'type': 'string'}, 'decimal': {'type': 'string'}, 'summary': {'type': 'string'}, 'fromBase': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value'], 'properties': {'value': {'type': 'string', 'minLength': 1, 'description': "The number to spell out, e.g. '1234.5' or '19.99'. May include commas."}, 'currency': {'type': 'boolean', 'default': False, 'description': 'Write as UK pounds and pence (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['currency', 'source_url', 'summary', 'words'], 'properties': {'words': {'type': 'string'}, 'summary': {'type': 'string'}, 'currency': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'scale': {'const': 'gas'}}}, 'then': {'properties': {'value': {'type': 'integer', 'maximum': 9, 'minimum': 1}}}}], 'required': ['value', 'scale'], 'properties': {'scale': {'enum': ['c', 'fan', 'f', 'gas'], 'type': 'string', 'description': 'The scale of the input value'}, 'value': {'type': 'number', 'description': "The temperature value (or gas mark 1 to 9 when scale is 'gas')"}}}
Schéma de sortie
{'type': 'object', 'required': ['celsius', 'fahrenheit', 'fanCelsius', 'gasMark', 'scale', 'source_url', 'summary'], 'properties': {'scale': {'type': 'string'}, 'celsius': {'type': 'number'}, 'gasMark': {'type': 'string'}, 'summary': {'type': 'string'}, 'fahrenheit': {'type': 'number'}, 'fanCelsius': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['rate'], 'properties': {'rate': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Base hourly rate in GBP'}, 'doubleHours': {'type': 'number', 'default': 0, 'maximum': 10000, 'minimum': 0, 'description': 'Hours paid at double time, 2x (default 0)'}, 'standardHours': {'type': 'number', 'default': 0, 'maximum': 10000, 'minimum': 0, 'description': 'Hours paid at the standard rate (default 0)'}, 'timeAndHalfHours': {'type': 'number', 'default': 0, 'maximum': 10000, 'minimum': 0, 'description': 'Hours paid at time and a half, 1.5x (default 0)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'rate': {'type': 'number'}, 'summary': {'type': 'string'}, 'totalPay': {'type': 'number'}, 'doublePay': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalHours': {'type': 'number'}, 'doubleHours': {'type': 'number'}, 'standardPay': {'type': 'number'}, 'standardHours': {'type': 'number'}, 'timeAndHalfPay': {'type': 'number'}, 'timeAndHalfHours': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['password'], 'properties': {'password': {'type': 'string', 'minLength': 1, 'description': 'The password to assess (never uploaded; assessed locally)'}}}
Schéma de sortie
{'type': 'object', 'required': ['bits', 'crackTime', 'label', 'score', 'source_url', 'summary', 'tips', 'verdict'], 'properties': {'bits': {'type': 'number'}, 'tips': {'type': 'array'}, 'label': {'type': 'string'}, 'score': {'type': 'number'}, 'summary': {'type': 'string'}, 'verdict': {'type': 'string'}, 'crackTime': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'of'}}}, 'then': {'required': ['percent', 'number']}}, {'if': {'properties': {'mode': {'const': 'what'}}}, 'then': {'required': ['part', 'whole']}}, {'if': {'properties': {'mode': {'const': 'change'}}}, 'then': {'required': ['from', 'to']}}], 'required': ['mode'], 'properties': {'to': {'type': 'number', 'description': "End value (mode 'change')"}, 'from': {'not': {'const': 0}, 'type': 'number', 'description': "Starting value (mode 'change', not zero)"}, 'mode': {'enum': ['of', 'what', 'change'], 'type': 'string', 'description': "'of' percent of a number, 'what' one number as a percentage of another, or 'change' percentage change"}, 'part': {'type': 'number', 'description': "The part (mode 'what')"}, 'whole': {'not': {'const': 0}, 'type': 'number', 'description': "The whole (mode 'what', not zero)"}, 'number': {'type': 'number', 'description': "The number (mode 'of')"}, 'percent': {'type': 'number', 'description': "The percentage (mode 'of')"}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'result', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'number': {'type': 'number'}, 'result': {'type': 'number'}, 'percent': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'number', 'description': 'The end value'}, 'from': {'not': {'const': 0}, 'type': 'number', 'description': 'The starting value (not zero)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'number'}, 'from': {'type': 'number'}, 'change': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'absoluteChange': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['number', 'percent'], 'properties': {'number': {'type': 'number', 'description': 'The starting number'}, 'percent': {'type': 'number', 'description': 'The percentage to take off'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'number': {'type': 'number'}, 'result': {'type': 'number'}, 'percent': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'amountTakenOff': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'number', 'description': 'The first value'}, 'b': {'type': 'number', 'description': 'The second value'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'a': {'type': 'number'}, 'b': {'type': 'number'}, 'gap': {'type': 'number'}, 'average': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'percentageDifference': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['number', 'percent'], 'properties': {'number': {'type': 'number', 'description': 'The starting number'}, 'percent': {'type': 'number', 'description': 'The percentage to add on'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'number': {'type': 'number'}, 'result': {'type': 'number'}, 'percent': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'amountAdded': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['account', 'risk', 'entry', 'stop'], 'properties': {'risk': {'type': 'number', 'maximum': 100, 'description': 'Percentage of the account to risk on this trade (above 0, up to 100)', 'exclusiveMinimum': 0}, 'stop': {'type': 'number', 'minimum': 0, 'description': 'Stop-loss price per unit'}, 'entry': {'type': 'number', 'description': 'Entry price per unit', 'exclusiveMinimum': 0}, 'account': {'type': 'number', 'description': 'Total account size', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'note': {'type': 'string'}, 'units': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'unitsString': {'type': 'string'}, 'amountAtRisk': {'type': 'number'}, 'positionValue': {'type': 'number'}, 'amountAtRiskString': {'type': 'string'}, 'positionValueString': {'type': 'string'}, 'stopDistancePercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['w', 'kw', 'hp', 'ps'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['w', 'kw', 'hp', 'ps'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The power value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['bar', 'psi', 'kpa', 'atm'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['bar', 'psi', 'kpa', 'atm'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The pressure value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['number'], 'properties': {'number': {'type': 'integer', 'maximum': 1000000000000000, 'minimum': 2, 'description': 'A whole number from 2 to 1,000,000,000,000,000'}}}
Schéma de sortie
{'type': 'object', 'required': ['divisorCount', 'divisors', 'factorisation', 'isPrime', 'number', 'primeFactors', 'source_url', 'summary'], 'properties': {'number': {'type': 'number'}, 'isPrime': {'type': 'boolean'}, 'summary': {'type': 'string'}, 'divisors': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'divisorCount': {'type': 'number'}, 'primeFactors': {'type': 'array'}, 'factorisation': {'type': 'string'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['rows'], 'properties': {'link': {'type': 'string', 'description': 'Shop URL for the feed header (optional, must start with http:// or https://).'}, 'rows': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 5000, 'minItems': 1, 'description': 'Product rows keyed by feed field name. Required per row: id, title, description, availability, condition, price, link, image_link, brand. Optional: sale_price, gtin, mpn, item_group_id, google_product_category, product_type, color, size, gender, age_group, shipping_weight, additional_image_link, quantity_to_sell_on_facebook.'}, 'title': {'type': 'string', 'description': 'Feed title. Default Product feed.'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code for prices, for example GBP. Default GBP.'}, 'platform': {'enum': ['meta', 'google', 'atom', 'rss'], 'type': 'string', 'description': 'Feed format. Default meta.'}, 'description': {'type': 'string', 'description': 'Feed description (optional).'}}}
Schéma de sortie
{'type': 'object', 'required': ['currency', 'errors', 'items', 'platform', 'rowsRead', 'skipped', 'source_url', 'summary', 'xml'], 'properties': {'xml': {'type': 'string'}, 'items': {'type': 'number'}, 'errors': {'type': 'array'}, 'skipped': {'type': 'number'}, 'summary': {'type': 'string'}, 'currency': {'type': 'string'}, 'platform': {'type': 'string'}, 'rowsRead': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['fullTimeSalary', 'fullTimeHours', 'hours'], 'properties': {'hours': {'type': 'number', 'description': 'Your hours per week (greater than zero)', 'exclusiveMinimum': 0}, 'fullTimeHours': {'type': 'number', 'description': 'Full-time hours per week (greater than zero)', 'exclusiveMinimum': 0}, 'fullTimeSalary': {'type': 'number', 'description': 'Full-time annual salary in GBP (greater than zero)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'hours': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'proRataWeek': {'type': 'number'}, 'proRataYear': {'type': 'number'}, 'proRataMonth': {'type': 'number'}, 'fullTimeHours': {'type': 'number'}, 'fullTimeSalary': {'type': 'number'}, 'fractionPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'hsl': {'type': 'array'}, 'rgb': {'type': 'array'}, 'summary': {'type': 'string'}, 'hslString': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'decimals': {'type': 'integer', 'default': 4, 'maximum': 6, 'minimum': 2, 'description': 'Decimal places for each coordinate, 2 to 6 (default 4)'}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'How many points to generate, 1 to 100 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['points', 'source_url', 'summary'], 'properties': {'points': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'set': {'enum': ['any', 'vowels', 'consonants'], 'type': 'string', 'default': 'any', 'description': 'Which letters to draw from (default any)'}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'How many letters to generate, 1 to 100 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['letters', 'set', 'source_url', 'summary'], 'properties': {'set': {'type': 'string'}, 'letters': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'description': 'Highest possible number (inclusive)'}, 'min': {'type': 'integer', 'description': 'Lowest possible number (inclusive)'}, 'unique': {'type': 'boolean', 'default': False, 'description': 'If true, no number repeats (default false)'}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 1000, 'minimum': 1, 'description': 'How many numbers to generate, 1 to 1000 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['max', 'min', 'numbers', 'source_url', 'summary', 'unique'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'unique': {'type': 'boolean'}, 'numbers': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['names', 'teams'], 'properties': {'names': {'type': 'array', 'minItems': 1, 'description': 'The list of names to split into teams'}, 'teams': {'type': 'integer', 'maximum': 20, 'minimum': 2, 'description': 'How many teams to make, 2 to 20'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'teams': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'quantity': {'type': 'integer', 'default': 1, 'maximum': 20, 'minimum': 1, 'description': 'How many words to generate, 1 to 20 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary', 'words'], 'properties': {'words': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'solve'}}}, 'then': {'required': ['c']}}], 'required': ['mode', 'a', 'b'], 'properties': {'a': {'type': 'number', 'description': 'First term of the ratio (positive)', 'exclusiveMinimum': 0}, 'b': {'type': 'number', 'description': 'Second term of the ratio (positive)', 'exclusiveMinimum': 0}, 'c': {'type': 'number', 'description': "Known term of the equivalent ratio, mode 'solve' (a : b = c : x)", 'exclusiveMinimum': 0}, 'mode': {'enum': ['simplify', 'solve'], 'type': 'string', 'description': "'simplify' a ratio, or 'solve' for the missing value"}}}
Schéma de sortie
{'type': 'object', 'required': ['a', 'b', 'mode', 'source_url', 'summary'], 'properties': {'a': {'type': 'number'}, 'b': {'type': 'number'}, 'mode': {'type': 'string'}, 'oneToN': {'type': 'string'}, 'decimal': {'type': 'number'}, 'summary': {'type': 'string'}, 'simplified': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'simplifiedA': {'type': 'number'}, 'simplifiedB': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to measure'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'words': {'type': 'number'}, 'summary': {'type': 'string'}, 'aloudTime': {'type': 'string'}, 'silentTime': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['age', 'years', 'weeklyPay'], 'properties': {'age': {'type': 'integer', 'maximum': 100, 'minimum': 15, 'description': 'Age at redundancy (15 to 100)'}, 'years': {'type': 'integer', 'maximum': 60, 'minimum': 0, 'description': 'Full years of continuous service (0 to 60, cannot exceed age)'}, 'weeklyPay': {'type': 'number', 'maximum': 1000000, 'description': 'Gross weekly pay in GBP', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['age', 'source_url', 'summary', 'total', 'weeklyPay', 'weeks', 'years'], 'properties': {'age': {'type': 'number'}, 'total': {'type': 'number'}, 'weeks': {'type': 'number'}, 'years': {'type': 'number'}, 'summary': {'type': 'string'}, 'weeklyPay': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalCapped': {'type': 'boolean'}, 'serviceCapped': {'type': 'boolean'}, 'cappedWeeklyPay': {'type': 'number'}, 'weeklyPayCapped': {'type': 'boolean'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to deduplicate, one item per line'}, 'caseInsensitive': {'type': 'boolean', 'default': False, 'description': 'Treat lines that differ only in case as duplicates (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'kept': {'type': 'number'}, 'result': {'type': 'string'}, 'removed': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to clean'}, 'removeBlankLines': {'type': 'boolean', 'default': False, 'description': 'Also drop empty lines (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'lines': {'type': 'number'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['spaces', 'paragraphs'], 'type': 'string', 'default': 'spaces', 'description': "'spaces' joins everything into one block (default), 'paragraphs' keeps paragraph breaks"}, 'text': {'type': 'string', 'description': 'The text to join'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['characters', 'words', 'each'], 'type': 'string', 'default': 'characters', 'description': "'characters' (default), 'words' reverses word order per line, 'each' reverses letters within each word"}, 'text': {'type': 'string', 'description': 'The text to reverse'}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'result', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['r', 'g', 'b'], 'properties': {'b': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Blue, 0 to 255'}, 'g': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Green, 0 to 255'}, 'r': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Red, 0 to 255'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'hex': {'type': 'string'}, 'summary': {'type': 'string'}, 'rgbString': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'mode'], 'properties': {'mode': {'enum': ['uk', 'us', 'mm'], 'type': 'string', 'description': 'Which scale the value is in'}, 'value': {'type': 'string', 'minLength': 1, 'description': 'The ring size to convert: a UK letter (uk mode), or a number (us or mm mode)'}}}
Schéma de sortie
{'type': 'object', 'required': ['circumferenceMm', 'diameterMm', 'mode', 'source_url', 'summary', 'uk', 'us'], 'properties': {'uk': {'type': 'string'}, 'us': {'type': 'string'}, 'mode': {'type': 'string'}, 'summary': {'type': 'string'}, 'diameterMm': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'circumferenceMm': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'preset': {'const': 'custom'}}}, 'then': {'required': ['rules']}}], 'required': [], 'properties': {'rules': {'type': 'array', 'items': {'type': 'object', 'properties': {'path': {'type': 'string', 'description': 'Path such as /private/ (blank disallow means allow everything)'}, 'agent': {'type': 'string', 'default': '*', 'description': "User agent, default '*' for all crawlers"}, 'directive': {'enum': ['allow', 'disallow'], 'type': 'string', 'default': 'disallow', 'description': "'allow' or 'disallow' (default disallow)"}}}, 'description': 'Custom rules, each an object with agent, directive and path'}, 'preset': {'enum': ['allow', 'block', 'wordpress', 'custom'], 'type': 'string', 'description': 'Use a ready-made rule set instead of custom rules'}, 'sitemap': {'type': 'string', 'format': 'uri', 'description': 'Optional sitemap URL for the Sitemap line'}}}
Schéma de sortie
{'type': 'object', 'required': ['robotsTxt', 'source_url', 'summary'], 'properties': {'summary': {'type': 'string'}, 'robotsTxt': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value'], 'properties': {'value': {'type': 'string', 'pattern': '^\\s*(\\d+|[IVXLCDMivxlcdm]+)\\s*$', 'minLength': 1, 'description': 'A whole number from 1 to 3999, or a Roman numeral using I, V, X, L, C, D and M'}}}
Schéma de sortie
{'type': 'object', 'required': ['direction', 'number', 'roman', 'source_url', 'summary'], 'properties': {'roman': {'type': 'string'}, 'number': {'type': 'number'}, 'summary': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'dp'}}}, 'then': {'properties': {'count': {'maximum': 12, 'minimum': 0}}}}, {'if': {'properties': {'mode': {'const': 'sf'}}}, 'then': {'properties': {'count': {'maximum': 15, 'minimum': 1}}}}], 'required': ['number', 'mode', 'count'], 'properties': {'mode': {'enum': ['dp', 'sf'], 'type': 'string', 'description': "'dp' for decimal places, or 'sf' for significant figures"}, 'count': {'type': 'integer', 'maximum': 15, 'minimum': 0, 'description': 'How many decimal places (0 to 12) or significant figures (1 to 15)'}, 'number': {'type': 'number', 'description': 'The number to round'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'formatted', 'mode', 'number', 'rounded', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'count': {'type': 'number'}, 'number': {'type': 'number'}, 'rounded': {'type': 'number'}, 'summary': {'type': 'string'}, 'formatted': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'pace'}}}, 'then': {'required': ['distance', 'timeSeconds']}}, {'if': {'properties': {'mode': {'const': 'time'}}}, 'then': {'required': ['distance', 'paceSeconds']}}, {'if': {'properties': {'mode': {'const': 'distance'}}}, 'then': {'required': ['timeSeconds', 'paceSeconds']}}], 'required': ['mode'], 'properties': {'mode': {'enum': ['pace', 'time', 'distance'], 'type': 'string', 'description': 'Which value to solve for'}, 'unit': {'enum': ['km', 'mi'], 'type': 'string', 'default': 'km', 'description': "Unit for distance and the given pace. Default 'km'"}, 'distance': {'type': 'number', 'description': "Distance in the chosen unit (needed for 'pace' and 'time' modes)", 'exclusiveMinimum': 0}, 'paceSeconds': {'type': 'number', 'description': "Pace in seconds per unit (needed for 'time' and 'distance' modes)", 'exclusiveMinimum': 0}, 'timeSeconds': {'type': 'number', 'description': "Total time in seconds (needed for 'pace' and 'distance' modes)", 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['distance', 'kph', 'mode', 'mph', 'pacePerKm', 'pacePerMile', 'source_url', 'summary', 'time', 'timeSeconds', 'unit'], 'properties': {'kph': {'type': 'number'}, 'mph': {'type': 'number'}, 'mode': {'type': 'string'}, 'time': {'type': 'string'}, 'unit': {'type': 'string'}, 'summary': {'type': 'string'}, 'distance': {'type': 'number'}, 'pacePerKm': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'pacePerMile': {'type': 'string'}, 'timeSeconds': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['mode', 'value'], 'properties': {'mode': {'enum': ['sats_to_btc', 'btc_to_sats'], 'type': 'string', 'description': 'Direction of conversion'}, 'value': {'type': 'string', 'description': 'The amount to convert: whole satoshis for sats_to_btc, or a BTC amount for btc_to_sats'}}}
Schéma de sortie
{'type': 'object', 'required': ['bits', 'btc', 'display', 'mbtc', 'mode', 'sats', 'source_url', 'summary'], 'properties': {'btc': {'type': 'string'}, 'bits': {'type': 'string'}, 'mbtc': {'type': 'string'}, 'mode': {'type': 'string'}, 'sats': {'type': 'string'}, 'display': {'type': 'object'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'monthly'}}}, 'then': {'required': ['years']}}, {'if': {'properties': {'mode': {'const': 'time'}}}, 'then': {'required': ['monthly']}}], 'required': ['mode', 'target', 'rate'], 'properties': {'mode': {'enum': ['time', 'monthly'], 'type': 'string', 'description': "'time' finds the time to reach the goal; 'monthly' finds the monthly saving needed"}, 'rate': {'type': 'number', 'minimum': 0, 'description': 'Annual interest rate as a percentage'}, 'start': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Starting balance in GBP (default 0)'}, 'years': {'type': 'number', 'description': 'Monthly mode: number of years to reach the goal', 'exclusiveMinimum': 0}, 'target': {'type': 'number', 'description': 'Savings target in GBP (greater than zero)', 'exclusiveMinimum': 0}, 'monthly': {'type': 'number', 'minimum': 0, 'description': 'Time mode: monthly deposit in GBP'}}}
Schéma de sortie
{'type': 'object', 'required': ['finalBalance', 'interest', 'mode', 'months', 'rate', 'source_url', 'start', 'summary', 'target', 'totalPaidIn'], 'properties': {'mode': {'type': 'string'}, 'rate': {'type': 'number'}, 'start': {'type': 'number'}, 'months': {'type': 'number'}, 'target': {'type': 'number'}, 'monthly': {'type': 'number'}, 'summary': {'type': 'string'}, 'interest': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'timeToReach': {'type': 'string'}, 'totalPaidIn': {'type': 'number'}, 'finalBalance': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'type': {'const': 'faq'}}}, 'then': {'required': ['faqs']}}, {'if': {'properties': {'type': {'const': 'article'}}}, 'then': {'required': ['headline']}}, {'if': {'properties': {'type': {'const': 'local'}}}, 'then': {'required': ['name']}}, {'if': {'properties': {'type': {'const': 'breadcrumb'}}}, 'then': {'required': ['items']}}], 'required': ['type'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "For type 'local': website URL"}, 'faqs': {'type': 'array', 'items': {'type': 'object', 'properties': {'a': {'type': 'string', 'description': 'Answer'}, 'q': {'type': 'string', 'description': 'Question'}}}, 'description': "For type 'faq': questions and answers"}, 'name': {'type': 'string', 'description': "For type 'local': business name"}, 'town': {'type': 'string', 'description': "For type 'local': town or locality"}, 'type': {'enum': ['faq', 'article', 'local', 'breadcrumb'], 'type': 'string', 'description': 'The schema type to build'}, 'hours': {'type': 'string', 'description': "For type 'local': opening hours"}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Page URL'}, 'name': {'type': 'string', 'description': 'Page name'}}}, 'description': "For type 'breadcrumb': ordered pages"}, 'phone': {'type': 'string', 'description': "For type 'local': telephone"}, 'author': {'type': 'string', 'description': "For type 'article': author name"}, 'street': {'type': 'string', 'description': "For type 'local': street address"}, 'headline': {'type': 'string', 'description': "For type 'article': the headline"}, 'modified': {'type': 'string', 'description': "For type 'article': date modified"}, 'postcode': {'type': 'string', 'description': "For type 'local': postal code"}, 'published': {'type': 'string', 'description': "For type 'article': date published"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'html': {'type': 'string'}, 'type': {'type': 'string'}, 'jsonLd': {'type': 'object'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['expression'], 'properties': {'angleMode': {'enum': ['deg', 'rad'], 'type': 'string', 'default': 'deg', 'description': "Angle units for trigonometry: 'deg' (default) or 'rad'"}, 'expression': {'type': 'string', 'minLength': 1, 'description': "The maths expression, e.g. '2 + 3 * 4', 'sin(30)', 'sqrt(2)^2', '5!'"}}}
Schéma de sortie
{'type': 'object', 'required': ['angleMode', 'expression', 'formatted', 'result', 'source_url', 'summary'], 'properties': {'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'angleMode': {'type': 'string'}, 'formatted': {'type': 'string'}, 'expression': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['names'], 'properties': {'names': {'type': 'array', 'minItems': 2, 'description': 'The list of participant names (at least two, no duplicates)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'pairs': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'sex': {'const': 'men'}}}, 'then': {'properties': {'ukSize': {'maximum': 13, 'minimum': 5}}}}, {'if': {'properties': {'sex': {'const': 'women'}}}, 'then': {'properties': {'ukSize': {'maximum': 9, 'minimum': 2}}}}], 'required': ['ukSize', 'sex'], 'properties': {'sex': {'enum': ['men', 'women'], 'type': 'string', 'description': 'Which sizing chart to use'}, 'ukSize': {'type': 'number', 'maximum': 13, 'minimum': 2, 'multipleOf': 0.5, 'description': 'UK shoe size (whole or half, e.g. 8 or 8.5)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'eu': {'type': 'number'}, 'uk': {'type': 'number'}, 'us': {'type': 'number'}, 'sex': {'type': 'string'}, 'note': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['mode', 'time'], 'properties': {'mode': {'enum': ['wake', 'bedtime'], 'type': 'string', 'description': "'wake' to find bedtimes from a wake time, or 'bedtime' to find wake times from a bedtime"}, 'time': {'type': 'string', 'format': 'time', 'description': "The known time as 'HH:MM' (24-hour): the wake time for mode 'wake', or the bedtime for mode 'bedtime'"}}}
Schéma de sortie
{'type': 'object', 'required': ['mode', 'options', 'source_url', 'summary', 'time'], 'properties': {'mode': {'type': 'string'}, 'time': {'type': 'string'}, 'options': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'maxItems': 100, 'minItems': 2, 'description': 'The list of names or options on the reel (at least two)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'index': {'type': 'number'}, 'winner': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'minLength': 1, 'description': 'The title or text to slugify'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'slug': {'type': 'string'}, 'length': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to convert'}, 'style': {'enum': ['superscript', 'smallcaps', 'fullwidth'], 'type': 'string', 'default': 'superscript', 'description': 'Which style to apply (default superscript)'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'source_url', 'style', 'summary'], 'properties': {'style': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'group': {'enum': ['arrows', 'stars', 'maths', 'currency', 'punctuation', 'legal', 'accents'], 'type': 'string', 'description': 'Optional: return only this group. Omit to return every group.'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'group': {'type': 'string'}, 'summary': {'type': 'string'}, 'characters': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['mph', 'kmh', 'ms', 'kn', 'mach'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['mph', 'kmh', 'ms', 'kn', 'mach'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The speed value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['from', 'result', 'source_url', 'summary', 'to', 'value'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['players'], 'properties': {'players': {'type': 'array', 'maxItems': 20, 'minItems': 2, 'description': 'The list of players in the circle (at least two)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'index': {'type': 'number'}, 'chosen': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['sql'], 'properties': {'sql': {'type': 'string', 'minLength': 1, 'description': 'The SQL query to format'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'summary': {'type': 'string'}, 'formatted': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['principal', 'rate', 'years'], 'properties': {'rate': {'type': 'number', 'maximum': 1000, 'minimum': 0, 'description': 'Quoted rate as a percentage (0 to 1000)'}, 'years': {'type': 'number', 'maximum': 100, 'description': 'Term in years (above 0, up to 100)', 'exclusiveMinimum': 0}, 'rateType': {'enum': ['apr', 'apy'], 'type': 'string', 'default': 'apr', 'description': 'Whether the rate is APR (needs compounding) or APY (default apr)'}, 'principal': {'type': 'number', 'description': 'Amount staked', 'exclusiveMinimum': 0}, 'compounding': {'enum': ['daily', 'monthly'], 'type': 'string', 'default': 'daily', 'description': 'Compounding frequency for APR (default daily)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'note': {'type': 'string'}, 'rewards': {'type': 'number'}, 'summary': {'type': 'string'}, 'rateType': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'compounding': {'type': ['string', 'null']}, 'finalBalance': {'type': 'number'}, 'rewardsString': {'type': 'string'}, 'finalBalanceString': {'type': 'string'}, 'effectiveApyPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['price', 'buyer'], 'properties': {'buyer': {'enum': ['ftb', 'home', 'additional'], 'type': 'string', 'description': "'ftb' first-time buyer, 'home' moving home, 'additional' second home or buy-to-let"}, 'price': {'type': 'number', 'maximum': 100000000, 'description': 'Property purchase price in GBP', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['breakdown', 'buyer', 'effectiveRatePercent', 'price', 'source_url', 'stampDuty', 'summary'], 'properties': {'buyer': {'type': 'string'}, 'price': {'type': 'number'}, 'summary': {'type': 'string'}, 'breakdown': {'type': 'array'}, 'stampDuty': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'effectiveRatePercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['numbers'], 'properties': {'numbers': {'type': 'string', 'minLength': 1, 'description': 'A list of numbers separated by spaces, commas, semicolons or new lines'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'mean', 'populationStandardDeviation', 'populationVariance', 'sampleStandardDeviation', 'sampleVariance', 'source_url', 'summary'], 'properties': {'mean': {'type': 'number'}, 'count': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'sampleVariance': {'type': ['number', 'null']}, 'populationVariance': {'type': 'number'}, 'sampleStandardDeviation': {'type': ['number', 'null']}, 'populationStandardDeviation': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Date of birth in YYYY-MM-DD format'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'date': {'type': 'string'}, 'sign': {'type': 'string'}, 'range': {'type': 'string'}, 'symbol': {'type': 'string'}, 'element': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['salary', 'plan'], 'properties': {'plan': {'enum': ['p1', 'p2', 'p4', 'p5', 'pg'], 'type': 'string', 'description': 'Repayment plan'}, 'salary': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Annual salary in GBP'}, 'addPostgraduate': {'type': 'boolean', 'default': False, 'description': 'Add a Postgraduate Loan on top of an undergraduate plan (ignored when plan is pg; default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['addPostgraduate', 'plan', 'postgraduatePart', 'repaymentPerMonth', 'repaymentPerYear', 'salary', 'source_url', 'summary', 'undergraduatePart'], 'properties': {'plan': {'type': 'string'}, 'salary': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'addPostgraduate': {'type': 'boolean'}, 'postgraduatePart': {'type': 'number'}, 'repaymentPerYear': {'type': 'number'}, 'repaymentPerMonth': {'type': 'number'}, 'undergraduatePart': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['salary'], 'properties': {'salary': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Annual gross salary in GBP'}}}
Schéma de sortie
{'type': 'object', 'required': ['incomeTax', 'nationalInsurance', 'salary', 'source_url', 'summary', 'takeHomePerMonth', 'takeHomePerWeek', 'takeHomePerYear'], 'properties': {'salary': {'type': 'number'}, 'summary': {'type': 'string'}, 'incomeTax': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'takeHomePerWeek': {'type': 'number'}, 'takeHomePerYear': {'type': 'number'}, 'takeHomePerMonth': {'type': 'number'}, 'nationalInsurance': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['spread'], 'properties': {'spread': {'enum': ['daily', 'past-present-future', 'situation', 'decision', 'relationship', 'career', 'celtic'], 'type': 'string', 'description': 'Which spread to draw'}, 'reversed': {'type': 'boolean', 'description': 'Allow reversed cards (default true)'}}}
Schéma de sortie
{'type': 'object', 'required': ['majorCount', 'positions', 'reversedCount', 'source_url', 'spread', 'spreadName', 'summary'], 'properties': {'spread': {'type': 'string'}, 'summary': {'type': 'string'}, 'positions': {'type': 'array'}, 'majorCount': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'spreadName': {'type': 'string'}, 'reversedCount': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'units': {'const': 'metric'}}}, 'then': {'required': ['heightCm', 'weightKg']}}, {'if': {'properties': {'units': {'const': 'imperial'}}}, 'then': {'required': ['heightInches', 'weightPounds']}}], 'required': ['sex', 'age', 'units'], 'properties': {'age': {'type': 'number', 'maximum': 120, 'description': 'Age in years', 'exclusiveMinimum': 0}, 'sex': {'enum': ['male', 'female'], 'type': 'string', 'description': 'Biological sex'}, 'units': {'enum': ['metric', 'imperial'], 'type': 'string', 'description': "'metric' (cm, kg) or 'imperial' (inches, pounds)"}, 'activity': {'enum': ['sedentary', 'light', 'moderate', 'active', 'very_active'], 'type': 'string', 'default': 'moderate', 'description': "Activity level, default 'moderate'"}, 'heightCm': {'type': 'number', 'maximum': 260, 'minimum': 50, 'description': 'Height in centimetres (metric)'}, 'weightKg': {'type': 'number', 'maximum': 500, 'description': 'Weight in kilograms (metric)', 'exclusiveMinimum': 0}, 'heightInches': {'type': 'number', 'description': 'Total height in inches (imperial)', 'exclusiveMinimum': 0}, 'weightPounds': {'type': 'number', 'description': 'Weight in pounds (imperial)', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['activity', 'activityFactor', 'age', 'bmr', 'gain', 'loss', 'mildLoss', 'sex', 'source_url', 'summary', 'tdee'], 'properties': {'age': {'type': 'number'}, 'bmr': {'type': 'number'}, 'sex': {'type': 'string'}, 'gain': {'type': 'number'}, 'loss': {'type': 'number'}, 'tdee': {'type': 'number'}, 'summary': {'type': 'string'}, 'activity': {'type': 'string'}, 'mildLoss': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'activityFactor': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {'mode': {'enum': ['generate', 'validate'], 'type': 'string', 'default': 'generate', 'description': 'Generate test numbers, or validate a supplied number (default generate)'}, 'brand': {'enum': ['visa', 'mastercard', 'amex', 'discover'], 'type': 'string', 'default': 'visa', 'description': 'Card brand to generate (default visa)'}, 'count': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'How many numbers to generate, 1 to 50 (default 10)'}, 'number': {'type': 'string', 'description': 'For validate mode: the card number to check (spaces and dashes are ignored)'}}}
Schéma de sortie
{'type': 'object', 'required': ['brand', 'mode', 'note', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'note': {'type': 'string'}, 'brand': {'type': 'string'}, 'count': {'type': 'number'}, 'numbers': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text', 'count'], 'properties': {'text': {'type': 'string', 'description': 'The text to repeat'}, 'count': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'How many times to repeat it (1 to 10000)'}, 'numbering': {'type': 'boolean', 'default': False, 'description': "Prefix each repeat with a number, e.g. '1. ' (default false)"}, 'separator': {'enum': ['none', 'space', 'newline', 'comma', 'custom'], 'type': 'string', 'default': 'none', 'description': 'How to join the repeats (default none)'}, 'customSeparator': {'type': 'string', 'description': "The separator string to use when separator is 'custom'"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'lines': {'type': 'number'}, 'capped': {'type': 'boolean'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'characters': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'mode': {'const': 'delimiter'}}}, 'then': {'required': ['delimiter']}}], 'required': ['text'], 'properties': {'mode': {'enum': ['length', 'delimiter'], 'type': 'string', 'default': 'length', 'description': "'length' splits by character size (default), 'delimiter' splits at a delimiter"}, 'size': {'type': 'integer', 'default': 280, 'minimum': 10, 'description': 'Maximum characters per block for length mode (at least 10, default 280)'}, 'text': {'type': 'string', 'description': 'The text to split'}, 'numbered': {'type': 'boolean', 'default': False, 'description': "Add ' n/total' numbering to each block in length mode (default false)"}, 'delimiter': {'type': 'string', 'minLength': 1, 'description': 'The delimiter for delimiter mode; \\n and \\t are interpreted as newline and tab'}}}
Schéma de sortie
{'type': 'object', 'required': ['blocks', 'count', 'mode', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'count': {'type': 'number'}, 'blocks': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'hours1': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Hours of the first duration (default 0)'}, 'hours2': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Hours of the second duration (default 0)'}, 'minutes1': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Minutes of the first duration (default 0)'}, 'minutes2': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Minutes of the second duration (default 0)'}, 'operation': {'enum': ['add', 'subtract'], 'type': 'string', 'default': 'add', 'description': "Add or subtract the second duration from the first (default 'add')"}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'clock': {'type': 'string'}, 'summary': {'type': 'string'}, 'operation': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'decimalHours': {'type': 'number'}, 'totalMinutes': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['date', 'time', 'fromZone', 'toZone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'The date in the source zone, YYYY-MM-DD format'}, 'time': {'type': 'string', 'format': 'time', 'description': 'The time in the source zone, 24-hour HH:MM format'}, 'toZone': {'enum': ['UTC', 'Europe/London', 'Europe/Paris', 'Europe/Berlin', 'Europe/Madrid', 'Europe/Athens', 'Europe/Moscow', 'Asia/Dubai', 'Asia/Kolkata', 'Asia/Bangkok', 'Asia/Singapore', 'Asia/Hong_Kong', 'Asia/Shanghai', 'Asia/Tokyo', 'Australia/Sydney', 'Pacific/Auckland', 'America/New_York', 'America/Chicago', 'America/Denver', 'America/Los_Angeles', 'America/Sao_Paulo'], 'type': 'string', 'description': 'Target IANA time zone, e.g. America/New_York'}, 'fromZone': {'enum': ['UTC', 'Europe/London', 'Europe/Paris', 'Europe/Berlin', 'Europe/Madrid', 'Europe/Athens', 'Europe/Moscow', 'Asia/Dubai', 'Asia/Kolkata', 'Asia/Bangkok', 'Asia/Singapore', 'Asia/Hong_Kong', 'Asia/Shanghai', 'Asia/Tokyo', 'Australia/Sydney', 'Pacific/Auckland', 'America/New_York', 'America/Chicago', 'America/Denver', 'America/Los_Angeles', 'America/Sao_Paulo'], 'type': 'string', 'description': 'Source IANA time zone, e.g. Europe/London'}}}
Schéma de sortie
{'type': 'object', 'required': ['dayDifference', 'dayNote', 'fromOffset', 'fromZone', 'onDstGap', 'result', 'resultLong', 'source_url', 'summary', 'toOffset', 'toZone'], 'properties': {'result': {'type': 'string'}, 'toZone': {'type': 'string'}, 'dayNote': {'type': 'string'}, 'summary': {'type': 'string'}, 'fromZone': {'type': 'string'}, 'onDstGap': {'type': 'boolean'}, 'toOffset': {'type': 'string'}, 'fromOffset': {'type': 'string'}, 'resultLong': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'dayDifference': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['bill'], 'properties': {'bill': {'type': 'number', 'description': 'The bill amount before tip'}, 'split': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Number of people to split between (default 1)'}, 'tipPercent': {'type': 'number', 'default': 12.5, 'minimum': 0, 'description': 'Tip as a percentage (default 12.5)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'tip': {'type': 'number'}, 'bill': {'type': 'number'}, 'split': {'type': 'number'}, 'total': {'type': 'number'}, 'summary': {'type': 'string'}, 'perPerson': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'tipPercent': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'a': {'type': 'number', 'description': 'Side a, the opposite (greater than 0)', 'exclusiveMinimum': 0}, 'b': {'type': 'number', 'description': 'Side b, the adjacent (greater than 0)', 'exclusiveMinimum': 0}, 'c': {'type': 'number', 'description': 'Side c, the hypotenuse (greater than 0, must be the longest side)', 'exclusiveMinimum': 0}, 'angleA': {'type': 'number', 'description': 'Angle A in degrees, strictly between 0 and 90', 'exclusiveMaximum': 90, 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', 'required': ['a', 'angleA', 'angleB', 'area', 'b', 'c', 'method', 'perimeter', 'source_url', 'summary'], 'properties': {'a': {'type': 'number'}, 'b': {'type': 'number'}, 'c': {'type': 'number'}, 'area': {'type': 'number'}, 'angleA': {'type': 'number'}, 'angleB': {'type': 'number'}, 'method': {'type': 'string'}, 'summary': {'type': 'string'}, 'perimeter': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'a': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of A grades (0 to 20)'}, 'b': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of B grades (0 to 20)'}, 'c': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of C grades (0 to 20)'}, 'd': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of D grades (0 to 20)'}, 'e': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of E grades (0 to 20)'}, 'aStar': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Number of A* grades (0 to 20)'}}}
Schéma de sortie
{'type': 'object', 'required': ['gradesCounted', 'source_url', 'summary', 'totalPoints'], 'properties': {'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'totalPoints': {'type': 'number'}, 'gradesCounted': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to inspect'}}}
Schéma de sortie
{'type': 'object', 'required': ['characters', 'codePoints', 'source_url', 'summary', 'utf16Length', 'utf8Bytes'], 'properties': {'summary': {'type': 'string'}, 'utf8Bytes': {'type': 'number'}, 'characters': {'type': 'array'}, 'codePoints': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'utf16Length': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['price', 'quantity', 'unit'], 'properties': {'unit': {'enum': ['g', 'kg', 'ml', 'l', 'each'], 'type': 'string', 'description': 'Unit of the quantity'}, 'price': {'type': 'number', 'minimum': 0, 'description': 'Price in GBP'}, 'quantity': {'type': 'number', 'description': 'Quantity in the chosen unit (greater than zero)', 'exclusiveMinimum': 0}}}, 'minItems': 2, 'description': 'The items to compare (at least two)'}}}
Schéma de sortie
{'type': 'object', 'required': ['bestItem', 'bestUnitPrice', 'items', 'mixedUnits', 'source_url', 'summary'], 'properties': {'items': {'type': 'array'}, 'summary': {'type': 'string'}, 'bestItem': {'type': 'number'}, 'mixedUnits': {'type': 'boolean'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'bestUnitPrice': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'anyOf': [{'required': ['timestamp']}, {'required': ['date']}], 'required': [], 'properties': {'date': {'type': 'string', 'description': 'A date as YYYY-MM-DD. Provide this to convert a date to a timestamp.'}, 'time': {'type': 'string', 'description': "Optional time as HH:MM:SS to accompany 'date' (default 00:00:00), in local time."}, 'timestamp': {'type': 'string', 'description': 'A Unix timestamp in seconds or milliseconds (may be negative). Provide this to convert a timestamp to a date.'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'iso': {'type': 'string'}, 'utc': {'type': 'string'}, 'unit': {'type': 'string'}, 'local': {'type': 'string'}, 'summary': {'type': 'string'}, 'relative': {'type': 'string'}, 'direction': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to flip upside down'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'mode': {'enum': ['component', 'uri'], 'type': 'string', 'default': 'component', 'description': "'component' for a single value, 'uri' for a whole URL (default 'component')"}, 'text': {'type': 'string', 'minLength': 1, 'description': 'The text or URL to encode or decode'}, 'action': {'enum': ['encode', 'decode'], 'type': 'string', 'default': 'encode', 'description': "Whether to encode or decode (default 'encode')"}}}
Schéma de sortie
{'type': 'object', 'required': ['action', 'mode', 'result', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'action': {'type': 'string'}, 'result': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'minLength': 1, 'description': 'The URL to parse'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'host': {'type': 'string'}, 'path': {'type': 'string'}, 'port': {'type': 'string'}, 'origin': {'type': 'string'}, 'params': {'type': 'array'}, 'summary': {'type': 'string'}, 'fragment': {'type': 'string'}, 'protocol': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'portIsDefault': {'type': 'boolean'}, 'schemeAssumed': {'type': 'boolean'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['ua'], 'properties': {'ua': {'type': 'string', 'minLength': 1, 'description': 'The user agent string to parse'}}}
Schéma de sortie
{'type': 'object', 'required': ['bot', 'browser', 'device', 'engine', 'os', 'source_url', 'summary'], 'properties': {'os': {'type': 'string'}, 'bot': {'type': 'boolean'}, 'device': {'type': 'string'}, 'engine': {'type': 'string'}, 'browser': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'count': {'type': 'integer', 'default': 6, 'maximum': 50, 'minimum': 1, 'description': 'How many usernames to generate, 1 to 50 (default 6)'}, 'addNumbers': {'type': 'boolean', 'default': False, 'description': 'Append a two-digit number to each name (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary', 'usernames'], 'properties': {'summary': {'type': 'string'}, 'usernames': {'type': 'array'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'minLength': 1, 'description': 'The base URL to tag (https:// assumed if no scheme given)'}, 'utm_term': {'type': 'string', 'description': 'Paid keyword term (optional)'}, 'utm_medium': {'type': 'string', 'description': 'The marketing medium, e.g. email'}, 'utm_source': {'type': 'string', 'description': 'Where the traffic comes from, e.g. newsletter'}, 'utm_content': {'type': 'string', 'description': 'Content variant, e.g. button vs text link (optional)'}, 'utm_campaign': {'type': 'string', 'description': 'The campaign name'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'url': {'type': 'string'}, 'notes': {'type': 'array'}, 'summary': {'type': 'string'}, 'warning': {'type': ['string', 'null']}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'count': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'How many UUIDs to generate, 1 to 100 (default 1)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'count': {'type': 'number'}, 'uuids': {'type': 'array'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['amount', 'mode'], 'properties': {'mode': {'enum': ['add', 'remove'], 'type': 'string', 'description': "'add' VAT to a net amount, or 'remove' VAT from a gross amount"}, 'rate': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 0, 'description': 'VAT rate as a percentage (default 20)'}, 'amount': {'type': 'number', 'description': 'The money amount'}}}
Schéma de sortie
{'type': 'object', 'required': ['gross', 'mode', 'net', 'rate', 'source_url', 'summary', 'vat'], 'properties': {'net': {'type': 'number'}, 'vat': {'type': 'number'}, 'mode': {'type': 'string'}, 'rate': {'type': 'number'}, 'gross': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['key', 'text'], 'properties': {'key': {'type': 'string', 'description': 'The keyword (only its A to Z letters are used)'}, 'mode': {'enum': ['encode', 'decode'], 'type': 'string', 'default': 'encode', 'description': "'encode' to apply the cipher, 'decode' to reverse it (default encode)"}, 'text': {'type': 'string', 'description': 'The text to transform'}}}
Schéma de sortie
{'type': 'object', 'required': ['output', 'source_url', 'summary'], 'properties': {'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['ml', 'l', 'ukpt', 'ukgal', 'usgal', 'ukfloz', 'usfloz', 'm3'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['ml', 'l', 'ukpt', 'ukgal', 'usgal', 'ukfloz', 'usfloz', 'm3'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The volume value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'allOf': [{'if': {'properties': {'units': {'const': 'metric'}}}, 'then': {'required': ['weightKg']}}], 'required': ['units'], 'properties': {'hot': {'type': 'boolean', 'default': False, 'description': 'Add 500 ml for hot conditions. Default false'}, 'units': {'enum': ['metric', 'imperial'], 'type': 'string', 'description': "'metric' (kg) or 'imperial' (stone and pounds)"}, 'activity': {'enum': ['sedentary', 'light', 'moderate', 'active', 'very_active'], 'type': 'string', 'default': 'sedentary', 'description': "Activity level, default 'sedentary'"}, 'weightKg': {'type': 'number', 'maximum': 500, 'description': 'Weight in kilograms (metric)', 'exclusiveMinimum': 0}, 'weightStone': {'type': 'number', 'minimum': 0, 'description': 'Whole stone part of weight (imperial)'}, 'weightPounds': {'type': 'number', 'minimum': 0, 'description': 'Pounds part of weight (imperial)'}}}
Schéma de sortie
{'type': 'object', 'required': ['highGlasses', 'highLitres', 'highMl', 'lowGlasses', 'lowLitres', 'lowMl', 'source_url', 'summary', 'units'], 'properties': {'lowMl': {'type': 'number'}, 'units': {'type': 'string'}, 'highMl': {'type': 'number'}, 'summary': {'type': 'string'}, 'lowLitres': {'type': 'number'}, 'highLitres': {'type': 'number'}, 'lowGlasses': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'highGlasses': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Optional date in YYYY-MM-DD format (defaults to today)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'date': {'type': 'string'}, 'week': {'type': 'number'}, 'isoYear': {'type': 'number'}, 'summary': {'type': 'string'}, 'weekEnd': {'type': 'string'}, 'weekStart': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['value', 'from', 'to'], 'properties': {'to': {'enum': ['g', 'kg', 'oz', 'lb', 'st'], 'type': 'string', 'description': 'Unit to convert to'}, 'from': {'enum': ['g', 'kg', 'oz', 'lb', 'st'], 'type': 'string', 'description': 'Unit to convert from'}, 'value': {'type': 'number', 'minimum': 0, 'description': 'The weight value to convert'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'maxItems': 100, 'minItems': 2, 'description': 'The list of names or options on the wheel (at least two)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'index': {'type': 'number'}, 'winner': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to analyse'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'words': {'type': 'number'}, 'summary': {'type': 'string'}, 'sentences': {'type': 'number'}, 'characters': {'type': 'number'}, 'paragraphs': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'readingTime': {'type': 'string'}, 'charactersNoSpaces': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to analyse'}, 'ignoreStopwords': {'type': 'boolean', 'default': False, 'description': 'Ignore common words such as the, and, of, to (default false)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'top': {'type': 'array'}, 'total': {'type': 'number'}, 'unique': {'type': 'number'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'format': 'date', 'description': 'End date in YYYY-MM-DD format'}, 'from': {'type': 'string', 'format': 'date', 'description': 'Start date in YYYY-MM-DD format'}, 'bankHolidays': {'type': 'boolean', 'default': True, 'description': 'Exclude England and Wales bank holidays as well as weekends (default true)'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'summary': {'type': 'string'}, 'swapped': {'type': 'boolean'}, 'complete': {'type': 'boolean'}, 'warnings': {'type': 'array'}, 'totalDays': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'weekendDays': {'type': 'number'}, 'workingDays': {'type': 'number'}, 'bankHolidays': {'type': 'boolean'}, 'holidayCoverage': {'type': 'object'}, 'bankHolidaysExcluded': {'type': 'number'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['mode'], 'properties': {'mode': {'enum': ['would-you-rather', 'icebreaker', 'this-or-that'], 'type': 'string', 'description': 'Which list to draw from'}, 'count': {'type': 'integer', 'default': 1, 'maximum': 20, 'minimum': 1, 'description': 'How many to draw, 1 to 20 (default 1)'}, 'category': {'type': 'string', 'description': 'Optional category filter (would-you-rather: silly, food, travel, work, deep, kids; icebreaker: work, party, deep, kids). Omit for all.'}}}
Schéma de sortie
{'type': 'object', 'required': ['category', 'count', 'items', 'mode', 'poolSize', 'source_url', 'summary'], 'properties': {'mode': {'type': 'string'}, 'count': {'type': 'number'}, 'items': {'type': 'array'}, 'summary': {'type': 'string'}, 'category': {'type': 'string'}, 'poolSize': {'type': 'number'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'allowMaybe': {'type': 'boolean', 'default': False, 'description': "Include 'maybe' as a possible answer (default false)"}}}
Schéma de sortie
{'type': 'object', 'required': ['answer', 'source_url', 'summary'], 'properties': {'answer': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['mode'], 'properties': {'mode': {'enum': ['hide', 'reveal', 'clean'], 'type': 'string', 'description': 'hide, reveal or clean'}, 'text': {'type': 'string', 'description': 'Reveal and clean modes: the text to inspect'}, 'cover': {'type': 'string', 'description': 'Hide mode: the visible cover text that carries the message'}, 'secret': {'type': 'string', 'description': 'Hide mode: the message to hide'}, 'spread': {'type': 'boolean', 'description': 'Hide mode: distribute the invisible run evenly between words instead of placing it after the first word'}}}
Schéma de sortie
{'type': 'object', 'required': ['source_url', 'summary'], 'properties': {'output': {'type': 'string'}, 'summary': {'type': 'string'}, 'source_url': {'type': 'string', 'description': "The tool's page on hopi.co.uk (cite or open to check the figure)"}, 'invisibleCount': {'type': 'number'}}, 'additionalProperties': True}
Modifications récentes des outils
Serveurs MCP similaires
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Calcgrid
Runs general-purpose calculators for loans, dates, lunar and solar terms, time zones, units, and a larger catalog of specialized …
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…
John's Essentials
Analyzes and converts documents, images, audio, video, archives, data files, and other media formats, with PDF chat and file insp…
Dayze — Life Context
Provides authenticated personal life-context data and tools for contacts, memories, events, expenses, trips, assets, places, and …
calculators
Offers calculation tools for investing, lending, business economics, ecommerce profitability, employment, health, vehicles, const…