MIT 开源 · 127 个工具 · 44 家供应商

让 Agent 接上区块链,
不用再写第 127 个适配器。

BCA 把官方 SDK、Foundry 和 MCP 服务收进一个入口。Agent 说一句「这个代币安全吗」, 它自己找到工具、补齐参数、拿到真实链上结果 —— 而不是让你先写三个适配器。

bca — zsh
3 个入口共用一套实现 0 项默认写入权限 16 家官方 MCP 预设 MIT 协议,无 vendor lock-in
聚合的是官方实现,不是替代品
问题

Agent 不缺能力,缺的是「找得到」。

链上生态有上千个 SDK、CLI 和 MCP 服务。每一家都有自己的鉴权方式、参数命名和错误格式。Agent 不缺手,缺的是一张能用的地图。

01 / 发现

工具散落在十几个生态里

EVM 一套、Solana 一套、Sui 又一套。Agent 想查个余额,得先知道该用 viem 还是 Kit,还得知道参数叫 address 还是 pubkey。

02 / 鉴权

每家都要自己去申请密钥

Dune、Etherscan、RPC、Pinata…… 五个账号、五份配额、五种限流。撞墙时报错还不一样,排查一次能耗掉半天。

03 / 边界

没人敢让 Agent 自由写链

发现和授权混在一起最危险。一次幻觉就能让 Agent 把合约部署到主网,或者签一笔你不认识的交易。

方案

三个入口,一套实现。

同一份工具定义,三种调用方式。你在终端里试,在 Agent 里用,在自己代码里集成 —— 行为完全一致。

CLI 终端

在项目目录里直接问,直接调。最适合验证一个想法值不值得做。

bca find '这个代币安全吗' bca call goplus_token_security

MCP Agent

写进 Codex / Claude Code 的 MCP 配置,Agent 立刻多出一整套链上能力。

bca setup --client both --install bca mcp

TypeScript SDK 代码

嵌进你自己的平台。返回结构稳定,bigint 用十进制字符串,出错就抛异常。

const tk = createToolkit() await tk.invoke('evm_balance', {address})
试用

说一句,看它怎么找工具。

下面是真实运行的 Agent 轨迹:理解任务 → 检索能力 → 选工具 → 调用 → 回答。余额、代币风险、区块数据都走真实公共接口。

正在连接本地服务…
免费额度
2000 / 2000
你想让 Agent 做什么
回车运行
Shift+回车换行
执行轨迹
还没有运行

左边输入一句话,或者点一个示例。每一步都会展示出来,包括它选了哪个工具、为什么选、花了多少 credit。

目录

127 个工具,全部来自官方实现。

BCA 不重写区块链逻辑 —— 它包装 viem、Foundry、OpenZeppelin、Safe、EAS 这些官方 SDK 和 CLI,把参数、错误和结果统一成 Agent 能读的形状。

边界

默认不写。想写要连过五道闸。

发现工具不会自动获得写权限。哪怕 Agent 已经知道怎么部署合约,真正发交易前仍然要满足全部条件 —— 少一条就停在原地。这不是限制功能,这是让 Agent 敢被用起来的前提。

1
全局写入开关
只认字面值 BCA_ALLOW_WRITES=true,默认 false
默认 OFF
2
单次显式提交
调用参数里必须出现 submit: true,不接受隐式推断
逐次确认
3
目标链白名单
一键部署仅限本地链,chainId 必须是 31337 或 1337
loopback only
4
发送地址显式声明
必须给出 unlocked 的 from 地址,不从配置里猜
显式 from
5
回执与字节码核验
部署后确认 receipt 与链上代码,失败不重放、不重试
核验后返回
×
公共链交易
沿用宿主钱包授权,BCA 不代签、不持私钥、不托管资金
交给宿主
安装

一分钟接进项目。

需要 Node 22.12+(22 LTS)或 Node 24 LTS、npm 和 Git。安装会把 MCP 配置与工作流写进项目,已有条目保留、修改前备份。


      

包目前从 GitHub 源码安装,尚未发布到公共 npm。中国大陆网络下如果镜像缺少固定版本, 在命令后追加 --registry=https://registry.npmjs.org。

定价

本地全功能免费。
只为「不用自己管密钥」付费。

BCA 是本地运行的,所以本地能力对你没有任何边际成本,我们也不打算收。 收费只发生在一种情况:你不想再自己去申请和管理那五六个上游账号。

credit 是统一计量单位:只读链上查询 1 credit,安全检测 3,数据查询 5,交易诊断 20,链上写入 30。 本地工具(编译、测试、CID 计算、DID 解析)永远 0 credit。gas 永不包进 credit,始终实报实销。

常见问题

你大概会问这些。

BCA 和直接用 viem / ethers 有什么区别?
不替代,是包装。BCA 内部调用的就是 viem、ethers、Foundry、官方 SDK —— 它解决的是「Agent 怎么知道该用哪个、参数怎么填、结果怎么读」。你写代码时仍然该直接用 viem;你让 Agent 干活时才需要 BCA。
它会不会拿走我的私钥?
不会,架构上就不需要。公共链交易沿用宿主钱包授权流程,BCA 不代签、不托管。唯一的签署器是本地开发用途的 BCA_PRIVATE_KEY,公共 API 不接收私钥。一键部署也只面向本地 Anvil。
能接我自己已经配好的 MCP 服务吗?
能。bca connect <name> 写入项目 .bca/mcp.json,之后 bca find '...' --server <name> 会读该服务真实的 tools/list。已有配置的请求头、传输方式和只读许可都会被保留,需要改就编辑配置文件或用新的配置名。
支持哪些链?
EVM 系列最完整(含本地 Anvil、Foundry 工作流)。已完成适配的还有 Solana、Sui、Aptos、Arweave、Walrus、Safe。需要客观说明:注册不代表全部业务通过,各生态的实际验证范围写在仓库的 S2 记录里,公共测试网仍有未验证项。
为什么本地功能免费?
因为成本结构如此。BCA 跑在你机器上,bca find 和 bca build 不花我们一分钱,收钱没有道理。真正有成本的是上游 API 调用 —— 那部分你现在是自己申请密钥直接付给上游,我们只是提供一个「帮你代持、统一计量」的可选方案。
为什么还没发布到 npm?
项目首提交是 2026-10-19。先在源码安装阶段把 Windows / macOS 路径、公共测试网和账户型服务验证完,再发正式包 —— 宁可比预期晚,也不想让你 npx 下来是个半成品。