Skip to main content
Glama

StealthGuard 402 🛡️ — Open-Source MCP Server for Web Scraping & Market Intelligence

License: MIT MCP Standard Python Base Mainnet Solana Mainnet Glama

This repository contains the complete open-source Model Context Protocol (MCP) server implementation of StealthGuard 402. It equips LLM agents (Claude Desktop, Cursor, Windsurf, LangChain) with tools for Cloudflare-bypassing web scraping, prompt injection firewall sanitization, Polymarket whale orderbook divergence, and cross-chain pre-trade agent gating.


🛠️ MCP Tools Implemented

This MCP server provides the following tools via standard stdio and streamable HTTP transports:

Tool Name

Description

Key Parameters

stealth_scrape_and_sanitize

Bypasses Cloudflare Turnstile, Akamai, and anti-bot protection using Scrapling, extracts clean web content, and strips prompt injection traps before LLM context ingestion.

url (string, required), render_js (boolean, default: false), strict_mode (boolean, default: true)

polymarket_alpha_divergence

Scans live Polymarket prediction markets, calculates divergence between prediction odds and on-chain spot momentum, and tracks whale orderbook flow.

category (string, e.g. crypto, politics, ai), limit (int, default: 25)

pre_trade_agent_gate

Unified pre-trade security gate for autonomous agents: audits contract bytecode, verifies DEX LP depth on Base and Solana, and sanitizes project metadata.

token_or_service_address (string, required), chain (base or solana, default: base), strict_mode (boolean)


Related MCP server: polymarket-trader-mcp

🚀 Running from Source (Local Stdio Transport)

You can run this MCP server locally from source using Python and the Model Context Protocol SDK.

1. Installation

# Clone the open-source repository
git clone https://github.com/ak10082247-max/stealthguard-402.git
cd stealthguard-402

# Set up virtual environment
python -m venv .venv

# On Linux/macOS:
source .venv/bin/activate
# On Windows:
.\.venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Configure with Claude Desktop

Add this server to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "stealthguard-402": {
      "command": "python",
      "args": [
        "-m",
        "src.mcp_server"
      ],
      "cwd": "/absolute/path/to/stealthguard-402"
    }
  }
}

Or run via uv:

{
  "mcpServers": {
    "stealthguard-402": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/stealthguard-402",
        "python",
        "-m",
        "src.mcp_server"
      ]
    }
  }
}

3. Configure with Cursor or Windsurf

Add to your workspace .cursor/mcp.json or Windsurf settings:

{
  "mcpServers": {
    "stealthguard-402": {
      "command": "python",
      "args": ["-m", "src.mcp_server"]
    }
  }
}

🌐 Connecting to the Hosted Remote MCP Endpoint

For cloud deployments and remote agent integrations, StealthGuard is deployed 24/7 on high-availability infrastructure:

  • Remote MCP URL: https://stealthguard-402.onrender.com/mcp

  • Protocol: Model Context Protocol (Streamable HTTP / SSE JSON-RPC 2.0)

  • Discovery Manifest: https://stealthguard-402.onrender.com/.well-known/mcp/server-card.json

  • x402 Manifest: https://stealthguard-402.onrender.com/.well-known/x402.json


🏛️ System Architecture

sequenceDiagram
    autonumber
    actor LLM as Claude / Agent / Cursor
    participant MCP as StealthGuard MCP Server
    participant Scrapling as Scrapling Anti-Bot Engine
    participant Firewall as CanaryGuard Heuristic Filter
    participant Target as Destination Web Page

    LLM->>MCP: tools/call ("stealth_scrape_and_sanitize", { url })
    MCP->>Scrapling: Fetch Destination (Bypass Cloudflare)
    Scrapling->>Target: HTTP Request with Dynamic Fingerprinting
    Target-->>Scrapling: HTML Payload
    Scrapling->>Firewall: Extract Text & Scan for Injections
    Firewall-->>MCP: Sanitized Text + Safety Receipt
    MCP-->>LLM: Safe Content Payload (Zero Prompt Leaks)

📦 Developer Integrations & Autonomous Auto-Pay

StealthGuard supports 100% gasless automated settlement on Base Mainnet (eip155:8453) and Solana Mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp). Zero native gas ($0 ETH / $0 SOL) is required from your agent wallet.

1. Autonomous Agent Auto-Pay Quickstart (TypeScript)

Wrap standard fetch with @x402/fetch to automatically detect HTTP 402, sign EIP-712 payment authorization, and unlock full unredacted scrape & intelligence feeds:

npm install @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:8453", new ExactEvmScheme(account));

