mcpField
H
Haris Guardian - Solana Token Risk Check

Haris Guardian - Solana Token Risk Check

リモート
harisguardian.netlify.app金融データ01 週間前に更新
リポジトリ公式サイト

Haris Guardian - Solana Token Risk Check について

Haris Guardian は、Solana SPL と Token-2022 トークンを読み取り専用でリスク検査します。リスクを評価するユーザー向けに、権限、保有集中度、流動性、売買シミュレーションに基づく 0~100 のスコア、判定、理由を返します。

主な機能

  1. 010~100 のリスクスコアと判定
  2. 02ミント権限と凍結権限の確認
  3. 03Token-2022 のリスク要素検査
  4. 04保有集中度と流動性の分析
  5. 05売買シミュレーションによるハニーポット検査
  6. 06単件、バッチ、差分チェック

活用シーン

  1. 01Solana トークンのリスク要因の確認
  2. 02トークン検査結果の変化の比較
  3. 03複数のミントアドレスの一括検査
  4. 04取引前の権限と流動性の確認

MCP 対応

Streamable HTTP の MCP エンドポイントから、トークン検査、詳細検査、バッチ検査、差分検査のツールを利用できます。読み取り専用で、署名、取引、鍵の保管は行いません。

設定

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

エンドポイントhttps://haris-api.vercel.app/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Haris Guardian のロゴ

Haris Guardian — Solana トークンのリスクチェック(MCP + REST + x402)

Solana SPL および Token-2022 トークンを対象に、読み取り専用で詐欺・ラグプルのリスクをチェックします。ミントアドレスを指定すると、0~100 のリスクスコア(数値が高いほどリスクが高い)、判定結果、分かりやすい理由を返します。署名、取引、鍵の保管は一切行いません。

チェック項目

  • ミント権限と凍結権限
  • Token-2022 の落とし穴:永続的なデリゲート、転送フック、転送手数料
  • 保有者の集中度
  • 流動性、LP のバーン/ロック率、Streamflow のロック
  • 購入と売却のシミュレーション(ハニーポットテスト)

エンドポイント

インターフェースURL
MCP(streamable-http)https://haris-api.vercel.app/mcp — ツール check_solana_token、diff_solana_token、deep_check_solana_token、batch_check_solana_tokens
REST(無料、1日3回)GET https://haris-api.vercel.app/v1/check/{mint}
REST(有料、x402)POST https://haris-api.vercel.app/v1/paid/check · GET /v1/paid/check/{mint}
詳細チェック(x402)POST https://haris-api.vercel.app/v1/paid/deep-check {"mint"}
一括チェック(x402)POST https://haris-api.vercel.app/v1/paid/batch-check {"mints": [up to 20]}
監視/差分(x402)POST https://haris-api.vercel.app/v1/paid/diff {"mint", "previous"}
OpenAPIhttps://haris-api.vercel.app/openapi.json
ドキュメントhttps://haris-api.vercel.app/docs
llms.txthttps://haris-api.vercel.app/llms.txt
A2A エージェントカードhttps://haris-api.vercel.app/.well-known/agent.json

料金

  • IP アドレスごとに、1日3回まで無料でチェックできます。
  • それ以降は、**x402 経由で1回あたり $0.01 USDC(Solana または Base)**です(HTTP 402 → 支払い → 再試行)。402 レスポンスには両方の支払い方法が記載されます。USDC を保有しているチェーンを選んで支払ってください。
    • Base(eip155:8453、USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913、正確な金額/EIP-3009):0xCf2187a039c9ac286Ee43ECc46cBc6DaEB4Fa633 に支払います
    • Solana(solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp、USDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v):7ZpBTGZ7mBm81esAq77FFm293zAuGM3Hi249fKPnVDfJ に支払います
    • 両チェーンともネットワーク手数料はファシリテーターが負担するため、必要なのは USDC のみです。
  • 詳細チェック $0.10:保有者の集中度(上位1/5/10件の割合)、共通の資金提供者によって関連付けられた上位ウォレット(バンドル/インサイダー)、クリエイターが資金提供したウォレットと新規ウォレット、LP のロック/バーン、権限、スコアと理由。
  • 一括チェックは最大20件のミントにつき1バッチあたり $0.10(少なくとも1件のミントをチェックした場合のみ課金されます)。
  • 監視/差分 $0.02:以前の結果を送信すると、変更点(権限の再有効化、LP のロック解除、流動性の引き上げ、売却のブロック)についてアラートを受け取れます。ステートレスです。
  • 失敗した呼び出しに料金は発生しません。docs/API.md を参照してください。

