# SmartTools (remote · smart-tools.xyz)

70+ free calculators & converters as MCP tools; each result links to its source page.

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- remote · `smart-tools.xyz`: 66/100 (this document), [markdown](https://verifymcp.io/servers/9thshini-smart-tools/smart-tools.md), [page](https://verifymcp.io/servers/9thshini-smart-tools/smart-tools)

## Channel facts

- Endpoint: `https://smart-tools.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 73 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 80/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 8000 tokens (~109/item across 73 items; 73 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http 9thshini-smart-tools https://smart-tools.xyz/mcp
```

### Codex

```toml
[mcp_servers.9thshini-smart-tools]
url = "https://smart-tools.xyz/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "9thshini-smart-tools": {
      "type": "remote",
      "url": "https://smart-tools.xyz/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add 9thshini-smart-tools --url https://smart-tools.xyz/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  9thshini-smart-tools:
    url: "https://smart-tools.xyz/mcp"
```

### Other

```json
{
  "mcpServers": {
    "9thshini-smart-tools": {
      "type": "http",
      "url": "https://smart-tools.xyz/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-19 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-17 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-16 (score 64, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-15 (score 64)

First indexed and scored.

## MCP tools (73)

### `length_converter` (~132 tokens)

Length converter

Convert a value between length units. Units: km (Kilometer), m (Meter), cm (Centimeter), mm (Millimeter), µm (Micrometer), mi (Mile), yd (Yard), ft (Foot), in (Inch), nmi (Nautical mile). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `weight_converter` (~113 tokens)

Weight converter

Convert a value between weight units. Units: t (Tonne), kg (Kilogram), g (Gram), mg (Milligram), lb (Pound), oz (Ounce), st (Stone). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `temperature_converter` (~103 tokens)

Temperature converter

Convert a value between temperature units. Units: °C (Celsius), °F (Fahrenheit), K (Kelvin), °R (Rankine). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `area_converter` (~140 tokens)

Area converter

Convert a value between area units. Units: km² (Square kilometer), m² (Square meter), cm² (Square centimeter), mm² (Square millimeter), ha (Hectare), ac (Acre), mi² (Square mile), ft² (Square foot), yd² (Square yard), in² (Square inch). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `volume_converter` (~141 tokens)

Volume converter

Convert a value between volume units. Units: m³ (Cubic meter), L (Liter), mL (Milliliter), gal_us (US gallon), gal_uk (UK gallon), qt (US quart), pt_us (US pint), pt_uk (UK pint), cup (US cup), fl oz (US fluid ounce). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `speed_converter` (~114 tokens)

Speed converter

Convert a value between speed units. Units: m/s (Meter per second), km/h (Kilometer per hour), mph (Mile per hour), ft/s (Foot per second), kn (Knot). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `pressure_converter` (~135 tokens)

Pressure converter

Convert a value between pressure units. Units: Pa (Pascal), kPa (Kilopascal), hPa (Hectopascal), bar (Bar), atm (Atmosphere), psi (Pound per sq inch), mmHg (Millimeter of mercury), inHg (Inch of mercury). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `angle_converter` (~116 tokens)

Angle converter

Convert a value between angle units. Units: ° (Degree), rad (Radian), grad (Gradian), mrad (Milliradian), rev (Turn), ′ (Arcminute), ″ (Arcsecond). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `energy_converter` (~136 tokens)

Energy converter

Convert a value between energy units. Units: J (Joule), kJ (Kilojoule), cal (Calorie), kcal (Kilocalorie), Wh (Watt-hour), kWh (Kilowatt-hour), BTU (British thermal unit), ft·lb (Foot-pound), eV (Electronvolt). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `data_converter` (~142 tokens)

Data converter

Convert a value between data units. Units: bit (Bit), B (Byte), kB (Kilobyte), MB (Megabyte), GB (Gigabyte), TB (Terabyte), KiB (Kibibyte), MiB (Mebibyte), GiB (Gibibyte), TiB (Tebibyte). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `time_converter` (~119 tokens)

Time converter

Convert a value between time units. Units: µs (Microsecond), ms (Millisecond), s (Second), min (Minute), h (Hour), d (Day), wk (Week), mo (Month), yr (Year). Calculation runs on smart-tools.xyz.

Input parameters:

- `from` (string, required): Source unit id
- `locale` (string): Language for source_url (en, de, es, fr, it, nl, uk)
- `to` (string, required): Target unit id
- `value` (number|string, required): Amount to convert

### `loan_calculator` (~83 tokens)

Loan calculator

Monthly payment, total repayment and interest for an amortising loan (annuity formula). Runs on smart-tools.xyz.

Input parameters:

- `annual_rate` (number|string, required): Annual interest rate, percent
- `locale` (string): Language for the source_url link (default en)
- `principal` (number|string, required): Loan amount
- `years` (number|string, required): Term in years

### `mortgage_calculator` (~133 tokens)

Mortgage calculator

Monthly mortgage payment including optional down payment, property tax and insurance (PITI). Runs on smart-tools.xyz.

Input parameters:

- `annual_insurance` (number|string): Annual insurance (default 0)
- `annual_rate` (number|string, required): Annual interest rate, percent
- `annual_tax` (number|string): Annual property tax (default 0)
- `down_payment_pct` (number|string): Down payment, percent (default 0)
- `home_price` (number|string, required): Property price
- `locale` (string): Language for the source_url link (default en)
- `years` (number|string, required): Term in years

### `compound_interest_calculator` (~103 tokens)

Compound interest calculator

Future balance and interest earned: A = P(1 + r/n)^(nt). Runs on smart-tools.xyz.

Input parameters:

- `annual_rate` (number|string, required): Annual rate, percent
- `compounds_per_year` (number|string): Compounding periods per year (default 12)
- `locale` (string): Language for the source_url link (default en)
- `principal` (number|string, required): Starting amount
- `years` (number|string, required): Number of years

### `vat_calculator` (~92 tokens)

VAT calculator

Add VAT to a net amount or remove it from a gross amount. Runs on smart-tools.xyz.

Input parameters:

- `amount` (number|string, required): The amount
- `direction` (string): add: amount is net → gross; remove: amount is gross → net (default add)
- `locale` (string): Language for the source_url link (default en)
- `rate` (number|string, required): VAT rate, percent

### `tip_calculator` (~83 tokens)

Tip calculator

Tip amount, total and per-person split for a bill. Runs on smart-tools.xyz.

Input parameters:

- `bill` (number|string, required): Bill amount
- `locale` (string): Language for the source_url link (default en)
- `people` (number|string): Number of people to split between (default 1)
- `tip_rate` (number|string, required): Tip, percent

### `discount_calculator` (~86 tokens)

Discount calculator

Final price after one or two successive discounts, plus amount saved. Runs on smart-tools.xyz.

Input parameters:

- `discount` (number|string, required): Discount, percent
- `locale` (string): Language for the source_url link (default en)
- `price` (number|string, required): Original price
- `second_discount` (number|string): Optional second discount applied to the already-reduced price, percent

### `percentage_calculator` (~97 tokens)

Percentage calculator

Percentage operations. operation=percent_of: a% of b. operation=is_what_percent: a is what % of b. operation=change: percent change from a to b. Runs on smart-tools.xyz.

Input parameters:

- `a` (number|string, required): First number
- `b` (number|string, required): Second number
- `locale` (string): Language for the source_url link (default en)
- `operation` (string, required): Which calculation

### `salary_calculator` (~105 tokens)

Salary converter

Convert pay between hourly, daily, weekly, biweekly, monthly and annual. Runs on smart-tools.xyz.

Input parameters:

- `amount` (number|string, required): Pay amount
- `hours_per_week` (number|string): Working hours per week (default 40)
- `locale` (string): Language for the source_url link (default en)
- `period` (string, required): Period the amount refers to
- `weeks_per_year` (number|string): Paid weeks per year (default 52)

### `margin_calculator` (~72 tokens)

Margin calculator

Profit, margin (share of price) and markup (share of cost) from cost and selling price. Runs on smart-tools.xyz.

Input parameters:

- `cost` (number|string, required): Cost price
- `locale` (string): Language for the source_url link (default en)
- `price` (number|string, required): Selling price

### `unit_price_calculator` (~97 tokens)

Unit price comparison

Compare price per unit of two packs and report which is cheaper. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `price_a` (number|string, required): Price of pack A
- `price_b` (number|string, required): Price of pack B
- `quantity_a` (number|string, required): Quantity in pack A
- `quantity_b` (number|string, required): Quantity in pack B

### `fuel_cost_calculator` (~119 tokens)

Fuel cost calculator

Fuel needed and trip cost. system=metric: distance km, consumption L/100km. system=imperial: distance miles, consumption mpg. Runs on smart-tools.xyz.

Input parameters:

- `consumption` (number|string, required): L/100km (metric) or mpg (imperial)
- `distance` (number|string, required): Trip distance
- `fuel_price` (number|string, required): Price per litre or per gallon
- `locale` (string): Language for the source_url link (default en)
- `system` (string): Unit system (default metric)

### `electricity_cost_calculator` (~92 tokens)

Electricity cost calculator

Running cost of an appliance per day, month and year from its wattage. Runs on smart-tools.xyz.

Input parameters:

- `hours_per_day` (number|string, required): Hours used per day
- `locale` (string): Language for the source_url link (default en)
- `power_watts` (number|string, required): Power draw in watts
- `price_per_kwh` (number|string, required): Electricity price per kWh

### `bmi_calculator` (~152 tokens)

BMI calculator

Body Mass Index and category. system=metric: weight_kg, height_cm. system=imperial: weight_lb, height_ft (+height_in). Runs on smart-tools.xyz.

Input parameters:

- `height_cm` (number|string): Height in cm (metric)
- `height_ft` (number|string): Height feet part (imperial)
- `height_in` (number|string): Height inches part (imperial, default 0)
- `locale` (string): Language for the source_url link (default en)
- `system` (string): Unit system (default metric)
- `weight_kg` (number|string): Weight in kg (metric)
- `weight_lb` (number|string): Weight in lb (imperial)

### `bmr_calculator` (~151 tokens)

BMR / TDEE calculator

Basal metabolic rate (Mifflin–St Jeor) and daily calories (TDEE = BMR × activity). Runs on smart-tools.xyz.

Input parameters:

- `activity` (number|string): Activity multiplier: 1.2 sedentary, 1.375 light, 1.55 moderate, 1.725 active, 1.9 very active (default 1.2)
- `age` (number|string, required): Age in years
- `height_cm` (number|string, required): Height in cm
- `locale` (string): Language for the source_url link (default en)
- `sex` (string, required): Biological sex
- `weight_kg` (number|string, required): Weight in kg

### `body_fat_calculator` (~127 tokens)

Body fat calculator

Body fat percentage by the US Navy (Hodgdon–Beckett) method, metric measurements in cm. Females require hip_cm. Runs on smart-tools.xyz.

Input parameters:

- `height_cm` (number|string, required): Height in cm
- `hip_cm` (number|string): Hip circumference in cm (required for female)
- `locale` (string): Language for the source_url link (default en)
- `neck_cm` (number|string, required): Neck circumference in cm
- `sex` (string, required): Biological sex
- `waist_cm` (number|string, required): Waist circumference in cm

### `ideal_weight_calculator` (~85 tokens)

Ideal weight calculator

Healthy weight range (BMI 18.5–24.9) plus Devine, Robinson, Miller and Hamwi formula estimates, from height in cm. Runs on smart-tools.xyz.

Input parameters:

- `height_cm` (number|string, required): Height in cm
- `locale` (string): Language for the source_url link (default en)
- `sex` (string, required): Biological sex

### `due_date_calculator` (~89 tokens)

Due date calculator

Estimated due date by Naegele's rule (+280 days from last period, adjusted for cycle length). Runs on smart-tools.xyz.

Input parameters:

- `cycle_length` (number|string): Average cycle length in days (default 28)
- `last_period` (string, required): First day of last menstrual period, YYYY-MM-DD
- `locale` (string): Language for the source_url link (default en)

### `age_calculator` (~85 tokens)

Age calculator

Exact age in years, months and days between a birth date and a reference date (default: today). Runs on smart-tools.xyz.

Input parameters:

- `at_date` (string): Reference date, YYYY-MM-DD (default: today)
- `birth_date` (string, required): Date of birth, YYYY-MM-DD
- `locale` (string): Language for the source_url link (default en)

### `date_difference_calculator` (~80 tokens)

Date difference calculator

Difference between two dates: calendar years/months/days, total days, weeks and weekday count. Runs on smart-tools.xyz.

Input parameters:

- `end_date` (string, required): End date, YYYY-MM-DD
- `locale` (string): Language for the source_url link (default en)
- `start_date` (string, required): Start date, YYYY-MM-DD

### `hours_calculator` (~117 tokens)

Hours calculator

Time worked between two clock times (handles overnight), minus a break, with optional pay. Times as HH:MM. Runs on smart-tools.xyz.

Input parameters:

- `break_minutes` (number|string): Unpaid break in minutes (default 0)
- `end` (string, required): End time HH:MM (24h)
- `hourly_rate` (number|string): Optional pay rate per hour
- `locale` (string): Language for the source_url link (default en)
- `start` (string, required): Start time HH:MM (24h)

### `aspect_ratio_calculator` (~102 tokens)

Aspect ratio calculator

Simplify a width×height ratio and scale to a new width or height. Runs on smart-tools.xyz.

Input parameters:

- `height` (number|string, required): Original height
- `locale` (string): Language for the source_url link (default en)
- `new_height` (number|string): Optional: target height → returns matching width
- `new_width` (number|string): Optional: target width → returns matching height
- `width` (number|string, required): Original width

### `standard_deviation_calculator` (~67 tokens)

Standard deviation calculator

Mean, variance and standard deviation (both sample and population) of a list of numbers. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `values` (array, required): The data set (at least 2 numbers)

### `fraction_calculator` (~124 tokens)

Fraction calculator

Exact arithmetic on two fractions (a/b op c/d), reduced to lowest terms. op is one of + - * /. Runs on smart-tools.xyz.

Input parameters:

- `a` (number|string, required): Numerator of first fraction (integer)
- `b` (number|string, required): Denominator of first fraction (integer)
- `c` (number|string, required): Numerator of second fraction (integer)
- `d` (number|string, required): Denominator of second fraction (integer)
- `locale` (string): Language for the source_url link (default en)
- `operator` (string, required): Operation

### `triangle_calculator` (~144 tokens)

Triangle calculator

Solve a triangle. mode=sss: three sides a,b,c. mode=sas: two sides a,b and the included angle angle_c (degrees). Returns sides, angles (degrees), area and perimeter. Runs on smart-tools.xyz.

Input parameters:

- `a` (number|string, required): Side a
- `angle_c` (number|string): Included angle C in degrees (mode sas)
- `b` (number|string, required): Side b
- `c` (number|string): Side c (mode sss)
- `locale` (string): Language for the source_url link (default en)
- `mode` (string, required): sss = three sides; sas = two sides + included angle

### `pace_calculator` (~120 tokens)

Pace calculator

Running pace per km and per mile, plus speed, from distance and time. Runs on smart-tools.xyz.

Input parameters:

- `distance` (number|string, required): Distance covered
- `hours` (number|string): Hours part of the time (default 0)
- `locale` (string): Language for the source_url link (default en)
- `minutes` (number|string): Minutes part of the time (default 0)
- `seconds` (number|string): Seconds part of the time (default 0)
- `unit` (string): Distance unit (default km)

### `subnet_calculator` (~113 tokens)

Subnet calculator

IPv4 subnet details: network, broadcast, mask, wildcard, host range and count for an IP and prefix. Runs on smart-tools.xyz.

Input parameters:

- `ip` (string, required): IPv4 address, optionally with /prefix (e.g. 10.0.0.1 or 10.0.0.1/8)
- `locale` (string): Language for the source_url link (default en)
- `prefix` (number|string): CIDR prefix 0–32 (ignored if given in ip)

### `color_converter` (~92 tokens)

Color converter

Convert a color between HEX, RGB and HSL. Accepts #hex, rgb()/rgba(), hsl()/hsla(). Runs on smart-tools.xyz.

Input parameters:

- `color` (string, required): Color in any of: #1a7f5a, rgb(26,127,90), hsl(154,66%,30%)
- `locale` (string): Language for the source_url link (default en)

### `gpa_calculator` (~101 tokens)

GPA calculator

Weighted grade point average from letter grades (US 4.0 scale, +/-) or numeric grade points and credit hours. Runs on smart-tools.xyz.

Input parameters:

- `courses` (array, required): Each course as { grade, credits }. grade is a letter (A, A-, B+ …) or numeric grade points (0–4.5); credits defaults to 1.
- `locale` (string): Language for the source_url link (default en)

### `scientific_calculator` (~197 tokens)

Scientific calculator

Evaluate a math expression with correct order of operations: + - * / % ^, parentheses, and functions (sqrt, sin, cos, tan, ln, log, exp, min, max, factorial via !). Constants pi, e. Angles in radians. Runs on smart-tools.xyz.

Input parameters:

- `expression` (string, required): Math expression, e.g. "2+3*sqrt(16)" or "sin(pi/6)". Operators + - * / % ^ (% is remainder, ^ is power), functions sqrt/cbrt/abs/ln/log/log2/exp/sin/cos/tan/asin/acos/atan/sinh/cosh/tanh/round/floor/…
- `locale` (string): Language for the source_url link (default en)

### `base64` (~107 tokens)

Base64 encode / decode

Encode text to Base64 or decode Base64 back to text, UTF-8 safe, with an optional URL-safe alphabet. Runs on smart-tools.xyz.

Input parameters:

- `direction` (string): encode (default) or decode
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): Text to encode, or Base64 to decode
- `url_safe` (boolean): Use URL-safe alphabet (-_ instead of +/, no padding). Default false

### `case_converter` (~77 tokens)

Case converter

Convert text to UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE. Runs on smart-tools.xyz.

Input parameters:

- `case` (string, required): Target case
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): Text to convert

### `html_entities` (~110 tokens)

HTML entity encode / decode

Escape the five special HTML characters (optionally all non-ASCII) or decode named and numeric HTML entities back to text. Runs on smart-tools.xyz.

Input parameters:

- `direction` (string): encode (default) or decode
- `encode_all` (boolean): When encoding, also convert every non-ASCII character to a numeric entity. Default false
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): Text to encode, or HTML with entities to decode

### `url_encoder` (~108 tokens)

URL encode / decode

Percent-encode or decode a URL. mode=component escapes /?&= (for a value); mode=full keeps them (for a whole address). Runs on smart-tools.xyz.

Input parameters:

- `direction` (string): encode (default) or decode
- `locale` (string): Language for the source_url link (default en)
- `mode` (string): component (default) uses encodeURIComponent; full uses encodeURI
- `text` (string, required): Text or URL to encode/decode

### `slug_generator` (~86 tokens)

Slug generator

Turn text (incl. Ukrainian and accented Latin) into a clean URL slug; each non-empty line becomes its own slug. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `separator` (string): Word separator, - (default) or _
- `text` (string, required): Text to slugify (one slug per line)

### `remove_duplicates` (~124 tokens)

Remove duplicate lines

Remove duplicate lines, with optional trim, case-insensitive matching, sorting or keeping only the duplicated lines. Runs on smart-tools.xyz.

Input parameters:

- `ignore_case` (boolean): Match case-insensitively (default false)
- `locale` (string): Language for the source_url link (default en)
- `only_duplicates` (boolean): Keep only lines that appeared more than once (default false)
- `sort` (boolean): Sort the result (default false)
- `text` (string, required): Input lines
- `trim` (boolean): Trim whitespace on each line (default true)

### `text_counter` (~58 tokens)

Text counter

Count characters (with and without spaces), words, lines, paragraphs and estimated reading time. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): Text to measure

### `text_diff` (~109 tokens)

Text diff

Line-level diff of two texts (LCS): counts of added/removed lines plus a marked-up line list. Runs on smart-tools.xyz.

Input parameters:

- `a` (string, required): First (original) text
- `b` (string, required): Second (changed) text
- `ignore_case` (boolean): Compare case-insensitively (default false)
- `locale` (string): Language for the source_url link (default en)
- `trim` (boolean): Trim each line before comparing (default true)

### `lorem_ipsum` (~98 tokens)

Lorem ipsum generator

Generate placeholder lorem ipsum text by paragraphs, sentences or words. Runs on smart-tools.xyz.

Input parameters:

- `count` (number|string): How many units to generate (default 3)
- `locale` (string): Language for the source_url link (default en)
- `start_lorem` (boolean): Begin with the classic 'Lorem ipsum dolor sit amet…' (default true)
- `unit` (string): paragraphs (default), sentences or words

### `number_base` (~129 tokens)

Number base converter

Convert an integer between bases 2–36 (binary, octal, decimal, hex and more), exact for 64-bit values via BigInt. Runs on smart-tools.xyz.

Input parameters:

- `from_base` (number|string, required): Base of the input, 2–36
- `locale` (string): Language for the source_url link (default en)
- `to_base` (number|string): Base to convert to, 2–36
- `value` (string|number, required): The integer to convert (may use 0x/0b/0o prefix, spaces or _ as separators)

### `timestamp_converter` (~115 tokens)

Unix timestamp converter

Convert between a Unix timestamp and an ISO 8601 date (UTC). direction=to_date: epoch → date; to_timestamp: date → epoch. Runs on smart-tools.xyz.

Input parameters:

- `direction` (string): to_date: epoch → ISO; to_timestamp: date string → epoch. Auto-detected if omitted.
- `locale` (string): Language for the source_url link (default en)
- `value` (string|number, required): Epoch (seconds or ms) for to_date, or an ISO/date string for to_timestamp

### `transliteration` (~59 tokens)

Ukrainian transliteration

Transliterate Ukrainian Cyrillic to Latin by the official KMU #55 passport standard. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): Ukrainian text to transliterate

### `uuid_generator` (~71 tokens)

UUID generator

Generate one or more random version 4 (RFC 4122) UUIDs. Runs on smart-tools.xyz.

Input parameters:

- `count` (number|string): How many UUIDs to generate, 1–1000 (default 1)
- `locale` (string): Language for the source_url link (default en)

### `hash_generator` (~88 tokens)

Hash generator

Hash text with SHA-1, SHA-256, SHA-384 or SHA-512 (hex, over UTF-8 bytes). MD5 is not supported. Runs on smart-tools.xyz.

Input parameters:

- `algorithm` (string): Hash algorithm (default SHA-256)
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): The text to hash

### `jwt_decoder` (~69 tokens)

JWT decoder

Decode a JSON Web Token's header and payload (base64url). Does NOT verify the signature — that needs the secret/key. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `token` (string, required): The JWT (header.payload.signature)

### `cron_parser` (~87 tokens)

Cron expression parser

Parse a 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English description. Runs on smart-tools.xyz.

Input parameters:

- `expression` (string, required): Cron expression, e.g. "*/15 9-17 * * 1-5" (aliases like @daily accepted)
- `locale` (string): Language for the source_url link (default en)

### `regex_tester` (~93 tokens)

Regex tester

Test a JavaScript regular expression against text and return every match with its captured groups. Runs on smart-tools.xyz.

Input parameters:

- `flags` (string): Regex flags, any of gimsuy (default g)
- `locale` (string): Language for the source_url link (default en)
- `pattern` (string, required): The regular expression source (no delimiters)
- `text` (string, required): The text to test against

### `layout_fixer` (~97 tokens)

Keyboard layout fixer

Fix text typed in the wrong keyboard layout between English QWERTY and Ukrainian ЙЦУКЕН. Runs on smart-tools.xyz.

Input parameters:

- `direction` (string): en_to_uk: text typed on EN layout meant for UK; uk_to_en: the reverse (default en_to_uk)
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): The garbled text

### `wcag_contrast_checker` (~94 tokens)

WCAG contrast checker

Compute the WCAG 2.x contrast ratio between two hex colors and whether it passes AA/AAA for normal and large text. Runs on smart-tools.xyz.

Input parameters:

- `background` (string, required): Background colour as hex, e.g. #ffffff
- `foreground` (string, required): Text colour as hex, e.g. #767676
- `locale` (string): Language for the source_url link (default en)

### `csv_to_json` (~107 tokens)

CSV to JSON converter

Parse CSV/TSV text (auto-detecting tab, semicolon or comma delimiter) with a header row into an array of JSON objects. Runs on smart-tools.xyz.

Input parameters:

- `has_header` (boolean|string): Treat the first row as column names (default true); if false, columns are named col1, col2, …
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): CSV/TSV text to convert

### `csv_to_sql` (~165 tokens)

CSV to SQL converter

Turn CSV/TSV rows into SQL INSERT statements with standard double-quoted identifiers and escaped values. Runs on smart-tools.xyz.

Input parameters:

- `batch_size` (number|string): Rows per INSERT statement (default 50)
- `has_header` (boolean|string): Use the first row as column names (default true); if false, columns are named col1, col2, …
- `locale` (string): Language for the source_url link (default en)
- `nulls` (boolean|string): Emit NULL for empty cells (default true)
- `quote_all` (boolean|string): Quote every value, even numeric ones (default false)
- `table_name` (string): Target table name (default my_table)
- `text` (string, required): CSV/TSV text to convert

### `table_to_csv` (~70 tokens)

Table to CSV converter

Convert a pasted HTML <table> or delimited (tab/semicolon/comma) table into clean CSV. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): An HTML <table> or delimited table text

### `markdown_table` (~71 tokens)

Markdown table generator

Build a padded GitHub-flavored Markdown table from CSV/TSV text (first row is the header). Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): CSV/TSV rows; the first row is the header

### `json_formatter` (~103 tokens)

JSON formatter / minifier

Validate and pretty-print or minify JSON, reporting the line and column on a parse error. Runs on smart-tools.xyz.

Input parameters:

- `action` (string): pretty = indented (default); minify = single line
- `indent` (number|string): Spaces per level for pretty (default 2), or "tab" for tabs
- `locale` (string): Language for the source_url link (default en)
- `text` (string, required): JSON text to format

### `gitignore_generator` (~112 tokens)

gitignore generator

Build a .gitignore from curated templates for Node, Python, Go, Rust, macOS, VS Code and more. Runs on smart-tools.xyz.

Input parameters:

- `locale` (string): Language for the source_url link (default en)
- `technologies` (array, required): Stacks to include. Any of: "Node", "Python", "Java", "Go", "Rust", "PHP", "React / Vite", "macOS", "Windows", "Linux", "VS Code", "JetBrains"

### `gradient_generator` (~114 tokens)

CSS gradient generator

Build a CSS linear or radial gradient background declaration from two or more colors. Runs on smart-tools.xyz.

Input parameters:

- `angle` (number|string): Angle in degrees for linear gradients, 0–360 (default 90)
- `colors` (array, required): Color stops, e.g. ["#1a7f5a", "#0d3b66"] (at least 2)
- `locale` (string): Language for the source_url link (default en)
- `type` (string): Gradient type (default linear)

### `htaccess_generator` (~197 tokens)

htaccess generator

Generate Apache .htaccess rules: force HTTPS, www redirect, caching, gzip, hotlink protection and more. Runs on smart-tools.xyz.

Input parameters:

- `block_hotlink` (boolean): Block image hotlinking (default false)
- `cache` (boolean): Add browser caching headers (default false)
- `disable_listing` (boolean): Disable directory listing (Options -Indexes) (default false)
- `error_404` (string): Custom 404 page path, e.g. /404.html
- `force_https` (boolean): Redirect all HTTP to HTTPS (default false)
- `gzip` (boolean): Compress text responses with mod_deflate (default false)
- `hotlink_domain` (string): Your domain for hotlink protection, e.g. example.com
- `locale` (string): Language for the source_url link (default en)
- `www` (string): www redirect: none / add / remove (default none)

### `meta_tag_generator` (~117 tokens)

Meta tag generator

Generate SEO, Open Graph and Twitter Card HTML meta tags for a page. Runs on smart-tools.xyz.

Input parameters:

- `description` (string): Meta description
- `image` (string): og:image / twitter:image URL
- `locale` (string): Language for the source_url link (default en)
- `site_name` (string): og:site_name
- `title` (string, required): Page title
- `twitter_card` (string): Twitter card type (default summary_large_image)
- `url` (string): Canonical / og:url

### `random_number_generator` (~115 tokens)

Random number generator

Generate cryptographically random integers in a range, optionally unique and sorted. Runs on smart-tools.xyz.

Input parameters:

- `count` (number|string): How many numbers to generate (default 1, max 10000)
- `locale` (string): Language for the source_url link (default en)
- `max` (number|string, required): Highest value (inclusive)
- `min` (number|string, required): Lowest value (inclusive)
- `sorted` (boolean): Sort ascending (default false)
- `unique` (boolean): No repeats (default false)

### `robots_txt_generator` (~135 tokens)

robots.txt generator

Build a robots.txt: allow or block all, custom disallow paths, AI-crawler blocking, crawl-delay and sitemap. Runs on smart-tools.xyz.

Input parameters:

- `access` (string): allow all, block all, or custom (default allow)
- `block_ai` (boolean): Also block common AI crawlers (default false)
- `crawl_delay` (number|string): Crawl-delay in seconds (optional)
- `disallow` (array): Paths to disallow (used when access=custom)
- `locale` (string): Language for the source_url link (default en)
- `sitemap` (string): Sitemap URL (optional)

### `utm_builder` (~138 tokens)

UTM link builder

Append encoded UTM campaign parameters to a URL, preserving any existing query and fragment. Runs on smart-tools.xyz.

Input parameters:

- `campaign` (string, required): utm_campaign, e.g. spring_sale
- `content` (string): utm_content (optional)
- `locale` (string): Language for the source_url link (default en)
- `medium` (string, required): utm_medium, e.g. cpc
- `source` (string, required): utm_source, e.g. google
- `term` (string): utm_term (optional)
- `url` (string, required): Base URL, e.g. https://example.com/landing

### `file_hash` (~102 tokens)

File hash / checksum

Compute a SHA-1/256/384/512 hex checksum of provided text or base64 bytes. Runs on smart-tools.xyz.

Input parameters:

- `algorithm` (string): Hash algorithm (default SHA-256)
- `data` (string): Base64-encoded bytes to hash (provide text or data)
- `locale` (string): Language for the source_url link (default en)
- `text` (string): UTF-8 text to hash (provide text or data)

### `password_generator` (~121 tokens)

Password generator

Generate a cryptographically strong random password with configurable length and character sets. Runs on smart-tools.xyz.

Input parameters:

- `digits` (boolean): Include 0–9 (default true)
- `length` (number|string): Password length, 1–256 (default 20)
- `locale` (string): Language for the source_url link (default en)
- `lowercase` (boolean): Include a–z (default true)
- `symbols` (boolean): Include !@#… (default true)
- `uppercase` (boolean): Include A–Z (default true)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/9thshini-smart-tools/smart-tools#diagnostics

## Score history

- 2026-08-20: 66
- 2026-08-19: 66
- 2026-08-18: 65
- 2026-08-17: 65
- 2026-08-16: 64
- 2026-08-15: 64

## Links

- Remote endpoint: https://smart-tools.xyz/mcp
- Website: https://smart-tools.xyz/en/mcp
- Changelog RSS feed: https://verifymcp.io/servers/9thshini-smart-tools/smart-tools.xml
- Changelog JSON feed: https://verifymcp.io/servers/9thshini-smart-tools/smart-tools.json
- HTML version of this page: https://verifymcp.io/servers/9thshini-smart-tools/smart-tools