const xFetch = wrapFetchWithPayment(fetch, client);
const res = await xFetch("https://stealthguard-402.onrender.com/v1/stealth_scrape_and_sanitize", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ url: "https://example.com", strict_mode: true }),
});
const data = await res.json();
console.log("Full Sanitized Content:", data);

2. Autonomous Agent Auto-Pay Quickstart (Python)

AI agent frameworks (LangChain, CrewAI, AutoGen) can auto-settle the 402 challenge in Python:

pip install requests eth-account
import base64, json, secrets, time, requests
from eth_account import Account
from eth_account.messages import encode_typed_data

def paid_stealth_scrape(target_url: str, private_key: str):
    account = Account.from_key(private_key)
    endpoint = "https://stealthguard-402.onrender.com/v1/stealth_scrape_and_sanitize"
    payload = {"url": target_url, "strict_mode": True}

    # Step 1: Initial probe (triggers 402 with structured 50% teaser + challenge)
    res = requests.post(endpoint, json=payload)
    if res.status_code == 200:
        return res.json()

    # Step 2: Auto-sign EIP-712 transfer authorization (100% gasless on Base)
    raw_pr = res.headers.get("PAYMENT-REQUIRED") or res.headers.get("X-Payment-Required")
    pr_json = json.loads(base64.b64decode(raw_pr).decode("utf-8"))
    accepted = next(a for a in pr_json["accepts"] if "8453" in str(a.get("network", "")))

    now = int(time.time())
    nonce = secrets.token_bytes(32)
    types = {"TransferWithAuthorization": [
        {"name": "from", "type": "address"}, {"name": "to", "type": "address"},
        {"name": "value", "type": "uint256"}, {"name": "validAfter", "type": "uint256"},
        {"name": "validBefore", "type": "uint256"}, {"name": "nonce", "type": "bytes32"},
    ]}
    domain = {"name": "USD Coin", "version": "2", "chainId": 8453, "verifyingContract": accepted["asset"]}
    msg = {"from": account.address, "to": accepted["payTo"], "value": int(accepted["amount"]), "validAfter": 0, "validBefore": now + 300, "nonce": nonce}
    sig = account.sign_message(encode_typed_data(domain_data=domain, message_types=types, message_data=msg)).signature.hex()
    
    payment_b64 = base64.b64encode(json.dumps({
        "x402Version": 2, "resource": pr_json.get("resource"), "accepted": accepted,
        "payload": {"signature": "0x" + sig.lstrip("0x"), "authorization": {
            "from": account.address, "to": accepted["payTo"], "value": str(accepted["amount"]),
            "validAfter": "0", "validBefore": str(now + 300), "nonce": "0x" + nonce.hex()
        }}
    }).encode()).decode()

    # Step 3: Replay with PAYMENT-SIGNATURE
    paid_res = requests.post(endpoint, json=payload, headers={"PAYMENT-SIGNATURE": payment_b64})
    return paid_res.json()

3. Direct REST API (cURL)

# Returns 402 with structured 50% free preview + unlock instructions:
curl -X POST https://stealthguard-402.onrender.com/v1/stealth_scrape_and_sanitize \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "strict_mode": true}'

# Polymarket whale orderflow
curl -X POST https://stealthguard-402.onrender.com/v1/polymarket-odds-pulse \
  -H "Content-Type: application/json" \
  -d '{"category": "crypto"}'

💳 Optional Cloud Subscriptions (MCPize / Apify)

For teams seeking turnkey managed infrastructure with flat monthly credit card billing rather than self-hosting:


📄 License

This open-source project is licensed under the MIT License — see the LICENSE file for details.

Available Tools

15 tools
alpha_polymarket_whale_orderflowBInspect

Deep CLOB orderbook imbalance, smart-money wallet tracking, and Limitless/Polymarket cross-venue arbitrage spread matrix. Price: 0.02 USDC on Base.

Inputs: min_order_usd, include_cross_venue.

defi_yield_radarBInspect

Live top stablecoin and ETH APY yields on Base, pre-sanitized for autonomous AI agent execution. Price: 0.01 USDC on Base.

Inputs: asset.

hackernews_ai_digestBInspect

Top HackerNews AI and autonomous agent stories converted to clean, injection-free LLM Markdown. Price: 0.01 USDC on Base.

Inputs: limit.

oracle_perp_funding_and_basisBInspect

Cross-exchange BTC/ETH/SOL perpetual funding rate skew, basis spread, and spot-futures arbitrage signals. Price: 0.02 USDC on Base.

Inputs: assets.

