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.2

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.2
File Size Uploaded Provenance
thunder_agent-0.2.2.tar.gz 27.5 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 55.9 kB

Release files / thunder_agent-0.2.2.tar.gz

Download URL thunder_agent-0.2.2.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d1a9e0dafb1d1a6496e94e3c213b2ad22c32641de733586de5044a6ccf3d5bf2
BLAKE2b-256 checksum
How to use checksums
0b81625facc72cfa46f083f386b8651db307131da1265d49eebb8faec1916d79
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.2-py3-none-any.whl

Download URL thunder_agent-0.2.2-py3-none-any.whl
Size 28.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
416de8ed4874d08ad2c4a0a3501b2f854a91af66af03d3fe5c55f295ae2641c6
BLAKE2b-256 checksum
How to use checksums
f985596af7769ab88d252c607eff5dbeb04a25efdd62541da35f5cd0361d3570
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.2

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