mcpField
V
vetagent

vetagent

リモート
vetagent.dev金融データ0今日更新
リポジトリ公式サイト

vetagent について

VetAgent は、トークンの購入・保有・推奨前に AI エージェントが使うリモート MCP サーバーです。オンチェーンリスクの判定と根拠を返し、検査できない場合は安全とみなさず、unknown とデータ不足を示します。

主な機能

  1. 01対応チェーンのトークンリスク評価
  2. 02状態を明示する流動性スナップショット
  3. 03新規・注目プールの検索
  4. 04失敗時の unknown とデータ不足の提示

活用シーン

  1. 01エージェントがトークンを推奨する前の確認
  2. 02取引前の流動性と売却可能性の確認
  3. 03安全評価と区別した新規プールの発見

MCP 対応

リモート HTTP エンドポイントを通じて、トークンリスク評価、流動性照会、プール検索の 3 つのツールを MCP クライアントに提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://vetagent.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

3
パラメーター型必須説明
addressstringはいトークンコントラクトアドレス:ERC-20(0x + 40 桁の 16 進数)または Solana(base58)
verbosebooleanいいえ上流の証拠をすべて返します。トークン節約のため、デフォルトでは無効です。
chain_hintstringいいえチェーン名(ethereum / bsc / base / polygon / arbitrum / solana)を指定できます。指定を強く推奨します。PulseChain などの Ethereum フォークはコントラクトアドレスを継承するため、同じアドレスが複数のチェーンに存在し、価格が大きく異なる場合があります。指定しない場合、深度が最も高い 1 つのチェーンのみを対象とし、そのチェーン名を明記します。

詳細

VetAgent

smithery badge MCP registry vetagent MCP connector – tool definition quality and endpoint health on Glama License: MIT

AI エージェント向けの取引前安全チェックです。 エージェントがトークンを購入、保有、または推奨する前に、VetAgent を呼び出すと、実用的な判定(low/medium/high/unknown)と、その根拠となる具体的なシグナルが返されます。解釈が必要な大量の数値が返されることはありません。

リモート MCP エンドポイント:https://vetagent.dev/mcp · ランディングページ:https://vetagent.dev ご利用中に問題があった場合や、トークンの判定が間違っていると思われる場合は、[email protected] までご連絡いただくか、issue を作成してください。

// assess_token_risk("0x…", chain_hint="ethereum")
{
  "risk_level": "medium",
  "risk_score": 36,
  "confidence": "high",
  "signals": [
    {"severity": "ok",   "name": "Liquidity is adequate",     "category": "liquidity"},
    {"severity": "ok",   "name": "Buys and sells normally",   "category": "honeypot"},
    {"severity": "warn", "name": "Contract is closed source", "category": "contract"}
  ],
  "recommendation": "Medium risk. Real signals fired but none are fatal. Review liquidity, holder distribution and contract permissions before deciding."
}

インストール

インストールは不要です。リモートサーバーのため、パッケージもコンテナも API キーもサインアップも必要ありません。URL を 1 つ追加するだけです。

Claude Code:

claude mcp add --transport http vetagent https://vetagent.dev/mcp

Cline、Cursor、Claude Desktop、その他の MCP クライアントの場合は、MCP 設定に追加してください:

{
  "mcpServers": {
    "vetagent": {
      "type": "http",
      "url": "https://vetagent.dev/mcp"
    }
  }
}

正しく動作することを確認します。3 つのツールが返されます:

curl -s -X POST https://vetagent.dev/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

MCP を使用していませんか?同じエンジンは通常の HTTP 経由でも応答します: GET https://vetagent.dev/assess/<address>

インストールを行うエージェント向けに書かれたバージョンは llms-install.md を、接続後の出力の使い方は docs/AGENT-INTEGRATION.md をご覧ください。


unknown は low ではありません

出力について知っておくべき、最も重要なことです。

VetAgent はフェイルクローズ方式です。上流サービスの停止、売買シミュレーションの失敗、流動性データの未取得などによりチェックを実行できない場合、unknown を返し、不足していた情報を evidence.data_gaps に正確に列挙します。楽観的な中間値で代用することはなく、ポジションサイズを決めることもありません。

confidence が示すのは、入力データがどれだけ揃っていたかであり、トークンがどれだけ安全かではありません。

「わかりません」と正直に伝えるリスク評価ツールは役に立ちます。推測するツールは役に立ちません。


ツール

