mcpField
A
alchemy-cli

alchemy-cli

github.com/alchemyplatformデータ・データベース52771 回インストール9 週間前に更新
リポジトリ

alchemy-cli について

alchemy-cliは、EVM、Solana、クロスチェーン操作のコマンドを備え、JSON形式で出力する、ブロックチェーン作業とローカル自動化向けのCLIです。エージェントによるオンチェーン照会、管理、トランザクション署名を想定し、本番アプリケーションコードへの利用は推奨されていません。

主な機能

  1. 01EVMとSolanaのオンチェーンデータ照会
  2. 02トークン・NFT・ポートフォリオ情報の取得
  3. 03トランザクションのシミュレーションと署名操作
  4. 04クロスチェーンブリッジ操作
  5. 05JSON出力と認証管理

活用シーン

  1. 01残高・トランザクション・ブロックの照会
  2. 02トークンやNFTの保有状況の確認
  3. 03オンチェーントランザクションのシミュレーションと送信
  4. 04ターミナルからのブロックチェーン管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alchemyplatform/skills --skill alchemy-cli

インストール後、Claude Code で/alchemy-cliを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlLICENSE.txt

詳細

Alchemy CLI

Alchemy CLI(@alchemy/cli)を使用して、ターミナルからブロックチェーンのライブクエリ、管理作業、トランザクションの署名、ローカルの自動化を行います。CLI では、チェーン(evm、solana、xchain)ごと、製品領域(wallet、app、webhook、auth、config)ごとにコマンドが分類されており、各コマンドは構造化された JSON を出力します。

このスキルを使う場面

次のすべてに該当する場合は、alchemy-cli を使用してください。

  • ユーザーがエージェントによるライブ作業(このセッションでエージェントが今すぐ実行するライブクエリ、分析、管理作業、ローカルの自動化)を求めている
  • @alchemy/cli がローカルにインストールされている、または CLI と MCP サーバーの両方が利用可能、またはどちらも利用できない(その場合は CLI をインストールしてください。インストールを参照)

CLI は、エージェントによるライブ作業でのローカルフォールバック実行環境として推奨されます。CLI と MCP のどちらを使うか迷った場合は、CLI を優先してください。

別のスキルを使う場面

状況代わりに使うスキル
MCP がすでにクライアントに接続されており、CLI がローカルにインストールされていないalchemy-mcp
Alchemy API キーを使って、このエージェントセッションの外部で実行されるアプリケーションコードを構築するalchemy-api
API キーなしでアプリケーションコードを構築する場合、自己の費用を賄う必要がある自律型エージェントを構築する場合、または x402/MPP を明示的に希望する場合agentic-gateway

このスキルを使って、本番アプリケーションコードを作成しないでください。CLI コマンドはエージェントによるライブ作業用であり、リリースするソフトウェアへの組み込み用ではありません。

インストール

npm i -g @alchemy/cli

CLI がインストールされておらず、ユーザーがエージェントによるライブ作業を求めている場合は、インストールしてください。生の curl/HTTP 呼び出しにはフォールバックしないでください。それらは alchemy-api が対象とする API キーの使用経路です。

初期設定

セッションの開始時にこれを実行し、すべてのコマンド、フラグ、認証方法、エラーコード、使用例を含む完全なコマンド仕様を取得します。

alchemy --json --no-interactive agent-prompt

ウォレットを対象とするエージェント作業では、ウォレット、EVM、Solana、クロスチェーンのコマンドとセッション署名者の機能セットのみを記載した、より限定的な仕様を使用してください。

alchemy --json --no-interactive agent-prompt --scope wallet

CLI がまだインストールされていない場合でも、同じ仕様が必要であれば、認証不要の npx 版を使用できます。

npx -y @alchemy/cli@latest --json --no-interactive agent-prompt --scope wallet

