pons-mcp
ponscli
開発者とエージェントの両方のために作られた、Robinhood Chain(チェーンID 4663)上のPonsローンチパッドのための非公式コマンドラインインターフェースです。PonsやRobinhoodとは提携しておらず、公開チェーン上の公開コントラクトを読み取るだけです。
デフォルトで読み取り専用。 CLIは秘密鍵を一切扱わずに動作します。署名は明示的なオプトインなので、エージェントが誤って送金してしまうことはありません。
どこでも構造化された出力。 すべてのコマンドで
--jsonが使え、stdoutがターミナルでない場合は自動的に有効になります。エラーも構造化され、終了コードは安定しています。プロトコルの値はチェーンから読み取られます。 手数料、税ウィンドウ、承認済みペアトークン一覧はライブで照会され、ハードコードされることはありません。オンチェーンの値はコントラクトのソースとは異なります。
2段階のRPC。 無料エンドポイントはTier 1でラウンドロビン方式で使用され、有料エンドポイントはTier 2にあり、Tier 1を完全に使い果たした後にのみ到達します。有料の認証情報がない場合、バルク処理は障害を請求書に変えるのではなく、劣化するだけです。
2つのバイナリ。 同じコアの上で、人間向けの
pons、モデル向けのpons-mcp。そのため、エージェントが提示される価格はCLIが表示する価格と同じです。
インストール
npm install -g ponscli
pons --versionまたは、何もインストールせずに使うこともできます。パッケージ名はponscliで、バイナリ名は
ponsなので、npxにどちらを実行するかを指定する必要があります:
npx -p ponscli pons info 0x44D6…20f4重要なNodeバージョンは2つあり、それらは同じものではありません。 CLIが実行されるのは
20.11以上で、CIはプッシュのたびにパッケージ化されたtarballをその正確なバージョンにインストールして確認します。ビルドには20.19以上が必要です。リンターの依存ツリーがそれを要求するからです。クローンからは、npm installがインストールの一環としてビルドを行い、npm run dev -- <command>でソースから実行します。
Related MCP server: r0x-os
クイックスタート
読み取りにはキーもウォレットも設定も必要ありません。
pons info 0x44D6…20f4 # price, reserves, graduation phase, live snipe tax
pons pairs # every quote asset a launch may be priced in
pons watch 0x44D6…20f4 # follow one launch's trades as they happen
pons tx 0x2e8d…f58e # receipt, decoded logs, and why a failure failed
pons doctor # probe every RPC endpoint with real calls取引にはキーが必要です。あなたが明示しない限り、何も署名されません。
pons wallet create # generate a key into an encrypted keystore
pons buy 0x44D6…20f4 0.05 # price it, simulate it, print it. Nothing is sent
pons buy 0x44D6…20f4 0.05 --dry-run # the same, said explicitly
pons buy 0x44D6…20f4 0.05 --confirm # sign and broadcast
pons sell 0x44D6…20f4 50% --slippage 200パイプに通すとすべてが機械可読になり、それがデフォルトです:
pons info 0x44D6…20f4 | jq .graduationコマンド
各コマンドがどのコントラクトに触れるかを含む完全なリファレンス: docs/commands.md。
読み取り、キー不要
| 価格、供給量、卒業の進捗、手数料、ライブのスナイプ税 |
| 承認済みクオート資産。Ponsクライアントが表示する順序 |
| カーブ取引、買い戻し、卒業をカーソルで追跡 |
| レシート、デコードされたログ、失敗の原因となったリバート理由 |
取引、RPCとキーが必要
| トークンが取引されている会場で購入 |
| 同じ会場で売却 |
| 閾値に達したカーブを完了させる。これは誰でも呼び出せます |
ローンチ
| トークンを作成。デフォルトはV2 |
手数料
| エスクローに保持されているV2作成者またはプロトコル手数料 |
| ロッカーが保持しているV1ポジション手数料 |
| V2買い戻しボールト |
ウォレットとセットアップ
| キー管理 |
| 保有資産 |
| 送金 |
| 設定、および各値の取得元 |
| エンドポイントの健全性。CLIが実際に行う呼び出しでプローブします |
2つの世代
Ponsは2つのファクトリーを通じてトークンをローンチしており、両方に対応しています。どちらを指しているかを指定する必要はありません。両方のレジストリに問い合わせ、その回答が以降のすべてを決定します。
V1 | V2 | |
取引会場 | 最初のブロックからのUniswap V3プール | Uniswap V4に卒業するボンディングカーブ |
クオート資産 | WETH | ETH、または承認された23のトークンのいずれか |
開始時保護 | 2ブロックの間、ウォレットとトランザクションの上限 | スナイプ税。99%が3秒かけて減衰 |
流動性 | 永久にロック。出ていくのは手数料のみ | 卒業時にプールへシードされる |
手数料 |
|
|
新規ローンチ | 終了 | オープン |
V1のファクトリーは廃止されています。 launchEnabled()は2026-08-12以来falseであり、それを設定したトランザクションが、ファクトリーが最後に発したものです。それ以降、いかなるアドレスもホワイトリストに登録されたことはないため、pons launch --generation v1は何かを構築する前に拒否します。そのトークンはまた別の話です。数千のトークンが依然として流動性を保持しており、40プールのサンプルでは6日足らずで223件のスワップが見られました。そのため、それらの読み取りと取引は完全にサポートされています。
取引
すべての書き込み操作は、最初にPlanを構築します。何を誰に送信するか、何を返してもらうことを期待するか、何について警告する価値があるか。その同じPlanがシミュレーションされ、署名されるため、この3つが乖離することはありません。
モード | 動作 |
(no flag) | プランを構築し、残高オーバーライド付きでライブ状態に対してシミュレーションし、両方を出力します。署名も送信も行われません |
| 同じ作業を明示的に要求したもの: ペイロード内の |
| 他の誰かが署名するためのcalldataとvalueを出力します。シミュレーションをしない唯一のモード |
| 署名してブロードキャスト |
知っておくべき4つの動作:
取引会場は自分で選ぶ必要はありません。 ローンチレコードがトークンの取引場所を示します。
--route curve|v4|v3は会場を探すのではなく、その回答を上書きします。受け入れた時点で下限は固定されます。 プランはブロードキャスト直前のライブ状態から再構築され、受け入れた下限は新しい価格から再計算されるのではなく、再構築に引き継がれます。承認した下限を下回る取引は署名できず、価格がそれを超えて動いた場合は何も送信されません。
閾値に達したカーブへの売却は失敗ではなくリダイレクトされます。 カーブは十分に調達されると取引を停止し、
pons graduate <token>は誰でも呼び出せるコールです。V1の売却は自動的にラップ解除されます。 V1プールはETHではなくWETHを保持するため、売却はその収益をルーターに残し、同じトランザクションでラップ解除します。当然の方法で売却しても機能し、WETHが手に入ります。
ローンチ
pons launch --name "My Token" --symbol MINE --desc "..." # plan it and simulate it. Nothing is sent
pons launch --name "My Token" --symbol MINE --dry-run # the same, said explicitly
pons launch --name "My Token" --symbol MINE \
--pair USDG --creator-tax 250 --dev-buy 100 --confirm # launch, quoted in USDGローンチは、ここで唯一やり直しの効かない操作です。トランザクションを構築する前に、コマンドはあなたがコミットする内容の全体を出力します。トークンが配置されるアドレス、供給量、卒業先、手数料の配分、スナイプ税の動作です。また、ファクトリーがオンチェーンで拒否するであろうすべてをローカルでチェックします。
送信前にアドレスがわかります。 両世代とも、自分で選んだsaltからCREATE2でデプロイされるため、
pons launchはトークンとカーブのアドレスを事前に出力し、すでに使われているsaltを拒否します。--saltは生の32バイト値を受け付けるので、採掘されたバニティアドレスも機能します。条件は固定されます。
previewLaunchEconomicsは、供給量、カーブ手数料、プールの手数料ティア、プロトコルの手数料配分を網羅するダイジェストを返し、それはローンチとともに送られます。トランザクションの実行中にプロトコルオーナーがこれらのいずれかを変更した場合、ローンチは静かに価格を変更するのではなくリバートします。--dev-buyはアトミックであり、そうでなければなりません。 V2ファクトリーは正確にローンチ手数料のみを要求し、それ以上は要求しないため、開始時の購入をそれに便乗させることはできません。代わりに、購入は同じトランザクション内でローンチパッド自身のルーターを通じて行われます。これなしのローンチは、このチェーンでは2ブロック以内に買い占められたことがあります。--buybackは保有者ではなくあなたにコストがかかります。 ボールトは完全にあなた自身の手数料分から資金調達され、5年間かけてプロトコルと分割で解放されます。これは保有者への分配ではなく、プランはそれを脚注ではなく警告として明示します。
pons pairsは、ローンチの価格設定に使用できる資産を一覧表示します。ネイティブETHに加えて、承認された23のトークン(トークン化された株式、2つのインデックスファンド、1つのステーブルコイン)です。これらはPons作成ページが表示する順序で返されるため、両者は行ごとに一致します。
セキュリティ
デフォルトは読み取り専用。
--confirmなしで何かに署名するコマンドはありません。4つの実行モードのうち3つはコストがかからず、--unsignedを除くすべてが、アカウントに資金を保有せずに、デプロイ済みコントラクトに対してコールを最初に検証します。キーストアはscrypt + AES-256-GCMで、オーナーのみが読み書きできます。パスワードは非表示のプロンプトまたは
PONS_PASSWORDから、インポートするキーはPONS_PRIVATE_KEYから取得します。どちらもフラグにはなりません。 引数はプロセステーブルに表示され、シェルの履歴に残ります。どちらかを受け取るフラグは存在せず、`
資金を失う可能性がある何かを見つけましたか? プライベートに報告してください。SECURITY.md に、その方法、対象範囲、設計上の保証が記載されています。
設定
値は、フラグ > 環境変数 > 設定ファイル > デフォルト の順序で解決されます。pons config list は、解決された値と、それがどの段階から来たかを併せて表示するため、想定外の設定でも、1コマンドで説明が得られます。
設定ファイルは、$XDG_CONFIG_HOME/ponscli/config.json にあるフラットなJSONです(~/.config/ponscli/config.json にフォールバックします)。所有者のみが書き込めます。
キー | 環境変数 | デフォルト |
|
| 未設定。自分のノードが最初に試される |
|
| 公式および nodeflare の公開エンドポイント |
|
| 未設定。この場合、有料ティアは無効になる |
|
|
|
|
|
|
|
|
|
|
| 空 |
|
| stdoutがTTYでない場合はオン |
|
|
|
|
|
|
|
| 未設定 |
|
|
|
PONS_PASSWORD と PONS_PRIVATE_KEY は環境変数から読み取られますが、意図的に設定キーではありません。どちらも、config list が出力し、ユーザーが問題レポートに貼り付けるようなファイルに含めるべきではないからです。
アーキテクチャ
すべての決定とその背後にある測定結果をまとめた完全なドキュメントは、docs/architecture/ponscli.md です。概要は次のとおりです:
src/core/ business logic, framework-free
src/commands/ thin CLI wiring
src/mcp/ the MCP server, also thin
src/chain/ the RPC waterfall
src/abi/ generated and committed両方のフロントエンドは src/core/ の上のシェルです。それが、pons-mcp を2つ目の実装ではなくラッパーにしている理由です。
リクエストのルーティング方法
Tier 1 は無料エンドポイントのラウンドロビンです。Tier 2 は、Tier 1 の候補がすべて試された後にのみ到達する有料エンドポイントです。すべてのルールは、汎用のリトライポリシーからではなく、このチェーン自身のエンドポイントに対する測定から来ています。日常的に最も重要なルールは次のとおりです:
リバートは失敗ではなく回答です。 すべてのエンドポイントで再試行されてから有料ティアにエスカレーションされるのではなく、直接あなたに返されます。
レート制限は、エンドポイントを1時間ではなく30秒間停止させます。 無料エンドポイントはトークンバケットです。長時間の停止は、スロットリング自体よりも可用性を損ないます。
書き込みは決してラウンドロビンされません。 あるノードから取得した nonce を別のノードにブロードキャストすると
nonce too lowになるため、トランザクションは単一のエンドポイントに固定されます。eth_chainIdはヘルスチェックではありません。 ある公開エンドポイントは他のどのエンドポイントよりも速くこれに応答する一方で、eth_callを拒否します。pons doctorが実際の呼び出しでプローブするのは、まさにこのためです。
ABI
src/abi/ は生成されコミットされているため、CLIはオフラインで動作し、インターフェースの変更はレビュー可能な差分として現れます。
npm run abi:fetch # regenerate from Sourcify, falling back to Blockscout
npm run abi:check # fail if the committed files have drifted各ファイルには、そのABIの出所と、マッチがどのように証明されたかが記録されています。コントラクトがそれぞれ異なるため、来歴クラスは4つあります。
クラス | 例 | 証明方法 |
アドレスで検証済み |
| Sourcify自身によるバイトコード照合 |
すべてのチェーンに同一にデプロイ済み | Permit2 | Baseで検証済み。すべてのセレクタがRobinhoodのバイトコードに存在 |
ローンチごとに1回デプロイされ、どこでも検証されていない | V2カーブとトークン | ファクトリの検証済み standard-JSON 入力からコンパイルし、イミュータブル以外の部分を実際のインスタンスとバイト単位で照合 |
複数回デプロイされ、一部で検証済み | V3プール、V1のトークン | 検証済みの1インスタンスが、独立に選ばれた別のインスタンスに対して一般性を証明済み |
手書きで書かれているファイルが1つあります: erc20Errors.ts です。これは、第三者クォートアセットがリバートする際のエラーを保持しています。クォートアセットは他人のトークンであり、承認済みの23種類すべてをカバーする単一のABIは存在しません。これらがないと、USDGローンチで最もありふれた失敗が、説明のつかない4バイトとして表示されます。
エージェント向け
完全なガイド: docs/agents.md
pons-mcp は、このパッケージに2つ目のバイナリとして同梱されており、CLIと同じ core/ を呼び出します。
// claude_desktop_config.json, .mcp.json, or your client's equivalent
{
"mcpServers": {
"pons": { "command": "pons-mcp" }
}
}6つのツール: pons_info, pons_pairs, pons_plan_buy, pons_plan_sell, pons_transaction, pons_endpoints
サーバーは署名できず、それを可能にするフラグもありません。 サーバーはチェーンを読み取り、未署名のトランザクションを構築します。送信するのは人間です。これがセキュリティモデルの全体であり、サーバーをモデルの隣で稼働させたままにしておいても安全な理由です。混乱したエージェントが引き起こし得る最悪の結果は、悪い価格を提示されることであって、あなたのお金を使われることではありません。
回答は基本単位で返されます。モデルは 50000000000000000 では正確な算術ができますが、0.05 ではできないからです。
代わりにCLIを外部呼び出しするエージェントの場合、stdoutがターミナルでなければ --json がすでにデフォルトです。また、引数の間違いには失敗したコマンドの使用法の行が含まれるため、呼び出し元は自分で修正できます:
{
"ok": false,
"error": {
"code": "USAGE",
"message": "missing required argument 'token'",
"hint": "run 'pons info --help'",
"details": { "command": "info", "usage": "pons info [options] <token>" }
}
}エージェンティックコーディング
このリポジトリには独自のエージェント設定が含まれています。CLAUDE.md はプロジェクトの概要であり、Codex、Cursor、Copilotなどのために AGENTS.md がそれへのシンボリックリンクとして用意されています。
| 秘密鍵またはインラインパスワードを含むコマンドラインを拒否します |
|
|
| このプロジェクトのゲートとなるチェックを実行し、各失敗の意味をここで説明します |
テスト
npm run typecheck
npm run lint
npm test
npm run buildテストスイートは完全にオフラインです。すべてのテストは、実際のコマンドサーフェスを test/fakeChain.ts に対して駆動します。test/fakeChain.ts は address + ABI + function → result のテーブルで、Multicall3 と eth_getLogs も提供するため、テストされるのはライブパスが使うのと同じデコードと集約です。
2つのチェックはネットワークに到達し、意図的に npm test の一部ではありません:
npm run test:sequence # prove multi-block sequences against live mainnet state
npm run abi:check # fail if a committed ABI has drifted from its verified sourceローカルノードなしのシーケンス
シミュレーションは、1つのブロックに対する1つの呼び出しを証明します。承認がブロックに取り込まれ、次のブロックでの売却が成功することを証明することはできません。また、ローンチが確定し、そこで作成されたカーブが1ブロック後に購入可能になることを証明することもできません。そうした失敗こそ、ユーザーに届くものです。
Robinhood Chain は eth_simulateV1 に応答します。これは、ライブのメインネット状態に対して、複数の呼び出しを複数のブロックにわたり、すべてのブロックに状態を引き継ぎながら実行します。npm run test:sequence はこれを使用して6つのシーケンスを証明します。それにはローンチの全ライフサイクル、つまり作成され、取引され、卒業しきい値を超え、Uniswap V4 プールにシードされることが含まれます。ローカルノードもFoundryも不要で、何も費やされません。
すべてのシーケンスには、必ず失敗するコントロールが含まれています。それがなければ、シーケンスが証明しているように見える作業を、ステートオーバーライドが実際に行っている可能性があります。
意図的に実際のお金を使う
scripts/mainnet-e2e.sh は、トークンをローンチし、それを購入し、売却し、メインネット上で手数料を受け取ります。実際にやります。シーケンスは上記のチェックでカバーされるため、これが追加するのはシミュレーションにはできない唯一のもの、すなわち実際のキーで署名され、実際のメンプールに受け入れられ、デコードすべき実際のレシートを伴う実際のトランザクションです。このスクリプトは明示的に指定しない限りオフになっており、すべてのトランザクションの前に確認を求め、CIで実行してはなりません。
PONS_E2E=i-understand ./scripts/mainnet-e2e.sh終了コード
スクリプトとエージェントは、散文を解析することなく結果に基づいて分岐できます。
コード | 意味 |
| 成功 |
| 分類不能な失敗 |
| 使用方法: 不正なフラグ、引数、またはコマンド |
| 設定が欠落している、形式が正しくない、または矛盾している |
| すべてのRPCエンドポイントが失敗した |
| チェーンは応答したが、その応答はリバートだった |
| キーストアがない、パスワードが間違っている、または署名が拒否された |
| ユーザーが確認を拒否した |
| アカウントが要求された支払いを行えない |
--json モードでは、失敗は {"ok": false, "error": {...}} を stderr に書き出します。stdoutには決して書き出さないため、パイプは結果のみを運びます。
コントリビューション
CONTRIBUTING.md を参照してください。公開イシューにすべきでないものについては SECURITY.md を参照してください。短く言うと: 上記の4つのチェックを実行し、新しい動作は src/core/ に置き、プロトコルに関する主張は書き留める前にメインネットで検証してください。コントラクトのソースは、重要ないくつかの箇所で古くなっています。
概要
viem 上でTypeScriptでゼロから書かれています。どのリポジトリからもソースはコピーされていません: コマンドサーフェスは chainstacklabs/pumpfun-cli の挙動マップから、RPCポリシーはこのチェーン自身のエンドポイントに対する測定から導出されています。
Pons自体 は ponsfamily.com にあります: ローンチと探索のためのWebクライアント、そのアナリティクス、そしてドキュメントです。このCLIはその一部ではなく、その承認も受けておらず、他の誰でも利用できる同じ公開コントラクトにアクセスします。
ライセンス
MIT。 LICENSE を参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables agents to query live Robinhood Chain data including tokens, wallets, Chainlink feeds, heat scores, and tracking error on tokenized equities, all read-only without API keys.413MIT
- AlicenseAqualityCmaintenanceEnables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.1863MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to scan tokens for honeypots, check safe launches, and build launch transactions on Robinhood Chain via the Model Context Protocol.MIT
- AlicenseNot gradedqualityCmaintenanceProvides live, read-only access to Robinhood Chain and Lox Corp data, enabling AI agents to query chain stats, token launches, agent details, and more.101MIT
Related MCP Connectors
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
Agentic Finance: 500+ tools for AI agents over x402 or MPP, free via PoW, or prepaid card credits
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mesutgulecen/ponscli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server