ツール機能
assess_token_risk(address, chain_hint?, verbose?)リスクプロファイル全体を評価します。8 つのチェーンにおける流動性の深さ、ペアの経過時間、同じティッカーを使ったなりすましを確認します。Ethereum、BSC、Base では、売却可能性のシミュレーション、税金、コントラクトの権限、上流サービスの総合判定も確認します。Solana では、ミント/凍結権限と Token-2022 の拡張機能も確認します。現時点では、どのチェーンでも保有者の集中度は確認しません
get_token_liquidity(address, chain_hint?)メインペアの流動性スナップショットを返します。status が明示されるため、「上流サービスの失敗」と「プールが存在しない」を区別できます
find_new_hot_pools(chain?, limit?)チェーン上で新しい、または注目度の高いプールを返します。検出のみを目的としており、安全性を保証するものではありません

チェーンがわかっている場合は、必ず chain_hint を指定してください。PulseChain などの Ethereum フォークではコントラクトアドレスが引き継がれるため、同じアドレスが価格の大きく異なる複数のチェーン上に存在します。ヒントを指定すると、この曖昧さを解消できます。(指定しない場合、VetAgent は正規チェーンを優先します。src/risk.py の _CHAIN_RANK をご覧ください。)

エージェント向けの完全な仕様は、docs/AGENT-INTEGRATION.md をご覧ください。


精度ベンチマーク

ほとんどのトークンリスクツールは機能一覧を公開しています。私たちは、エラー率とその測定方法を公開します。まだ機能していない部分も含め、エンジンが参照しないデータソースが作成したラベルと照合します。

現在測定している内容:健全なトークン162件での誤検知率1.9%、誤ブロック率13.0%(流動性があり健全なトークン154件のうち20件が中または高と評価されており、エージェントもこれらを拒否します)、不明率20.7%、そしてGoPlusが中央集権型とタグ付けしたトークンのうち**21.2%**が高リスクと評価されています。そのほとんどは、USDTではなく数セントを保有する放棄されたプールです。USDTは低リスクと評価されます。

まだ測定していない内容:信頼できる再現率です。サンプリングでは576件中30件の無効なトークンが見つかっています。公開ソースはすべて流動性順にランキングするため、ラグプールはリストから完全に消えてしまいます。また、敵対的なコホートは17件のコントラクトで構成されています。これら2つの小規模なコホートでの再現率は、コントラクトシグナルのみの列とともにbench/results.mdで公開しています。検出されるものの大半は悪意のあるコントラクトではなく、空のプールだからです。母集団全体の検出率を公表するには、実際のコホートを提供できるだけの日次スナップショットアーカイブの蓄積を待つ必要があります。このセクションの以前のバージョンでは「測定済みの再現率」と記載していましたが、ベンチマークファイル自体の内容と矛盾していました。

→ bench/results.md — 現在の数値、測定方法、既知の制限事項。

このような設計にしている理由:

  • 独立したラベル。 エンジンが参照するhoneypot.isを使ってベンチマークのトークンにラベルを付けると、VetAgentがhoneypot.isの結果を中継できるかどうかを測るだけになってしまいます。ラベルには、実際の市場結果(価格/出来高の履歴)と、意図的にエンジンから除外しているGoPlusを使用しています。
  • 約束ではなく、実行時のアサーション。 ベンチマークは、各側がアクセスしたすべてのエンドポイントを記録し、両方の集合が交差すると実行を失敗させます。循環的なベンチマークは、ベンチマークがないよりも悪いため、文書に記載するだけでなく、構造上実現できないようにしています。
  • アブレーション列。 すでに崩壊したトークンは、現在の流動性がほぼゼロなので、それを検出することはほとんど同語反復です。そのため、結果はすべてのシグナルを使った場合と、コントラクトシグナルのみを残した場合(流動性、ライフサイクル、プール経過期間、なりすましシグナルを除外)の2通りで報告しています。この差が、明白な情報を超えてエンジンが実際に付加する価値です。
  • 再現率とあわせてunknown率を報告。 すべての質問にunknownと答えるツールは、再現率が完璧でも価値はありません。

ベンチマークでは、固定された論理クロック2026-09-21T02:00:00Zを使用します。再現するには、作業用コピーと一致するローカルキャッシュを用意してください。

python bench/run_benchmark.py --replay

