Skip to main content
Glama
649,985 tools. Updated 2026-10-12 03:14

"How to remotely control a local web browser" matching MCP tools:

  • Fetch a live website and report how legible it is to search engines and AI assistants: structured data (JSON-LD), llms.txt, robots.txt, title and meta description, headings, image alt text, HTTPS and document weight. Returns findings with severity and a 0-100 score. Use this to check a real site before recommending changes to it. Makes one outbound request to the URL given, so it only sees what a fetch can establish — never rendering or browser metrics. Refuses private, loopback and link-local addresses, and reports a page as unreachable rather than scoring the error body.
    ConnectorNo auth
  • Get the two ways to buy from GYOTAK, with the contact details for each: retail (order here through place_order, or browse the web shop) and B2B wholesale for restaurants and businesses (LINE @284ezjvm, tier pricing, application required). Call this when the user asks how to buy, how to open a wholesale account, or how to reach GYOTAK. Takes no arguments and returns static text — for product availability or prices use get_catalog, and for other questions use ask_gyotak.
    ConnectorNo auth
  • Capture how any public web page looks: a 1280x800 JPEG from a real browser, returned as base64 with its SHA-256, the title and the final URL. Use it to see a page's layout, check that something renders, or hand the image to a vision model. The image is roughly 50-150 KB of base64 in the response. $0.003 USDC per capture over x402. A page that fails to load or returns an error costs nothing. For signed, timestamped evidence of a page use attest_page instead. Call without `payment` to get a quote. The first 3 calls a day through this tool server are free (no wallet needed).
    ConnectorNo auth
  • Submits an enquiry to Pest Control Prices — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Send my contact details to up to three relevant local pest control technicians, chosen by Pest Control Prices, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
    ConnectorNo auth
  • Use this when the host cannot expose a file handle and the user needs a private image, video or audio reference. It creates a short-lived handoff for the requested media kind. A compatible UI host can show the in-chat multi-file importer; the exact returned browser destination is the manual fallback. For local files in Codex or Claude Code, create one link per file and use the packaged local helper. The helper reads local bytes: never send a raw local path to the MCP server, publish a public URL, or depend on Computer Use. After the importer or helper returns asset IDs, use them directly without relisting. After a browser upload is saved to the same connected MaxVideoAI library, call list_media by media kind. A handoff is not proof of upload completion. If the handoff fails, is denied or unavailable, explain the blocker and ask to authorize or retry it; do not invent a replacement URL. This does not start generation or modify an existing asset.
    ConnectorOAuth
  • Scan untrusted text for prompt-injection patterns before ingestion. FREE. Use on any web page, email, or document an agent is about to ingest to catch prompt-injection and data-exfiltration patterns before they reach the agent's context. Typical input {"text": "<untrusted content>"} returns {"injection_suspected": bool, "count": N, "hits": [{"line": N, "pattern": "...", "text": "<flagged line>"}], "note": "..."}. Not for reviewing a skill file you control (audit_skill_file), and a clean result is not a guarantee of safety - it reports pattern matches only. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Lets any number of concurrent Claude Code sessions drive a Firefox browser through the Browser Control extension by funneling every session's commands over a single shared port via a background daemon and private unix socket. Sessions no longer have to compete for a limited pool of extension ports, and requests stay isolated through per-request correlation ids.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to drive a real headful Chrome browser using vision-first computer interactions, with support for multi-agent tab groups, password-manager-filled logins, and human handoff.
    3 npm
    MIT

