Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

agent-payment-x402

AIエージェントにx402決済機能を追加するスキルで、MCPツールを通じてタスクごとの予算設定、支出管理、ノンカストディアルウォレットを実現します。エージェントがAPI・サービス・他のエージェントへの支払いを行う必要がある場面で活用できます。

description の原文を見る

将 x402 支付执行添加到 AI 代理中——通过 MCP 工具实现每任务预算、支出控制和非托管钱包。当代理需要为 API、服务或其他代理付费时使用。

SKILL.md 本文

エージェント決済実行 (x402)

AIエージェントが自律的に支払うことができ、組み込みの支出管理を備えています。x402 HTTP決済プロトコルとMCPツールを使用すると、エージェントは外部サービス、API、または他のエージェントに対して支払い、カストディアルリスクなしで支払うことができます。

ユースケース

以下に適しています:エージェントがAPI呼び出しの支払い、サービスの購入、他のエージェントとの決済、タスク単位の消費制限の強制実行、またはノンカストディアルウォレットの管理が必要な場合。コスト認識型LLMパイプラインとセキュリティ監査スキルとの組み合わせに最適です。

動作方式

x402プロトコル

x402はHTTP 402(支払い必要)を機械ネゴシエーション可能なプロセスに拡張します。サーバーが402を返すと、エージェントの支払いツールは自動的に価格をネゴシエートし、予算をチェックし、トランザクションに署名し、再試行します——人手を介さずに。

支出管理

支払いツール呼び出しのたびにSpendingPolicyを強制実行します:

  • タスク単位予算 — 単一のエージェント操作における最大支出額
  • セッション単位予算 — セッション全体の累積上限
  • ホワイトリスト受取人 — エージェントが支払える住所/サービスを制限
  • レート制限 — 分単位/時間単位の最大トランザクション数

ノンカストディアルウォレット

エージェントはERC-4337スマートアカウントを通じて独自のキーを保有します。オーケストレータが委譲前にポリシーを設定します;エージェントは制限範囲内でのみ支出できます。資金プール、カストディアルリスクなし。

MCP統合

決済レイヤーは標準MCPツールを公開し、任意のClaude Codeまたはエージェントフレームワークのセットアップにシームレスに統合できます。

セキュリティに関する注意:パッケージバージョンを必ずロックしてください。このツールは秘密鍵を管理します——ロックされていないnpxインストールはサプライチェーンリスクをもたらします。

{
  "mcpServers": {
    "agentpay": {
      "command": "npx",
      "args": ["agentwallet-sdk@6.0.0"]
    }
  }
}

利用可能なツール(エージェント呼び出し可)

ツール用途
get_balanceエージェントウォレット残高を確認
send_paymentアドレスまたはENSに支払いを送信
check_spending残り予算を照会
list_transactionsすべての支払いの監査証跡

注記:支出ポリシーはエージェント自身ではなく、オーケストレータがエージェントに委譲する前に設定します。これはエージェントが自動的に支出制限を引き上げるのを防ぎます。オーケストレータレイヤーまたはタスク前フックでset_policyを通じてポリシーを設定します。エージェント呼び出し可能ツールにしないでください。

MCPクライアントにおける予算強制実行

agentpay MCPサーバーを呼び出すオーケストレータを構築するとき、有料ツール呼び出しをディスパッチする前に予算を強制実行します。

前提条件:MCP設定を追加する前にパッケージをインストール——npx-yなしだと非対話環境で確認プロンプトを表示し、サーバーがハングアップします:npm install -g agentwallet-sdk@6.0.0

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

