Skip to main content

Thunder — the human engine for AI agents

⚡ THUNDER

A body, a skin, a human hand, a ghost, and a mind — for any AI agent.

pip install thunder-agent · MCP-native · Powered by stewmind-1.7b


AI agents browse like robots and get blocked. Thunder gives an agent a human-shaped presence on the web:

Layer What it is How
🦾 Body a stealth browser session Playwright engine + persistent profiles, zero heavy deps
🎭 Skin a consistent device fingerprint UA / platform / screen / WebGL / canvas-noise, saved per profile so the same human returns
✋ Hand human motion bezier-curve mouse with overshoot, Fitts-law clicks, lognormal keystrokes with typos, eased scroll, idle drift
👻 Ghost protocol-level body curl_cffi — a real browser's TLS (JA3/JA4) + HTTP/2 shape, no browser needed
🧠 Mind the thought layer stewmind-1.7b (or ANY model: Ollama, LM Studio, vLLM, GPT, HF) returns strict JSON next-actions
👁️ Vision eyes that understand route screenshots to any vision model
🛡️ CAPTCHA bridge detect → avoid → solve senses challenges; plugs into your CapSolver/2Captcha key on your own accounts
🔌 MCP server any agent can drive it Claude Desktop, Cursor, STEW, anything that speaks MCP

Quickstart

pip install thunder-agent
thunder browse https://example.com          # human-shaped browsing
thunder ghost https://nowsecure.nl          # TLS-true fetch
thunder demo                                # full showcase
import thunder, asyncio

async def main():
    body = thunder.Body(profile="ada")            # persistent human
    await body.wake("https://en.wikipedia.org")
    await body.type("#searchInput", "lightning")  # types like a person
    print(await body.read())                     # structured page for your LLM
    await body.rest()

asyncio.run(main())

Pair with ANY model (local or remote)

from thunder.mind import StewMind

mind = StewMind.backend_ollama("stewmind:1.7b")   # fully offline
mind = StewMind(endpoint="http://localhost:1234/v1")  # LM Studio / vLLM
mind = StewMind.backend_huggingface()             # stewmind on HF
mind = StewMind.backend_local()                    # transformers, offline
mind = StewMind(endpoint="https://api.openai.com/v1",
                model="gpt-4o-mini", api_key=KEY)  # any OpenAI-compatible

plan = mind.think(goal="log in and download the invoice",
                  page=await body.read())
# {"action": "type", "target": "#email", "value": "…", "reason": "…"}

Offline pairing: OLLAMA_HOST + OLLAMA_MODEL (or STEWMIND_LOCAL=1) are auto-detected. stewmind-1.7b runs on a laptop CPU/GPU.

MCP — give every agent a human body

Copy-paste configs (Thunder is on PyPI):

{ "mcpServers": { "thunder": {
    "command": "pipx", "args": ["run", "thunder-agent", "thunder-mcp"] } } }
{ "mcpServers": { "thunder": {
    "command": "uvx", "args": ["--from", "thunder-agent", "thunder-mcp"] } } }

Any OpenAI-style config, any software that speaks MCP — Thunder gives it a human body.

Tools: thunder_open, thunder_read, thunder_click, thunder_type, thunder_scroll, thunder_look, thunder_ghost, thunder_captcha, thunder_think, thunder_rest.

CAPTCHAs, honestly

  1. Avoid: good skin + human hand + clean IP avoids most challenges.
  2. Detect: thunder_captcha reports type + sitekey.
  3. Solve: bring your own solver key (CAPSOLVER_API_KEY / TWOCAPTCHA_API_KEY) for your own accounts.
  4. Vision (experimental): describe_image() routes challenges to a vision model you choose.

Thunder is not a mass-solving service.

Run it in the cloud (or on your box)

docker build -t thunder .
docker run -p 8000:8000 thunder          # or run natively, fully offline

Responsible use

Thunder is for agents acting on systems and accounts their operator is authorized to use: QA, testing, personal automation, public-data research. Not for fraud, mass account abuse, or deceiving people. Respect site ToS.

MIT © 2026 Emmanuel Ene Rejoice · MUTYINT · Nigeria 🇳🇬

Metadata

Release files for thunder-agent 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thunder-agent 0.2.0
File Size Uploaded Provenance
thunder_agent-0.2.0.tar.gz 27.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for thunder-agent 0.2.0
File Interpreter ABI Platform
thunder_agent-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / thunder_agent-0.2.0.tar.gz

Download URL thunder_agent-0.2.0.tar.gz
Size 27.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d64e37189a92af55fbca4c565adcd35b79a8cf879ea6ca2a835785a1abada99e
BLAKE2b-256 checksum
How to use checksums
f1e2702367b5e48b9b4610d0d0f77e3d29f3114b194d07d297030e62a956da97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / thunder_agent-0.2.0-py3-none-any.whl

Download URL thunder_agent-0.2.0-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9572954d4cc7a8cea80af0227da4080a73cf8e5dcb15cf526205535025c4b2b1
BLAKE2b-256 checksum
How to use checksums
be24311bb8f0fc9ec25283bf4469ec08c1138b279466ee4ab2118475add1854f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Security for thunder-agent 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page