実行ルール

  • すべてのコマンドで必ず --json --no-interactive を指定してください
  • 終了コードが 0 の場合は、stdout を JSON として解析してください
  • 終了コードが 0 以外の場合は、stderr を JSON として解析してください
  • --json --no-interactive を指定せずに alchemy 単体を実行しないでください
  • タスクに対応する alchemy CLI コマンドがある場合は、curl や生の HTTP を決して使わないでください。それはこのスキルではなく、alchemy-api(API キー)を使う経路です
  • 本番アプリケーションコードの生成に CLI を決して使わないでください。リリースするコードについては alchemy-api または agentic-gateway に引き継いでください
  • オンチェーン操作(evm send、evm contract call、evm approve、evm swap、xchain bridge、solana send)では、まず alchemy --json --no-interactive wallet status --verify を実行してセッションが引き続き有効であることを確認し、その後、ブロードキャスト前に --dry-run を使ってください。スポンサーポリシー(--gas-policy-id、--fee-policy-id)は手数料の制御であり、ウォレットの支出上限ではないものとして扱ってください。

事前確認

最初のコマンドを実行する前に、次の両方のチェックを実行してください。

alchemy --json --no-interactive doctor
alchemy --json --no-interactive evm gas

doctor(別名:alchemy config status)は、設定済みの項目と、修正手順の一覧である nextCommands を報告します。最上位の OK 表示だけを根拠にしないでください。セッションが設定済みと報告されているにもかかわらず、認証トークンから API キーが生成されていないために、RPC コマンドが AUTH_REQUIRED で失敗する既知の誤検知があります。

evm gas は、この問題を検出するための軽量な RPC スモークテストです。{"gasPrice": "0x...", ...} が返された場合、RPC は正しく接続されています。{"error": {"code": "AUTH_REQUIRED", ...}} が返された場合は、alchemy auth login(API キーを取得して保存します)または alchemy config set api-key <key> を実行し、その後 evm gas を再実行して確認してください。

doctor が設定の不足を報告した場合は、まず nextCommands に従ってから、evm gas を実行して確認してください。

認証の設定

最も手早く認証するには、ブラウザーログインを使用します。

alchemy auth login

ブラウザーから CLI の localhost コールバックにアクセスできないヘッドレス環境(SSH、GitHub Codespaces、CI、サンドボックス)では、OAuth 2.0 デバイス認可グラントフローを強制します。

alchemy auth login --device-code

通常の alchemy auth は、非対話型セッションを自動検出し、デバイスコードモードに切り替えます。@alchemy/cli 0.18.0 以降が必要です。

ブラウザーが開き、OAuth フローが完了すると、API キー(RPC/Data 用)と Admin API へのアクセスの両方が内部で設定されます。別途アクセスキーを設定する手順はなくなりました。alchemy auth login の直後から、管理コマンド(alchemy app ...)を使用できます。

認証状態を確認するには:alchemy auth status ログアウトするには:alchemy auth logout

その他の認証方法
方法設定コマンド環境変数使用先
ブラウザーログインalchemy auth login(ヘッドレス環境では --device-code を追加)--すべてのコマンド(RPC/Data と Admin の両方をカバー)
API キーalchemy config set api-key <key>ALCHEMY_API_KEYRPC/Data コマンド(evm rpc、evm data、evm tx、solana rpc など)
Webhook キーalchemy config set webhook-api-key <key>ALCHEMY_WEBHOOK_API_KEYwebhook
エージェントウォレットセッションalchemy wallet connect --mode session --instance-name <label>(ダッシュボードで承認)--evm send、evm contract call、evm approve、evm swap、xchain bridge、evm status、solana send、solana status、solana delegate
ローカルウォレットalchemy wallet connect --mode local(EVM キーには --import <path>)--セッションと同じウォレット署名が必要なコマンド。--signer local でオーバーライドできます
x402 ゲートウェイ認証(Alchemy API パス)alchemy wallet connect --mode local --chain evm の後に alchemy config set x402 trueALCHEMY_WALLET_KEY--x402 が有効な場合の RPC および Data コマンド。これはウォレット経由の Alchemy API 認証であり、alchemy x402 request とは別のものです(下記参照)。
x402 決済(サードパーティ API)alchemy wallet connect --mode local — x402 決済用に設定された署名者--alchemy x402 request <url>、alchemy x402 balance(RFC 402 に従い、USDC でサードパーティ API に支払います)

