经 AI Skill Hub 精选评估,IronBee CLI验证工具 获评「推荐使用」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
MCP协议的开源验证和智能层工具,为编码代理提供浏览器DevTools集成、浏览器测试和代码验证能力。支持Claude Code等AI编程助手,帮助开发者构建可靠的代理化工作流。
IronBee CLI验证工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
MCP协议的开源验证和智能层工具,为编码代理提供浏览器DevTools集成、浏览器测试和代码验证能力。支持Claude Code等AI编程助手,帮助开发者构建可靠的代理化工作流。
IronBee CLI验证工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/ironbee-ai/ironbee-cli
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"ironbee-cli----": {
"command": "npx",
"args": ["-y", "ironbee-cli"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 IronBee CLI验证工具 执行以下任务... Claude: [自动调用 IronBee CLI验证工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"ironbee_cli____": {
"command": "npx",
"args": ["-y", "ironbee-cli"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p align="center"> <strong>The CLI for <a href="https://ironbee.ai">IronBee</a> — Verification and Intelligence Layer for Agentic Development</strong> </p>
<p align="center"> <a href="https://www.npmjs.com/package/@ironbee-ai/cli"><img src="https://img.shields.io/npm/v/@ironbee-ai/cli.svg" alt="npm version" /></a> <a href="https://github.com/ironbee-ai/ironbee-cli/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Elastic%202.0-blue.svg" alt="license: Elastic License 2.0" /></a> <a href="https://github.com/ironbee-ai/ironbee-cli/actions"><img src="https://img.shields.io/github/actions/workflow/status/ironbee-ai/ironbee-cli/build.yml?branch=main" alt="CI" /></a> </p>
---
IronBee ensures that AI agents verify their code changes before completing a task. When an agent edits code, it cannot finish until it exercises the affected paths through real tools — in the browser for frontend changes, against the wire protocol (HTTP / gRPC / GraphQL / WebSocket) for any-runtime backend changes, or via the Node.js V8 inspector for Node-specific backend changes — and submits a passing verdict.
No more "it should work" — every change is tested.
IronBee also tracks every verification cycle — coding time, fix time, pass/fail rates, problematic files — and provides session and project-level analytics for LLM-powered semantic insights.
Powered by IronBee DevTools (@ironbee-ai/devtools), which runs in three modes from the same package: - Browser mode (bdt_* tools, default-on): the agent navigates pages, clicks buttons, fills forms, takes screenshots, checks console errors. - Backend mode (bedt_* tools, opt-in, runtime-agnostic): the agent drives real HTTP / gRPC / GraphQL / WebSocket calls against your backend, inspects logs, and queries databases — works for Node, Java, Python, Go, Rust, Ruby, .NET, PHP, Elixir, Kotlin, and Scala backends alike. - Node mode (ndt_* tools, opt-in): the agent connects to a running Node process, sets V8 probes (tracepoint / logpoint / exceptionpoint) at the changed code paths, exercises them, and reads back snapshots or runtime logs.
A single Stop hook can drive multiple cycles in parallel — touching frontend, a backend protocol, and a Node runtime in the same change requires evidence for each before the task can complete.
npm install -g @ironbee-ai/cli
Cursor requires manual activation of MCP servers after install:
ironbee backend enable; node-devtools appears after ironbee node enableNote: This is a known Cursor limitation — MCP servers added via mcp.json may need manual activation.
ironbee analyze <session-id> # single session analysis
ironbee analyze # all sessions (project-level)
ironbee analyze --json # JSON output
ironbee analyze --detailed # include verdict details (checks, issues, fixes)
ironbee analyze --json --detailed # JSON with verdict text for LLM semantic analysis
ironbee analyze <session-id> --json --detailed # single session JSON with verdict details
The --detailed flag includes raw verdict text (checks, issues, fixes) in the output. This is designed for LLM-powered semantic analysis — use /ironbee-analyze in Claude Code or Cursor to have the agent interpret these details automatically.
https://github.com/user-attachments/assets/9d4e602b-6c05-4b48-89a8-3df429d10e00
Already have weeks of Claude Code sessions on disk? ironbee import walks them and ships every session / activity / tool_call / file_change / analytics event to the IronBee Collector — so your dashboard fills with historical context the moment you finish installing. Already-tracked sessions (live or previously imported) are skipped automatically; pass --force to re-import.
Typical three-step flow:
```bash
ironbee import --all-projects --since 6m --concurrency 2 ```
--dry-run always shows the exact cost_usd that will surface in your dashboard before you confirm — $342.18 is much less surprising when you know it's coming.
| Scenario | Command |
|---|---|
| **Onboarding** — current project, last 30 days | ironbee import --since 30d |
| **Current project, full history** | ironbee import |
| **One specific project from anywhere** | ironbee import --projects /path/to/repo |
| **Multiple projects** | ironbee import --projects /repos/auth,/repos/payments |
| **Every project on this machine** | ironbee import --all-projects --since 6m |
| **Explicit date range (e.g. Q1 retrospective)** | ironbee import --all-projects --from 2025-01-01 --to 2025-03-31 |
| **Single transcript file (debug / cherry-pick)** | ironbee import --transcript ~/.claude/projects/-Users-me-foo/abc.jsonl |
| **CI / scripted onboarding (no prompt)** | ironbee import --since 60d --yes |
| **Tune backend load** | ironbee import --since 6m --concurrency 2 (or 16 for fast pipes) |
| **Force re-import a single session** | ironbee import --transcript path.jsonl --force --yes |
Scope (mutually exclusive — pick at most one; default is the current directory): - --transcript <path> — single .jsonl file - --projects <p1,p2,...> — comma-separated absolute project paths - --all-projects — every directory under ~/.claude/projects/
Time range (mutually exclusive; default is no filter): - --since <duration> — 30d, 2w, 6m, 12h (relative to now) - --from <iso-date> [--to <iso-date>] — explicit window; --to defaults to now
Behavior: - --dry-run — print summary, make zero POSTs, exit 0 - --yes — skip the confirm prompt - --force — bypass the "already tracked" skip rule - --concurrency <N> — parallel sessions (default 4, clamped to [1, 32]); also configurable via import.concurrency in ~/.ironbee/config.json or <project>/.ironbee/config.json
ironbee browser disable
The browser cycle is the default-on cycle — every code-file edit (40+ extensions: .ts, .tsx, .css, .html, .py, .go, .java, …) requires browser-driven verification (navigate / screenshot / aria / console). Run browser disable for projects where you don't want browser-cycle enforcement (e.g. backend-only services where only backend enable / node enable apply). It writes browser.verifyPatterns: [] to override the legacy 40+ extension default; customizations of alwaysRequired / evidencePaths / additionalVerifyPatterns are preserved.
To re-enable: ironbee browser enable — strips the verifyPatterns: [] override so the code defaults (legacy 40+ extension list) flow back in at runtime. config.json stays minimal; the default list is NOT materialized into the file (it lives in code and tracks the CLI version automatically).
ironbee backend enable
Activates the backend protocol cycle — drives real HTTP / gRPC / GraphQL / WebSocket calls against your running backend service via the backend-devtools MCP (bedt_* tools) and verifies the responses. Works for any backend runtime: Node, Java, Python, Go, Rust, Ruby, .NET, PHP, Elixir, Kotlin, Scala. The command writes a minimal { "backend": {} } block to config — code defaults (multi-language paths covering server/**, api/**, routes/**, controllers/**, handlers/**, services/**) flow in at runtime.
To revert: ironbee backend disable (drops the block clean if no customizations / lower-layer override; otherwise hard-kills via verifyPatterns: []).
ironbee node enable
Run this once per project whose backend is Node.js and you want IronBee to gate at the runtime level (V8 inspector probes via node-devtools). It writes a minimal { "node": {} } block to config — code defaults (e.g. server/**, pages/api/**, **/server.{ts,js,mjs,cjs}) flow in at runtime; nothing is materialized into the file. From then on, edits to matching paths require Node-cycle verification (connect + probes/logs) alongside any browser-cycle verification. To customize, set node.verifyPatterns (replaces defaults) or node.additionalVerifyPatterns (appends).
The node cycle is independent of the backend cycle — backend drives the wire protocol from outside, while node attaches to a Node.js process and sets non-blocking debug probes. Both can be enabled simultaneously; both must pass.
To revert: ironbee node disable. With no customizations the entire node block is dropped (clean config). With customizations or a lower-layer override, writes verifyPatterns: [] (hard kill, preserves alwaysRequired / evidencePaths / additionalVerifyPatterns so re-enabling later restores your tuned setup).
ironbee verification disable
Turns off enforcement but keeps the telemetry path intact. Session lifecycle and tool-call events still flow to the IronBee Collector, but the agent never sees a verify-gate, skill, rule, or /ironbee-verify command — useful when you want observability without slowing the agent down. To re-enable: ironbee verification enable.
The toggle re-renders all client artifacts (hooks, skill, rule, MCP servers, permissions) atomically. The change takes effect on the next agent session — restart your editor / agent after toggling.
IronBee loads config from three layers and deep-merges them in order (each later layer overrides the earlier ones), then layers env-var overrides on top:
~/.ironbee/config.json<project>/.ironbee/config.json (committed; team-shared)<project>/.ironbee/config.local.json (gitignored; per-machine / per-developer override)IRONBEE_* env vars (e.g. IRONBEE_API_KEY → collector.apiKey); env always wins over every file layer. See Env-var overrides below.The local layer is optional — ironbee install adds .ironbee/config.local.json to .gitignore automatically, but the file is only created when you actually write to it (e.g. ironbee config set ... --local).
{
"ignoredVerifyPatterns": ["*.test.ts", "*.spec.ts"],
"maxRetries": 5,
"browser": {
"verifyPatterns": ["*.ts", "*.tsx", "*.css"],
"additionalVerifyPatterns": ["*.mdx"]
},
"backend": {
"verifyPatterns": ["routes/**/*.{go,py,java,ts}", "controllers/**/*.{go,py,java}"]
},
"node": {
"verifyPatterns": ["server/**/*.ts", "pages/api/**/*.ts"]
},
"verification": {
"enable": false
},
"fileChange": {
"captureChangeset": true
}
}
| Key | Description | Default |
|---|---|---|
browser.verifyPatterns | Glob patterns for files requiring **browser** verification (replaces defaults). Four-state semantic: block-absent → code defaults (40+ ext, default-on); block-present + verifyPatterns unset → code defaults (post-browser enable shape); [] → hard kill (also disables additionalVerifyPatterns); custom [...] → user-defined. | 40+ code extensions when block absent OR verifyPatterns unset |
browser.additionalVerifyPatterns | Extra browser patterns appended to defaults | [] |
backend.verifyPatterns | Glob patterns activating the **runtime-agnostic backend protocol cycle** (backend-devtools MCP, bedt_* tools — HTTP / gRPC / GraphQL / WebSocket). Same four-state semantic, **default-off**: block absent → cycle disabled; block present + verifyPatterns unset → 13 default patterns from code (multi-language: routes/**, controllers/**, handlers/**, services/** across .ts/.js/.py/.go/.java/.rb/.cs/.rs/.kt/.scala/.ex/.exs/.php/.clj); [] → hard kill; custom [...] → user-defined. Opt in via ironbee backend enable. | block absent → disabled; block present + unset → 13 code defaults |
backend.additionalVerifyPatterns | Extra patterns appended to backend.verifyPatterns (or to code defaults when verifyPatterns is unset). Ignored when verifyPatterns: []. | [] |
backend.alwaysRequired | Backend-cycle required tools (all-of). Empty default — backend uses any-of evidence paths. | [] |
backend.evidencePaths | Alternative tool paths — at least one must be fully satisfied. Defaults: protocol-call (any bedt_request_*) OR log-evidence (bedt_log_register-source AND any read/follow) OR db-evidence (bedt_db_connect AND any inspect tool). | protocol-call OR log-evidence OR db-evidence |
node.verifyPatterns | Glob patterns activating the **Node.js runtime debug cycle** (node-devtools MCP, ndt_* tools — V8 inspector probes). Same four-state semantic as browser.verifyPatterns, but **default-off**: block absent → cycle disabled; block present + verifyPatterns unset → 9 default patterns from code (server/**, pages/api/**, **/server.{ts,js,mjs,cjs}, …); [] → hard kill; custom [...] → user-defined. Opt in via ironbee node enable. | block absent → disabled; block present + unset → 9 code defaults |
node.additionalVerifyPatterns | Extra patterns appended to node.verifyPatterns (or to code defaults when verifyPatterns is unset). Ignored when verifyPatterns: []. | [] |
node.alwaysRequired | Node-cycle required tools (all-of) | ["ndt_debug_connect"] |
node.evidencePaths | Alternative tool paths — at least one must be fully satisfied | probe path + log path |
ignoredVerifyPatterns | Patterns to exclude from verification (checked first, applies to all cycles) | [] |
maxRetries | Max retry attempts before allowing completion (single global counter regardless of how many cycles run) | 3 |
verification.enable | Master switch for enforcement. **Inverse semantics from recording/jobQueue/collector** — verification is the core feature, opt-out via enable: false. When disabled, ironbee runs in monitoring-only mode (no enforcement hooks, skill, rule, or MCP servers; only session/activity/tool_call telemetry flows to the collector). | true |
fileChange.captureChangeset | When true, every file_change event carries a hunks-only unified-diff changeset string (@@ headers + space/-/+ lines, no filename header — file_path already lives on the parent event). Off by default — the default tool_input whitelist deliberately strips file content from the wire; turning this on routes content through file_change instead. PreToolUse pre-reads the file when enabled so PostToolUse can produce a real before/after diff (Write/Edit on Claude; Write/StrReplace/Delete on Cursor). Skipped on binary content (NUL byte in first 4 KB). | false |
fileChange.maxChangesetBytes | Hard cap on the changeset string size. Diffs over the cap are sliced on a UTF-8 byte boundary and end with a \n... (truncated, N bytes omitted)\n footer so the collector POST stays within typical reverse-proxy body limits. | 65536 (64 KB) |
You can edit any of the three config layers via the CLI instead of hand-rolling JSON:
```bash
ironbee config set collector.apiKey sk-... --global
ironbee config set collector.url http://localhost:4000 --local
A small allowlist of IRONBEE_* env vars overrides specific config paths on top of the three file layers. Useful for secrets that shouldn't be committed (CI runners, ephemeral shells, multi-env desktop setups). Set to a non-empty string to override; unset or empty-string falls back to the file value. Env always wins over every file layer.
| Env var | Config path | Notes |
|---|---|---|
IRONBEE_API_KEY | collector.apiKey | Lets CI / per-shell setups supply the collector API key without committing it. Combined with a file-set collector.url, the merged effective config has both required fields. |
```bash
IronBee can register up to three MCP server entries from the same @ironbee-ai/devtools package (IronBee DevTools) — browser-devtools (bdt_ prefix, browser mode), backend-devtools (bedt_ prefix, runtime-agnostic backend mode), and node-devtools (ndt_ prefix, Node mode). Each is per-cycle gated (only enabled cycles get an entry) and can be customized independently via its own config block.
For the browser server, use browserDevTools:
{
"browserDevTools": {
"mcp": {
"url": "http://localhost:4000/mcp"
}
}
}
For the backend server, use backendDevTools:
{
"backendDevTools": {
"env": { "BACKEND_DEFAULT_HOST": "http://localhost:8080" }
}
}
For the node server, use nodeDevTools:
{
"nodeDevTools": {
"env": { "NODE_INSPECTOR_HOST": "127.0.0.1" }
}
}
You can mix-and-match: full config replacement via mcp, or just env-var additions via env. The two blocks below combine — one uses mcp for full replacement on the browser server, the other adds env vars to the backend server:
{
"browserDevTools": {
"mcp": {
"command": "node",
"args": ["./my-server.js"],
"env": { "MY_VAR": "value" }
}
},
"backendDevTools": {
"env": { "OTEL_ENABLE": "true" }
}
}
| Key | Description |
|---|---|
browserDevTools.mcp / backendDevTools.mcp / nodeDevTools.mcp | Full MCP server config — used as-is when provided. Supports command+args (stdio) or url (HTTP) |
browserDevTools.env / backendDevTools.env / nodeDevTools.env | Extra env vars merged into the default config. Only used when mcp is not provided |
Note: IronBee always setsTOOL_NAME_PREFIX(bdt_/bedt_/ndt_),TOOL_INPUT_METADATA_ENABLE=true, andPLATFORM(browser / backend / node) — these cannot be overridden. Whencollectoris configured, an OTEL exporter env block is also auto-injected on every server entry; operators can override individualOTEL_*keys via theenvblock above.
专业的MCP工具实现,为AI编程代理提供验证和浏览器测试能力,架构清晰。但生态成熟度和用户基数有限,适合前沿探索者尝试。
该工具使用 NOASSERTION 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
📄 NOASSERTION — 请查阅原始协议条款了解具体使用限制。
AI Skill Hub 点评:IronBee CLI验证工具 的核心功能完整,质量良好。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | ironbee-cli |
| 原始描述 | 开源MCP工具:IronBee CLI - Verification and Intelligence Layer for Coding Agents。⭐20 · TypeScript |
| Topics | MCP编码代理浏览器测试DevTools验证层 |
| GitHub | https://github.com/ironbee-ai/ironbee-cli |
| License | NOASSERTION |
| 语言 | TypeScript |
收录时间:2026-05-21 · 更新时间:2026-05-22 · License:NOASSERTION · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端