Hermai Cli

io.github.hermai-ai由 GitHub 账号 hermai-ai 发布v0.3.0更新于 Oct 28, 2026

Hermai MCP server — look up, submit, and classify website API schemas from any MCP client.

概览

AI 生成的概览

Hermai CLI 提供 Hermai 网站 API schema 注册表的访问,让助手在 MCP 客户端中查询、提交并调用站点接口。

可以做什么
  • 查询并拉取 Hermai 注册表中的网站 API schema,浏览目录,汇总或显示某个网址的缓存 schema
  • 向注册表提交新 schema,并使用探测工具识别站点平台、反爬机制、well-known 文件、内嵌数据与 GraphQL schema
  • 直接调用读取类接口,或执行带会话处理与逐请求签名的认证写入操作,并可用 dry-run 先查看签名后的请求
  • 从已安装的浏览器导入指定单一域名的 Cookie,或初始化新会话,以访问需登录的接口
  • 用有界面浏览器捕获 XHR 流量并重放请求,以记录写入流程
适用场景
当助手需要以结构化方式访问某网站的 API 而非抓取页面时适用,也适合需要把站点接口整理成 schema 并贡献到社区目录的场景。对需要执行发帖、保存草稿、加入购物车等需登录写入操作的智能体同样有用。
运行要求
作为本地进程运行,可通过 npm(需 Node.js)、Homebrew、Go 或预编译二进制安装。拉取 schema 需要 Hermai 注册表账号(GitHub 登录)以获得 API key。导入浏览器 Cookie 需要操作系统级授权(Keychain、DPAPI、libsecret),捕获流量需要已安装的浏览器。
安装前请注意
它会从已安装的浏览器读取 Cookie 并保存在本地会话目录,应视为敏感数据。认证写入操作会代表你向第三方网站发送请求,可能修改对方数据。schema 与捕获的请求可能被推送到公开注册表,提交前请确认内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Hermai Cli,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

hermai-cli

English · 繁體中文 · 简体中文

Discover, contribute, and call structured website APIs from your terminal.

hermai is the open-source CLI for the Hermai registry — a community catalog of website API schemas for AI agents. Probe a site to document its endpoints, push the schema to the catalog, or pull an existing schema and call it — including authenticated writes with per-request signing.

Install

bash
# macOS and Linux via Homebrewbrew install hermai-ai/hermai/hermai
# Anywhere Node is installed (no Go toolchain needed)npm install -g hermai-cli      # or: npx hermai-cli --help
# Go developersgo install github.com/hermai-ai/hermai-cli/cmd/hermai@latest
# Prebuilt binaries for every OS × arch# https://github.com/hermai-ai/hermai-cli/releases/latest

Already installed? Upgrade in place without re-running any of the above:

bash
hermai update

Agent skill

Running in Claude Code, Codex, Cursor, or another agent? Install the Hermai skill so the agent knows how to use this CLI:

bash
npx skills add hermai-ai/hermai-skills --skill hermai

One skill covers both audiences. When a user asks for data from a site, the agent pulls the schema and calls it. When a user wants to add a new site, the skill's contributor references (loaded on demand via progressive disclosure) walk the agent through discovery, schema authoring, and push.

Repo: hermai-ai/hermai-skills.

Call a site as an API

bash
# Pull a schema (API key required, GitHub sign-in at hermai.ai/dashboard)hermai registry loginhermai registry pull x.com --intent "drafting a post from my agent"
# Read endpoints: call them directly with curl / fetch / any HTTP client.# Authenticated writes: `hermai action` handles sessions + signing for you.hermai action x.com CreateDraftTweet --arg text="drafted by hermai"

hermai action loads the schema, resolves the user's session (cookies from disk, or pulled from an installed browser on first run), runs any schema-declared bootstrap JS to compute per-session state, runs any per-request signer JS, fires via a Chrome-TLS fingerprinted HTTP client, and rotates Set-Cookie back on 2xx responses. Works against sites that require per-request signing (X's x-client-transaction-id, TikTok's X-Bogus) without opening a browser.

Useful flags:

  • --dry-run — print the fully-signed request, don't hit the network
  • --schema <file> — use a local schema JSON instead of the registry cache
  • --arg key=value — repeatable, fills {{var}} placeholders in the schema's URL/body templates

Registry

bash
hermai registry login                         # GitHub OAuth, stores API keyhermai registry list                          # browse the cataloghermai registry pull <site> --intent "..."    # download a schemahermai registry push schema.json              # contribute a schema

Discovery toolkit

Deterministic subcommands for composing a new schema. No LLM key — each prints JSON the next step can consume.

bash
hermai detect <url>                          # platform + anti-bot classificationhermai wellknown <domain>                    # robots, sitemap, RSS, GraphQLhermai probe --body <url> | hermai extract   # 13 named embedded-data patterns plus                                             # any <script type="application/json" id="X">hermai probe --body <pdf-url> | hermai extract --state IL --url <pdf-url> --report-month 2026-02hermai enforcement --state IL <root-url>     # discover Illinois IDFPR PDFs and emit cited actionshermai intercept <url>                       # capture XHR in a browserhermai introspect <graphql-url>              # GraphQL schemahermai replay request.json                   # replay a captured requesthermai session bootstrap <site>              # warm a fresh browser sessionhermai session import <site>                 # import cookies from your current browser

Capturing authenticated write endpoints

Most interesting APIs are gated behind cookies. To capture a write flow (add-to-cart, save-draft, submit-review) without logging in a second time, combine headful intercept with session injection:

bash
# 1. Pull cookies from the browser you're already signed in withhermai session import example.com
# 2. Open a visible Chrome, pre-loaded with those cookies, and capture what you clickhermai intercept https://example.com/product/123 \  --headful --session example.com \  --timeout 120s --wait 100s --ndjson > capture.ndjson
# 3. Grep/jq the captured JSON for the XHR of interestgrep -F 'CreateOrder' capture.ndjson | jq '.request.body'

The request body goes straight into your schema's body_template with {{var}} placeholders for user-varying fields. Capture, don't guess — inventing body fields is the #1 cause of rejected write schemas.

hermai introspect takes --header name=value (repeatable) for auth-gated GraphQL endpoints like Shopify Storefront or Estée Lauder's Stardust.

Import your existing browser session

When a schema requires login (post a tweet, add to cart, RSVP), you can use the session you already have in Chrome, Firefox, Safari, Edge, or Brave — no need to log in again:

bash
hermai session import x.com# Reads cookies scoped to x.com from your installed browsers,# saves them to ~/.hermai/sessions/x.com/cookies.json

The first run surfaces an OS-level authorization prompt (macOS Keychain, Windows DPAPI, Linux libsecret) — Hermai can't read your cookies without your explicit consent at the OS level. Reads are always scoped to the single domain you name; we never touch cookies for other sites.

Use --dry-run to see the cookie names without writing values to disk:

bash
hermai session import x.com --dry-run

Local cache

bash
hermai catalog <url>                          # summarize cached endpoints for a URLhermai schema <url>                           # show the cached schema JSONhermai cache list                             # list cached domainshermai init                                   # create ~/.hermai/config.yamlhermai doctor                                 # verify your setup

hermai --help for the full command list.

Docs

  • Concepts + schema spec — docs.hermai.ai
  • Hosted registry + dashboard — hermai.ai
  • Skill reference: hermai-ai/hermai-skills — architecture, runtime, CLI, contributing

License

AGPL-3.0. Running a modified version as a hosted service requires publishing your changes.

来源:README.md,提交 7419a24

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分