alchemy evm network list/alchemy solana network list および alchemy version/update-check には認証は不要です。

デフォルトアプリの選択

多くの app サブコマンドは「デフォルトアプリ」を操作します。エラーレスポンスに APP_REQUIRED が表示された場合は、次の手順でアプリを選択してください。

alchemy --json --no-interactive app select <id>
# or equivalently
alchemy --json --no-interactive config set app <id>

Alchemy アカウントは dashboard.alchemy.com で作成できます。

タスクとコマンドの対応表

EVM — オンチェーン読み取り
タスクコマンド
ネイティブ残高(ETH、MATIC など)alchemy evm data balance <address>
トランザクションの詳細alchemy evm tx <hash>
トランザクションレシートalchemy evm receipt <hash>
ブロックの詳細alchemy evm block <number|latest>
ガス価格alchemy evm gas
イベントログalchemy evm logs --address <addr> --from-block <n> --to-block <n>
生の JSON-RPCalchemy evm rpc <method> [params...]
トレースメソッドalchemy evm trace <method> [params...]
デバッグメソッドalchemy evm debug <method> [params...]
コントラクトの view/pure 呼び出しalchemy evm contract read <address> <function> [--args ...] [--abi-file <path>]
EVM — データ API
タスクコマンド
ERC-20 残高alchemy evm data tokens balances <address>
ERC-20 残高(フォーマット済み)alchemy evm data tokens balances <address> --metadata
トークンのメタデータalchemy evm data tokens metadata <contract>
トークンの使用許可alchemy evm data tokens allowance --owner <addr> --spender <addr> --contract <addr>
所有 NFT の一覧表示alchemy evm data nfts <address> [--limit <n>] [--page-key <key>]
NFT のメタデータalchemy evm data nfts metadata --contract <addr> --token-id <id>
NFT コントラクトのメタデータalchemy evm data nfts contract <address>
アセットの転送履歴alchemy evm data history <address> [--from-block <n>] [--to-block <n>] [--max-count <n>] [--page-key <key>]
シンボルによるスポット価格alchemy evm data price symbol ETH,USDC
アドレスによるスポット価格alchemy evm data price address --addresses '<json>'
過去の価格alchemy evm data price historical --body '<json>'
複数ネットワークにまたがるトークンポートフォリオalchemy evm data portfolio tokens --body '<json>'
アドレス/ネットワークの組み合わせによるトークン残高alchemy evm data portfolio token-balances --body '<json>'
複数ネットワークにまたがる NFT ポートフォリオalchemy evm data portfolio nfts --body '<json>'
アドレス/ネットワークの組み合わせによる NFT コントラクトalchemy evm data portfolio nft-contracts --body '<json>'
EVM — シミュレーション
タスクコマンド
単一 tx をシミュレーション(アセット差分)alchemy evm simulate asset-changes --tx '<json>' [--block-tag <tag>]
単一 tx をシミュレーション(実行トレース)alchemy evm simulate execution --tx '<json>' [--block-tag <tag>]
バンドルをシミュレーション(アセット差分)alchemy evm simulate asset-changes-bundle --txs '<json-array>' [--block-tag <tag>]
バンドルをシミュレーション(実行トレース)alchemy evm simulate execution-bundle --txs '<json-array>' [--block-tag <tag>]
EVM — ウォレット署名トランザクション

ウォレット署名による EVM アクションは、スマートウォレットの コール ID を返します。どちらの値も確認するには、alchemy evm status <call-id-or-tx-hash> を使用します。ガススポンサーシップをリクエストするには、対応するアクションで --gas-sponsored と --gas-policy-id <id> を使用します。デフォルトは alchemy config set evm-gas-sponsored true と alchemy config set evm-gas-policy-id <id> で設定します。

