Siftwright web data
by siftwright.com · remote · no sign-in to list tools · v1.0.0 · published by com.siftwright
Web data for agents: YouTube transcripts, screenshots, Google News, WHOIS, jobs, tech stack, more.
9 tools: 1 do something that can't be undone, 4 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things4Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http web-data https://siftwright.com/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
The server marks "website_screenshot" 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 "website_screenshot" says "screenshot": a word for reading.
The server marks "app_store_reviews" 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_reviews" says "store": 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.
9 tools
Can't be undone 1Claude Code: ask
website_screenshotCapture a PNG or JPEG screenshot, or render a PDF, of public web pages in a real browser.1 finding
Why it is in this group
- The name "website_screenshot" 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.
Findings
- Warn
The server marks "website_screenshot" 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 "website_screenshot" says "screenshot": a word for reading.
Description, as the server wrote it Capture a PNG or JPEG screenshot, or render a PDF, of public web pages in a real browser. Returns a signed fileUrl per page that can be downloaded without a key for 7 days. Each page captured counts as one result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Changes things 4Claude Code: ask
app_store_reviewsGet Apple App Store reviews for apps (by name, numeric ID or URL) in one or more countries, filtered by rating, keywords and date.1 finding
Why it is in this group
- The name "app_store_reviews" says "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "app_store_reviews" 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_reviews" says "store": a word for a change.
Description, as the server wrote it Get Apple App Store reviews for apps (by name, numeric ID or URL) in one or more countries, filtered by rating, keywords and date. Every 25 reviews returned count as one result (rounded up per request).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
domain_whoisLook up who a domain is registered with, when it was created, when it expires, its status, nameservers and DNSSEC (from RDAP/WHOIS registries), plus A, MX, SPF and DMARC records, a…No 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.
Description, as the server wrote it Look up who a domain is registered with, when it was created, when it expires, its status, nameservers and DNSSEC (from RDAP/WHOIS registries), plus A, MX, SPF and DMARC records, and whether it looks available. Every 3 domains with a registry answer count as one result (rounded up per request).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
pqc_scanCheck whether domains use post-quantum TLS key exchange (X25519MLKEM768 / ML-KEM), which groups they prefer, TLS 1.2/1.3 support, certificate algorithms and expiry, and HSTS, with …No 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.
Description, as the server wrote it Check whether domains use post-quantum TLS key exchange (X25519MLKEM768 / ML-KEM), which groups they prefer, TLS 1.2/1.3 support, certificate algorithms and expiry, and HSTS, with a letter grade. Each host that answers counts as one result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
tech_stackDetect what a website is built with: CMS, ecommerce platform, frameworks, analytics, ad pixels, hosting, CDN, email and DNS provider, with the evidence for each detection.No 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.
Description, as the server wrote it Detect what a website is built with: CMS, ecommerce platform, frameworks, analytics, ad pixels, hosting, CDN, email and DNS provider, with the evidence for each detection. Each website that loads counts as one result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Only reads 4Claude Code: allow
ats_jobsList open jobs from company careers pages on Greenhouse, Lever, Ashby, SmartRecruiters and Recruitee in one schema (title, team, location, remote, salary when published, apply URL)…No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List open jobs from company careers pages on Greenhouse, Lever, Ashby, SmartRecruiters and Recruitee in one schema (title, team, location, remote, salary when published, apply URL), with title, location, department and recency filters. Every 3 jobs returned count as one result (rounded up per request).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
contact_detailsFind public emails, phone numbers and social profiles (LinkedIn, X/Twitter, Facebook, Instagram, YouTube) on company websites by crawling up to a few pages of each site.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find public emails, phone numbers and social profiles (LinkedIn, X/Twitter, Facebook, Instagram, YouTube) on company websites by crawling up to a few pages of each site. Each website with a successful crawl counts as one result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
google_newsSearch Google News for a keyword, company or topic and get articles as structured data (title, link, source, published time).No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it Search Google News for a keyword, company or topic and get articles as structured data (title, link, source, published time). Each article returned counts as one result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
youtube_transcriptGet transcripts (captions) for YouTube videos, Shorts, playlists or channels as plain text and timed segments, with video metadata.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get transcripts (captions) for YouTube videos, Shorts, playlists or channels as plain text and timed segments, with video metadata. Uses the captions YouTube already has; videos without captions return a failed item. Each video whose transcript comes back counts as one result on your Siftwright plan; failures are free.
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.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http web-data https://siftwright.com/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__web-data__youtube_transcript",
"mcp__web-data__google_news",
"mcp__web-data__contact_details",
"mcp__web-data__ats_jobs"
],
"ask": [
"mcp__web-data__website_screenshot",
"mcp__web-data__pqc_scan",
"mcp__web-data__tech_stack",
"mcp__web-data__app_store_reviews",
"mcp__web-data__domain_whois"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as web-data. Review it before you use it.