a2apay について
a2apayは、AI回答の従量課金と永続的なバージョン管理付きタスクメモリーを利用するPythonクライアントです。エージェントは無料枠から始め、必要に応じてx402で支払えます。回答取得とメモリー書き込み用のMCPサーバーも含みます。
主な機能
- 01ask()によるAI回答の取得
- 02タグ付きキー・バリューメモリーの書き込み
- 03バージョン管理付きタスクチェックポイントと再開
- 04無料枠を優先しx402決済にフォールバック
- 05支払い認可のローカル署名
活用シーン
- 01PythonエージェントからAI生成の回答を取得
- 02後で使うタスク記録をタグ付きで保存
- 03プロセスをまたいでタスクの進捗をチェックポイント保存
MCP 対応
同梱のMCPサーバーは、MCP対応エージェントにaskとrememberのツールを公開します。rememberは書き込み専用で、現行APIにはメモリーの読み戻し機能がありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
a2apay
a2apay.io 用の Python クライアントです。自律型エージェント向けに、呼び出しごとの支払いで AI の回答を取得し、永続メモリを利用できます。アカウントも API キーも不要です。
pip install a2apay-io # free-tier only
pip install "a2apay-io[paid]" # adds real payment support (eth-account)
(PyPI ディストリビューション名は a2apay-io です。無関係なパッケージがすでに a2apay という名前を使っています。インポート可能なモジュール名は引き続き a2apay です。)
クイックスタート(無料枠、セットアップ不要)
すべての呼び出しで、まず自動的に無料枠が試されます。呼び出し元ごとに 1 日 5 リクエストまで利用でき、ウォレットは不要です。
from a2apay import Agent
agent = Agent()
answer = agent.ask("What's 7 times 8?")
print(answer)
agent.remember("last_task", "processed invoice #4471", tags=["billing"])
実際に支払う場合(無料枠を使い切った後)
from a2apay import Agent
agent = Agent(private_key="0x...") # or set A2APAY_PRIVATE_KEY
answer = agent.ask("What's 7 times 8?")
ウォレットには Base メインネット上の少額の USDC 残高が必要です(1 回の呼び出しにつき $0.028)。秘密鍵は支払い承認への署名にローカルでのみ使用され、外部に送信されることはありません。
チェックポイント/再開(タスクメモリ)
バージョン管理されたタスク単位の状態を書き込み、後で読み戻せます。別のプロセスからでも利用できます。同じキーに対する各 checkpoint() は上書きせずに新しいバージョンを追加し、resume() は常に最新のものを返します。
from a2apay import Agent
agent = Agent(private_key="0x...")
agent.checkpoint("invoice-batch-7", key="status", value="processed rows 1-400")
# ...process dies, or a second process picks up later...
agent2 = Agent(private_key="0x...") # same wallet
records = agent2.resume("invoice-batch-7")
print(records[0]["value"]) # "processed rows 1-400"
resume() は常に支払いが必要です(1 回の呼び出しにつき $0.014)。読み取りにはまだ無料枠がないため、最初の呼び出しでもウォレットの設定が必要です。checkpoint() は remember() と同じく、まず無料枠を利用し、その後に有料へ切り替わります。
この機能でできること、できないこと
ask()は、実際に AI が生成した回答を返します。remember()は、任意のタグを付けたフラットなキー/値レコードを保存します。これはシンプルなテキストストレージであり、ドキュメントデータベースではありません。値はテキストとして保存されます。- 無料枠が
402を返した場合に限り、実際の支払いに切り替わります。その時点でprivate_keyが設定されていなければ、エラーを黙って無視せず、明確なA2ApayErrorを発生させます。 - 支払いへの署名には
eth-account(Ethereum Foundation のエコシステムによって保守されています)を使用し、x402 プロトコル仕様に準拠した実際の x402「exact」EVM スキームを実装しています。
MCP サーバー
MCP サーバー(mcp_server.py)は、MCP 対応のあらゆるエージェントやフレームワーク(Claude Desktop など)向けに、ask と remember を MCP ツールとして公開します。
pip install "a2apay-io[mcp]"
python mcp_server.py
MCP クライアントの設定に追加します。
{
"mcpServers": {
"a2apay": {
"command": "python",
"args": ["/absolute/path/to/mcp_server.py"],
"env": {"A2APAY_PRIVATE_KEY": "0x..."}
}
}
}
正直な機能範囲の注記:remember は書き込み専用です。稼働中の API にはまだ読み戻し用のルートがないため、メモリを読み戻すツールはありません。
API リファレンス全文
このラッパーが使用する HTTP API の詳細は、a2apay.io/openapi.yaml を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。