タスクコマンド
ネイティブトークンを送信alchemy evm send <to> <amount> [-n <network>]
ERC-20 を送信alchemy evm send <to> <amount> --token <token-address>
コントラクト関数を実行alchemy evm contract call <address> <function> [--args ...] [--abi-file <path>|--abi '<json>'] [--value <wei>]
ERC-20 の使用許可を承認/取り消し/リセットalchemy evm approve <spender-address> --token-address <addr> [--amount <n>|--unlimited|--revoke]
同一チェーンのスワップ見積もりalchemy evm swap quote --from <token> --to <token> --amount <n>
同一チェーンのスワップを実行alchemy evm swap execute --from <token> --to <token> --amount <n>
コール/tx のステータスを確認alchemy evm status <call-id-or-tx-hash>

スワップにおけるネイティブトークンのアドレス:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE。

ほとんどのウォレット署名による EVM コマンドでは、--signer session|local を指定して、その実行に限りアクティブな署名者を上書きできます。両方の署名者が設定されていて、アクティブな署名者が選択されていない場合、CLI はデフォルトで session を使用し、警告を表示します。

Solana

Solana のトランザクションコマンドでは、ローカルの Solana ウォレット(alchemy wallet connect --mode local --chain solana)を使用します。対応するアクションで --fee-sponsored と --fee-policy-id <id> を指定すると、手数料のスポンサー提供をリクエストできます。alchemy config set solana-fee-sponsored true / alchemy config set solana-fee-policy-id <id> を使用すると、デフォルトとして保存できます。

タスクコマンド
Solana JSON-RPCalchemy solana rpc <method> [params...]
Solana DAS(NFT/アセット)alchemy solana das <method> '<json>'
ネイティブ SOL を送信alchemy solana send <to> <amount> [-n solana-mainnet]
SPL トークンのデリゲートを承認alchemy solana delegate approve --token-account <addr> --mint <addr> --delegate <addr> --amount <n> --decimals <n>
SPL トークンのデリゲートを取り消しalchemy solana delegate revoke --token-account <addr>
Solana トランザクションのステータスを確認alchemy solana status <signature>
プログラムアカウントを一覧表示alchemy solana program accounts <program-id> [--filters '<json>'] [--encoding <enc>] [--limit <n>]
Solana アカウントを表示alchemy solana program account <address>
Solana プログラムのメタデータを表示alchemy solana program show <program-id>
Solana ネットワーク ID を一覧表示alchemy solana network list

alchemy solana swap は将来のサポート用に予約されており、現在は実装されていません。

クロスチェーン

ブリッジは EVM メインネットに対応しています。同一チェーン内でトークンを交換する場合は、alchemy evm swap を使用します。

タスクコマンド
ブリッジの見積もりを取得alchemy xchain bridge quote --from <token> --to <token> --amount <n> --to-network <network>
ブリッジを実行alchemy xchain bridge execute --from <token> --to <token> --amount <n> --to-network <network>

送信元ネットワークは -n, --network で指定します。

ウォレットと署名

ウォレットのセッションは、CLI に紐付いた署名者であり、ユーザーは Agent Wallets ダッシュボードで承認します。エージェントが秘密鍵を参照することはありません。セッションは自動的に期限切れとなり、CLI またはダッシュボードから取り消せます。サーバーから付与されるセッションの署名機能は、evm.signMessage、evm.signTypedData、evm.signAuthorization、evm.prepareCalls、evm.sendCalls、solana.signTransaction です。セッション署名者は EVM トランザクションへの生署名には対応していません。Alchemy のスマートウォレット呼び出しを通じて実行されるアクションコマンド(evm send、evm contract call、evm approve、evm swap、xchain bridge、solana send)を使用してください。

ウォレットの状態を変更するアクションを実行する前に、alchemy --json --no-interactive wallet status --verify を実行してください。これにより、アクティブな署名者、有効期限、チェーン固有のセッションメタデータ、バックエンドのステータス、および有効な署名者機能が返されます。