クイックスタート

1. 無料、ウォレット不要(UTC 1日あたり、IPごとに3回チェック):

curl https://haris-api.vercel.app/v1/check/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

2. 有料、x402経由でチェック1回につき0.01 USDC(SolanaまたはBase)。未払いの呼び出しには、チェーンごとに1つのaccepts[]エントリーを含むHTTP 402が返されます。 x402クライアントはUSDCで支払いに署名し、リクエストを再試行します。ウォレットに必要なのはUSDCのみです(ネットワーク手数料はファシリテーターが支払います)。チェックに失敗した場合、料金は請求されません。

curl -i -X POST https://haris-api.vercel.app/v1/paid/check -H 'content-type: application/json' -d '{"mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}'
# -> 402, v1 challenge in the body, v2 challenge base64 in the PAYMENT-REQUIRED header
チェーンネットワーク(CAIP-2)アセットpayTo
Baseeip155:8453USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA029130xCf2187a039c9ac286Ee43ECc46cBc6DaEB4Fa633
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpUSDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v7ZpBTGZ7mBm81esAq77FFm293zAuGM3Hi249fKPnVDfJ

Python(pip install "x402[httpx,evm,svm]"):

import asyncio, os
from x402 import x402Client
from x402.http.clients import x402HttpxClient

client = x402Client()
if os.getenv("EVM_PRIVATE_KEY"):      # Base
    from eth_account import Account
    from x402.mechanisms.evm.exact import register_exact_evm_client
    from x402.mechanisms.evm.signers import EthAccountSigner
    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
if os.getenv("SOLANA_PRIVATE_KEY"):   # Solana (base58 secret key)
    from solders.keypair import Keypair
    from x402.mechanisms.svm.exact import register_exact_svm_client
    from x402.mechanisms.svm.signers import KeypairSigner
    register_exact_svm_client(client, KeypairSigner(Keypair.from_base58_string(os.environ["SOLANA_PRIVATE_KEY"])))

async def main():
    async with x402HttpxClient(client, timeout=60) as http:
        r = await http.post("https://haris-api.vercel.app/v1/paid/check", json={"mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"})
        print(r.status_code, r.json())

asyncio.run(main())

TypeScript(npm i @x402/fetch @x402/evm @x402/svm viem @solana/kit @scure/base):

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { ExactSvmScheme } from "@x402/svm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
import { createKeyPairSignerFromBytes } from "@solana/kit";
import { base58 } from "@scure/base";

const client = new x402Client();
if (process.env.EVM_PRIVATE_KEY)      // Base
  client.register("eip155:8453", new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`)));
if (process.env.SOLANA_PRIVATE_KEY)   // Solana
  client.register("solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    new ExactSvmScheme(await createKeyPairSignerFromBytes(base58.decode(process.env.SOLANA_PRIVATE_KEY))));

const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const r = await fetchWithPayment("https://haris-api.vercel.app/v1/paid/check", {
  method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ mint: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" }),
});
console.log(r.status, await r.json());

その他の有料エンドポイントも同じ方法で利用できます(POST JSON):/v1/paid/deep-check {"mint"} $0.10、 /v1/paid/batch-check {"mints": [...]}(最大20件)$0.10、/v1/paid/diff {"mint", "previous"} $0.02。 MCP:https://haris-api.vercel.app/mcp(ストリーミング可能なHTTP)、ツールはcheck_solana_token、diff_solana_token(無料枠)、 deep_check_solana_token、batch_check_solana_tokensです。 実行可能なサンプル一式:https://github.com/fitness9991/haris-guardian/tree/main/examples

MCPクライアントの設定:

{ "mcpServers": { "haris-guardian": { "type": "http", "url": "https://haris-api.vercel.app/mcp" } } }

Cline:「type」には"streamableHttp"を使用してください(llms-install.mdを参照)。

LLM向けの概要:https://haris-api.vercel.app/llms.txt

制限事項と注意点

スコアはヒューリスティックな指標であり、投資助言でも保証でもありません。スコアが低くても、トークンの安全性や値上がりを意味するものではありません。

リンク

ウェブサイト https://harisguardian.netlify.app · X @HarisGuard_SOL · Telegramボット:Haris Guardian · お問い合わせ [email protected]

コメント

MCP は初めてですか?

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

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