关于 asic-lookup
asic-lookup 是查询澳大利亚 ASIC 公司注册信息的 MCP 服务,面向需要按 ABN、ACN 或公司名称查找注册公司的用户。每次成功查询收费 0.01 美元,以 Base 主网上的 USDC 通过 x402 自动支付,并要求设置总支出上限。
主要功能
- 01按 ABN、ACN 或名称查询公司
- 02返回注册状态及公司信息
- 03按名称前缀匹配并限制结果数
- 04通过 x402 以 USDC 支付
- 05设置总支出上限及单次限额
适用场景
- 01核对公司的注册状态和注册日期
- 02按名称查找澳大利亚注册公司
- 03查看公司曾用名和注册地变更信息
- 04在限定预算内进行付费查询
MCP 相关
MCP 服务提供 `lookup_australian_company` 工具,查询 ASIC 公司注册数据。成功查询按次收费,并通过 x402 在 Base 主网上以 USDC 支付;启动前须配置总支出上限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @nightshiftbuilds/asic-lookup-mcpSPEND_CAP_USDTotal USD this server may spend from your wallet before it stops. Required: the server refuses to start without it. About 100 lookups per dollar.PRIVATE_KEY密钥Private key of a Base mainnet wallet holding a little USDC. No ETH needed: x402 payments are settled by a facilitator, so the wallet signs off-chain and pays no gas. Use PRIVATE_KEY_FILE instead to keep the key out of your client config.PRIVATE_KEY_FILE密钥Path to a file containing the wallet private key. Preferred over PRIVATE_KEY. Set exactly one of the two.MAX_PRICE_USD_PER_CALLMost this server will pay for a single lookup. Defaults to 0.01, the advertised price. A 402 asking for more than this is refused rather than paid.REQUEST_TIMEOUT_MSHow long to wait for the API, in milliseconds. 1000 to 300000, default 45000.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
asic-lookup-mcp
一个 MCP 服务,可通过 ABN、ACN 或公司名称查询澳大利亚证券和投资委员会(ASIC)公司登记簿中的公司信息,涵盖约 400 万家公司。
它会花你的钱。每次成功查询收费 0.01 美元,费用会自动从你配置的钱包中扣除。没有匹配结果的查询免费,格式错误的查询也免费。 无需账户或 API 密钥:付款凭证即身份凭证,使用 x402 协议,以 USDC 在 Base 主网上付款。
在你设置总支出上限之前,服务不会启动。
安装
无需安装。让 MCP 客户端通过 npx 连接,首次运行时会自动获取。
运行命令为 npx @nightshiftbuilds/asic-lookup-mcp。
你需要一个持有少量 USDC 的 Base 主网钱包。不需要 ETH:x402 exact 付款是由协调器结算的链下 EIP-3009 签名,因此钱包只需签名,无需支付 Gas 费。
Claude Desktop
macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上的 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"asic-lookup": {
"command": "npx",
"args": ["-y", "@nightshiftbuilds/asic-lookup-mcp"],
"env": {
"SPEND_CAP_USD": "1.00",
"PRIVATE_KEY_FILE": "/Users/you/.config/asic-lookup/key"
}
}
}
}
Cursor
项目中的 .cursor/mcp.json,或全局配置文件 ~/.cursor/mcp.json:
{
"mcpServers": {
"asic-lookup": {
"command": "npx",
"args": ["-y", "@nightshiftbuilds/asic-lookup-mcp"],
"env": {
"SPEND_CAP_USD": "1.00",
"PRIVATE_KEY_FILE": "/Users/you/.config/asic-lookup/key"
}
}
}
}
Claude Code
claude mcp add asic-lookup \
--env SPEND_CAP_USD=1.00 \
--env PRIVATE_KEY_FILE=$HOME/.config/asic-lookup/key \
-- npx -y @nightshiftbuilds/asic-lookup-mcp
密钥文件
建议使用 PRIVATE_KEY_FILE,而不是 PRIVATE_KEY,因为客户端配置文件并不适合存放钱包密钥——配置文件可能会被同步、备份,也可能出现在共享的屏幕截图中。
mkdir -p ~/.config/asic-lookup
printf '0x%s' "$YOUR_KEY_WITHOUT_0X" > ~/.config/asic-lookup/key
chmod 600 ~/.config/asic-lookup/key
配置
| 变量 | 必需 | 默认值 | 作用 |
|---|---|---|---|
SPEND_CAP_USD | 是 | 无 | 此服务在拒绝所有后续查询前可以支出的美元总额。每美元大约可查询 100 次。此项特意不设默认值。 |
PRIVATE_KEY_FILE | 二选一 | — | 钱包私钥文件的路径。 |
PRIVATE_KEY | 二选一 | — | 私钥本身,格式为 0x + 64 位十六进制字符。 |
MAX_PRICE_USD_PER_CALL | 否 | 0.01 | 单次查询的最高费用。若 402 错误要求支付更高费用,将拒绝付款。 |
REQUEST_TIMEOUT_MS | 否 | 45000 | 每次网络尝试等待 API 响应的时长。付费重试会有独立的时间预算,不会沿用未付款尝试剩余的时间,因此付费查询的最坏情况大约是此值的两倍。取值范围:1000–300000。 |
EXPECTED_PAY_TO | 否 | 端点公布的收款地址 | 此服务仅会为向此地址转账签名。只有在同时更改 API_BASE_URL 时才更改此项,且务必谨慎。 |
MAX_AUTHORISATION_SECONDS | 否 | 600 | 此服务生成的签名可保持可用的最长时间。若 402 错误要求更长时间,将拒绝付款。取值范围:30–3600。 |
API_BASE_URL | 否 | https://api.nightshiftbuilds.com | 覆盖端点。必须使用 https。 |
支出上限按服务进程单独计算。重启服务会重置上限;如果客户端经常重启服务,请留意这一点。
工具
lookup_australian_company — 请准确提供以下参数中的一个:
| 参数 | 含义 |
|---|---|
abn | 澳大利亚商业编号,11 位数字。空格和连字符会被忽略。 |
acn | 澳大利亚公司编号,9 位数字。空格和连字符会被忽略。 |
name | 公司名称,按前缀匹配,不区分大小写。 |
limit | 名称搜索的结果数量上限,1–25。不会改变价格。 |
这些参数是识别单家公司的不同方式,不能组合用作筛选条件;传入两个参数会报错,而不是缩小搜索范围。
每条匹配结果会返回:注册名称、ACN 或 ARBN、ABN、注册状态、实体类型和类别、注册和注销日期、以前的注册州、州注册编号以及曾用名。此外还会返回查询费用、Base 结算交易哈希,以及你当前的累计支出和支出上限。
不包含的内容
由于底层数据集不包含以下信息,因此无法查询:
- GST 注册状态、营业地址、州或邮政编码——这些信息在澳大利亚商业注册机构的摘录中,属于另一个数据集
- 董事、高管或股东
- 商号、财务数据
- 未注册公司的独资经营者或合伙企业的任何信息
此外,这只是每周快照,而非官方登记册。对于任何具有法律意义的事项,请以 ASIC Connect 为准。
资金如何运作
每次查询都会发送一个 HTTP 请求,收到的响应为 402 Payment Required,其中包含价格、收款方和令牌。服务端会针对该金额签署 EIP-3009 授权并重试。支付中介会在 Base 上结算,然后返回答案及交易哈希。
签名密钥受五项独立限制:
- 仅限 Base 主网。 其他链均未注册任何方案客户端,因此若
402指定了其他链,就没有任何东西可以为其签名。 - 仅限 USDC、仅限
exact方案、仅限 EIP-3009 转账,且金额不得超过MAX_PRICE_USD_PER_CALL——此限制会根据端点实际请求的金额检查,而不是根据上次请求的金额检查。402可以随意要求任意金额;签名中的金额才是实际从钱包中支出的金额,因此检查的就是这个金额。如果402试图将签名引导到 Permit2 或托管流程,则会被拒绝,而不会签名。 - 仅限
EXPECTED_PAY_TO。 收款方会被固定,而不只是检查地址格式是否有效,因此即使端点遭到劫持,也无法在限额内将付款转给自己。 - 仅限
MAX_AUTHORISATION_SECONDS。 签名在其validBefore时间之前均可用于支出,而402会指定该时间。如果不加限制,402可以获取有效期长达数个世纪的授权;在此处,任何超过十分钟的请求都会被拒绝。 - 总额不得超过
SPEND_CAP_USD,按签名而非结算金额计数。 预留会在发送请求前扣除,因此并发查询不会合计超出限额。
关于记账。 从钱包中发出的是签名,而非结算,因此限额按签名计数。404 不会产生费用——但已签署的授权仍在收款方手中,仍可用于结算,因此该金额会继续计入限额,直到 validBefore 时间过去;支出明细也会说明这一点。即使有一万次“免费”未命中,也无法发出超过限额的有效授权。凡是在签名生成之后才结束的请求——超时、正文丢失、409、结果未知的 503——都会计费,不会释放额度,因为签名一旦落入他人手中,就不等于退款。发生这类情况后,在授权过期前,相同查询会被拒绝:重试会生成第二个签名。
不会从你的机器广播任何内容,密钥也绝不会被记录、包含在工具结果中或出现在错误消息里。
数据许可和署名
此服务返回的数据包含来自 data.gov.au 的 ASIC 公司注册数据,© 澳大利亚证券与投资委员会,依据 CC BY 3.0 AU 授权。
此署名是许可条件,而非装饰。每个工具结果中都会附带署名,使其与数据一同传播。重新分发所获取的数据时,请保留署名。
完整数据集可从 data.gov.au 免费下载。这是查询服务,而非获取数据集的途径,也无法通过此服务以更低成本批量获取数据集。
开发
npm install
npm test # 139 tests: no wallet needed, no money spent
npm run build
该测试套件使用从线上端点记录的质询来模拟 402 握手,并断言实际签名的内容——金额、收款方、代币、链、授权有效期,以及签名是否能恢复为配置的钱包。两种线上协议版本都经过端到端测试。账目测试使用会实际签名的 fetch 运行,因此可以区分“没有扣款”和“没有签名”;每项支出安全修复都有对应测试,若撤销修复,测试就会失败。有一项测试会向真实 API 发出未付款请求,以读取其公布的价格;按设计,这项操作免费。离线运行时,设置 SKIP_LIVE_TESTS=1 可跳过该测试。
链接
- API:https://api.nightshiftbuilds.com(OpenAPI、Agent 导览、条款)
- 面向同一 API、可直接运行的 Python 和 TypeScript 客户端:asic-lookup-api-docs
- x402:https://x402.org
采用 MIT 许可证。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。