← Home
Search by capability

Tool search 164,478 tools · 10,067 live servers

Filtersactive
Searches the tool schemas themselves, not the README. Every result is a server you can install.
22 servers with tools matching “screenshotBest-graded first
Kernelcadcom.kernelcad/kernelcadAPublisher
  • review_paint_peek_latest

    Return the newest brush-painted review packet from a Studio session. After sharing a /p/<slug> link, the user can open it in the browser and paint marks over the 3D viewport to give visual feedback. Call this tool with the `slug` from that link to see the strokes — screenshot + mask + struck part names plus an optional one-line note and intent tags (e.g. "too thick", "missing", "wrong angle") describing WHAT is wrong — and act on the feedback. The slug is the capability: no OAuth required when passing `slug`; private projects require the owner to be signed in. Omit `slug` to fetch your own latest packet from your signed-in account (requires OAuth). By default returns short-lived signed Storage URLs for the screenshot + mask + meta.json plus the struck part names — small and context-friendly. Pass `paths_only: false` to also base64-inline the PNGs for clients that cannot fetch the signed URLs over HTTP.

Vynixin.vynix/vynix-mcpAPublisher
  • get_annotation_screenshots

    Return the region screenshots attached to an annotation as viewable images, so you can see exactly what the reporter pointed at.

Invinoveritascom.babyblueviper/invinoveritasAPublisher
  • browse

    Paid tiered Browser-as-a-Service (/browse or /web-act). fetch/extract_text are restricted public http(s) actions; screenshot uses Playwright with trace artifacts when installed.

Sonarapp.trysonar/sonarAPublisher
  • sonar_app_aso_score

    Calculate an ASO (App Store Optimization) audit score (0-100) for an app. Returns the overall score plus an itemized breakdown of checks (title length, keyword usage, screenshots, ratings, etc.) so you can identify what to improve. Works without an API key (free tier, limited daily use per IP).

  • sonar_app_changes

    Change history for a tracked app — detected releases, metadata edits, screenshot swaps, price changes, and category moves, newest first. Useful for correlating rank movements with what the app (or a competitor) changed. Requires an Indie plan (trial counts).

  • sonar_screenshot_layout_guide

    The layout-format reference for Sonar screenshot sets. Call this ONCE before creating or editing screenshot layouts — it documents the layout JSON schema, coordinate system, image handling (remote URLs), flowing background shapes, fonts, translation overrides, and the recommended workflow.

  • sonar_screenshot_devices

    List the device sizes supported for app-store screenshot sets, with their canvas dimensions (the pixel coordinate space all layouts use) and which store each belongs to. Pick a device here before sonar_create_screenshot_set.

  • sonar_list_screenshot_sets

    List a product's app-store screenshot sets (metadata only: store, device size, locales, studio_url). Use sonar_get_screenshot_set for full layouts.

  • sonar_create_screenshot_set

    Create an app-store screenshot set for a product. Read sonar_screenshot_layout_guide first, then author the screens array. The set is immediately visible/editable for humans in the Screenshot Studio (studio_url in the response). Requires a write-scope API key.

FinBridgekr.gronox/finbridgeAPublisher
  • import_portfolio

    Store the structured holdings explicitly entered by the user in their FinBridge portfolio. Uploaded files, screenshots, chat history and extracted file content are not supported sources for this connector. Accepts listed stocks (KR/US/TW/JP) as well as cash, crypto (BTC etc.) and physical assets (gold): stocks are matched against the database, crypto and gold (PAXG) get live ccxt quotes, cash and physical assets are stored at the given value. For ETFs or foreign products not in the database, pass value directly. If the user specifies an asset class, pass asset_class as well (cash|bond|physical|growth|dividend|crypto|other; Korean labels 현금|채권|현물|성장주|배당주|가상자산|기타 are accepted). Registered listed stocks are also added to the watchlist automatically. Use when: the user explicitly enters what they hold and wants it stored for get_portfolio. There is no per-holding edit or delete tool: to change or remove holdings, re-import the complete corrected list with replace=true (replace=false only adds/updates the rows given). Not this tool for: the watchlist (manage_watchlist — companies followed, no quantities), valuing a company (get_valuation), or reading what is already stored (get_portfolio).