Matching MCP Connectors

  • Programmatic headless browser sessions: create, interact, browse, and extract - rendered in a real

  • Free agent directory and job board. List your agent free: give it agent-control.net/skill.md

  • Scan untrusted text for prompt-injection patterns before ingestion. FREE. Use on any web page, email, or document an agent is about to ingest to catch prompt-injection and data-exfiltration patterns before they reach the agent's context. Typical input {"text": "<untrusted content>"} returns {"injection_suspected": bool, "count": N, "hits": [{"line": N, "pattern": "...", "text": "<flagged line>"}], "note": "..."}. Not for reviewing a skill file you control (audit_skill_file), and a clean result is not a guarantee of safety - it reports pattern matches only. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Run a public web search and return titles, URLs, and snippets as JSON. Use when you need current public web results for a query. Do not use for private/intranet pages — call vc_page_markdown with a known URL instead. Sibling: vc_page_markdown (one URL), pay (generic slug caller). Auth: free-trial or prepaid X-Vibes-Key preferred; else USDC via x402 (~$0.02). Side effects: outbound HTTP to a search provider; no local writes. Returns JSON results, or a payment_required challenge if unpaid.
    ConnectorNo auth
  • Find Fiveable exam formats, access requirements and website links without questions or answer keys. Choose a subject for version choices; add unitNumber to verify that unit's current bank and standard format. With progress:read consent, includes only genuine server-saved continuation links. Browser-only progress is not remotely recoverable.
    ConnectorNo auth
  • List caffeine doses by local date with daily totals. Use for caffeine history or today's total. Supports up to 366 days per call; daily totals cover every dose in the range, while the dose list shows the 200 most recent and says how many it omitted. INFER: from/to default to the last 14 local calendar days through today.
    ConnectorOAuth
  • Capture a screenshot of any public web page, rendered in a real headless browser so JavaScript, web fonts and lazy-loaded images all appear. Returns JSON with a hosted image URL — not image bytes: { url, screenshotUrl (the same value under the older key), width, height, format, bytes, cached, source }. When source is "vps" the image is on razi.pro's CDN and every field is populated, except that height is null for a fullPage capture. If source is "thumbio" the renderer was unavailable and a third-party fallback produced the image: the URL points at image.thum.io rather than razi.pro, only width accompanies it (height, format and bytes are absent), and the fullPage, format, darkMode and delayMs options were ignored. Public pages only: every capture runs in a fresh browser with no cookies or credentials, so anything behind a login is unreachable, and a URL that is not http(s) or that resolves to a loopback, private or link-local address is refused with 400. Identical requests are cached for 7 days and return the same image (cached: true), so this cannot be used to poll a page for changes. Out-of-range numeric options are clamped to their stated range rather than rejected. Other failures: 429 over either rate limit, 403 when screenshots are switched off platform-wide, 502 when the render fails and no fallback is available. This is the most expensive call on the platform: it holds a whole browser worker for up to 50 seconds. Limited to 10 captures per minute and 100 per day per IP.
    ConnectorNo auth
  • Capture a screenshot of any public web page, rendered in a real headless browser so JavaScript, web fonts and lazy-loaded images all appear. Returns JSON with a hosted image URL — not image bytes: { url, screenshotUrl (the same value under the older key), width, height, format, bytes, cached, source }. When source is "vps" the image is on razi.pro's CDN and every field is populated, except that height is null for a fullPage capture. If source is "thumbio" the renderer was unavailable and a third-party fallback produced the image: the URL points at image.thum.io rather than razi.pro, only width accompanies it (height, format and bytes are absent), and the fullPage, format, darkMode and delayMs options were ignored. Public pages only: every capture runs in a fresh browser with no cookies or credentials, so anything behind a login is unreachable, and a URL that is not http(s) or that resolves to a loopback, private or link-local address is refused with 400. Identical requests are cached for 7 days and return the same image (cached: true), so this cannot be used to poll a page for changes. Out-of-range numeric options are clamped to their stated range rather than rejected. Other failures: 429 over either rate limit, 403 when screenshots are switched off platform-wide, 502 when the render fails and no fallback is available. This is the most expensive call on the platform: it holds a whole browser worker for up to 50 seconds. Limited to 10 captures per minute and 100 per day per IP.
    ConnectorNo auth
  • Link Zalo to Local MCP by showing a QR code right here in the chat. Call this, then on your phone open Zalo → the QR-scan option, and scan it. After you scan, Zalo tools (zalo_list_chats, zalo_send_message) start working. If Zalo is already linked, it says so. Zalo allows only ONE linked web session at a time — if Zalo Web / another device is open, it may end this one.
    ConnectorOAuth
  • Use this before selecting a web-search, URL-fetch, browser-automation, cloud-browser, headless-browser, Playwright/CDP, or authenticated-browser provider. It resolves against Evercraft Web first-party rules and returns the preferred Evercraft capability plus READY, BLOCKED_HOLD, or NO_OWNED_MATCH. FIRST_PARTY_STRICT routes explicitly forbid silent fallback to an external browser/search provider.
    ConnectorNo auth
  • Get a login link for the web dashboard Returns a URL that a human can open in a browser to log in to the Laso Finance web dashboard as the authenticated user. Useful for humans who want to see what their AI agent has been doing (view cards, transactions, balances, etc.). The URL carries a short single-use login code rather than a long token, so relay it to your human verbatim; it passes through tool-output credential filters intact. Do not fetch or open the URL yourself: redeeming the code consumes the human's login.
    ConnectorOAuth
  • FOR CLAUDE DESKTOP ONLY (with filesystem access). For Claude.ai/web: Use create_upload_session instead - it provides a browser upload link. Upload local media to cloud storage, returning a public HTTPS URL. WHEN TO USE: • Instagram, LinkedIn, Threads, X: REQUIRED for local files before calling publish_content • TikTok: NOT NEEDED - pass local path directly to publish_content SUPPORTED FORMATS: • Images: jpg, png, gif, webp (max 10MB) • Videos: mp4, mov, webm (max 100MB) Returns { url: 'https://...' } for use in publish_content mediaUrl parameter.
    ConnectorNo auth
  • Learn what CHP is and how it works. Pass a topic, or omit to list topics. Topics: what-is-chp, evidence-model, why-a-protocol, governance, agentic-web, evidence-vs-telemetry, chp-vs-mcp, conformance.
    ConnectorNo auth
  • Search Postapp's library of instantly published single-file web apps. Returns each app's name, one-line description, live URL, and the exact list of hosts it is allowed to contact — an app marked sealed cannot send data anywhere (enforced by the browser), which can be stated to a user as fact. Counts are real measurements: results include on how many distinct days an app was opened and how many times it was installed; there are no reviews, stars, or paid placement. An empty query lists the whole shelf. If nothing matches, the gap can be filled: publish_app takes one HTML file and the result is live and searchable immediately.
    ConnectorNo auth
  • Build a container image on Control Plane and push it to the org's private registry, from a GitHub or GitLab repository (repoUrl) or from the app files stored with write_app_files (omit repoUrl). No Docker daemon is involved: the service detects how to build (Dockerfile when present, otherwise auto-detected) and always produces linux/amd64. Returns a buildId to read with get_image_build. The build keeps running after this call returns. Building an existing NAME:TAG replaces that image. A private repository needs a one-time browser authorization per org; this tool returns the link when that is missing. A folder on the user's machine still goes through the CLI: `cpln image build --remote --dir PATH --name NAME:TAG --org ORG`.
    Connector
    Destructive
    OAuth
  • Aggregated performance snapshot for one container over a date range. Fast — hits the pre-aggregated reporting endpoint, not the raw events table. USE WHEN the user asks: - "How is my site performing last week?" - "How many events / what's the total value / how many emails collected?" - "What's my recovery rate / how many ad-blocked events?" - "Quick breakdown by traffic source" Returns totals, consent stats, recovery (adblock + restricted-browser) stats, and a per-source breakdown — all in one call. This is the DEFAULT first call for any single-period performance question. Only escalate to get_report when the user wants a breakdown by a specific dimension (event_name, day, hour, device, browser) or a time series. Date range required, max 30 days.
    ConnectorOAuth
  • Per-minute price of calling a country, or a specific number, from a web browser with InternationalCall.co: the live rate, whether the free welcome credit covers a first call, how billing works, and a link that opens the dialer set to that country. Use it when someone asks what a call abroad costs or how to call a phone abroad from a computer. For which digits to dial, use get_dialing_instructions instead. Pass `destination` for the country's standard rate, or `number` to price that exact number: premium, satellite-adjacent and special-service ranges cost more than the standard rate (a local-format number also needs `destination`). The rate depends only on the number called, not on where the caller is.
    ConnectorNo auth