polymarket_alpha_divergenceBInspect

Scans Polymarket CLOB orderbooks for volume spikes and smart-money spread divergence, returning CanaryGuard sanitized alpha. Price: 0.02 USDC on Base.

Inputs: limit, category, strict_mode.

polymarket_crypto_oddsBInspect

Sanitized BTC, ETH, and SOL Polymarket probability spreads and liquidity depth in basis points. Price: 0.01 USDC on Base.

Inputs: asset.

polymarket_top_whalesBInspect

Top Polymarket whale orderbook imbalances and CLOB skew right now, pre-sanitized with CanaryGuard. Price: 0.01 USDC on Base.

Inputs: limit.

pre_trade_agent_gateBInspect

Deterministic TRUST or BLOCK gate combining on-chain Base RPC liquidity and honeypot checks with CanaryGuard injection scrubbing. Price: 0.01 USDC on Base.

Inputs: token_or_service_address (required), chain, target_url, strict_mode.

research_deep_web_dossierCInspect

Multi-source stealth web synthesis + CanaryGuard injection firewall + structured markdown intelligence dossier. Price: 0.02 USDC on Base.

Inputs: topic (required), depth.

research_topic_news_scannerAInspect

Real-time sanitized news, HackerNews, and ArXiv intelligence scanner for any target keyword or protocol. Price: 0.02 USDC on Base.

Inputs: query (required).

security_attestation_bundleCInspect

Cryptographic prompt-safety + URL threat + token contract verification bundle for autonomous AI agent workflows. Price: 0.02 USDC on Base.

Inputs: prompt_text (required), target_url, token_address.

security_prompt_firewallBInspect

Ultra-fast deterministic prompt-injection and wallet-drainer scrubber for agent context windows. Price: 0.01 USDC on Base.

Inputs: text (required).

security_x402_endpoint_verifierAInspect

Audits target x402 endpoints for authentic payTo wallet, pricing, challenge headers, and schema hijack risks. Price: 0.01 USDC on Base.

Inputs: endpoint_url (required).

stealth_scrape_and_sanitizeBInspect

Bypasses Cloudflare anti-bot via Scrapling, extracts clean DOM to LLM Markdown, and runs CanaryGuard deterministic sanitization. Price: 0.015 USDC on Base.

Inputs: url (required), render_js, strict_mode.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 15 tools

    Disambiguation2/5

    Several tools target nearly identical ground: polymarket_top_whales, polymarket_alpha_divergence, and alpha_polymarket_whale_orderflow all describe Polymarket CLOB orderbook/whale imbalance analysis with overlapping 'smart-money' framing. Sanitization/injection-scrubbing also appears redundantly across stealth_scrape_and_sanitize, security_prompt_firewall, research_deep_web_dossier, and nearly every other tool, making boundaries hard to draw.

    Naming Consistency3/5

    There is a loose domain-prefix convention (polymarket_*, security_*, research_*, base_*, oracle_*) but the action portion varies between noun phrases (polymarket_alpha_divergence) and verb phrases (stealth_scrape_and_sanitize, pre_trade_agent_gate), and some tools have no prefix at all. Readable but not a predictable verb_noun pattern.

    Tool Count4/5

    15 tools is reasonable for a multi-domain toolkit spanning scraping, security, Polymarket, and research. Each tool earns a place, though the count sits at the upper edge of a clean single-purpose server.

    Completeness3/5

    The server is a grab-bag across crypto alpha, security verification, and web research rather than one coherent domain, so coverage is broad but shallow per area. There is no clear lifecycle to complete, and some adjacent operations (e.g. portfolio/position tracking or write actions) are absent, leaving notable gaps.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      24/7 autonomous monitoring and edge detection for prediction markets (Kalshi & Polymarket). Features causal tree analysis, orderbook depth tracking, cross-venue comparison, and real-time alerts.
      16
      196 npm
      12
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Trade, analyze, and automate Polymarket prediction markets via AI. 34 tools for direct trading, smart money flow, copy trading, backtest, and portfolio management.
      48
      197 npm
      19
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables smart-money whale and market analytics for Polymarket, including leaderboards, wallet profiles, positions, market clusters, and alerts, through Claude Desktop and other MCP clients.
      6
      199 PyPI
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Signed, outcome-verified smart-money data for Polymarket: which wallets actually win, scored from real on-chain settlement (95% Wilson lower bound over resolved markets) and ed25519-signed so an agent can verify it offline. Whale trades, smart-money consensus and wallet track records, paid per call in USDC over x402, with no account and no API key.
      19
      149 npm
      1
      MIT