Planner MCP — provable "done" for AI agentscom.monopoly-gold.planner/mcpBPublisher
  • goal-attach-evidence

    PRIMARY path to close a Grove goal: this is the ONLY tool that covers an acceptance criterion. Attach binary evidence (screenshot, log dump, API response, export) to an AC — call it once per criterion to satisfy the close gate. The subordinate goal-add-evidence-text only adds context for proofs with NO bytes (URLs to permanent external sources, manual repro descriptions) and does NOT cover an AC. Caption is optional but strongly recommended: state what the file captures and the reproduction conditions (URL/commit/session/inputs) so a third reviewer can reproduce. ⚠ PICK THE RIGHT TRANSPORT BEFORE YOU CALL THIS TOOL ⚠ • BEST for ANY file > ~1 KB raw — and the ONLY no-token path, so use it in a claude.ai / hosted-agent session that has no raw X-Auth-Token → call the sibling MCP tool `goal-request-upload` with this same criterionId. It returns a one-time {uploadUrl, expiresAt}; then stream the raw bytes with a single PUT: `curl -sS --fail --upload-file "/abs/path/to/file.png" "<uploadUrl>"` (optionally add -H "X-Content-Sha256: <hex sha256>" so corruption fails fast). No base64, no token — the signed ?t= ticket in the URL is the only credential, single-use, criterion-scoped. The PUT response is the same evidence JSON this tool returns. • ALTERNATIVELY, if you DO have the raw X-Auth-Token in your shell → the `planner-attach.sh` helper (zero-install bash, binary-safe). The MCP base64 path below is unreliable for non-trivial files: long string arguments get truncated or whitespace-corrupted on the agent side BEFORE the JSON-RPC request is sent. Measured 2026-05-20 on prod: a 4 KB PNG arrived at the server as 1874 decoded bytes (file_hash_mismatch); a 2 KB payload arrived with stray whitespace (failed base64_decode). The server itself accepts up to 25 MiB raw — the bottleneck is the agent-side serialisation of contentBase64, NOT the server. planner-attach.sh COPY-PASTE RECIPE (replace 3 placeholders, run in your shell): curl -sS https://planner.monopoly-gold.com/api/cli/planner-attach.sh \ | PLANNER_TOKEN="<same X-Auth-Token you use for MCP>" bash -s -- \ --criterion-id "<CRITERION_UUID>" \ --file "/abs/path/to/file.png" \ --caption "what is captured and the repro conditions" \ --created-by "<your agent id>" Where to get each value: - PLANNER_TOKEN: the very same token that is already in your MCP config under the X-Auth-Token header for the `planner` server. NOT a separate credential. - CRITERION_UUID: the AC id you got from goal-get / goal-list. Same UUID you would pass to this MCP tool. - file path: absolute path on YOUR (agent) machine — the script reads it locally and streams multipart. The planner server never sees your filesystem. The helper computes SHA-256 itself and ships it as `contentSha256`, so any in-flight corruption fails fast with HTTP 400 instead of poisoning the evidence row. Output on stdout is the same JSON shape this MCP tool returns; non-zero exit means HTTP ≥ 400 (stderr explains). Without curl/bash? Fall back to raw multipart: POST https://planner.monopoly-gold.com/api/criteria/<id>/evidence/file, header X-Auth-Token, form fields file=@..., contentSha256=..., caption, createdBy. • File ≤ ~1 KB raw → this MCP tool is fine. ALWAYS pass `contentSha256` (hex SHA-256 of raw bytes BEFORE base64). Without it, a silently truncated PNG looks valid to the MIME sniffer; the server cannot distinguish a truncated 4 KB PNG from a valid 1 KB one and the vision judge burns ~30s on broken bytes. With the hash, the server fast-fails with error=file_hash_mismatch and points back here at the multipart endpoint. Validates MIME whitelist (png/jpeg/webp/gif/mp4/pdf/txt/json/zip), per-file size cap (ATTACHMENTS_MAX_FILE_BYTES, default 25 MiB), per-project attachments quota. Returns evidence record + file URL + serverSha256.

  • goal-request-upload

    PREFERRED path to attach a LARGE binary evidence file (screenshot, log dump, PDF, session transcript — anything > ~1 KB) to an acceptance criterion. Returns a one-time {uploadUrl, expiresAt} scoped to this criterion. Then STREAM the raw file to it with a single PUT — no base64, no token: curl -sS --fail --upload-file "/abs/path/to/file.png" "<uploadUrl>" Optionally pass the hex SHA-256 of the file so the server fast-fails on any in-flight corruption: curl -sS --fail -H "X-Content-Sha256: <sha256>" --upload-file "/abs/path/to/file.png" "<uploadUrl>" The PUT response is the same evidence JSON that goal-attach-evidence returns (evidence id, serverSha256, judge verdict, criterion evidenceCount). A non-2xx PUT means the upload was rejected (expired/already-used/wrong-criterion/hash-mismatch) and NO evidence was created — request a fresh URL and retry. Use this instead of goal-attach-evidence for any non-trivial file. Use goal-add-evidence-text only for byte-less context (external URLs, manual repro notes) — it does NOT cover an AC. GOAL ATTACHMENTS (description illustrations, NOT evidence): pass goalId INSTEAD of criterionId. The PUT then creates a goal attachment and returns {attachment.url, attachment.markdown} — paste `markdown` into the goal description and the web UI renders images inline. Such a file is not bound to any AC and never counts toward closing the goal.

  • goal-add-evidence-text

    SUBORDINATE / supplementary path — does NOT close an acceptance criterion. Adds a text-only note (URL to a permanent external source like CI run / GitHub commit / issue, or a description of a manual scenario) as extra context alongside the real proof. The path that actually covers an AC and closes a Grove goal is goal-attach-evidence — use that one for every criterion. Plain evidence NEVER counts toward AC coverage no matter how many you add; it is only a complement to an attached file. NOT for bytes — screenshots, logs, API responses, exports all go through goal-attach-evidence. NOT for filesystem paths — those need goal-attach-evidence with the actual file.

  • goal-attach-file

    Attach a small file (mockup, diagram, screenshot, PDF) to a GOAL as a description attachment — NOT evidence: it is not bound to any acceptance criterion, is never judged and never counts toward closing the goal. Returns {attachment.url, attachment.markdown}; paste `markdown` into the goal description (goal-update description) and the web UI renders images inline. contentBase64 is reliable only for payloads ≤ ~1 KB (long string arguments get truncated on the agent side before the request is sent). For anything bigger call goal-request-upload with goalId and stream the file with a single PUT — same result shape, no base64.