タスクコマンド
ウォレットを接続(セッション)alchemy wallet connect --mode session --instance-name <label>
ローカル EVM ウォレットを接続(秘密鍵ファイルをインポート)alchemy wallet connect --mode local --chain evm --import <path>
ローカル Solana ウォレットを接続alchemy wallet connect --mode local --chain solana
ウォレットの状態を表示alchemy wallet status [--verify]
設定済みのウォレットアドレスを表示alchemy wallet address
アドレスを QR コードとして表示alchemy wallet qr
EVM トランザクションのアクティブな署名者を選択alchemy wallet use <session|local>
ウォレットを切断/取り消しalchemy wallet disconnect
コマンドごとに署名者を指定--signer session|local を追加
Webhook(通知)
タスクコマンド
Webhook を一覧表示alchemy webhook list
Webhook を作成alchemy webhook create --body '<json>' [--dry-run]
Webhook を更新alchemy webhook update --body '<json>' [--dry-run]
Webhook を削除alchemy webhook delete <id> [--yes] [--dry-run]
アドレスアクティビティ Webhook のアドレスを取得alchemy webhook addresses <id>
NFT アクティビティ Webhook のフィルターを取得alchemy webhook nft-filters <id>
アプリ管理(Admin API)
タスクコマンド
アプリの一覧表示alchemy app list [--cursor <c>] [--limit <n>] [--all] [--search <q>] [--id <appId>]
アプリの詳細を取得alchemy app get <id>
アプリを作成alchemy app create --name "My App" --networks eth-mainnet [--description <desc>] [--products <ids>] [--dry-run]
アプリのメタデータを更新alchemy app update <id> --name "New Name" [--description <desc>] [--dry-run]
アプリのネットワーク許可リストを更新alchemy app networks <id> --networks eth-mainnet,base-mainnet [--dry-run]
アプリのアドレス許可リストを更新alchemy app address-allowlist <id> --addresses 0xAA,0xBB [--dry-run]
アプリのオリジン許可リストを更新alchemy app origin-allowlist <id> --origins https://a.com,https://b.com [--dry-run]
アプリの IP 許可リストを更新alchemy app ip-allowlist <id> --ips 1.2.3.4,5.6.7.8 [--dry-run]
アプリを削除alchemy app delete <id> [--yes] [--dry-run]
デフォルトアプリを選択alchemy app select <id>(alchemy config set app <id> と同等)
アプリに設定されたネットワークを一覧表示alchemy app configured-networks [--app-id <id>]
Admin API のチェーン識別子を一覧表示(app create/update 用)alchemy app chains
EVM RPC ネットワークスラッグを一覧表示(--network 用)alchemy evm network list [--mainnet-only] [--testnet-only] [--search <term>]

CLI の app コマンドと usage コマンドは、Alchemy の公開 Admin API(api.g.alchemy.com/admin-api/v1/...)を薄くラップしたものです。Apps エンドポイントと Chains エンドポイントは公開されており、セルフサービスで利用できます。Usage エンドポイントも、アプリ単位のクエリであればセルフサービスで利用できます。REST API の概要、認証方式(x-alchemy-token ベアラーまたは CLI のブラウザーセッション)、エンドポイント一覧については、references/operational-admin-api.md を参照してください。

使用量と従量課金
タスクコマンド
指定期間の使用量の概要alchemy usage summary --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> [--app-ids <ids>] [--networks <slugs>] [--metrics amount,usd]
指定期間の使用量の時系列データalchemy usage timeseries --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> [--granularity minute|hour|day|month] [--products <ids>] [--metrics amount] [--app-ids <ids>] [--networks <slugs>] [--methods <names>] [--request-types <types>] [--group-by <field>]
時系列データ(別名)alchemy usage time-series ...

時系列クエリの期間制限(2026-07-02 時点):

  • Free プラン:最大 7 日間遡れます。
  • Pay-as-you-go:最大 30 日間遡れます。
  • さらに長い期間:営業担当者にお問い合わせください。

