Asic Lookup

io.github.keitaemsden-lab由 GitHub 帳號 keitaemsden-lab 發布v0.1.0更新於 Oct 24, 2026

Look up any Australian company by ABN, ACN or name. USD 0.01 per lookup, paid in USDC via x402.

已驗證STDIO僅桌面金融商業與電商

概覽

AI 產生的概覽

依 ABN、ACN 或公司名稱查詢澳洲 ASIC 公司登記資料庫,每次成功查詢從你設定的錢包以 USDC 支付 0.01 美元。

可以做什麼
依 ABN、ACN 或名稱前綴查詢公司,名稱搜尋可限制回傳筆數,回傳登記名稱、ACN 或 ARBN、ABN、登記狀態、實體類型與類別、登記與註銷日期、原登記州、州登記編號及曾用名。每次結果也會回報查詢費用、Base 結算交易雜湊,以及相對於支出上限的累計金額。
適用情境
適合助理需要澳洲公司基本登記資訊(身分、狀態、實體類型、日期、曾用名)用於盡職調查、客戶審查或研究,且你願意用加密錢包按次支付小額費用的情境。
執行需求
透過 npx 在本機執行,需要 Node.js。需要一個持有 USDC 的 Base 主網錢包,以 PRIVATE_KEY_FILE(建議)或 PRIVATE_KEY 提供,並必須設定 SPEND_CAP_USD。選用設定包括 MAX_PRICE_USD_PER_CALL、REQUEST_TIMEOUT_MS、EXPECTED_PAY_TO、MAX_AUTHORISATION_SECONDS 與 API_BASE_URL。不需帳號或 API 金鑰,但需要能連線查詢端點的網路。
安裝前請注意
會花真錢:每次成功查詢花費 0.01 美元 USDC,由錢包自動簽章支付。錢包私鑰屬機密,應放在受保護的金鑰檔案,而非會被同步的用戶端設定檔。支出上限以行程計算,重新啟動即重設。簽章後失敗的查詢仍會計費,且同一查詢在授權到期前會被拒絕。資料為每週快照,並非官方登記資料庫。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Asic Lookup,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

asic-lookup-mcp

An MCP server that looks up Australian companies by ABN, ACN or company name against the ASIC Company Register — about 4 million companies.

It spends your money. USD 0.01 per successful lookup, paid automatically from a wallet you configure. A lookup that matches nothing is free, and so is a malformed one. There is no account and no API key: the payment is the credential, under the x402 protocol, in USDC on Base mainnet.

The server will not start until you have told it a total spend cap.

Install

Nothing to install. Point your MCP client at it with npx and it fetches on first run.

npx @nightshiftbuilds/asic-lookup-mcp is how it runs.

You need a Base mainnet wallet holding a little USDC. You do not need ETH: x402 exact payments are an off-chain EIP-3009 signature settled by a facilitator, so your wallet signs and pays no gas.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows:

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 in a project, or ~/.cursor/mcp.json globally:

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

bash
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

The key file

PRIVATE_KEY_FILE is preferred over PRIVATE_KEY because a client config file is not a good home for a wallet key — it gets synced, backed up and shared in screenshots.

bash
mkdir -p ~/.config/asic-lookupprintf '0x%s' "$YOUR_KEY_WITHOUT_0X" > ~/.config/asic-lookup/keychmod 600 ~/.config/asic-lookup/key

Configuration

VariableRequiredDefaultWhat it does
SPEND_CAP_USDyesnoneTotal USD this server may spend before it refuses every further lookup. Roughly 100 lookups per dollar. There is deliberately no default.
PRIVATE_KEY_FILEone of these two—Path to a file containing the wallet's private key.
PRIVATE_KEYone of these two—The key itself, 0x + 64 hex characters.
MAX_PRICE_USD_PER_CALLno0.01The most one lookup may cost. A 402 asking for more is refused, not paid.
REQUEST_TIMEOUT_MSno45000How long to wait for the API, per network attempt. The paid retry gets its own budget rather than the leftovers of the unpaid one, so a paid lookup's worst case is roughly twice this. 1000–300000.
EXPECTED_PAY_TOnothe endpoint's published payeeThe only address this server will sign a transfer to. Change it only with API_BASE_URL, and only deliberately.
MAX_AUTHORISATION_SECONDSno600The longest a signature this server produces may stay spendable. A 402 asking for more is refused. 30–3600.
API_BASE_URLnohttps://api.nightshiftbuilds.comOverride the endpoint. Must be https.

