mcpField
A
asic-lookup

asic-lookup

本地服务
github.com/keitaemsden-lab商业与营销06 天前更新

关于 asic-lookup

asic-lookup 是查询澳大利亚 ASIC 公司注册信息的 MCP 服务,面向需要按 ABN、ACN 或公司名称查找注册公司的用户。每次成功查询收费 0.01 美元,以 Base 主网上的 USDC 通过 x402 自动支付,并要求设置总支出上限。

主要功能

  1. 01按 ABN、ACN 或名称查询公司
  2. 02返回注册状态及公司信息
  3. 03按名称前缀匹配并限制结果数
  4. 04通过 x402 以 USDC 支付
  5. 05设置总支出上限及单次限额

适用场景

  1. 01核对公司的注册状态和注册日期
  2. 02按名称查找澳大利亚注册公司
  3. 03查看公司曾用名和注册地变更信息
  4. 04在限定预算内进行付费查询

MCP 相关

MCP 服务提供 `lookup_australian_company` 工具,查询 ASIC 公司注册数据。成功查询按次收费,并通过 x402 在 Base 主网上以 USDC 支付;启动前须配置总支出上限。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"keitaemsden-lab-asic-lookup": {
"command": "npx",
"args": [
"-y",
"@nightshiftbuilds/asic-lookup-mcp"
],
"env": {
"SPEND_CAP_USD": "<SPEND_CAP_USD>",
"PRIVATE_KEY": "<PRIVATE_KEY>",
"PRIVATE_KEY_FILE": "<PRIVATE_KEY_FILE>",
"MAX_PRICE_USD_PER_CALL": "<MAX_PRICE_USD_PER_CALL>",
"REQUEST_TIMEOUT_MS": "<REQUEST_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y @nightshiftbuilds/asic-lookup-mcp
需要配置的环境变量
SPEND_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@nightshiftbuilds/asic-lookup-mcp0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 上结算,然后返回答案及交易哈希。

签名密钥受五项独立限制:

  1. 仅限 Base 主网。 其他链均未注册任何方案客户端,因此若 402 指定了其他链,就没有任何东西可以为其签名。
  2. 仅限 USDC、仅限 exact 方案、仅限 EIP-3009 转账,且金额不得超过 MAX_PRICE_USD_PER_CALL——此限制会根据端点实际请求的金额检查,而不是根据上次请求的金额检查。402 可以随意要求任意金额;签名中的金额才是实际从钱包中支出的金额,因此检查的就是这个金额。如果 402 试图将签名引导到 Permit2 或托管流程,则会被拒绝,而不会签名。
  3. 仅限 EXPECTED_PAY_TO。 收款方会被固定,而不只是检查地址格式是否有效,因此即使端点遭到劫持,也无法在限额内将付款转给自己。
  4. 仅限 MAX_AUTHORISATION_SECONDS。 签名在其 validBefore 时间之前均可用于支出,而 402 会指定该时间。如果不加限制,402 可以获取有效期长达数个世纪的授权;在此处,任何超过十分钟的请求都会被拒绝。
  5. 总额不得超过 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 可跳过该测试。

链接

采用 MIT 许可证。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。