cd /news/ai-agents/show-hn-hycli-reverse-engineer-websi… · home › topics › ai-agents › article
[ARTICLE · art-157406] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Hycli – reverse-engineer websites into CLI and MCP tools for AI agents

Hybirdss released Hycli v0.1.1, a single native binary for Windows 10/11, macOS 13+ and Linux that reverse-engineers any website into a typed CLI and MCP toolset for AI agents. Hycli uses three AI workers to inspect a site's docs, frontend bundles and live browser network traffic to prepare read and write actions without mutating the user's account during setup, and connects to Claude Code, Cursor, Codex or Windsurf via the command "hycli mcp". The tool runs a local dashboard at http://127.0.0.1:4318, reuses the user's real browser login while keeping cookies out of LLM context, and requires no Rust or Node.js to run a release package.

read12 min views2 publishedOct 25, 2026
Show HN: Hycli – reverse-engineer websites into CLI and MCP tools for AI agents
Image: Michielbdejong (auto-discovered)

Turn any website into a typed CLI and MCP server for your AI agent.

<sub>Read, search, create, edit, and automate—using your real browser login, with zero cookie leaks to LLMs and built-in anti-bot resilience.</sub>

Download (Windows · macOS · Linux) · Help and feedback · 30-second quickstart · What your AI can do · Common concerns · Use with your AI · 한국어 · 日本語

Read in your language · 20 languages #

English · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Bahasa Indonesia · Italiano · Nederlands · Polski · Türkçe · Русский · Українська · Tiếng Việt · ไทย · العربية · हिन्दी

Give Hycli any website URL and what you want to do. Three AI workers inspect its docs, frontend bundles, and live browser network traffic to build a typed CLI and MCP toolset—covering both reads and writes—without ever mutating your account during setup.

<sub>One local dashboard and CLI for your websites, accounts, and AI agents.</sub>

hycli prepare https://your-website.example --intent "Search posts, save drafts, and publish articles"

hycli describe your-website

hycli your-website search-posts --query "release notes"

hycli writes your-website allow
hycli your-website create-draft --title "Hello from Hycli" --body "Automated from my terminal."

Or connect Hycli to Claude Code, Cursor, Codex, or Windsurf once with "command": "hycli", "args": ["mcp"] and ask your agent in plain language:

"Use Hycli to prepare https://..., show me what actions are available, and draft a new post."

