Wraith MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| navigateA | Open a URL and return an indexed snapshot of the page's interactive elements. Automatically passes WAAP/anti-bot challenges and dismisses common
cookie/consent banners. Each line is |
| snapshotA | Re-perceive the current page: a fresh indexed snapshot of its interactive elements (use after the DOM may have changed). |
| clickA | Click the element with the given index (from the latest snapshot). Returns the resulting snapshot (or a compact change summary when
|
| type_textA | Type |
| fill_secretA | Fill a field from an opaque secret capability. The capability names a registered provider and an opaque handle. It also binds the fill to exact origins, one field kind, an expiry, and a use limit. The tool never accepts or returns the secret value. |
| scrollA | Scroll the page ( |
| browser_tabsA | Manage tabs. |
| save_stateA | Export the current session (cookies + localStorage) to a Playwright
storageState JSON at |
| readA | Return the current page's readable content as markdown (for extraction / summarisation, as opposed to acting on elements). |
| screenshotA | Capture a screenshot of the current page. Returns an inline PNG image (so a multimodal model can see the page and disambiguate by the same element indices). On an SDK without image content support, falls back to saving a temp PNG and returning its path. Wraith blocks this tool after a secret fill. |
| detect_waapA | Fingerprint a URL's WAAP / anti-bot defenses (Akamai, Cloudflare, Reblaze/Link11, DataDome, Incapsula, SiteMinder, reCAPTCHA, ...). Returns a list of detected vendor names — empty if none. Passive; no browser needed. |
| borrowA | Borrow a warmed, already-authenticated identity for
|
| ensure_high_scoreA | Borrow a logged-in Google identity's reputation and open This is the GENERAL reCAPTCHA-v3 pass: the v3 score is computed inside the google.com reCAPTCHA iframe from the .google.com reputation cookies present in the context, so injecting a warmed Google identity's cookies (delivered 3rd-party with secure+SameSite=None into an un-partitioned context) lifts the score across any sitekey/site. The browser is (re)launched with the un-partition firefox prefs, the reputation cookies are injected, then the URL is navigated (passing any WAAP and dismissing consent first).
WARNING: borrowing your primary Google identity carries anomalous-session / 2FA risk — this is opt-in. After it returns, VERIFY success against the real protected endpoint (accept vs reject); the v3 score is run-variable and there is no trustworthy score readout for a 3rd-party sitekey. Returns the detected reCAPTCHA params and whether the reload request carried the reputation cookies. |
| fetchA | No-browser TLS-impersonation request — the cheap fast path. Replays a captured session against |
| receive_profileA | Pull a synced login from a one-shot pairing A laptop runs |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools target clearly distinct actions: navigate/click/type/scroll/read/screenshot all have separate roles. The main ambiguity is among the identity-injection tools (borrow, ensure_high_score, receive_profile), which all involve injecting cookies and could be confused despite detailed descriptions.
All names are lowercase snake_case and mostly verb-led, but the pattern is mixed: some are bare verbs (navigate, click, scroll, fetch), some are verb_noun (type_text, fill_secret, save_state), and browser_tabs breaks the verb convention entirely. It is readable but not a uniform pattern.
At 15 tools, the set is at the upper edge of the typical well-scoped range, but each tool addresses a distinct part of the anti-bot browsing workflow—detection, navigation, interaction, identity borrowing, session persistence, and no-browser fetching. The count feels justified for the complexity of the domain.
The surface covers the full core lifecycle: detect defenses, navigate, interact, authenticate, persist sessions, and extract content. Minor gaps exist—there is no explicit wait-for-element, back/reload, or general DOM query tool—but agents can work around these with snapshot/click/scroll.