要求された期間がプランの上限を超えても、CLI はエラーを返しません。許可される期間を返し、要求された期間と実際に返された期間の両方をレスポンスに示すため、期間が切り詰められたことを確認できます。

--metrics の仕様はエンドポイントによって異なります。

  • alchemy usage timeseries が受け付けるのは amount のみです。時系列レスポンスでは usd メトリクスは有効ではありません(API 側の変更により 2026-08-13 に削除)。--metrics amount を渡すか、フラグを省略してください。
  • alchemy usage summary は概要レスポンスで amount と usd の両方を受け付けます(カンマ区切り)。

認証:alchemy app と同じブラウザーセッションを使用します(Admin API アクセス)。

x402 決済(サードパーティ API)

alchemy x402 request と alchemy x402 balance は、RFC 402 に従って USDC でサードパーティ API の料金を支払います。これは --x402 / alchemy config set x402 true(Alche​my 独自のゲートウェイで Alchemy API の認証を処理するもの)とは別の機能です。@alchemy/cli 0.22.0 以降が必要です。

タスクコマンド
x402 決済によるリクエストを実行alchemy x402 request <url> [--dry-run] [--estimate] [--max-payment <usdc>] [--yes]
現在の x402 ウォレット残高を表示alchemy x402 balance
  • 非対話モードでは --max-payment <usdc> を指定してください。指定しない場合、CLI は 9 で終了します(上限の指定がない非対話モード)。
  • --yes と --max-payment を指定せずに組み合わせると、2 で終了します(上限のない yes)。
  • サードパーティサーバーに応じて、Circle Gateway のバッチ化されたナノ決済または直接的な EIP-3009 決済を使用します。
  • 実際に動作するエンドポイントの例:https://nano.blockrun.ai(最初のアクセスでは HTTP 402 を返し、その後、クライアントが署名した決済の完了後に処理を完了します)。
CLI 管理およびユーティリティ
タスクコマンド
CLI の更新を確認alchemy update-check
設定を表示alchemy config list
設定をリセットalchemy config reset --yes
CLI のバージョンalchemy version
クライアントに MCP / スキルをインストールalchemy install mcp / alchemy install skills
シェル補完alchemy completions <bash|zsh|fish>

グローバルフラグ

フラグ説明
--jsonJSON 出力を強制します(パイプ接続時は自動で有効になります)
--no-interactiveプロンプトと REPL を無効にします
-n, --network <network>対象ネットワーク(デフォルト:eth-mainnet、環境変数:ALCHEMY_NETWORK)
--api-key <key>コマンドごとに API キーを上書きします(環境変数:ALCHEMY_API_KEY)
--x402このコマンドで x402 のウォレットベースのゲートウェイ認証を使用します
--wallet-key-file <path>EVM ウォレットの秘密鍵ファイルのパス(x402 用)
--solana-wallet-key-file <path>Solana ウォレットの鍵ファイルのパス
--timeout <ms>リクエストのタイムアウト(ミリ秒)
-q, --quiet必須ではない出力を抑制します
--verboseリクエストとレスポンスの詳細を stderr に記録します
--debugデバッグ診断を有効にします
--no-color色付き出力を無効にします
--revealシークレットをプレーンテキストで表示します(慎重に使用してください。明示的な表示操作を想定しています)

エラー処理

エラーは stderr に構造化 JSON として出力されます。各エラーには code、exitCode(1~9)、retryable の真偽値、および recovery ヒントが含まれます。主なコード(agent-prompt から):