Takedownnet.lawyerd/takedownBPublisher
  • preserve_evidence

    Preserve a public web page as evidence BEFORE it disappears: a forensic-grade package — full-page screenshot, raw and rendered HTML, HTTP headers, hosting/registrar context, SHA-256 hashes of every artifact, an OpenTimestamps Bitcoin anchor and an Internet Archive snapshot — delivered to the USER'S OWN email in ~2 minutes (free: 3/day, 10/month per email). Use when the user wants to "save proof", "screenshot for court" or fix a scam/infringing page before takedown. Sends one email to the address given; captures only public pages (no logins/paywalls); lawful preservation only. Not notarization — Lawyerd counsel can add a signed declaration of the capture procedure on request.

WingmanProtocol Agent Gatewaycom.wingmanprotocol.agent/gatewayBPublisher
  • browse_screenshot

    Screenshot the current page; returns a base64 PNG ({screenshot_b64, bytes}).

AgentScrapeio.github.hshintelligence/agent-scrapeBVerified
  • screenshot_webpage

    Capture a PNG screenshot of any webpage. Supports desktop, mobile, and tablet viewports, plus full-page mode.

  • run_workflow

    Execute a multi-step browser workflow atomically: navigate, click, type, wait, scroll, screenshot, extract, evaluate. Up to 20 steps.

