# TidyData Tools (remote · tidydata-api.tidydata.workers.dev)

Holidays, business days, currency, time zones, DNS/WHOIS, web page checks, geodata and text tools.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-18

## Components

- remote · `tidydata-api.tidydata.workers.dev`: 67/100 (this document), [markdown](https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api.md), [page](https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api)

## Channel facts

- Endpoint: `https://tidydata-api.tidydata.workers.dev/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-10-18.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - 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**: 70/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 6089 tokens (~124/item across 49 items; 49 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 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.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 49 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the TidyData Tools MCP server?

TidyData Tools is a hosted endpoint at https://tidydata-api.tidydata.workers.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http tidydata-dev-tidydata 'https://tidydata-api.tidydata.workers.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "tidydata-dev-tidydata": {
      "url": "https://tidydata-api.tidydata.workers.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "tidydata-dev-tidydata": {
      "type": "http",
      "url": "https://tidydata-api.tidydata.workers.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.tidydata-dev-tidydata]
url = "https://tidydata-api.tidydata.workers.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tidydata-dev-tidydata": {
      "type": "remote",
      "url": "https://tidydata-api.tidydata.workers.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add tidydata-dev-tidydata --url 'https://tidydata-api.tidydata.workers.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  tidydata-dev-tidydata:
    url: "https://tidydata-api.tidydata.workers.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "tidydata-dev-tidydata": {
      "Transport": "http",
      "Url": "https://tidydata-api.tidydata.workers.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add tidydata-dev-tidydata -t streamable-http -u 'https://tidydata-api.tidydata.workers.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "tidydata-dev-tidydata": {
      "type": "http",
      "url": "https://tidydata-api.tidydata.workers.dev/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-10-17 (score 67, +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-10-16 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-15 (score 66)

First indexed and scored.

## MCP tools (49)

### `public_holidays` (~149 tokens)

Public holidays of a country

Public holidays of a country. Holidays of a year. Public and bank holidays for 100+ countries and their states/regions, any year, localized names, plus 'is this date a holiday?' check. Data: date-holidays (CC BY 3.0).

Input parameters:

- `country` (string, required): ISO country code (e.g. ES)
- `lang` (string): Language of names (e.g. en)
- `state` (string): State/region code (e.g. MD)
- `types` (string): public, bank, optional, school, observance or all (e.g. public)
- `year` (string): Year (e.g. 2026)

### `is_public_holiday` (~112 tokens)

Is this date a public holiday?

Is this date a public holiday? Is it a holiday? Public and bank holidays for 100+ countries and their states/regions, any year, localized names, plus 'is this date a holiday?' check. Data: date-holidays (CC BY 3.0).

Input parameters:

- `country` (string, required): ISO country code (e.g. US)
- `date` (string): YYYY-MM-DD (e.g. 2026-12-25)
- `state` (string): State/region

### `business_days_between` (~145 tokens)

Business days between two dates

Business days between two dates. Business days between dates. Count working days between two dates and add/subtract business days, skipping weekends and the public holidays of 100+ countries and regions. Custom weekend days.

Input parameters:

- `country` (string): ISO country (optional) (e.g. ES)
- `end` (string, required): YYYY-MM-DD (e.g. 2026-12-31)
- `start` (string, required): YYYY-MM-DD (e.g. 2026-12-01)
- `state` (string): Region (optional)
- `weekend` (string): Weekend days 0=Sun..6=Sat (e.g. 6,0)

### `add_business_days` (~106 tokens)

Add business days to a date

Add business days to a date. Add business days. Count working days between two dates and add/subtract business days, skipping weekends and the public holidays of 100+ countries and regions. Custom weekend days.

Input parameters:

- `country` (string): ISO country (e.g. ES)
- `date` (string, required): YYYY-MM-DD (e.g. 2026-12-23)
- `days` (string, required): Business days (negative to subtract) (e.g. 3)

### `convert_currency` (~102 tokens)

Convert currency (ECB rates)

Convert currency (ECB rates). Convert amount. Daily euro foreign exchange reference rates for 30+ currencies, any base currency, conversion and history of the last 90 days. Source: ECB statistics.

Input parameters:

- `amount` (string): Amount (e.g. 100)
- `date` (string): Optional date YYYY-MM-DD
- `from` (string, required): From currency (e.g. EUR)
- `to` (string, required): To currency (e.g. USD)

### `exchange_rates` (~103 tokens)

Latest exchange rates

Latest exchange rates. Latest rates. Daily euro foreign exchange reference rates for 30+ currencies, any base currency, conversion and history of the last 90 days. Source: ECB statistics.

Input parameters:

- `base` (string): Base currency (default EUR) (e.g. USD)
- `date` (string): Optional date YYYY-MM-DD (last 90 days)
- `symbols` (string): Comma-separated currencies to return (e.g. EUR,GBP,JPY)

### `convert_time_zone` (~114 tokens)

Time zone converter / world clock

Time zone converter / world clock. Time in zones. Current time or any date in any IANA time zone, UTC offset, weekday and Unix time, and convert one moment to many time zones at once.

Input parameters:

- `datetime` (string): ISO 8601 date-time (empty = now)
- `to` (string): Comma-separated time zones to convert to (e.g. America/New_York,Asia/Tokyo)
- `tz` (string): IANA time zone (e.g. Europe/Madrid)

### `timezone_by_coordinates` (~136 tokens)

Time zone of a latitude/longitude

Time zone of a latitude/longitude. Time zone for coordinates. Get the IANA time zone for any latitude/longitude, with the current local time, UTC offset, abbreviation and whether daylight saving time is active. Optionally pass a datetime to get the offset at that moment.

Input parameters:

- `datetime` (string): ISO 8601 instant to evaluate (default: now) (e.g. 2026-07-01T12:00:00Z)
- `lat` (string, required): Latitude (e.g. 40.4168)
- `lon` (string, required): Longitude (e.g. -3.7038)

### `sunrise_sunset` (~175 tokens)

Sunrise, sunset, twilight and golden hour

Sunrise, sunset, twilight and golden hour. Sun times. Sunrise, sunset, solar noon, day length, civil/nautical/astronomical twilight and golden hour for any coordinates and date, plus moon phase, illumination, moonrise/moonset and next full and new moon. Times are returned in the local time zone, detected automatically from the coordinates.

Input parameters:

- `date` (string): Date YYYY-MM-DD (default: today) (e.g. 2026-06-21)
- `lat` (string, required): Latitude (e.g. 40.4168)
- `lon` (string, required): Longitude (e.g. -3.7038)
- `tz` (string): IANA time zone for the returned times, or 'auto' (detected from coordinates) (e.g. auto)

### `moon_phase` (~172 tokens)

Moon phase and illumination

Moon phase and illumination. Moon phase and times. Sunrise, sunset, solar noon, day length, civil/nautical/astronomical twilight and golden hour for any coordinates and date, plus moon phase, illumination, moonrise/moonset and next full and new moon. Times are returned in the local time zone, detected automatically from the coordinates.

Input parameters:

- `date` (string): Date YYYY-MM-DD (default: today) (e.g. 2026-06-21)
- `lat` (string, required): Latitude (e.g. 40.4168)
- `lon` (string, required): Longitude (e.g. -3.7038)
- `tz` (string): IANA time zone for the returned times, or 'auto' (detected from coordinates) (e.g. auto)

### `convert_calendar_date` (~148 tokens)

Convert a date to Islamic, Hebrew, Chinese… calendars

Convert a date to Islamic, Hebrew, Chinese… calendars. Gregorian date in all calendars. Convert dates between 13 calendars (Gregorian, Islamic Umm al-Qura and tabular, Hebrew, Persian, Chinese, Korean, Japanese, Buddhist, Indian, Coptic, Ethiopian, Minguo) and get the dates of Islamic, Jewish, Chinese and Persian holidays for any year 1900-2100.

Input parameters:

- `calendars` (string): Optional comma list of calendar ids (e.g. hebrew,islamic-umalqura,persian)
- `date` (string): Gregorian date YYYY-MM-DD (default: today) (e.g. 2026-10-12)

### `dns_lookup` (~114 tokens)

DNS records of a domain

DNS records of a domain. DNS records. Look up DNS records of any domain in one call: A, AAAA, MX, NS, TXT, CNAME, SOA, CAA, SRV. Also tells you if the domain has mail servers and its SPF record. Fast, uses public resolvers.

Input parameters:

- `domain` (string, required): Domain name (e.g. github.com)
- `types` (string): Comma-separated record types (e.g. A,AAAA,MX,NS,TXT,CNAME)

### `dns_propagation` (~103 tokens)

DNS propagation across global resolvers

DNS propagation across global resolvers. Check propagation. Check if a DNS change has propagated: queries Cloudflare, Google, AdGuard, NextDNS, AliDNS and DNS.SB at once and reports agreement, consensus answer and response times.

Input parameters:

- `domain` (string, required): Domain (e.g. github.com)
- `type` (string): A, AAAA, CNAME, MX, NS, TXT, CAA, SOA (e.g. A)

### `domain_whois` (~87 tokens)

Domain registration info (WHOIS/RDAP)

Domain registration info (WHOIS/RDAP). Domain info. Is a domain registered? Who is the registrar, when was it created, when does it expire, how old is it, its status and nameservers. Uses the official RDAP registry data (the modern WHOIS). No personal contact data.

Input parameters:

- `domain` (string, required): Domain name (e.g. apify.com)

### `domain_availability` (~189 tokens)

Is a domain name available?

Is a domain name available? Check availability. Check if domain names are available across many extensions in one call, using each registry's official RDAP data (with DNS fallback). Creation and expiry dates, registrar and .com name suggestions.

Input parameters:

- `domain` (string): One domain (example.com) or a comma-separated list in domains= (e.g. tidydata.ai)
- `domains` (string): Comma-separated domains (max 20)
- `name` (string): Name without extension to check across tlds (e.g. tidydata)
- `suggest` (string): true to add available .com alternatives (getname.com, namehq.com...) (e.g. false)
- `tlds` (string): Extensions for name= (default com,net,org,io,co,ai,app,dev) (e.g. com,net,io,ai)

### `check_url_status` (~107 tokens)

HTTP status and redirect chain of a URL

HTTP status and redirect chain of a URL. Check URL. HTTP status, full redirect chain (301/302/307/308), final URL, server and response time for any link. Detects loops. POST up to 20 URLs per call. Find broken links fast.

Input parameters:

- `maxRedirects` (string): Max redirects to follow (default 10) (e.g. 10)
- `url` (string, required): URL to check (e.g. http://github.com)

### `expand_short_url` (~78 tokens)

Expand a shortened link

Expand a shortened link. Expand short URL. Expand short links (bit.ly, t.co, tinyurl and any redirect) to their final destination, with every hop of the redirect chain. Check where a link really goes before clicking it.

Input parameters:

- `url` (string, required): Short URL (e.g. https://bit.ly/3Xx)

### `link_preview` (~101 tokens)

Title, description and image of a web page

Title, description and image of a web page. Link preview. Everything you need to build link previews: title, description, image, favicon, site name, language, canonical URL, author, publish time, Twitter card and optional JSON-LD. Fast HTML streaming parser.

Input parameters:

- `jsonld` (string): true to include JSON-LD structured data (e.g. false)
- `url` (string, required): Page URL (e.g. https://github.com)

### `website_technologies` (~84 tokens)

Technologies used by a website

Technologies used by a website. Detect technologies. Detect 130+ technologies a website uses: CMS (WordPress, Shopify, Wix, Webflow), frameworks (React, Next.js, Vue), analytics and pixels, chat, CDN and hosting. Great for lead generation and competitor research.

Input parameters:

- `url` (string, required): Website URL (e.g. https://wordpress.org)

### `seo_audit` (~90 tokens)

On-page SEO audit of a URL

On-page SEO audit of a URL. Audit page. On-page SEO audit of any URL in one call: score 0-100 and a clear list of issues (title, meta description, H1, canonical, noindex, alt texts, lang, viewport, Open Graph, thin content, speed, HTTPS).

Input parameters:

- `url` (string, required): Page URL (e.g. https://example.com)

### `security_headers_check` (~77 tokens)

Security headers grade of a website

Security headers grade of a website. Check security headers. Check the HTTP security headers of any website (HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy..) with a score, a grade and fixes to apply.

Input parameters:

- `url` (string, required): Website URL (e.g. https://github.com)

### `extract_links` (~79 tokens)

Links found on a web page

Links found on a web page. Extract links. Extract every link of a web page with anchor text, rel, nofollow flag and internal/external classification. Filter by type.

Input parameters:

- `type` (string): all, internal or external (e.g. all)
- `url` (string, required): Page URL (e.g. https://www.wikipedia.org)

### `extract_html_tables` (~121 tokens)

Tables of a web page as JSON

Tables of a web page as JSON. Extract tables. Turn the HTML tables of any web page into clean JSON (rows or objects with headers) or download a table as CSV.

Input parameters:

- `format` (string): json or csv (e.g. json)
- `index` (string): Table number (0 = first) (e.g. 0)
- `objects` (string): true = rows as objects keyed by header (e.g. true)
- `url` (string, required): Page URL (e.g. https://en.wikipedia.org/wiki/Euro)

### `sitemap_urls` (~112 tokens)

URLs listed in a website's sitemap

URLs listed in a website's sitemap. Extract sitemap URLs. Get all URLs of a website from its sitemaps (found via robots.txt), following sitemap indexes and .gz files, with lastmod, priority and changefreq. Filter by text.

Input parameters:

- `contains` (string): Only URLs containing this text
- `limit` (string): Max URLs (1-5000) (e.g. 1000)
- `url` (string, required): Website or sitemap URL (e.g. https://apify.com)

### `robots_txt_check` (~88 tokens)

Is a URL allowed by robots.txt?

Is a URL allowed by robots.txt? Check URL. Check whether a URL may be crawled according to the site's robots.txt for any user agent, with the matching rule, sitemaps and crawl-delay.

Input parameters:

- `agent` (string): User agent (e.g. Googlebot)
- `url` (string, required): URL to check (e.g. https://www.google.com/search?q=test)

### `ip_lookup` (~98 tokens)

Owner, network and country of an IP address

Owner, network and country of an IP address. IP info. Who owns an IP address: network name, range, CIDR, organization, country and registration date from the Regional Internet Registries (RDAP). Without 'ip', returns the caller's IP, country, city and ASN.

Input parameters:

- `ip` (string): IPv4 or IPv6 (empty = your own IP) (e.g. 8.8.8.8)

### `validate_iban` (~101 tokens)

Validate and parse an IBAN

Validate and parse an IBAN. Validate IBAN. Validate any IBAN (checksum, length, country format, national check digits) and split it into bank code, branch code and account number. Formatted and electronic forms, SEPA flag. Offline algorithm, no account lookups.

Input parameters:

- `iban` (string, required): IBAN (spaces allowed) (e.g. ES91 2100 0418 4502 0005 1332)

### `country_info` (~96 tokens)

Country data (capital, currency, languages…)

Country data (capital, currency, languages…). Country by code. All countries with ISO codes, names in any language, native name, capital, continent, calling codes, currencies, languages and emoji flag. Filter by continent, currency, language or search.

Input parameters:

- `code` (string, required): ISO 3166-1 alpha-2 (e.g. ES)
- `lang` (string): Language for localized name (e.g. es)

### `airport_info` (~93 tokens)

Airport by IATA/ICAO code

Airport by IATA/ICAO code. Airport by code. Airport lookup by IATA or ICAO code, search by name or city, nearest airports to any coordinates and great-circle distance and flight time between two airports. 9,500 airports with coordinates, elevation, country, region and city.

Input parameters:

- `code` (string, required): IATA (MAD) or ICAO (LEMD) (e.g. MAD)

### `airport_search` (~110 tokens)

Search airports by name or city

Search airports by name or city. Search airports. Airport lookup by IATA or ICAO code, search by name or city, nearest airports to any coordinates and great-circle distance and flight time between two airports. 9,500 airports with coordinates, elevation, country, region and city.

Input parameters:

- `country` (string): ISO country filter
- `limit` (string): 1-100 (e.g. 10)
- `q` (string, required): Name, city or code (e.g. london)

### `airport_distance` (~99 tokens)

Distance between two airports

Distance between two airports. Distance between airports. Airport lookup by IATA or ICAO code, search by name or city, nearest airports to any coordinates and great-circle distance and flight time between two airports. 9,500 airports with coordinates, elevation, country, region and city.

Input parameters:

- `from` (string, required): IATA/ICAO (e.g. MAD)
- `to` (string, required): IATA/ICAO (e.g. JFK)

### `city_search` (~116 tokens)

Find a city (coordinates, population, country)

Find a city (coordinates, population, country). Search places by name. Fast city-level geocoding for 171,000 places worldwide: reverse geocoding (coordinates to nearest town, region, country and time zone), place search by name and nearby places within a radius. No rate-limited upstream.

Input parameters:

- `country` (string): Optional ISO country code filter
- `limit` (string): 1-50 (e.g. 10)
- `q` (string, required): City or town name (e.g. Salamanca)

### `reverse_geocode` (~126 tokens)

Nearest city to a latitude/longitude

Nearest city to a latitude/longitude. Reverse geocode coordinates. Fast city-level geocoding for 171,000 places worldwide: reverse geocoding (coordinates to nearest town, region, country and time zone), place search by name and nearby places within a radius. No rate-limited upstream.

Input parameters:

- `lat` (string, required): Latitude (e.g. 40.4168)
- `lon` (string, required): Longitude (e.g. -3.7038)
- `minPopulation` (string): Only places with at least this population (e.g. 0)

### `distance_between_places` (~123 tokens)

Distance between two places or coordinates

Distance between two places or coordinates. Distance between two places. Distance between any two places: coordinates, cities ("Paris, FR") or airport codes (MAD, JFK). Ellipsoidal (Vincenty) km, miles and nautical miles, bearing, compass, midpoint, flight time estimate and distance matrices.

Input parameters:

- `from` (string, required): Coordinates (40.4168,-3.7038), city (Madrid, ES) or airport code (MAD) (e.g. MAD)
- `to` (string, required): Same formats as from (e.g. JFK)

### `postal_code_lookup` (~102 tokens)

Place of a postal / ZIP code

Place of a postal / ZIP code. Look up a postal code. Postal code lookup for 121 countries and 1.8 million codes: place name, region, province, coordinates; distance between two postal codes; and postal code validation. Accepts codes with or without spaces and dashes.

Input parameters:

- `code` (string, required): Postal/ZIP code (e.g. 90210)
- `country` (string, required): ISO country code (e.g. US)

### `nutrition_search` (~127 tokens)

Nutrition facts of foods (USDA)

Nutrition facts of foods (USDA). Search foods. Search 7,793 generic foods and get calories, protein, fat, carbohydrates, fiber, sugars, vitamins and minerals (36 nutrients) per 100 g or for any amount, with common portion sizes (cup, slice, piece). Calculate totals for a whole recipe or meal in one request.

Input parameters:

- `category` (string): Optional category filter (see /categories)
- `limit` (string): 1-50 (e.g. 10)
- `q` (string, required): Food name in English (e.g. chicken breast)

### `nutrition_calculate` (~130 tokens)

Calories and macros of a list of ingredients

Calories and macros of a list of ingredients. Recipe / meal totals. Search 7,793 generic foods and get calories, protein, fat, carbohydrates, fiber, sugars, vitamins and minerals (36 nutrients) per 100 g or for any amount, with common portion sizes (cup, slice, piece). Calculate totals for a whole recipe or meal in one request.

Input parameters:

- `items` (string, required): food:grams pairs separated by ; (or POST JSON {"items":[{"query":"banana","grams":120}]}) (e.g. eggs:100;oats:50;whole milk:200)

### `decode_vin` (~94 tokens)

Decode a vehicle VIN

Decode a vehicle VIN. Decode VIN. Decode any 17-character VIN: make, model, model year, trim, body, engine, fuel, transmission, drive type and plant, plus check digit validation, region and country of manufacture. Always answers, even when the upstream registry is slow.

Input parameters:

- `vin` (string, required): 17-character Vehicle Identification Number (e.g. 1HGCM82633A004352)

### `dictionary_define` (~124 tokens)

English definitions of a word

English definitions of a word. Word definitions. English dictionary with 147,000 words: definitions by part of speech, usage examples, synonyms, antonyms, broader terms, IPA and ARPAbet pronunciation, syllable count, rhymes and prefix autocomplete. Inflected forms (running, cities) resolve automatically.

Input parameters:

- `limit` (string): Max meanings 1-50 (e.g. 20)
- `pos` (string): Optional filter: noun, verb, adjective, adverb
- `word` (string, required): English word (e.g. happy)

### `synonyms` (~125 tokens)

Synonyms of an English word

Synonyms of an English word. Synonyms and antonyms. English thesaurus: synonyms, antonyms and related words for 147,000 words, ranked and grouped by meaning with part of speech and definitions. Handles inflected forms (running → run).

Input parameters:

- `limit` (string): Max words per list, 1-200 (default 30) (e.g. 30)
- `pos` (string): Filter by part of speech: noun, verb, adjective or adverb
- `word` (string, required): English word or phrase (e.g. happy)

### `rhymes` (~133 tokens)

Rhymes of an English word

Rhymes of an English word. Rhyming words. Rhymes, syllable counts and pronunciation for English words, plus syllable counting for whole texts (per word and per line, with haiku detection). Perfect for songwriting, poetry and readability tools.

Input parameters:

- `all` (string): true to include rare words and proper names (e.g. false)
- `limit` (string): 1-200 (default 50) (e.g. 50)
- `syllables` (string): Only rhymes with this number of syllables
- `word` (string, required): English word (e.g. love)

### `spell_check` (~264 tokens)

English spell check with suggestions

English spell check with suggestions. Check spelling. Fast English spell checker (US and UK): flags misspellings with ranked suggestions, offsets and an auto-corrected text. Drop-in replacement for the retired Bing Spell Check API (format=bing).

Input parameters:

- `format` (string): Leave empty for the full response, or bing for the Bing Spell Check v7 response shape
- `ignore_uppercase` (string): Skip ALL-CAPS words like acronyms (true/false, default true) (e.g. true)
- `language` (string): en-US (default), en-GB or en (any English). Also accepts mkt=en-US like Bing (e.g. en-US)
- `max_suggestions` (string): 1-10 suggestions per error (default 4) (e.g. 4)
- `mode` (string): proof (default: spelling + repeated words) or spell (spelling only) (e.g. proof)
- `text` (string, required): Text to check (max 20,000 characters) (e.g. I recieve alot of emails abuot the the project.)
- `words` (string): Comma-separated custom words to accept (brand names, jargon) (e.g. TidyData,Kubernetes)

### `summarize` (~184 tokens)

Summarize a text or web page

Summarize a text or web page. Summarize a text or URL. Summarize any text or article URL in 50+ languages: picks the most important sentences (TextRank), with keywords and reading-time saved. No AI costs and no invented content.

Input parameters:

- `lang` (string): ISO 639-1 language or auto (default) (e.g. auto)
- `ratio` (string): Or a fraction of the sentences, 0.05-0.6
- `sentences` (string): Number of sentences in the summary (default: about 20%, 3-5) (e.g. 3)
- `text` (string): Text to summarize (up to 100,000 characters)
- `url` (string): Or an article URL to fetch and summarize (e.g. https://en.wikipedia.org/wiki/Spell_checker)

### `extract_keywords` (~174 tokens)

Keywords of a text (58 languages)

Keywords of a text (58 languages). Extract keywords. Extract the key phrases and most frequent words of any text in 50+ languages (RAKE algorithm with language stopwords). Auto language detection, scores and counts.

Input parameters:

- `lang` (string): ISO 639-1 language code or auto (default) (e.g. auto)
- `limit` (string): Max keyphrases and words (1-50, default 10) (e.g. 10)
- `max_words` (string): Max words per keyphrase (1-5, default 3) (e.g. 3)
- `text` (string, required): Text to analyze (max 100,000 characters) (e.g. Cloudflare Workers let developers deploy serverless code to a global edge network with low latency and automatic scaling.)

### `detect_language` (~75 tokens)

Language of a text

Language of a text. Detect language. Detect the language of any text: ISO 639-3 code, English name, confidence, reliability flag and top 5 candidates. Fast, no AI costs, works offline.

Input parameters:

- `text` (string, required): Text (or POST it) (e.g. Ceci est une phrase en français.)

### `loan_calculator` (~245 tokens)

Loan / mortgage payments and schedule

Loan / mortgage payments and schedule. Calculate loan or mortgage. Monthly payment, total interest and full amortization schedule for loans and mortgages. Down payment, extra payments, weekly/biweekly/monthly frequency and yearly summaries.

Input parameters:

- `amount` (string): Loan amount (or use price + down_payment) (e.g. 200000)
- `down_payment` (string): Down payment (with price)
- `extra_payment` (string): Extra principal paid every period (e.g. 0)
- `frequency` (string): monthly (default), biweekly, weekly, quarterly or annually (e.g. monthly)
- `monthly_costs` (string): Optional monthly insurance/taxes added to the payment
- `months` (string): Term in months (instead of years)
- `price` (string): Property price (mortgages)
- `rate` (string, required): Annual interest rate in % (e.g. 4.5) (e.g. 4.5)
- `schedule` (string): summary (default), yearly or full (e.g. yearly)
- `years` (string): Term in years (or months) (e.g. 30)

### `convert_units` (~95 tokens)

Convert units of measure

Convert units of measure. Convert units. Convert between 300+ units (length, weight, volume, temperature, speed, data, energy, time..) and evaluate math expressions safely (functions, constants, units, matrices).

Input parameters:

- `from` (string, required): Unit from (e.g. km)
- `to` (string, required): Unit to (e.g. mile)
- `value` (string, required): Number (e.g. 10)

### `hash_text` (~124 tokens)

MD5 / SHA hashes of a text

MD5 / SHA hashes of a text. Hash text. Hash any text with MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC32 in one call, sign messages with HMAC, and identify which algorithm produced a given hash.

Input parameters:

- `algorithms` (string): Comma list: md5,sha1,sha256,sha384,sha512,crc32 (e.g. md5,sha256)
- `text` (string, required): Text to hash (or POST it as the body) (e.g. hello)

### `generate_password` (~118 tokens)

Secure random passwords

Secure random passwords. Passwords. Cryptographically secure random passwords (length, symbols, numbers, uppercase, entropy) and UUID v4, in bulk.

Input parameters:

- `count` (string): 1-100 (e.g. 5)
- `length` (string): 6-128 (e.g. 16)
- `numbers` (string): true/false (e.g. true)
- `symbols` (string): true/false (e.g. true)
- `uppercase` (string): true/false (e.g. true)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api#diagnostics

## Score history

- 2026-10-18: 67
- 2026-10-17: 67
- 2026-10-16: 66
- 2026-10-15: 66

## Common questions

### What is the TidyData Tools MCP server?

TidyData Tools is an MCP server listed in the public MCP registry as io.github.tidydata-dev/tidydata. Holidays, business days, currency, time zones, DNS/WHOIS, web page checks, geodata and text tools. This page covers its hosted endpoint (https://tidydata-api.tidydata.workers.dev/mcp).

### Is the TidyData Tools MCP server safe to use?

TidyData Tools scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the TidyData Tools MCP server expose?

TidyData Tools exposes 49 tools: public_holidays, is_public_holiday, business_days_between, add_business_days, convert_currency, and 44 more. Their descriptions and schemas cost roughly 5,968 tokens of context every time the server is loaded.

### Does the TidyData Tools MCP server require authentication?

No. We connected to TidyData Tools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the TidyData Tools MCP server still maintained?

TidyData Tools is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://tidydata-api.tidydata.workers.dev/mcp
- Repository: https://github.com/tidydata-dev/tidydata-mcp
- Website: https://developers.tidydata.workers.dev/
- Changelog RSS feed: https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api.xml
- Changelog JSON feed: https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api.json
- HTML version of this page: https://verifymcp.io/servers/tidydata-dev-tidydata/tidydata-api
