HH

hybirdss/hycli

Developer tools
165 stars 0 forks Quality 49 Trend 46

Websites, ready for AI. Turn website tasks into verified CLI and MCP actions, with a local dashboard and 20 languages.

Overview

Turn any website into a typed CLI and MCP server for your AI agent. Read, search, create, edit, and automate—using your real browser login, with zero cookie leaks to LLMs and built-in anti-bot resilience. Download (Windows · macOS · Linux) · 30-second quickstart · What your AI can do · Common concerns · Use with your AI · 한국어 · 日本語 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. One local dashboard and CLI for your websites, accounts, and AI agents. Or connect Hycli to 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).

README

Turn any website into a typed CLI and MCP server for your AI agent. Read, search, create, edit, and automate—using your real browser login, with zero cookie leaks to LLMs and built-in anti-bot resilience.

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

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.

One local dashboard and CLI for your websites, accounts, and AI agents.

Try it in 30 seconds

# 1. Point Hycli at any website and describe your goal (prepares reads & writes; zero live mutations)
hycli prepare https://your-website.example --intent "Search posts, save drafts, and publish articles"

# 2. See every prepared read, write, and multi-step workflow
hycli describe your-website

# 3. Run read actions immediately
hycli your-website search-posts --query "release notes"

# 4. Enable writes once for this CLI when you're ready to create, edit, or delete
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.”

Get started

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 and run (Windows, macOS, Linux)

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

Platform Architecture Native Installer Portable Archive How to start
Windows 10/11 x64 & ARM64 hycli-0.1.0-win32-*-setup.exe hycli-0.1.0-win32-*.tar.gz Run *-setup.exe (adds hycli to your user PATH and Start Menu), then launch Hycli or run hycli open in PowerShell.
macOS 13+ Apple Silicon (arm64) & Intel (x64) hycli-0.1.0-darwin-*.dmg hycli-0.1.0-darwin-*.tar.gz Open the .dmg, drag Hycli.app to Applications, and open it (automatically links hycli into ~/.local/bin).
Linux x64 & ARM64 hycli-0.1.0-linux-*.deb hycli-0.1.0-linux-*.tar.gz Install the .deb (sudo apt install ./hycli-*.deb) or extract the .tar.gz and run ./install.sh, then run hycli open.

Connect your first website

  1. Run hycli open (or click the Hycli app icon) to open the local dashboard at http://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.

What your AI can do

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

Three workers. One very busy little bird.

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 you once per CLI whether to enable writes (hycli writes SITE allow or MCP hycli_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 pauses cleanly.

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

Common concerns and how Hycli solves them

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

1. “Will the AI accidentally post, edit, or delete data on my account?”

  • 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, but never executes write requests. Even disguised mutations (GET routes with mutating paths like /delete, GraphQL mutation bodies, or HTML `` actions) are blocked from running during verification.
  • One-time per-CLI write confirmation: Every newly created website CLI starts with writes: false. When an AI agent needs to run a write action on a CLI for the first time, it asks you once for that CLI: “Allow write actions for ``?” Only after you confirm does it run hycli writes allow (or MCP hycli_writes), enabling direct write execution for that CLI. You can revoke write permission anytime with hycli writes deny or the dashboard’s Allow 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 reports action_outcome_unknown so you can check the website rather than duplicating an order or post.

2. “Does Hycli send my cookies, login tokens, or API keys to the AI model?”

  • 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 to 0600 user-only permissions).
  • Symbolic connection recipes: AI models only see account labels, storage key names, and redacted response schemas. The model builds a symbolic ConnectionRecipe (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.

3. “Will scraping trigger CAPTCHAs or get my account banned?”

  • 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, honoring Retry-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—executing window.fetch(..., { credentials: 'include' }) inside your authenticated browser context or using a local stealth Chromium engine—or pauses cleanly to protect your account.

4. “Can a redirect leak my session, or can a shared spec expose my computer’s paths?”

  • 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 portable SiteSpec files.

5. “Will the AI waste tokens retrying when my login expires?”

  • Deterministic health check without AI (hycli check): hycli check (and MCP hycli_check) replays verified read chains without invoking an LLM and cleanly separates signed_out (reconnect your account) from site_changed (repair spec), blocked, and unreachable.

AI connections

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.

Use Hycli with your AI

Add Hycli to your MCP client (Coding agents → View connection settings shows the exact path for your OS):

{
  "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.

Browser sign-in

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.

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

Languages

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

Local data and request limits

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.

Development and verification

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.

License and intended use

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.

Star History

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide

Configuration

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