async function main() {
  // 1. Validate credentials before constructing the transport.
  //    A missing key must fail immediately — never let the subprocess start without auth.
  const walletKey = process.env.WALLET_PRIVATE_KEY;
  if (!walletKey) {
    throw new Error("WALLET_PRIVATE_KEY is not set — refusing to start payment server");
  }

  // Connect to the agentpay MCP server via stdio transport.
  // Whitelist only the env vars the server needs — never forward all of process.env
  // to a third-party subprocess that manages private keys.
  const transport = new StdioClientTransport({
    command: "npx",
    args: ["agentwallet-sdk@6.0.0"],
    env: {
      PATH: process.env.PATH ?? "",
      NODE_ENV: process.env.NODE_ENV ?? "production",
      WALLET_PRIVATE_KEY: walletKey,
    },
  });
  const agentpay = new Client({ name: "orchestrator", version: "1.0.0" });
  await agentpay.connect(transport);

  // 2. Set spending policy before delegating to the agent.
  //    Always verify success — a silent failure means no controls are active.
  const policyResult = await agentpay.callTool({
    name: "set_policy",
    arguments: {
      per_task_budget: 0.50,
      per_session_budget: 5.00,
      allowlisted_recipients: ["api.example.com"],
    },
  });
  if (policyResult.isError) {
    throw new Error(
      `Failed to set spending policy — do not delegate: ${JSON.stringify(policyResult.content)}`
    );
  }

  // 3. Use preToolCheck before any paid action
  await preToolCheck(agentpay, 0.01);
}

// Pre-tool hook: fail-closed budget enforcement with four distinct error paths.
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
  // Path 1: Reject invalid input (NaN/Infinity bypass the < comparison)
  if (!Number.isFinite(apiCost) || apiCost < 0) {
    throw new Error(`Invalid apiCost: ${apiCost} — action blocked`);
  }

  // Path 2: Transport/connectivity failure
  let result;
  try {
    result = await agentpay.callTool({ name: "check_spending" });
  } catch (err) {
    throw new Error(`Payment service unreachable — action blocked: ${err}`);
  }

  // Path 3: Tool returned an error (e.g., auth failure, wallet not initialised)
  if (result.isError) {
    throw new Error(
      `check_spending failed — action blocked: ${JSON.stringify(result.content)}`
    );
  }

  // Path 4: Parse and validate the response shape
  let remaining: number;
  try {
    const parsed = JSON.parse(
      (result.content as Array<{ text: string }>)[0].text
    );
    if (!Number.isFinite(parsed?.remaining)) {
      throw new TypeError("missing or non-finite 'remaining' field");
    }
    remaining = parsed.remaining;
  } catch (err) {
    throw new Error(
      `check_spending returned unexpected format — action blocked: ${err}`
    );
  }

  // Path 5: Budget exceeded
  if (remaining < apiCost) {
    throw new Error(
      `Budget exceeded: need $${apiCost} but only $${remaining} remaining`
    );
  }
}

main().catch((err) => {
  console.error(err);
  process.exitCode = 1;
});

ベストプラクティス

  • 委譲前に予算を設定:サブエージェント生成時、オーケストレータレイヤー経由でSpendingPolicyを附加します。エージェントに無制限支出権限を与えないでください。
  • 依存関係をロック:MCPロック内で常に正確なバージョンを指定します(例:agentwallet-sdk@6.0.0)。本番環境へのデプロイ前にパッケージ整合性を検証します。
  • 監査証跡:タスク後フック内でlist_transactionsを使用して、支出内容と理由をログに記録します。
  • フェイルクローズ:支払いツールに到達できない場合は有料操作をブロック——無メータリングアクセスへのフォールバックはしないでください。
  • セキュリティ監査と組み合わせる:支払いツールは高権限操作です。シェルアクセスと同じ監査基準を適用します。
  • テストネットで先にテスト:開発時はBase Sepoliaを使用します;本番環境ではBase mainnetに切り替えます。

本番環境リファレンス

  • npmagentwallet-sdk
  • NVIDIA NeMo Agent ToolkitへのマージPR #17 — NVIDIAエージェント例のx402決済ツール
  • プロトコル仕様x402.org

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
affaan-m
リポジトリ
affaan-m/everything-claude-code
ライセンス
MIT
最終更新
不明

Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: affaan-m · affaan-m/everything-claude-code · ライセンス: MIT