ToolSnap MCPapp.toolsnap/toolsnap-mcpBPublisher
  • screenshot_url

    Screenshot a page → public image URL. $0.04/call. Paid: calling without a payment payload returns a structured 402 with payment options — that response is the documented behavior, not a failure.

Toolcallclick.toolcall/toolcallBPublisher
  • screenshot

    Full-fidelity screenshot of any public web page, captured by a real Chrome browser. Viewport or full-page, configurable width. Returns a base64 PNG. JSON response. [Paid: $0.015 USDC per call via x402 on Base; the calling client pays automatically.]

agent-web — URL to LLM-ready markdown: a polite, robots-respecting web page reader (free)io.github.foomworks/agent-webBVerified
  • render_preview

    Free discovery stub for the screenshot/PDF render lane. Same robots/SSRF guards as read_url. Currently returns a 503 (no charge) until Cloudflare Browser Rendering is provisioned on this account.

  • render_screenshot

    PAID (x402): returns x402 payment instructions for a PNG screenshot of a publicly reachable URL, rendered via a real, robots-respecting headless browser. Use render_preview (free) first. Currently soft-skips 503 until Cloudflare Browser Rendering is provisioned.

Pagewatchdev.pagelens/pagewatchBPublisher
  • screenshot

    Take a screenshot of a web page rendered in a real browser and return it as base64 image data (png by default, jpeg optional), with the final url and pixel size. Consent overlays are hidden so the shot shows the page. Respects robots.txt. Pass api_key if you have a pagewatch key, otherwise a free trial key is created for you and returned. url: the page to capture. api_key: an existing pagewatch bearer token, optional. full_page: capture the entire scrollable page, not just the viewport. width, height: viewport size in pixels. format: png or jpeg. wait_for_selector: css selector to wait for before capturing, optional.

  • register

    Create a pagewatch api key for yourself. Free, no signup and no human form. Returns a bearer token that starts with a small free trial so your first read_page, screenshot or pdf works right away. When the trial runs out, hand the returned verification_uri_complete to your human, who confirms one email to unlock 200 more free credits (still free, nothing to pay). Reuse the token by passing it as api_key, or set it as Authorization: Bearer <token> on this server. Nothing is ever charged: pagewatch has no payment processor connected. label: a short name for this key, optional. purpose: why you want web access, shown to your human on the activation page.

Fetchercloud.fetcher/fetcherBPublisher
  • render_page

    Render a JavaScript page in a real browser; returns rendered HTML, text, optional screenshot. (browser; $0.02/call in USDC via x402, 10 free/day).

  • screenshot_page

    Screenshot a page (real browser) as a base64 PNG/JPEG. (browser; $0.02/call in USDC via x402, 10 free/day).

Snapforgeorg.snapforge/snapforgeBPublisher
  • snapforge_screenshot

    Capture a screenshot of a public URL or raw HTML as a PNG/JPEG image. Full-page by default. Requires a SnapForge API key (no key? call snapforge_signup first).

  • snapforge_signup

    Create a free SnapForge account (100 renders, one-time free trial, not a monthly allowance) with just an email address and get the API key instantly. The key is bound to the current MCP session, so the screenshot/pdf/markdown tools work immediately after signup, no browser needed.

SaSame MCP Observatory + Gold Rush Townonline.sasame/researchBPublisher
  • town_claim_confirm

    Step 2 of claiming your building. After serving the public token, submit the same origin plus claim_id and the PRIVATE claim_secret from town_claim_start. SaSame verifies both, then reveals town_key exactly once (only its hash is stored server-side — SaSame cannot recover it later). The response includes a 'setup' block: show the user setup.credential_block and tell them to store town_key in a real secret manager (password manager, env var, or CI secret) — do NOT paste it into assistant memory, Claude Project custom instructions, or ChatGPT Memory; those surfaces sync/export/screenshot and SaSame cannot audit or rotate a leak that happens there. There is no login — town_key is the only proof of ownership. If it's leaked but still known, call town_rotate_key immediately. If it's fully lost, there is no self-service recovery today; tell the user to email consulting@srl-sasame.com.