コード終了コード再試行可能復旧方法
AUTH_REQUIRED3いいえalchemy auth login を実行するか、ALCHEMY_API_KEY / alchemy config set api-key <key> を設定します
INVALID_API_KEY3いいえAPI キーを確認し、alchemy config set api-key <key> で有効なキーを設定します
APP_REQUIRED3いいえデフォルトのアプリを選択します:alchemy app select <id>(または alchemy config set app <id>)
NETWORK_NOT_ENABLED3いいえdashboard.alchemy.com でアプリの対象ネットワークを有効にします
SETUP_REQUIRED3いいえalchemy --json doctor を実行し、nextCommands に従います
PAYMENT_REQUIRED9いいえx402 ウォレットに資金を入れるか、API キー認証に切り替えます
RATE_LIMITED5はい待ってからバックオフして再試行します。プランのアップグレードも検討してください
NETWORK_ERROR6はい接続を確認して再試行します
RPC_ERROR7いいえメソッド、パラメーター、ネットワークを確認し、API キーにアクセス権があることを確認します
ADMIN_API_ERROR8いいえエラーメッセージを確認します。管理コマンドには認証済みのブラウザーセッションが必要です
NOT_FOUND4いいえリソース識別子(アドレス、ハッシュ、ID)が正しいことを確認します
INVALID_ARGS2いいえalchemy --json help <command> でコマンドの使い方を確認します
INTERNAL_ERROR1いいえ予期しないエラーです。再試行するか、バグを報告してください

alchemy --json --no-interactive agent-prompt を実行すると、いつでも正式な全コード一覧を取得できます。

他のスキルへの引き継ぎ

ユーザーの希望引き継ぎ先
本番環境にデプロイするアプリケーションコードに、API キーを使って Alchemy を組み込むalchemy-api
API キーを使わずにアプリケーションコードへ Alchemy を組み込む、または自律エージェントとしてリクエストごとに支払うagentic-gateway
CLI がインストールされておらず、インストールも希望しない状態でライブの作業を行う(MCP は接続済み)alchemy-mcp
alchemy-api のフローに移行する(API キーを取得する)

ユーザーがアプリケーションコードのプロジェクトを開始し、シェルで $ALCHEMY_API_KEY が設定されていない場合は、CLI を使って Alchemy アカウントからキーを取得し、ターミナルのセッションをまたいで保持されるようプロジェクトの .env に保存してから、現在のシェルでエクスポートし、エージェントがすぐに使えるようにします。

セキュリティ: 会話の出力に、取得した API キーの値を絶対にエコー、表示、またはその他の方法で出してはいけません。エクスポート後は $ALCHEMY_API_KEY としてのみ参照してください。パスワードと同様に扱ってください。

# 1. Try to read a cached key from CLI config (read-only, safe non-interactive).
KEY="$(alchemy --no-interactive --json --reveal config get api-key 2>/dev/null | jq -r .value)"

# 2. If empty/null, run the interactive flow.
#    Note: auth login opens a browser and app select shows a picker, so do NOT
#    pass --no-interactive here. If you already know the app id, pass it
#    explicitly to skip the picker: `alchemy --no-interactive --json app select <id>`.
if [ -z "$KEY" ] || [ "$KEY" = "null" ]; then
  alchemy auth login              # opens browser; sets up account credentials
  alchemy --json app select       # interactive picker (omit --no-interactive so it can render)
  KEY="$(alchemy --no-interactive --json --reveal config get api-key | jq -r .value)"
fi

# 3. Persist to the project's .env (standard practice — survives terminal restarts
#    and gets loaded by dotenv / framework env loaders at runtime).
#    Use .env.local if the project's framework expects that (e.g. Next.js).
ENV_FILE=".env"
touch "$ENV_FILE"
if grep -q '^ALCHEMY_API_KEY=' "$ENV_FILE"; then
  sed -i.bak "s|^ALCHEMY_API_KEY=.*|ALCHEMY_API_KEY=$KEY|" "$ENV_FILE" && rm "$ENV_FILE.bak"
else
  echo "ALCHEMY_API_KEY=$KEY" >> "$ENV_FILE"
fi
grep -qxF "$ENV_FILE" .gitignore 2>/dev/null || echo "$ENV_FILE" >> .gitignore

# 4. Export to the current shell so the agent can call the API immediately.
export ALCHEMY_API_KEY="$KEY"

.env にキーが保存され、ALCHEMY_API_KEY がエクスポートされたら、alchemy-api スキルに引き継ぎます。

公式リンク

コメント