# TidyTools Free Web Data

> 45 free keyless web tools: AI extract, OCR, transcribe, SEO, DNS, contacts. Strict daily limits.

- name: io.github.tidytools/tidytools-free
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 81/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.tidytools%2Ftidytools-free
- tools: https://api.protogrid.dev/v1/servers/io.github.tidytools%2Ftidytools-free/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "tidytools-free": {
      "type": "http",
      "url": "https://tools.yukai.uk/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-1d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 81/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 45 of 45 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: check_ai_crawler_access (destructiveHint, idempotentHint); company_enrich (destructiveHint, idempotentHint); convert_image (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 5,136 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 1 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 45, about 5,136 tokens to load them all
- tool set hash: d39a81b186a9b0545b77e3d074b2dedd
- tools last changed: 2026-10-19T15:11:22.726Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.tidytools/tidytools-free.svg)](https://protogrid.dev/servers/io.github.tidytools/tidytools-free)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `convert_html` added
  - Converts one supplied HTML fragment to Markdown. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `http_status` added
  - Checks one URL's HTTP status and redirects. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- 2026-10-19 `seo_browser_audit` added
  - Audits the rendered DOM of one public page. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `describe_image` added
  - Writes alt text for one public image URL with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `embed_text` added
  - Returns one text embedding vector. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `translate_text` added
  - Translates up to 4,000 characters of text. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `transcribe_audio` added
  - Transcribes one WAV audio clip of at most 60 seconds. Returns a limited free result and paid upgrade links. Use for one audio base64. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 10 globally per day.
- 2026-10-19 `summarize_url` added
  - Summarizes one public page with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `classify_text` added
  - Answers one yes/no question about supplied text using AI. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- 2026-10-19 `ai_extract` added
  - Extracts named fields from one public page with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.

Full history: https://api.protogrid.dev/v1/servers/io.github.tidytools%2Ftidytools-free/changes

## Remotes

- https://tools.yukai.uk/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (45)

- `ai_extract`: Extracts named fields from one public page with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `app_store_details`: Reads metadata for one Apple App Store app. Returns a limited free result and paid upgrade links. Use for one app. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `app_store_review`: Reads one recent Apple App Store review. Returns a limited free result and paid upgrade links. Use for one app. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `check_ai_crawler_access`: Returns a site's robots.txt verdict for AI crawlers, including allowed and blocked bots, with a paid upgrade link. Use to inspect one public website's declared crawler policy. Not for proving that a CDN or firewall actually permits a bot, or for ongoing monitoring.
- `classify_text`: Answers one yes/no question about supplied text using AI. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `company_enrich`: Returns public company facts from one website. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `company_enrich_ai`: Uses AI to enrich public company facts from one website. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `compress_image`: Compresses one public image. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `convert_html`: Converts one supplied HTML fragment to Markdown. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `convert_image`: Converts one public image format. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `describe_image`: Writes alt text for one public image URL with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `detect_techstack`: Returns detected website technologies and evidence. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `domain_authority`: Looks up open-data authority for one domain. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `domain_dns`: Returns DNS records for one domain. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `domain_overview`: Combines open-data signals for one domain. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `domain_whois`: Returns public RDAP registration details for one domain. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `embed_text`: Returns one text embedding vector. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `enrich_one_place`: Enriches one business listing in a city. Returns a limited free result and paid upgrade links. Use for one location. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 50 globally per day.
- `extract_article`: Extracts one article's main text and metadata. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `extract_contacts`: Finds public contact details on one website. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `find_one_job`: Finds one public job posting from a company's jobs board. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `find_one_place`: Returns one business listing in a city. Returns a limited free result and paid upgrade links. Use for one location. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `find_tidytools_tool`: Returns matching tools from the current TidyTools catalog, with advertised prices and counted paid-product links. Use when you know a web-data task but not which TidyTools tool fits. Not for fetching web content or checking live product availability beyond the catalog's publication dates.
- `http_status`: Checks one URL's HTTP status and redirects. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `jobs_detect`: Detects a site's public jobs platform. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `link_preview`: Returns title, Open Graph tags and page metadata. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `ocr_image`: Reads text from one public image URL with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `pdf_url`: Renders one public page as a PDF. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 50 globally per day.
- `play_store_details`: Reads metadata for one Google Play app. Returns a limited free result and paid upgrade links. Use for one app. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `price_check`: Checks one public product price by region. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `read_url`: Returns a public page or PDF as Markdown, in chunks, with a paid upgrade link. Use when an agent needs one URL's readable text. Not for JavaScript-only pages or crawling whole sites; use the linked paid tool for those. Default chunk is 20,000 characters; start_index reads later chunks within the free 100,000-character window.
- `referring_domains`: Looks up one domain's referring domains. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `remove_image_background`: Removes one image background. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `resize_image`: Resizes one public image. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `screenshot_url`: Captures one public page screenshot. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 50 globally per day.
- `seo_audit`: Checks one page's technical SEO signals. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `seo_browser_audit`: Audits the rendered DOM of one public page. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `smart_fetch`: Fetches one public URL as readable content. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 100 globally per day.
- `summarize_article`: Extracts and summarizes one article with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `summarize_url`: Summarizes one public page with AI. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `traffic_rank`: Looks up one domain's CrUX traffic rank. Returns a limited free result and paid upgrade links. Use for one domain. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
- `transcribe_audio`: Transcribes one WAV audio clip of at most 60 seconds. Returns a limited free result and paid upgrade links. Use for one audio base64. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 10 globally per day.
- `translate_text`: Translates up to 4,000 characters of text. Returns a limited free result and paid upgrade links. Use for one text. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `upscale_image`: Upscales one public image by 2x. Returns a limited free result and paid upgrade links. Use for one url. Not for batch work or unrestricted monitoring. Free: 1 per IP per UTC day; shared AI caller/ASN pool 20; 20 globally per day.
- `validate_email`: Checks one email address syntax and domain mail records. Returns a limited free result and paid upgrade links. Use for one email. Not for batch work or unrestricted monitoring. Free: 3 per IP per UTC day; shared AI caller/ASN pool 50; 300 globally per day.
