PlainText Wallet Approval Checker について
PlainTextは、トークンやNFTの承認、署名リクエストを理解したい人向けのNode.jsアプリです。チェック結果を平易な言葉で説明し、SAFE、CAUTION、RISKで示します。現在、判定はpresign-guardに基づいています。
主な機能
- 01トークンとNFTの承認チェック
- 02チェック結果の平易な説明
- 03SAFE・CAUTION・RISKの判定
- 04ユーザーデータを保存しないステートレス処理
- 05フィードバックの受付
活用シーン
- 01ウォレットのトークンやNFT承認の確認
- 02署名前の承認やトランザクションの理解
- 03不具合報告や機能要望の送信
MCP 対応
クライアントから不具合、機能要望、その他のフィードバックを送るMCPツールを提供します。READMEには判定と理由コードにpresign-guardを使う構成も記載されています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://plaintext.fizzl.eu/mcpclaude mcp add --transport http fizzl13-plaintext-wallet-checker https://plaintext.fizzl.eu/mcp{"mcpServers":{"fizzl13-plaintext-wallet-checker":{"type":"http","url":"https://plaintext.fizzl.eu/mcp"}}}Cursor で開く{"servers":{"fizzl13-plaintext-wallet-checker":{"type":"http","url":"https://plaintext.fizzl.eu/mcp"}}}VS Code で開く{"mcpServers":{"fizzl13-plaintext-wallet-checker":{"type":"http","url":"https://plaintext.fizzl.eu/mcp"}}}{"mcpServers":{"fizzl13-plaintext-wallet-checker":{"serverUrl":"https://plaintext.fizzl.eu/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
PlainText — ウォレット承認の翻訳ツール
· 稼働状況
presign-guard を基盤に構築: PlainText の判定は、presign-guard(同じチェック、制裁対象リスト、ウォレットの経過期間、署名済みレシート)によって行われるようになりました。PlainText は、人向けの平易な説明を追加します。
POST /api/check-wallet($0.04)は presign-guard の承認監査を、POST /api/explain($0.03)は、ペイロードが実際の承認、トランザクション、または typed-data 署名の場合に presign-guard の署名前チェックを使用します(それ以外はモデルのみで説明され、source: "model"となります)。判定と理由コードだけが必要なエージェントは、presign-guard を直接呼び出せます($0.01–$0.02)。FIZZL_INTERNAL_KEYが必要です(両サービスで同じ値を設定し、Render のみで使用)。設定されていない場合は、従来の経路(GoPlus + Claude)が実行されます。
Node.js 製の小規模なアプリです。GoPlus Security API を使ってウォレットのトークン/NFT 承認を調べ、Claude に平易な言葉で説明させます。
▶ 1 分の解説動画を見る · ライブ版:https://plaintext.fizzl.eu
プロジェクト構成
plaintext-wallet/
├── server.js Express backend (GoPlus + Anthropic calls)
├── media.js Serves the explainer video from the explainer-video branch
├── feedback.js POST /feedback and the MCP tool feedback (same file in every Fizzl service)
├── media/explainer/ Script and pipeline for the explainer video
├── package.json
├── render.yaml Render deploy config (optional, see below)
├── .env.example Copy to .env for local dev
└── public/
└── index.html Frontend (wallet check + demo scenarios)
フィードバック
バグを見つけた場合や、不足している機能がある場合は、POST /feedback(無料、支払い不要)または MCP ツール feedback から送信してください。
curl -X POST https://plaintext.fizzl.eu/feedback \
-H 'content-type: application/json' \
-d '{"type": "feature", "message": "Support Solana wallets", "endpoint": "/api/check-wallet"}'
type は bug、feature、other のいずれかです。message は必須で(最大 2000 文字)、endpoint と contact は任意です。応答は ID を含む 202 です。呼び出し元ごとに 1 時間あたり最大 10 件まで報告できます。報告は使用状況ログに記録され、担当者がすべて確認します。報告内容が自動的に実行されたり、変更に反映されたりすることはありません。GET /feedback でスキーマを確認できます。
1. まずローカルで実行する
cd plaintext-wallet
npm install
cp .env.example .env
# edit .env and paste your ANTHROPIC_API_KEY
npm start
http://localhost:3000 を開きます。まず「Try a sample」タブを試してください(Anthropic 以外の API キーは不要です)。問題なく動作することを確認できたら、実際のアドレスを使って「Check a wallet」を試します。
2. Render にデプロイする
オプション A — render.yaml を使ったワンクリックデプロイ(Blueprint)
- このフォルダーを新しい GitHub リポジトリにプッシュします。
- Render ダッシュボードで、New + → Blueprint を選択し、リポジトリを選びます。Render が
render.yamlを自動的に読み込み、ウェブサービスを作成します。 - 変数の入力を求められたら、以下を設定します。
ANTHROPIC_API_KEY— 必須。console.anthropic.com から取得しますGOPLUS_ACCESS_TOKEN— 任意。GoPlus の無料枠である 1 分あたり 30 回を超える場合にのみ必要です(console.gopluslabs.io を参照)
- Apply をクリックすると、Render が自動的にビルドしてデプロイします。
オプション B — 手動でウェブサービスを作成する(render.yaml は不要)
- このフォルダーを新しい GitHub リポジトリにプッシュします。
- Render ダッシュボードで、New + → Web Service を選択し、リポジトリを接続します。
- 以下の設定を行います。
- Environment:Node
- Build Command:
npm install - Start Command:
npm start - Instance Type:Free(プロトタイプなら十分です)
- Environment Variables で、
ANTHROPIC_API_KEY(および必要に応じてGOPLUS_ACCESS_TOKEN)を追加します。 - Create Web Service をクリックします。ビルドが完了すると、Render から
https://<name>.onrender.comの URL が提供されます。
Render の無料プランでは、一定時間操作がないとサービスが停止します。停止後の最初のリクエストでは、再起動に約 30~50 秒かかります。フィードバックをもらうために共有するプロトタイプなら、これは通常の動作であり、問題ありません。
GoPlus 統合に関する注意事項
- ウォレットチェックでは、
https://api.gopluslabs.io/api/v2/...に対してtoken_approval_securityまたはnft721_approval_securityを呼び出します。これはドキュメントに記載されていますが、GoPlus のドキュメントサイトは JavaScript でレンダリングされるため、実際のユーザーに提供する前に、必ず自分で管理しているウォレットを使って(たとえばcurlで)手動テストを行い、実際の JSON の形式がserver.jsの想定と一致することを確認してください。GoPlus API のバージョンによって、フィールド名が変わることがあります。 - GoPlus の無料プランは、1 分あたり 30 回までです。初期テストには十分ですが、上限を超えると、UI に単純なエラーメッセージが表示されます。
- このアプリではユーザーデータを一切保存しません。各チェックはステートレスな一往復の処理です。後からアカウント、保存済みウォレット、履歴を追加する場合は、この注意事項(およびご自身のプライバシーポリシー)も更新してください。
想定される費用
- Render の無料プラン:月額 $0 で、上記のコールドスタート動作があります。有料プラン(「Starter」、月額 $7)にすると、利用が増えた場合にスピンダウンを防げます。
- Anthropic API:従量課金で、指定したキーに請求されます。説明を 1 回生成するのに使うトークン数は少ないため(1K トークンを大きく下回ります)、1 回のチェックあたりの費用は 1 セント未満です。ただし、このプロトタイプにはまだレート制限が組み込まれていないため、広く共有する場合は使用量ダッシュボードを確認してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
