
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@clize/clize
Advanced tools
The real-world capability layer for AI agents — domains, email, deploy, media, SEO/GEO. CLI + MCP.
Clize is a CLI and MCP server that gives AI coding agents real-world actions: domains, email, deploys, payments, and media generation. Your agent already has a brain — Clize gives it hands: a domain, a working inbox, a live website. One CLI (plus an MCP server) so coding agents in Claude Code / Codex can register domains, run real email, build & ship sites and short clips, generate media, and collect payments from their customers — across as many projects as you run.
→ clize.ai
npm i -g @clize/clize
clize install # wire clize into your coding agent (Claude Code / Codex)
clize install is the step that makes your agent actually reach for clize — a binary on your PATH doesn't tell the agent it exists. By default it drops clize's skill (when to use it + the safety gates) into each agent's skills dir; the skill is lightweight — only its short description sits in context until something triggers it. It auto-detects Claude Code (~/.claude), Codex (~/.codex) and Pi (~/.pi); Codex and Pi share the open ~/.agents/skills directory, so any agent that reads it gets the skill too. Scope with --claude / --codex / --pi, preview with --dry-run. Add --mcp to also register the clize-mcp server — opt-in, because an MCP server's tool list stays in context every session.
Update later with one command — pulls the latest release and refreshes the skill together:
clize update # or `clize update --check` to only check for a newer version
If something looks stale after an update, clize doctor prints what's installed vs what's actually running — CLI version (and the upgrade command that works for your install manager: volta / pnpm / asdf / …), skill drift, and control-plane reachability.
Output is English by default. CLIZE_LANG=zh (or a zh* system locale) switches the CLI, the MCP tool descriptions and the control plane's messages to Chinese; the dictionary lives in src/i18n/zh.ts.
Log in and go — your agent never touches Cloudflare:
clize login # browser authorize; the first login creates your account
clize claim acme --email # free identity: acme.clize.app + support@acme.clize.app
clize init --handle acme # bind this directory (deploy / send / inbox infer the rest)
clize email inbox --wait-for "verify" # the agent signs up somewhere with support@acme.clize.app and reads the code here
clize status # who is waiting (real people + codes only), this month's spend
clize email send --to a@b.com --subject "Re: …" --text "…" # queued for a one-tap approval in the console; --confirm sends now
clize deploy ./site # ship a static site → https://acme.clize.app
| Log in with | What runs where |
|---|---|
clize login (web: GitHub / Google / email) — or clize login --token clize_… for CI / headless | Commands call the clize backend; resources run on clize's infra. You never touch Cloudflare / Vercel keys. |
clize is a thin client: the CLI / MCP carry no infrastructure credentials and talk only to the clize control plane — domains, email, deploy, and media all run hosted. (Credentials live in your dashboard; bring-your-own Cloudflare / Vercel is configured there, not on your machine.)
A few specifics worth knowing:
clize deploy <dir> and clize email send need --domain / --from — unless the directory is bound with clize init --handle <slug>, which infers both from ./clize.json. Deploy is directory-based (multi-file static sites).gen image --ref/--mask (image-to-image / inpainting / multi-image composition) work hosted — reference-image caps follow the upstream model: 16 for gpt-image-2, 14 for nano-banana-2 (video/veo takes 3); each ≤10 MB, ≤80 MB total. gpt-image-2 runs as an async task (heavy multi-ref jobs take minutes — no sync-pipe timeouts): the CLI waits by default (--timeout, default 300 s), or use --async and collect with gen status <id>; one image per task (--n > 1 → split), --mask inpainting is nano-banana-2 only. gen budget pre-approval isn't hosted yet: every generation confirms individually with --confirm.*.clize.app handle: clize claim <slug>. Your own domain: clize domain buy / clize domain import. Run clize check to verify your login.| Area | Commands |
|---|---|
| Identity | clize claim <slug> --email — a first-come, free identity for your agent: <slug>.clize.app (site placeholder) plus a receiving support@<slug>.clize.app. Without --email you get the name and the site only (clize email setup <handle> opens the inbox later) — inbound is opt-in because each inbox costs 4 DNS records in the shared clize.app zone, and that zone is the whole platform's free-handle capacity |
| Domains | clize domain search / tlds / buy / import / list; clize domain check <domain> runs five layers in repair order — registry delegation (public DoH) → Cloudflare zone → worker binding → content → edge AI-crawler policy (Cloudflare ai_bots_protection; new zones default to blocking AI crawlers from 2026-09-15, and a blocked edge beats any robots.txt) |
The mailbox your agent signs up for services with and reads verification codes from (clize email inbox [domain] --wait-for <text> polls until the mail arrives), and the inbox real people write to. clize email address add <addr> opens a mailbox in one step (object + receiving) on any domain you own — as many per domain as you need (ops@, sales@, one per agent or per person); --forward me@gmail.com copies mail to a personal inbox, --owner <member> makes it someone's private mailbox. support@<slug>.clize.app is available on any claimed handle via clize email setup <handle> (or clize claim <slug> --email). Read with inbox (triaged: promos / notices / spam are filtered, --all shows everything) / show / thread / search, correct triage with mark, send with send (--attach). Mail is stored permanently and indexed. Multi-user: clize members invite alice@corp.com --mailbox alice@<domain> lets a person log in and use their own mailbox; owners/admins see every mailbox in the account. Per-agent keys: clize email key create --scope read,send --address ops@<domain>. See MAILBOX.md. | |
| Outbox | Interactive clize email send without --confirm lands in an outbox instead of vanishing as a draft: a person approves or rejects it in the console (Home → needs you → Inbox), or from the digest email's signed one-tap link; clize email pending lists what is waiting and status counts it. A standing allowlist (a recipient or @domain, weekly cap 5) can be set only in the console — approvals and the allowlist are refused to CLI-issued keys, so a prompt injection cannot grant itself an exemption. Sends to allowlisted recipients within the cap go out without --confirm. |
| Send API (server-callable) | POST /v1/email/send — transactional email from a long-running backend (fly.io / cron), Resend/Postmark-shaped, sending from a domain already in Clize (no second email vendor). Auth is a scoped send key (clize_sk_…: send-only, lockable to specific domains) — clize email key create/list/revoke. No --confirm (the human-review gate stays on interactive email send). Idempotency-Key, HMAC-signed delivery webhooks (bounce/complaint), RFC 8058 one-click unsubscribe + suppression lists (email delivery-webhook / suppressions / messages). See EMAIL-API.md. |
| Media | clize gen image / video / music — text→image (gpt-image-2 / nano-banana-2, with --ref / --mask for image-to-image and inpainting), text/image→video (veo), text→music (suno); long tasks via gen jobs / status. Every spend is gated by --confirm (gen budget pre-approval for hosted is on the roadmap). Results land as local files, ready to deploy or email --attach. |
| Build · site (hosted methods) | clize build site start <brief> — a hosted design system that briefs your agent on a cohesive style before it writes the site, so pages land with taste instead of AI-template sludge. Then build site recommend / list / get / search / review + build site stack <stack> for stack-specific guidance (React / Next / SwiftUI / …). The former clize design … spelling still works as a hidden alias. clize build site check <dir> [--live <origin>] is the free pre-ship lint: doorway-shaped near-duplicates (≥60% shared visible text) and thin pages, _redirects targets (probed live with --live), hreflang reciprocity, FAQ text vs JSON-LD, canonical/noindex conflicts, sitemap membership — errors exit non-zero. Since 0.41.0 it also reports three GEO warnings (never errors): a comparison page whose first 200 words do not name your own product, a comparison page with no <table>, a content page with no visible date or one over 12 months old. |
| Build · clip (hosted methods) | clize build clip start <brief> → your agent writes a shot-by-shot blueprint → build clip check (free local lint: continuity, dialogue coverage, timing) → build clip render --confirm (💰 one summed quote, batch-generate + merge, resumable). One-off footage stays gen video. |
| Deploy | clize deploy <dir> --domain <host> — multi-file static sites; free *.clize.app or your own domain. Preview locally first with clize serve <dir> (proper Range support — <video> pages actually play in Safari). Deploy runs the same guards as build site check before uploading — doorway-shaped near-duplicates block the upload (--allow-similar to override), and after upload every _redirects rule is probed live; the result rides along in the deploy output as guards (including the three GEO warnings from build site check). Deploy only adds or overwrites: a live path missing from <dir> stays online and is listed under orphans in the receipt; --prune removes every such path (--prune-under <prefix> limits it to one subtree), and clize site paths / clize site rm <path...> list and remove single live paths. |
| SEO / GEO (hosted data) | clize seo keywords <seeds...> / competitors <domains...> / serp <keyword> — research data with no key, no signup, no upstream account: search volume + difficulty + intent (difficulty banded by what you can actually attack), what competitors live on, and who occupies a results page (an official_wall / definition_wall / listicle_window / open verdict from a rule engine, plus the listicles worth pitching). Since 0.40.0 serp also reports who the AI Overview quotes (aiOverviewCitations, each with the sentence the engine lifted) and which questions Google hangs on the page (questions: People Also Ask + related searches; `--questions-depth 1 |
| Projects | One project = one directory: clize init --handle <slug> binds it (the project record auto-creates on first claim / buy). clize projects to list / new / move / rename / rm; -p <slug> for one-off cross-project calls. Email send across projects is blocked (409); deploy instead follows the target domain — a stale clize.json checkout auto-routes to the domain's real project (and is written back to clize.json), and only an explicit mismatched -p is a 409. status / lists / spend scope to the checked-out project, and status flags any local↔remote drift. |
| Context | clize status [--assets], clize context [address] — rehydrate who's waiting + identity/knowledge at the start of a session |
| Billing (hosted) | clize balance / clize recharge --amount <usd> — prepaid clize balance that domain/media spends draw from (Stripe top-up); clize audit for the spend log |
| Collect (hosted) | clize pay link --amount <usd> — bill your customers, zero config: by default money lands in your clize balance (no fee — balance funds are spendable on clize only, not withdrawable). Direct payout to your own Stripe (direct, clize takes a fee) is not yet enabled on the platform; once it is, connecting Stripe on the web dashboard switches payments over automatically. Until then --mode direct is refused and every payment lands in your balance. clize pay status / clize pay list. |
| Shop & forms (hosted) | clize shop — turn a deployed site into a storefront that takes real money: products live in a _catalog.json you deploy, carts check out via Stripe with server-side pricing against your deployed catalog (clients can't forge prices); one-time or subscriptions, shipping-address collection, direct or balance payout like pay. clize holds the order layer — clize shop orders / todo / fulfill / notify / refund / shipments / events / webhook / hook test (paid → sourced → shipped → delivered, 17TRACK tracking, buyer self-service at /orders; signed fulfillment webhooks with per-store secrets, delivery bookkeeping, automatic retries and --replay; shop hook test proves your endpoint before the first sale; the success page gets ?order=cs_… and a public status endpoint) — while the catalog ships with your site and stock, tax and shipping stay with you. clize data webhook forwards form / waitlist submissions to your endpoint (clize doesn't store them). clize is the shell, the order ledger and the payment wiring, not a Shopify. |
Run clize --help for the full surface.
clize deploy <dir> uploads a multi-file static site and serves it from a shared Cloudflare Worker backed by KV for small hot files and R2 for large assets (not Workers Static Assets / Pages), keyed by hostname + path. What you can rely on:
404.html it's returned with a real HTTP 404 (so failed/typo URLs aren't indexed as duplicate homepages — the SEO-correct behavior); with no 404.html the site is treated as an SPA and the request falls back to index.html (200). Override per-deploy with --not-found <404-page|spa|none|auto> (auto is the default = exactly this detection)./foo/ serves /foo/index.html (200, no 301).cache-control: public, max-age=300.deploy never deletes on its own: a live path that is missing from the directory stays online, and the receipt lists such paths under orphans (KV pages and small files, R2 assets alike). clize deploy <dir> --prune removes every orphan after the upload, --prune-under <prefix> limits that to one subtree (for sites where several machines each own a subtree), clize site paths [domain] lists every live path with its layer, and clize site rm <path...> removes single paths (/dir/ means /dir/index.html; sitemap.xml / llms.txt follow). Removed paths can still be served from the edge cache for up to 5 minutes.404.html and index.html drive the not-found behavior above. _redirects is consumed (Cloudflare Pages format: from to [status], */:splat and :name placeholders, status default 302, 3xx redirect with the query preserved, other statuses rewrite to a site file, external targets redirect only); real files always win over rules (so to 301 a page that once shipped, remove it first with clize site rm or deploy --prune, then add the rule), the file itself is never served, and deploy probes every rule live after upload (guards.redirects). _headers is still stored but inert.clize.json); it follows that domain's real project and writes the resolved project (plus a custom domain) back to clize.json, so repeat deploys don't drift or 409.clize domain buy, clize gen image/video/music) never go through without --confirm; without it you just get a quote.These gates run in plain text, so every spend and every outbound action is visible in the agent's transcript.
A curated subset of the core — claim, domains & DNS, email, deploy, shop & forms, status/context, billing, collect (pay) — exposed as 32 MCP tools for hosts that prefer structured tools over a shell. (Media generation and the build method packs stay CLI- and skill-driven, not MCP tools.) Opt-in (clize install --mcp), since an MCP server's tool list is a standing per-session context cost — the skill alone already lets the agent drive clize via the CLI. To register by hand:
claude mcp add clize -- clize-mcp # Claude Code
codex mcp add clize -- clize-mcp # Codex
Works in both modes — set CLIZE_API_KEY (and optionally CLIZE_API_URL) in the server's environment to run hosted.
clize-mcp --profileAll 32 tools sit in context every session, even when all you wanted was the inbox. --profile <line> starts the same server with only that line's tools registered — absent from tools/list rather than registered-then-hidden, so the ones you skip cost the host nothing:
claude mcp add inbox -- clize-mcp --profile inbox # 13 tools instead of 32
A profile only subtracts: tool names, arguments and behaviour are identical across profiles, so switching one doesn't make the agent relearn the surface. serverInfo.name becomes clize-<line> so the host shows which line is connected. Without --profile nothing changes — all 32 tools, serverInfo.name = clize, which is what clize install --mcp still registers. An unknown value exits non-zero listing the valid ones instead of quietly serving the full set (a silent fallback would hand you 32 tools while you believed you had installed a subset).
Every product line installs the same package, @clize/clize, and picks its tool subset with --profile:
| Product line | --profile | Tools (each profile includes status / balance / recharge) |
|---|---|---|
| Agent Inbox — a real inbox agents send from and receive into (clize.ai/inbox/) | inbox | 13 — claim, email setup / address add / inbox (with wait-for) / thread / search / show / mark / send, context |
| Agent Storefront — your agent runs a real store | storefront | 15 — pay, shop status / orders / order / todo / fulfill / notify / refund / events / shipments / webhook, data webhook |
| Sites by Clize — a marketing site that actually ships | sites | 5 — claim, deploy |
| Agent Domains — domains an agent can buy, point and monitor | domains | 9 — domain search / buy / ns, dns list / set / rm |
deploy lives only in sites, and media / build have no MCP tools at all — for the whole surface, run the server with no --profile. A profile is a context budget, not a permission boundary: the money / identity / untrusted-inbound gates are unchanged, and to actually restrict what a key can do use a scoped key (MAILBOX.md §4). Installing the CLI stays npm i -g @clize/clize — npm does not link a dependency's binaries onto your PATH, so the per-line packages are for discovery and for npx:
claude mcp add inbox -- npx -y -p @clize/clize clize-mcp --profile inbox
The MCP registry lists one server, ai.clize/clize; a line is a --profile, not a separate package.
Step-by-step setup:
What agents actually do with it:
FAQs
The real-world capability layer for AI agents — domains, email, deploy, media, SEO/GEO. CLI + MCP.
The npm package @clize/clize receives a total of 242 weekly downloads. As such, @clize/clize popularity was classified as not popular.
We found that @clize/clize demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.