Hycli ships as a single native binary containing both the website engine and the local dashboard (http://127.0.0.1:4318). Neither Rust nor Node.js is needed to run a release package.

Download the native installer or portable archive for your platform from Releases (v0.1.1):

Platform Architecture Native Installer Portable Archive How to start
Windows 10/11 x64 & ARM64 hycli-0.1.1-win32-*-setup.exe hycli-0.1.1-win32-*.tar.gz Run *-setup.exe (addshycli to your userPATH and Start Menu), then launchHycli or runhycli open in PowerShell.
macOS 13+ Apple Silicon ( arm64 ) & Intel (x64 ) hycli-0.1.1-darwin-*.dmg hycli-0.1.1-darwin-*.tar.gz Open the .dmg , dragHycli.app toApplications , and open it (automatically linkshycli into~/.local/bin ).
Linux x64 & ARM64 hycli-0.1.1-linux-*.deb hycli-0.1.1-linux-*.tar.gz Install the .deb (sudo apt install ./hycli-*.deb ) or extract the.tar.gz and run./install.sh , then runhycli open .

Published v0.1.0: Windows and macOS portable archives do not include installation scripts. Use the Windows *-setup.exe or macOS .dmg installer from the release above instead.

Quick terminal install & build from source #

The archive commands below require a package containing install.sh (Linux/macOS) or install.ps1 (Windows), such as a package built from current source.

Linux / macOS portable archive:

sha256sum -c hycli-0.1.1-*.tar.gz.sha256   # or: shasum -a 256 -c on macOS
tar -xzf hycli-0.1.1-*.tar.gz
cd hycli-0.1.1-*
./install.sh
hycli open

Windows PowerShell portable archive:

tar -xzf hycli-0.1.1-win32-x64.tar.gz
cd hycli-0.1.1-win32-x64
powershell -ExecutionPolicy Bypass -File .\install.ps1
hycli open

Build from source (Linux, macOS, Windows):

Install the build prerequisites and run:

node scripts/build.mjs
./dist/hycli open

Run node scripts/package-desktop.mjs to produce the native .exe, .dmg, or .deb installer for your OS. See building and packaging and release verification.

  1. Run hycli open (or click theHycli app icon) to open the local dashboard athttp://127.0.0.1:4318 .
  2. Open AI connections and connect OpenAI, Anthropic Claude, xAI, Z.ai, or your local ChatGPT Codex login.
  3. For logged-in sites, click Accounts → Find my sign-in to import your browser session into the local vault.
  4. Enter a website URL and optional goal, or copy the MCP config from Coding agents into your AI assistant.

Hycli turns real website interfaces into self-documented CLI subcommands and MCP tools:

Website interface Prepared capability
REST and OpenAPI Typed read and write actions grounded in JSON/YAML schemas and API docs.
GraphQL Parsed query and mutation documents with typed JSON variables.
HTML & JS-rendered pages Structured records, links, pagination, and rendered GET reads via a local Chromium engine.
JSON and URL-encoded forms Documented inputs, defaults, and account-scoped form submissions ( POST ,PUT ,PATCH ,DELETE ).

| Choose the AI that prepares your websites. | Inspect actions and structured results locally. |

<sub>Three workers. One very busy little bird.</sub>

Action type Execution behavior
Read or search Runs immediately when grounded in evidence and classified as a safe read.
Create, send, edit, or delete Discovered and synthesized into the CLI without ever running during preparation. Off by default ( writes: false ). Your AI agent asks youonce per CLI whether to enable writes (hycli writes SITE allow or MCPhycli_writes ). Once enabled, write actions execute directly when you ask for them.
Unclear effect Held for review before sending.
Auth challenge or rate limit Switches transport strategy (HTTP → in-page window.fetch → stealth Chromium) or s cleanly.

See the operation reference for supported request shapes and extraction rules.

Connecting an AI agent to real websites and logged-in accounts raises serious questions. Here is how Hycli handles each one by design:

  • Zero live mutations during CLI creation: While preparing or checking a website (hycli prepare ,hycli request ,hycli recon ,hycli check ), Hycli discovers and compiles both read and write operations into the CLI spec, butnever executes write requests . Even disguised mutations (GET routes with mutating paths like/delete , GraphQLmutation bodies, or HTML<form method="post"> actions) are blocked from running during verification.

  • One-time per-CLI write confirmation: Every newly created website CLI starts withwrites: false . When an AI agent needs to run a write action on a CLI for the first time, it asks youonce for that CLI :"Allow write actions for <site>?" Only after you confirm does it run hycli writes <site> allow (or MCPhycli_writes ), enabling direct write execution for that CLI. You can revoke write permission anytime withhycli writes <site> deny or the dashboard'sAllow changes toggle.

  • No automatic write retries: Failed or interrupted write requests are never auto-retried. If a connection drops after a mutation is sent, Hycli reportsaction_outcome_unknown so you can check the website rather than duplicating an order or post.

  • Secrets never enter LLM prompts: Browser cookies,localStorage /sessionStorage tokens, and API keys are stored strictly in your local vault (encrypted via OS keyring on Windows Credential Manager, macOS Keychain, and Linux Secret Service, or restricted to0600 user-only permissions).

  • Symbolic connection recipes: AI models only see account labels, storage key names, and redacted response schemas. The model builds a symbolicConnectionRecipe (referencing a cookie or token name), and Hycli injects the real secret locally at execution time while scrubbing secrets from all outputs and logs.

  • Site-scoped read-only import: Importing a browser session reads only the target domain's cookies and storage from a temporary read-only snapshot. It never weakens browser security or exports other websites.

  • No fuzzing or brute-force scanning: Hycli never guesses endpoint wordlists or fuzzes live servers. It learns from linked documentation, OpenAPI/GraphQL schemas, static JS bundles, and observed browser network shapes.

  • Serialized, paced traffic: Requests are serialized and rate-limited per website and per account, honoringRetry-After and bounding read retries.

  • Strategy circuit breaker & native browser execution: When plain HTTP hits a 403/429 or bot challenge (Cloudflare, Akamai Bot Manager), Hycli never loops the same blocked request. Its circuit breaker immediately switches transport—executingwindow.fetch(..., { credentials: 'include' }) inside your authenticated browser context or using a local stealth Chromium engine—or s cleanly to protect your account.

  • Strict origin binding: Auth headers and cookies are locked to the target origin and stripped immediately on cross-origin redirects. Private and loopback IP ranges are blocked by default unless--allow-local is explicitly passed.

  • Portable specs: Local browser executable and profile paths remain in machine-local state and are never written into portableSiteSpec files.

  • Deterministic health check without AI (hycli check): hycli check (and MCPhycli_check ) replays verified read chains without invoking an LLM and cleanly separatessigned_out (reconnect your account) fromsite_changed (repair spec),blocked , andunreachable .

Provider Authentication
ChatGPT · API key OpenAI API key
Claude Anthropic API key
xAI xAI API key
Z.ai / Z.ai Coding Plan Z.ai API key
ChatGPT · login Local ChatGPT sign-in via the official Codex app-server protocol

The Codex login connection runs in an ephemeral thread with file, shell, browser, and external MCP execution disabled; Hycli never reads or copies Codex OAuth tokens.

MCP lets an AI app call Hycli tools. It does not connect that app's subscription to Hycli's AI connections. Hycli's Claude provider uses an Anthropic API key. Its ChatGPT login provider uses the Codex app-server protocol described above.

Open Coding agents → View connection settings in Hycli. For manual setup, preserve the generated executable path, arguments, and HYCLI_DATA_DIR so the client uses the same installed sites and accounts.

  • In ChatGPT desktop versions with Settings → MCP servers → Add server , chooseSTDIO and enter those values in the corresponding fields. Save, then selectRestart . Follow theChatGPT MCP instructions for your version. The JSON below is not ChatGPT's configuration format.
  • In Claude Desktop, use the generated settings with its manual local MCP configuration . If you have a Hycli.mcpb bundle, install it throughSettings → Extensions → Advanced settings → Install Extension instead. Choose the bundle that matches both your OS and CPU:darwin-x64 ordarwin-arm64 for macOS,win32-x64 orwin32-arm64 for Windows. SeeClaude's extension instructions . Managed policies can restrict installation. The bundle does not setHYCLI_DATA_DIR . If your dashboard uses a custom data directory, use the manual configuration to preserve it.

For clients that accept mcpServers JSON, this is a minimal example. Use the generated settings rather than replacing their path, arguments, or data directory with this example:

{
  "mcpServers": {
    "hycli": {
      "command": "hycli",
      "args": ["mcp"]
    }
  }
}

Use hycli mcp --sites-only to expose only installed website tools, or add --only-site SITE to scope to a single site. The MCP server provides hycli_prepare, hycli_writes (enables writes once per CLI after asking you), hycli_run, hycli_check, hycli_result, and hycli_activity—and never exposes a tool for reading credentials.

From the terminal, every workflow works the same way:

hycli prepare https://your-website.example --intent "Find saved references"
hycli request SITE "Add draft editing and publishing with full post content"
hycli describe SITE
hycli SITE ACTION --help
hycli writes SITE allow
hycli SITE ACTION --query "design systems"
hycli check SITE

See the Hycli skill and agent guide (CLAUDE.md) for how coding agents discover capabilities, summarize available read/write actions for you, ask once per CLI before enabling writes, and recover from failures.

Hycli discovers local Chrome, Chromium, Edge, Brave, Vivaldi, Arc, Whale, and Firefox profiles (plus local stealth Chromium binaries when installed) on Windows, macOS, and Linux, importing only the requested website's session into the local vault. Profiles sharing the same verified website account are deduplicated automatically.

Native discovery is optional. In Settings, choose whether Hycli may scan local browser sessions. It defaults off on macOS, including upgrades without a saved choice; Windows and Linux retain the enabled default. The choice applies to the dashboard, CLI and MCP using the same data directory (HYCLI_DATA_DIR when configured), including already-running processes. Enabling it does not start a scan: use Find/Recheck explicitly. Native access may request OS keychain approval.

Turning it off preserves imported accounts and the browser companion connection. If a native attempt does not complete, automatic retries . Finish or dismiss any existing OS prompts before choosing Find/Recheck again; a still-running scan must finish first. Cancellation prevents further work cooperatively but cannot dismiss dialogs the OS already displayed. See recovery guidance.

If a session is locked by Windows App-Bound encryption, private containers, or an unimported browser, use Accounts → Connect an account to sign in via your browser, connect the browser companion extension, or import a JSON/Netscape cookie file in the dashboard (never paste cookies into an AI chat).

The dashboard and AI-generated action descriptions support the 20 languages linked at the top of this README, including right-to-left Arabic.

Website definitions, encrypted credentials, and activity logs live in your OS data directory (%LOCALAPPDATA%\hycli on Windows, ~/Library/Application Support/hycli on macOS, ~/.local/share/hycli on Linux, or HYCLI_DATA_DIR). Inspect active vault protection anytime under Settings.

See CONTRIBUTING.md and CHANGELOG.md. Run the full verification suite locally with:

npm --prefix dashboard ci
npm --prefix dashboard run check
npm --prefix dashboard run build
cargo test --all-targets --locked
cargo build --locked --bin hycli --example dashboard_fixture
node scripts/test-e2e.mjs --full

All tests run against synthetic local websites and fixtures—never test write operations against a real third-party account.

For setup questions and ideas, open an issue. Use the issue templates to report a reproducible bug or request an improvement.

hycli feedback requests a browser to open a generic issue editor with the Hycli version and platform in the title and body. It always returns JSON containing url and launch_requested; the latter only says whether the browser launcher started, not whether a page opened. If no page opens, open the returned URL yourself. The command exits successfully even without a launcher.

No issue is submitted automatically. Opening the URL contacts GitHub and sends the version and platform in the URL, along with ordinary browser request metadata. Review the public issue before submitting and remove credentials, cookies, account details and private website data.

Hycli is licensed under Apache-2.0. Use it only with websites and accounts you are authorized to access. Provided "as is" without warranty; the authors and contributors are not liable for any losses, account restrictions, or bans resulting from its use.

For a known JSON or GraphQL endpoint before a website action exists, see bounded verified-account reads: hycli accounts read ACCOUNT --request REQUEST.json.

── more in #ai-agents 4 stories · sorted by recency
── more on @hycli 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-hycli-revers…] indexed:0 read:12min 2026-10-25 · —