The cap is counted per server process. Restarting the server resets it, which is worth knowing if your client restarts servers often.

The tool

lookup_australian_company — give exactly one of:

ArgumentMeaning
abnAustralian Business Number, 11 digits. Spaces and hyphens are ignored.
acnAustralian Company Number, 9 digits. Spaces and hyphens are ignored.
nameCompany name, matched as a prefix, case insensitive.
limitMaximum results for a name search, 1–25. Does not change the price.

They are alternative ways to identify one company, not filters that combine, so passing two is an error rather than a narrower search.

Returns, per match: registered name, ACN or ARBN, ABN, registration status, entity type and class, registration and deregistration dates, previous state of registration, state registration number, and former names. Plus what the lookup cost, the Base settlement transaction hash, and your running total against the cap.

What it does not have

Asking for these will not work, because the underlying dataset does not contain them:

  • GST registration status, business address, state or postcode — those live in the Australian Business Register extract, a different dataset
  • directors, officeholders or shareholders
  • trading names, financial data
  • anything about a sole trader or partnership that is not a registered company

It is also a weekly snapshot, not the official register. ASIC Connect is authoritative for anything that matters legally.

How the money works

Every lookup is one HTTP request that comes back 402 Payment Required with a price, a payee and a token. The server signs an EIP-3009 authorisation for exactly that amount and retries. A facilitator settles it on Base and the answer comes back with the transaction hash.

Five separate limits sit in front of your signing key:

  1. Only Base mainnet. No scheme client is registered for any other chain, so a 402 naming one has nothing that could sign it.
  2. Only USDC, only the exact scheme, only an EIP-3009 transfer, and only up to MAX_PRICE_USD_PER_CALL — checked against what the endpoint actually asked for, not against what it asked for last time. A 402 is free to demand any number it likes; the number inside the signature is the one that leaves your wallet, so that is the number that gets checked. A 402 that tries to steer the signature onto Permit2 or an escrow flow is refused rather than signed.
  3. Only EXPECTED_PAY_TO. The payee is pinned, not merely checked for being a well-formed address, so a hijacked endpoint cannot redirect your payments to itself within the ceiling.
  4. Only for MAX_AUTHORISATION_SECONDS. A signature is spendable until its validBefore, and the 402 names that. Unbounded, a 402 can obtain an authorisation valid for centuries; here anything over ten minutes is refused.
  5. SPEND_CAP_USD in total, counted against signatures rather than settlements. The reservation is taken before the request is sent, so concurrent lookups cannot collectively overrun it.

On the accounting. What leaves a wallet is a signature, not a settlement, so that is what the cap counts. A 404 costs nothing — but the authorisation it signed is still in the payee's hands and still settleable, so the amount stays held against the cap until its validBefore passes, and the spend line says so. Ten thousand "free" misses cannot hand out more live authorisations than your cap. Anything that ends after a signature exists — a timeout, a dropped body, a 409, a 503 of unknown outcome — is charged, not released, because a signature in someone else's hands is not a refund. After one of those, the identical query is refused until the authorisation expires: retrying it would sign a second one.

Nothing is broadcast from your machine, and the key is never logged, never returned in a tool result and never included in an error message.

Data licence and attribution

The data this server returns contains ASIC Company Register data sourced from data.gov.au, © Australian Securities and Investments Commission, licensed under CC BY 3.0 AU.

That attribution is a condition of the licence, not decoration. It ships in every tool result so it travels with the data. Keep it if you redistribute what you get back.

The full dataset is free to download from data.gov.au. This is a lookup service, not a way to obtain the dataset, and there is no cheaper path to a bulk copy through it.

Development

bash
npm installnpm test          # 139 tests: no wallet needed, no money spentnpm run build

The suite mocks the 402 handshake with a challenge recorded from the live endpoint and asserts what actually gets signed — the amount, the payee, the token, the chain, the authorisation lifetime, and that the signature recovers to the configured wallet. Both wire versions are exercised end to end. The accounting tests run against a fetch that really signs, so they can tell "nothing was charged" from "nothing was signed"; every spend-safety fix has a test that fails when the fix is reverted. One test hits the real API unpaid to read its published price, which is free by design; set SKIP_LIVE_TESTS=1 to skip it offline.

Links

MIT licensed. See LICENSE.

來源:README.md,提交 dad14cc

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

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

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。