3dCMSinfo.3dcms/mcpBPublisher
  • get_scene_screenshot

    Render the scene server-side (real WebGL, headless) and return screenshot image(s) — your EYES on the scene. Use it after apply_ops batches: judge the image (floating objects, unreadable/overlapping text, empty horizon, bad spacing, wrong colors) and fix with apply_ops. Discipline: at most 2 screenshot→fix rounds per user request, then report what you built. views (max 4, default = the visitor's entry view): pass "page:<pageIdOrSlug>" to frame one page/neighborhood, or {position:[x,y,z], target:[x,y,z], fov?} for an exact camera. Rendering is real but slow — ~10s for simple scenes, up to ~2 minutes for asset-heavy ones (repeat shots of an unchanged scene are cached and instant). Rate-limited: prefer ONE well-chosen view; only multi-view when areas are far apart. If it returns a busy/unavailable error, keep building and retry once later — do not loop on it.

uxgenai.uxgen/ecommerce-conversionBPublisher
  • uxgen_render

    RENDERS YOUR PAGE AND GIVES YOU THE IMAGES BACK, in this response — nothing is written to any disk. Send `html` (the page content, as text) or `url`. You get the first screen and the full page at 390 and 1440 px, as real images you must OPEN and LOOK AT before you change anything. A page that was never looked at is the first cause of an ugly site. ⚠️ THE 8-FRAME SCROLL STRIP IS NOT RETURNED BY DEFAULT: measured at 698 KB for a text-only page, several MB for a real one. Ask for it with `bande: true` and it is served up to a hard weight cap, which the answer states. ⏱ Expect 10 to 25 seconds. MAKES THE PAGE VISIBLE. Call it as soon as the page is assembled, and after every visual fix, BEFORE the audit. It opens the page in headless Chrome (no server left running) and WRITES TO DISK: the first screen alone, the full page, and a strip of 8 frames captured during a scripted scroll, at 390 and 1440 px. It also returns what a screenshot cannot show: horizontal overflow per width, approximate LCP, transferred weight, images without dimensions. THE PATHS IT RETURNS MUST BE OPENED WITH YOUR IMAGE-READING TOOL: this tool does not judge for you, it hands you the view. Writing a page you never look at is the number one cause of ugly sites.

  • uxgen_audit

    MEASURES A PAGE FOR REAL, IN HEADLESS CHROME, ON THIS SERVER — five widths (360, 390, 768, 1100, 1440), the computed styles, the scroll, and a robot that CLICKS the buying path. Send `html` (the page content, as text) or `url` (a live page). It writes NOTHING anywhere: it returns named gaps, each with the selector and the gesture that closes it, and NO score to chase. ⏱ EXPECT 45 TO 65 SECONDS. Measured 25/08 on a 2 KB page: 47 s at five widths. This is not a hang — do not retry, and tell your user it is running. MEASURES the page and RETURNS NAMED GAPS. A real audit in headless Chrome at 360, 390, 768, 1100 and 1440 px, on a block (`blockId`), an HTML file (`path`) or a URL (`url`). It returns the profile it used and every gap with its SELECTOR, its WEIGHT and THE GESTURE that closes it, most expensive first. 🚨 AUDIT THE PAGE, NOT THE BLOCKS: colors, radii, breathing room and distance to the price only show up on the assembled page. 🚨 NO SCORE, NO THRESHOLD, NO GO-AHEAD, and that is deliberate: nothing to clear, nothing to push up. YOU are the one who decides to ship, after LOOKING at the screenshots. Fix by the GESTURE the gap names, never by pushing a number. The response stays under 10,000 characters and SAYS what it leaves out; the full report is written next to the page in `_bloom-audit/`.

Agent Newsstandcom.agentnewsstand/agent-newsstandBPublisher
  • screenshot

    Screenshot of any public URL (viewport PNG)

Reelfy Agent Toolsio.github.Mgnlockii/reelfyBVerified
  • ai_vision

    Analyze an image with Claude: OCR, chart reading, screenshot explanation. ~$0.05.

Cobaltcom.cobaltcapture/cobaltBPublisher
  • get_review

    Fetch a Cobalt Capture review by its share link or slug. Returns the reviewer's notes as text AND each annotated screenshot as an image, so you can see exactly what was marked and what to change.

  • create_review

    Start a new Cobalt Capture review and get a handle for filling it in. Use this to compile the findings of any site study — a usability pass, a pricing teardown, a positioning audit, a QA run — into one shareable, durable report with real screenshots. Works from any client, chat assistants included: with no browser, add_screenshot(page_url=...) renders the pages for you. Returns a `review` slug and a `claim_token` — pass BOTH back to add_screenshot / add_note to append content. Also returns a `review_url` to share and a `save_url` the human opens (while signed in) to save the review to their account permanently. The review is anonymous and auto-deletes after 30 days unless saved.

  • add_screenshot

    Append a screenshot (with an optional note) to a review created by create_review. The image is stored durably in Cobalt — this is the way to persist screenshots that would otherwise be lost when they only pass through a browser tool. Call once per screen as you go. NO BROWSER? Pass `page_url` and Cobalt renders the page for you (Cloudflare headless Chrome): `viewport` 'desktop' (1280px) or 'mobile' (390px phone, 2x), `full_page` true for the whole scroll. Use it for every screen you would otherwise only describe in text — a review without screenshots is a reduced deliverable, and the mobile viewport is how you test the phone fold without a device. The result includes the rendered image: LOOK AT IT before moving on. Cookie walls and modal veils are stripped automatically, but if what came back is still not the shot (an overlay, a blank, the wrong page), retake it in place with `replace_item` = that item's number, adding `hide_selectors` for anything you can name — never leave a useless capture in the review and never append a second copy after it. Otherwise the input is `image_url`: POST the image to https://cobaltcapture.com/api/upload (multipart field `file`, no auth, returns {url, key}) and pass back the url. If a browser-automation script took the screenshot, do that POST inside the same script (Python `requests.post(...)`, or Playwright's request context) rather than shelling out to curl afterwards — same result, one less permission prompt. The `image` base64 parameter exists for small images only: tool-call arguments are model-generated text, so a real screenshot means emitting tens of thousands of base64 tokens perfectly, and an image you received as an image cannot be transcribed at all.

  • add_note

    Append a free-standing text note (not tied to a screenshot) to a review created by create_review. Use for context, steps taken, or a summary of findings between screenshots.

  • update_review

    Update a review's summary and/or title after the fact. Use this at the END of a run to land the verdict at the TOP of the review: the headline findings don't exist until the work is done, but readers (and agents ingesting the review) want them before scrolling past every intermediate screenshot. Prefer this over burying conclusions in a closing note.

  • get_playbook

    Fetch a Cobalt study playbook by name and follow it exactly. Works from ANY client — a coding agent driving a browser, or a chat assistant with no browser (Claude chat, Cowork, ChatGPT): the public-page studies run in full from chat, because add_screenshot(page_url=...) renders the pages for you. Use this when the user asks for any kind of site review, audit, teardown, or test and you don't already have the playbook text. Available: 'pricing_teardown' — can a buyer tell what they'd pay and which tier is theirs (public pages: runs anywhere); 'positioning_pass' — positioning and messaging audit of the public site (public pages: runs anywhere); 'comparison_study' — two or three products compared for one buying decision, with a sourced matrix and an overall lean (public pages plus web search: runs anywhere); 'usability_pass' — first-time-user usability audit: signs up with a disposable inbox, drives the product, finds friction (needs a browser you control); 'flow_pass' — walks a specific flow the user names, signup/checkout/invite, including any email it sends (needs a browser you control); 'investigation_pass' — the general product investigator for an app you OWN, run in its own environment (needs a browser and usually the repo). All deliver a shareable Cobalt review. If the user's study is NONE of these, do not bend it into the nearest one — its lenses and severity labels will mislabel the findings; run the generic method in the server instructions instead. Prefer this over fetching the playbook from a URL: it comes through the protocol complete, whereas web fetchers summarize it and a summarized playbook silently drops the instructions that make the run work.