TidyTools Free Web Data
by tidytools · remote · no sign-in to list tools · v1.1.0 · published by GitHub user tidytools
45 free keyless web tools: AI extract, OCR, transcribe, SEO, DNS, contacts. Strict daily limits.
45 tools: 1 can delete or cancel things, 1 do something that can't be undone, 26 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things26Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http tidytools-free https://tools.yukai.uk/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnlink_preview
The server marks "link_preview" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "link_preview" says "link": a word for a change.
- Warnscreenshot_url
The server marks "screenshot_url" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "screenshot_url" says "screenshot": a word for reading.
The server marks "app_store_details" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "app_store_details" says "store": a word for a change.
- Warnapp_store_review
The server marks "app_store_review" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "app_store_review" says "store": a word for a change.
The server marks "play_store_details" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "play_store_details" says "store": a word for a change.
- Warnresize_image
The server marks "resize_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "resize_image" says "resize": a word for a change.
Show 4 more findingsShow fewer
- Warnconvert_image
The server marks "convert_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_image" says "convert": a word for a change.
The server marks "remove_image_background" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "remove_image_background" says "remove": a word for removing or ending something.
- Warndescribe_image
The server marks "describe_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "describe_image" says "describe": a word for reading.
- Warnconvert_html
The server marks "convert_html" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_html" says "convert": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
45 tools
Deletes or cancels 1Claude Code: deny
remove_image_backgroundRemoves one image background.Reads text others write1 finding
Why it is in this group
- The name "remove_image_background" says "remove": a word for removing or ending something.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "remove_image_background" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "remove_image_background" says "remove": a word for removing or ending something.
Description, as the server wrote it Removes one image background. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Can't be undone 1Claude Code: ask
screenshot_urlCaptures one public page screenshot.Reads text others writeCan send data out1 finding
Why it is in this group
- The name "screenshot_url" says "screenshot": a word for reading.
- The description's first verb is "capture": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe name "screenshot_url" says "screenshot" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Warn
The server marks "screenshot_url" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "screenshot_url" says "screenshot": a word for reading.
Description, as the server wrote it Captures one public page screenshot. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Changes things 26Claude Code: ask
ai_extractExtracts named fields from one public page with AI.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Extracts named fields from one public page with AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
app_store_detailsReads metadata for one Apple App Store app.Reads text others write1 finding
Why it is in this group
- The name "app_store_details" says "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "app_store_details" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "app_store_details" says "store": a word for a change.
Description, as the server wrote it Reads metadata for one Apple App Store app. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
app_store_reviewReads one recent Apple App Store review.Reads text others write1 finding
Why it is in this group
- The name "app_store_review" says "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "app_store_review" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "app_store_review" says "store": a word for a change.
Description, as the server wrote it Reads one recent Apple App Store review. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
classify_textAnswers one yes/no question about supplied text using AI.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Answers one yes/no question about supplied text using AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
company_enrich_aiUses AI to enrich public company facts from one website.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Uses AI to enrich public company facts from one website. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
compress_imageCompresses one public image.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Compresses one public image. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
convert_htmlConverts one supplied HTML fragment to Markdown.Reads text others write1 finding
Why it is in this group
- The name "convert_html" says "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "convert_html" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_html" says "convert": a word for a change.
Description, as the server wrote it Converts one supplied HTML fragment to Markdown. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
convert_imageConverts one public image format.Reads text others writeCan send data out1 finding
Why it is in this group
- The name "convert_image" says "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Warn
The server marks "convert_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_image" says "convert": a word for a change.
Description, as the server wrote it Converts one public image format. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
describe_imageWrites alt text for one public image URL with AI.Reads text others writeCan send data out1 finding
Why it is in this group
- The name "describe_image" says "describe": a word for reading.
- The description's first verb is "write": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "write" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Warn
The server marks "describe_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "describe_image" says "describe": a word for reading.
Description, as the server wrote it Writes alt text for one public image URL with AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
domain_authorityLooks up open-data authority for one domain.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Looks up open-data authority for one domain. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
domain_overviewCombines open-data signals for one domain.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Combines open-data signals for one domain. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
enrich_one_placeEnriches one business listing in a city.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Enriches one business listing in a city. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_articleExtracts one article's main text and metadata.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Extracts one article's main text and metadata. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
jobs_detectDetects a site's public jobs platform.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Detects a site's public jobs platform. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
link_previewReturns title, Open Graph tags and page metadata.Reads text others writeCan send data out1 finding
Why it is in this group
- The name "link_preview" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Warn
The server marks "link_preview" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "link_preview" says "link": a word for a change.
Description, as the server wrote it Returns title, Open Graph tags and page metadata. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
pdf_urlRenders one public page as a PDF.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Renders one public page as a PDF. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
play_store_detailsReads metadata for one Google Play app.Reads text others write1 finding
Why it is in this group
- The name "play_store_details" says "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "play_store_details" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "play_store_details" says "store": a word for a change.
Description, as the server wrote it Reads metadata for one Google Play app. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
price_checkChecks one public product price by region.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Checks one public product price by region. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
referring_domainsLooks up one domain's referring domains.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Looks up one domain's referring domains. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
resize_imageResizes one public image.Reads text others writeCan send data out1 finding
Why it is in this group
- The name "resize_image" says "resize": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Warn
The server marks "resize_image" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "resize_image" says "resize": a word for a change.
Description, as the server wrote it Resizes one public image. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
seo_auditChecks one page's technical SEO signals.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Checks one page's technical SEO signals. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
seo_browser_auditAudits the rendered DOM of one public page.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Audits the rendered DOM of one public page. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
traffic_rankLooks up one domain's CrUX traffic rank.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Looks up one domain's CrUX traffic rank. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
transcribe_audioTranscribes one WAV audio clip of at most 60 seconds.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Transcribes one WAV audio clip of at most 60 seconds. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
translate_textTranslates up to 4,000 characters of text.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Translates up to 4,000 characters of text. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
upscale_imageUpscales one public image by 2x.Reads text others writeCan send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Upscales one public image by 2x. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Only reads 17Claude Code: allow, ask for 11 outbound
check_ai_crawler_accessReturns a site's robots.txt verdict for AI crawlers, including allowed and blocked bots, with a paid upgrade link.Reads text others writeCan send data outNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it 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. Apify Actor links can be paid with x402 via Apify, no Apify account needed.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
company_enrichReturns public company facts from one website.Reads text others writeCan send data outNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "return" and "website": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Returns public company facts from one website. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
detect_techstackReturns detected website technologies and evidence.Reads text others writeCan send data outNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "return" and "website": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Returns detected website technologies and evidence. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
domain_dnsReturns DNS records for one domain.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Returns DNS records for one domain. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
domain_whoisReturns public RDAP registration details for one domain.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Returns public RDAP registration details for one domain. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
embed_textReturns one text embedding vector.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Returns one text embedding vector. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_contactsFinds public contact details on one website.Reads private dataReads text others writeCan send data outNo findings
Why it is in this group
- The description's first verb is "find": a word for reading.
What it can reach
- private-dataThe name "extract_contacts" says "contact": it reads contacts.
- private-dataThe description's first sentence says "find" and "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "find" and "website": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Finds public contact details on one website. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
find_one_jobFinds one public job posting from a company's jobs board.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "find_one_job" says "find": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Finds one public job posting from a company's jobs board. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
find_one_placeReturns one business listing in a city.Reads text others writeNo findings
Why it is in this group
- The name "find_one_place" says "find": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Returns one business listing in a city. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
find_tidytools_toolReturns matching tools from the current TidyTools catalog, with advertised prices and counted paid-product links.No findings
Why it is in this group
- The name "find_tidytools_tool" says "find": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
http_statusChecks one URL's HTTP status and redirects.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "http_status" says "status": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe name "http_status" says "status" and "http": it reads web pages, which anyone can write.
- untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Checks one URL's HTTP status and redirects. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
ocr_imageReads text from one public image URL with AI.Reads text others writeCan send data outNo findings
Why it is in this group
- The description's first verb is "read": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "read" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Reads text from one public image URL with AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
read_urlReturns a public page or PDF as Markdown, in chunks, with a paid upgrade link.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "read_url" says "read": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe name "read_url" says "read" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it 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. Apify Actor links can be paid with x402 via Apify, no Apify account needed.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
smart_fetchFetches one public URL as readable content.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "smart_fetch" says "fetch": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Fetches one public URL as readable content. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
summarize_articleExtracts and summarizes one article with AI.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "summarize_article" says "summarize": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Extracts and summarizes one article with AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
summarize_urlSummarizes one public page with AI.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "summarize_url" says "summarize": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe name "summarize_url" says "summarize" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Summarizes one public page with AI. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
validate_emailChecks one email address syntax and domain mail records.Reads text others writeNo findings
Why it is in this group
- The name "validate_email" says "validate": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Checks one email address syntax and domain mail records. Returns a limited free result and paid upgrade links. Apify Actor links can be paid with x402 via Apify, no Apify account needed. 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
1144 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write44
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out26
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__tidytools-free__extract_contacts"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 15:06 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 28
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- none
- RFC 9728 protected resource metadata
- none
- Authorization servers
- none
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- HighThe whole server
The endpoint served tools/list without credentials, and the list has 28 tools that change things (1 destructive, 1 irreversible, 26 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://tools.yukai.uk/mcp: tools/list returned 45 tools to an anonymous client, including remove_image_background (destructive), screenshot_url (irreversible), link_preview (write), seo_audit (write), company_enrich_ai (write) and 23 more
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http tidytools-free https://tools.yukai.uk/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__tidytools-free__find_tidytools_tool",
"mcp__tidytools-free__domain_whois",
"mcp__tidytools-free__domain_dns",
"mcp__tidytools-free__validate_email",
"mcp__tidytools-free__find_one_place",
"mcp__tidytools-free__embed_text"
],
"ask": [
"mcp__tidytools-free__read_url",
"mcp__tidytools-free__check_ai_crawler_access",
"mcp__tidytools-free__link_preview",
"mcp__tidytools-free__detect_techstack",
"mcp__tidytools-free__seo_audit",
"mcp__tidytools-free__extract_contacts",
"mcp__tidytools-free__company_enrich",
"mcp__tidytools-free__company_enrich_ai",
"mcp__tidytools-free__extract_article",
"mcp__tidytools-free__summarize_article",
"mcp__tidytools-free__ocr_image",
"mcp__tidytools-free__screenshot_url",
"mcp__tidytools-free__pdf_url",
"mcp__tidytools-free__smart_fetch",
"mcp__tidytools-free__price_check",
"mcp__tidytools-free__domain_authority",
"mcp__tidytools-free__traffic_rank",
"mcp__tidytools-free__referring_domains",
"mcp__tidytools-free__domain_overview",
"mcp__tidytools-free__jobs_detect",
"mcp__tidytools-free__find_one_job",
"mcp__tidytools-free__app_store_details",
"mcp__tidytools-free__app_store_review",
"mcp__tidytools-free__play_store_details",
"mcp__tidytools-free__enrich_one_place",
"mcp__tidytools-free__resize_image",
"mcp__tidytools-free__convert_image",
"mcp__tidytools-free__compress_image",
"mcp__tidytools-free__upscale_image",
"mcp__tidytools-free__ai_extract",
"mcp__tidytools-free__classify_text",
"mcp__tidytools-free__summarize_url",
"mcp__tidytools-free__transcribe_audio",
"mcp__tidytools-free__translate_text",
"mcp__tidytools-free__describe_image",
"mcp__tidytools-free__seo_browser_audit",
"mcp__tidytools-free__http_status",
"mcp__tidytools-free__convert_html"
],
"deny": [
"mcp__tidytools-free__remove_image_background"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as tidytools-free. Review it before you use it.
Capability tags behind 44 rules
- mcp__tidytools-free__read_url untrusted-input, outbound
- mcp__tidytools-free__check_ai_crawler_access untrusted-input, outbound
- mcp__tidytools-free__link_preview untrusted-input, outbound
- mcp__tidytools-free__detect_techstack untrusted-input, outbound
- mcp__tidytools-free__domain_whois untrusted-input
- mcp__tidytools-free__domain_dns untrusted-input
- mcp__tidytools-free__validate_email untrusted-input
- mcp__tidytools-free__seo_audit untrusted-input, outbound
- mcp__tidytools-free__extract_contacts private-data, untrusted-input, outbound
- mcp__tidytools-free__company_enrich untrusted-input, outbound
- mcp__tidytools-free__company_enrich_ai untrusted-input, outbound
- mcp__tidytools-free__extract_article untrusted-input, outbound
- mcp__tidytools-free__summarize_article untrusted-input, outbound
- mcp__tidytools-free__ocr_image untrusted-input, outbound
- mcp__tidytools-free__screenshot_url untrusted-input, outbound
- mcp__tidytools-free__pdf_url untrusted-input, outbound
- mcp__tidytools-free__smart_fetch untrusted-input, outbound
- mcp__tidytools-free__price_check untrusted-input, outbound
- mcp__tidytools-free__domain_authority untrusted-input
- mcp__tidytools-free__traffic_rank untrusted-input
- mcp__tidytools-free__referring_domains untrusted-input
- mcp__tidytools-free__domain_overview untrusted-input
- mcp__tidytools-free__jobs_detect untrusted-input, outbound
- mcp__tidytools-free__find_one_job untrusted-input, outbound
- mcp__tidytools-free__app_store_details untrusted-input
- mcp__tidytools-free__app_store_review untrusted-input
- mcp__tidytools-free__play_store_details untrusted-input
- mcp__tidytools-free__find_one_place untrusted-input
- mcp__tidytools-free__enrich_one_place untrusted-input
- mcp__tidytools-free__resize_image untrusted-input, outbound
- mcp__tidytools-free__convert_image untrusted-input, outbound
- mcp__tidytools-free__compress_image untrusted-input, outbound
- mcp__tidytools-free__remove_image_background untrusted-input
- mcp__tidytools-free__upscale_image untrusted-input, outbound
- mcp__tidytools-free__ai_extract untrusted-input, outbound
- mcp__tidytools-free__classify_text untrusted-input
- mcp__tidytools-free__summarize_url untrusted-input, outbound
- mcp__tidytools-free__transcribe_audio untrusted-input
- mcp__tidytools-free__translate_text untrusted-input
- mcp__tidytools-free__embed_text untrusted-input
- mcp__tidytools-free__describe_image untrusted-input, outbound
- mcp__tidytools-free__seo_browser_audit untrusted-input, outbound
- mcp__tidytools-free__http_status untrusted-input, outbound
- mcp__tidytools-free__convert_html untrusted-input
