mcpField
A
asic-lookup

asic-lookup

ローカル
github.com/keitaemsden-labビジネス・マーケティング06 日前に更新

asic-lookup について

asic-lookup は、ABN、ACN、会社名でオーストラリアの ASIC 会社登録情報を検索する MCP サーバーです。成功した検索は1件あたり0.01米ドルで、x402 を介して Base の USDC で自動決済され、起動時に総支出上限の設定が必要です。

主な機能

  1. 01ABN、ACN、会社名で検索
  2. 02登録状況と会社情報を取得
  3. 03会社名の前方一致と件数指定
  4. 04x402 経由で USDC 決済
  5. 05総額と1回あたりの上限設定

活用シーン

  1. 01会社の登録状況や日付を確認する
  2. 02社名からオーストラリアの登録会社を探す
  3. 03旧社名や登録州の変更を確認する
  4. 04支出上限内で有料検索を行う

MCP 対応

MCP サーバーは ASIC 会社登録データを検索する `lookup_australian_company` ツールを提供します。検索成功ごとに 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

ASIC Company Register(約400万社)を検索し、ABN、ACN、または会社名からオーストラリアの企業を検索する MCP サーバーです。

費用が発生します。検索が成功するごとに 0.01 USD が、設定したウォレットから自動で支払われます。一致する結果がない検索は無料で、不正な形式の検索も無料です。 アカウントも API キーも不要です。x402 プロトコルに基づき、Base メインネット上の USDC で支払います。

合計支出上限を設定するまで、サーバーは起動しません。

インストール

インストールは不要です。MCP クライアントから npx で指定すると、初回実行時に取得されます。

npx @nightshiftbuilds/asic-lookup-mcp で実行します。

少額の USDC を保有する Base メインネットウォレットが必要です。ETH は不要です。x402 の exact 支払いは、ファシリテーターによって決済されるオフチェーンの EIP-3009 署名です。そのため、ウォレットで署名するだけで、ガス代を支払う必要はありません。

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 より PRIVATE_KEY_FILE を推奨します。

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はいなしこれを超えると、それ以降のすべての検索を拒否するサーバーの合計支出額(USD)です。1ドルあたり約100回検索できます。意図的にデフォルト値は設定されていません。
PRIVATE_KEY_FILE次の2つのいずれか—ウォレットの秘密鍵を含むファイルへのパスです。
PRIVATE_KEY次の2つのいずれか—秘密鍵そのものです。0x と64桁の16進数で指定します。
MAX_PRICE_USD_PER_CALLいいえ0.011回の検索にかかる費用の上限です。これを超える金額を要求する 402 は、支払わずに拒否されます。
REQUEST_TIMEOUT_MSいいえ45000API への応答を待つ時間です。ネットワーク試行ごとに適用されます。有料リトライには、未払いの試行で残った時間ではなく、独自の時間枠が割り当てられます。そのため、有料検索にかかる最悪の時間は、この値のおよそ2倍です。指定範囲は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 — 次の引数から1つだけ指定します。

引数意味
abnオーストラリア事業者番号(ABN)、11桁です。空白とハイフンは無視されます。
acnオーストラリア会社番号(ACN)、9桁です。空白とハイフンは無視されます。
name会社名です。大文字と小文字を区別せず、前方一致で検索します。
limit会社名検索で返す結果の最大数です。1~25を指定します。価格には影響しません。

これらは1社を特定するための代替手段であり、組み合わせる検索フィルターではありません。そのため、2つ指定すると検索範囲が狭まるのではなく、エラーになります。

一致した各結果について、登記名、ACN または ARBN、ABN、登録状況、事業体の種類とクラス、登録日と抹消日、以前の登録州、州の登録番号、旧社名が返されます。加えて、検索費用、Base の決済トランザクションハッシュ、上限に対する現在の累計額も返されます。

含まれない情報

基となるデータセットには次の情報が含まれていないため、これらを問い合わせても取得できません。

  • GST 登録状況、事業所住所、州、郵便番号 — これらは別のデータセットである Australian Business Register の抽出データに含まれています
  • 取締役、役員、株主
  • 商号、財務データ
  • 登録会社ではない個人事業主やパートナーシップに関する情報

また、これは公式登録簿ではなく、週次スナップショットです。法律上重要な情報については、ASIC Connect が正式な情報源です。

支払いの仕組み

各検索は 1 件の HTTP リクエストで、価格、受取人、トークンを含む 402 Payment Required が返されます。サーバーはその金額ちょうどの EIP-3009 承認を署名し、再試行します。ファシリテーターが Base 上で決済し、回答にはトランザクションハッシュが付いて返されます。

署名キーには、5 つの個別の制限が適用されます。

  1. Base メインネットのみ。 ほかのチェーン用のスキームクライアントは登録されていないため、ほかのチェーンを指定する 402 に署名できるものはありません。
  2. USDC のみ、exact スキームのみ、EIP-3009 転送のみ、かつ MAX_PRICE_USD_PER_CALL 以下のみ — 前回要求された金額ではなく、エンドポイントが実際に要求した金額に対して確認されます。402 はどんな金額でも要求できますが、ウォレットから引き出されるのは署名内の金額なので、確認対象となるのもその金額です。署名を Permit2 やエスクローのフローに誘導しようとする 402 は、署名せずに拒否されます。
  3. EXPECTED_PAY_TO のみ。 受取人は、有効な形式のアドレスであることを確認するだけでなく、固定されています。そのため、エンドポイントが乗っ取られても、上限の範囲内で支払いを自身に転送することはできません。
  4. MAX_AUTHORISATION_SECONDS の期間のみ。 署名は validBefore まで使用可能で、その値は 402 で指定されます。制限がなければ、402 は何世紀も有効な承認を取得できますが、ここでは 10 分を超えるものは拒否されます。
  5. 合計で SPEND_CAP_USD まで。決済ではなく署名を基準に計上します。 リクエストを送る前に予約されるため、複数の検索を同時に実行しても、合計で上限を超えることはありません。

会計処理について。 ウォレットから出ていくのは決済ではなく署名であるため、上限の計算基準も署名です。404 は費用がかかりませんが、署名済みの承認は受取人の手元に残り、引き続き決済可能です。そのため、validBefore を過ぎるまでは金額が上限に対して保留され、支出明細にもその旨が表示されます。1 万件の「無料」検索失敗があっても、上限を超える数の有効な承認を発行することはできません。署名の生成後に発生したあらゆる事象 — タイムアウト、本文の破棄、409、結果が不明な 503 — は、解放されず課金対象になります。他者の手元にある署名は返金ではないためです。こうした事象が発生した後は、承認の期限が切れるまで同一のクエリは拒否されます。再試行すると、2 つ目の署名が生成されるためです。

お使いのマシンから何もブロードキャストされることはなく、キーがログに記録されたり、ツールの結果で返されたり、エラーメッセージに含まれたりすることもありません。

データライセンスと帰属表示

このサーバーが返すデータには、data.gov.au から取得した **ASIC Company Register データ(© Australian Securities and Investments Commission、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を使うため、「請求されなかった」場合と「署名されなかった」場合を区別できます。支出の安全性に関する修正にはすべて、その修正を元に戻すと失敗するテストがあります。テストの1つでは、公開価格を確認するために実際のAPIに未払いでアクセスします。これは仕様上無料です。オフラインでスキップするには、SKIP_LIVE_TESTS=1を設定してください。

リンク

MITライセンスです。LICENSEを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。