リプレイではネットワークリクエストは発生しません。回答が欠落している場合は終了コード4を返し、欠落しているURLを一覧表示し、既存の結果ファイルは変更しません。すべてそろった状態でリプレイを実行すると、bench/results.jsonとbench/results.mdを書き込めます。キャッシュはこのリポジトリでは追跡も公開もされていないため、新しくクローンした環境で公開済みの数値を再現できるとは限りません。

通常の実行モードでは、欠落している回答を取得し、日付付きのキャッシュエントリを書き込めます。意図的に更新する場合は、レビュー済みの明示的なHTTPS URLリストを使ってpython bench/run_benchmark.py --fill missing-urls.txtを実行します。URLリストの重複は除去され、利用可能な記録済みエントリはスキップされます。その後、別途--replayを実行してください。固定された論理クロックは、上流の状態を過去にさかのぼって測定したものではありません。新しい回答によって結果が変わる可能性があります。


テスト

python tests/test_risk.py               # engine regressions, offline, real upstream snapshots
python tests/test_mcp.py                # MCP protocol conformance
python tests/test_upstream_contract.py  # live: every path risk.py reads, against a measured baseline

tests/の各ケースは、実際に本番環境に到達した不具合に紐付けられています。

コントラクトテストには大きな意義があります。VetAgentの最悪のバグは、honeypot.isではフラグがhoneypotResultに格納されているのに、simulationResult.isHoneypotを読み取っていたことでした。そのキーは存在せず、参照結果はNoneになり、Falseとして扱われ、ハニーポットチェックは問い合わせられたすべてのトークンを気付かれずに通過させていました。モックを使ったテストでは、このバグを検出できませんでした。実際のAPIを呼び出して、レスポンスの構造をアサートするテストだけが検出できました。

**このリポジトリのルール:**何かを修正したと主張するコミットには、その修正前に失敗していたテストを必ず含めてください。

アーキテクチャ

Cloudflare Python Worker を使用し、重い依存関係はありません。

src/
  entry.py        HTTP routing (entry class must be named Default)
  risk.py         risk engine — assess / liquidity / new_pools
  mcp_server.py   hand-written streamable-http MCP endpoint (JSON-RPC 2.0)
  landing.html    landing page
bench/            accuracy benchmark (independent labels + ablation)
tests/            regression, protocol, and upstream-contract suites
docs/             agent integration guide, handoff, MCP registry manifest

MCP エンドポイントは、公式の mcp パッケージを使用せず、手書きで実装しています。このパッケージは pydantic の C 拡張を取り込みますが、Cloudflare Python Workers にはインストールできないためです。プレーンな JSON-RPC のほうが軽量で、すべてのクライアントと完全に互換性があることがわかりました。

データソース

ソース用途
DexScreenerペア、価格、流動性、取引量、ペアの経過時間
GeckoTerminal流動性のフォールバック、新規/トレンド中のプール
honeypot.is売買シミュレーション、税、総合リスク、コントラクトの公開状況 — Ethereum、BSC、Base のみ
RugCheckSolana のラグスコア、ミント/凍結権限、Token-2022 拡張機能。保有者の集中度は含まれません。2026-09-19 以降、レポートに保有者情報が含まれていないためです

GoPlus はエンジンでは使用しません。ベンチマークの保留済みオラクルとして確保されています。エンジンに追加するには、まずベンチマークに新たな独立したラベラーを用意する必要があります。そうしなければ、精度の数値が意味をなさなくなります。

ドキュメントの記載内容

ドキュメントは 4 つあり、それぞれ役割は 1 つです。同じ内容が 2 つに書かれていたら、どちらかが間違っています。

ドキュメント答える内容
README.md(このファイル)これは何か、どう呼び出すか
docs/DECISIONS.mdなぜこのように構築されているのか、そして各ルールを何が適用するのか
docs/STRATEGY.md誰が費用を負担するのか、競争優位性は何か、いつ終了するのか

変更した理由はコミットメッセージに記録されています。コミットメッセージは変更差分に紐付けられ、変更できません。コード行が一見不自然な理由は、その行の隣にあるコメントに記載されています。どちらもドキュメントには転記しません。転記した内容は、誰にも気づかれないまま古くなるためです。

対象範囲

VetAgent はオンチェーンで観測できるリスクを報告します。投資助言ではなく、ポジションサイズも決めません。また、チームの行動、ソーシャルエンジニアリング、ガバナンスを通じて実行されるラグなど、オフチェーンのリスクを把握することもできません。low は「実行されたチェックで致命的な兆候が見つからなかった」という意味であり、「安全に購入できる」という意味では決してありません。

ライセンス

MIT — LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。