SwapHunt crypto market context

io.github.swaphunt由 GitHub 帳號 swaphunt 發布v0.4.1更新於 Nov 6, 2026

Hyperliquid prices, regime, vol, funding, dip/FOMO checks, plus Fear & Greed; USDC per call (x402)

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

為 AI 助理提供付費的加密市場行情脈絡:Hyperliquid 永續價格、市場狀態、波動率、資金費率與判斷工具,以及恐懼貪婪指數,按次以 USDC 計費。

可以做什麼
  • 查詢單一資產或一次最多 20 個資產的 USDC 價格,並列出所有可報價的 Hyperliquid 永續合約。
  • 評估市場狀況:BTC 市場狀態、盤整或趨勢判斷、已實現波動率、市場沉寂分數、波動壓縮警示、預期波動區間、交易時段與週末流動性。
  • 檢視資金費率:目前逐小時費率、多空擁擠排行,以及含百分位數的歷史費率。
  • 衡量市場廣度與相對強弱:山寨季指數、幣種相對 BTC 強弱、動能排名與 BTC 相關性。
  • 對單一幣種做判斷:是否真跌、突破是否確認、支撐是否有效、是否超賣、行情走到多晚、拉升持續多久、是否過度延伸、連紅K天數。
  • 讀取加密恐懼貪婪指數(目前、與先前比較或每日歷史),取得 BTC 或 LTC 減半倒數,以及免費的本次工作階段花費報告。
適用情境
適合希望助理用計算好的指標而非原始圖表回答加密市場問題:市場情緒、BTC 狀態、資金費率擁擠度、山寨季廣度,或判斷下跌與突破是否有意義。也適合偶爾、有針對性的查詢,且能接受每次少量 USDC 費用。
執行需求
透過 uvx 從 PyPI 在本機執行,需先安裝 uv。付費需要 Base 主網上存有幾美元 USDC 的專用錢包,透過 PRIVATE_KEY_FILE(建議)或 PRIVATE_KEY 提供,並設定 X402_PAY=1 才會真正付費。MAX_SPEND_USD 設定單次工作階段上限(預設 0.10)。未設定這些時所有工具都是試跑,只回報價格。
安裝前請注意
除 get_spending 外每個工具都花費真實 USDC,一次工作階段可能花錢,應把 MAX_SPEND_USD 設低。伺服器需要錢包私鑰(PRIVATE_KEY 或 PRIVATE_KEY_FILE),README 建議使用只放幾美元的專用錢包,絕不要用主錢包。付款後失敗的呼叫仍計入上限並標示為可能已付款。恐懼貪婪資料來自 alternative.me,結果帶有署名文字。輸出不構成投資建議。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SwapHunt crypto market context,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

SwapHunt MCP server

An MCP server that gives Claude and other AI agents 30 paid SwapHunt tools: prices, BTC market regime, chop detection, volatility, expected move, funding rates, the Alt Season Index, coin strength, momentum and correlation vs BTC, and anti-FOMO sanity checks (is this a dip, a breakout, support, oversold; how late am I, pump age, extension, green-candle streak), all computed from Hyperliquid perpetuals (USDC-margined); plus the Crypto Fear & Greed Index (current, compared with earlier days, and daily history), the halving countdown, and the current trading session and weekend liquidity. The agent pays per call in USDC on Base via x402, from a wallet you control, with a spending cap per session.

Every tool description states its price, so the agent can see what a call costs before making it.

bash
uvx swaphunt-mcp            # needs uv: https://docs.astral.sh/uv/

Tools

ToolPriceWhat it returns
get_spendingfreeWhat the session has spent and how much budget is left
get_fear_greed$0.001Crypto Fear & Greed Index (0-100) with its label
get_fear_greed_compare$0.002The index now vs yesterday, 7 and 30 days ago, with the changes
get_fear_greed_history$0.005Daily index values for up to 365 days
get_halving$0.001Halving countdown for BTC or LTC
get_trading_session$0.001Current trading session and its typical volatility
get_weekend_liquidity$0.001Weekend or low-liquidity window, with a 0-100 liquidity score

From Hyperliquid perpetuals (USDC-margined)

These tools are computed from Hyperliquid perpetuals, and every result has "source": "Hyperliquid perpetuals". Prices are in USDC (USD and USDT are accepted as aliases). Funding is settled hourly; the annualized rate is the hourly rate x 8760.

ToolPriceWhat it returns
get_price$0.001One asset's price in USDC (price_type mark or mid), 24h change and volume
get_prices$0.003Prices for up to 20 assets in one call
get_supported_assets$0.001Every asset the price tools can quote (all active Hyperliquid perps)
get_market_regime$0.002BTC regime (BULLISH/BEARISH/NEUTRAL) from price vs the 12h EMA20
get_chop_detection$0.003Trending or chopping (ADX, +DI/-DI) on 1h, 4h or 1d
get_volatility$0.002Realized volatility over 7d, 14d or 30d with a low/normal/high/extreme level
get_market_silence$0.002Market-silence score 0-1 (low volume, low volatility, small moves)
get_compression_alert$0.003Volatility squeeze (Bollinger band width percentile) on 1h, 4h or 1d
get_expected_move$0.003ATR-based 68% and 95% price ranges for 4h, 1d or 1w
get_funding_rates$0.003Current hourly funding for up to 20 coins, annualized, with 7d/30d averages
get_top_funding_rates$0.003The most positive or most negative funding rates across all perps
get_funding_history$0.004Hourly funding history for one coin, up to 365 days, with percentile of the latest rate
get_alt_season$0.003SwapHunt Alt Season Index (0-100): share of top perps beating BTC over 90 days

Coin analysis and sanity checks (Hyperliquid perpetuals, top 50 coins)

These tools are also computed from Hyperliquid perpetuals (USDC-margined), with prices and levels in USDC. They cover the top 50 Hyperliquid perpetuals by 30-day volume (the covered list from get_supported_assets). For any other coin the API answers 422 not_covered before asking for payment: nothing is charged, nothing counts against the session cap, and the tool returns the covered list so the agent can pick another coin.

ToolPriceWhat it returns
get_coin_strength$0.003A coin's return minus BTC's over 24h, 7d or 30d, rated very_strong to very_weak
get_momentum_rank$0.003Covered coins ranked by return over 24h, 7d or 30d: top and bottom performers
get_correlation$0.003Pearson correlation of a coin's returns with BTC's over 7d or 30d
is_this_a_dip$0.003Drop from the 14-day high vs the 14-day ATR: real dip or noise
is_this_a_breakout$0.003Breakout through a price level up or down: confirmed or likely fakeout
is_this_support$0.003Whether a price level is real support: touches, recency and bounce quality over 90 days
is_this_oversold$0.003RSI(14) on 1h, 4h and 1d combined into a weighted RSI, with a verdict
how_late_am_i$0.003How far a move has run from its 4h swing low, in % and ATR multiples
get_pump_age$0.003Active pump detection on 15m candles: start, duration and size vs the average pump
is_price_extended$0.003Distance from the 20 and 50 MA on 4h, Bollinger position and z-score
get_green_candle_streak$0.003Current green-candle streak on 1h, 4h or 1d and how often the next candle was green

An uncovered coin returns, for example:

json
{"error": "not_covered", "charged": false, "message": "SEI is not covered yet. Covered: top 50 Hyperliquid perpetuals by 30-day volume. Nothing was paid. Retry with one of the covered coins.", "symbol": "SEI", "covered": ["AAVE", "ADA", "AERO", "...", "kPEPE"], "coverage_rule": "Top 50 Hyperliquid perpetuals by 30-day notional volume (stablecoins excluded), recomputed daily. ..."}

Fear & Greed results include an attribution field. Alternative.me, the source of the index, asks for that text next to its data, and the tool descriptions tell the agent to include it.

Setup

Use a dedicated wallet with a few dollars of USDC on Base mainnet. Never your main wallet.

Store the wallet key in a file only you can read, so it never sits in a config file:

bash
install -m 600 /dev/null ~/.swaphunt-wallet.keynano ~/.swaphunt-wallet.key        # paste the private key, save

The server runs with uv's uvx, which downloads it from PyPI into its own environment. There is nothing to clone or install by hand. Try it without a wallet first: with no settings, every tool is a dry run.

Settings

VariableDefaultEffect
X402_PAYoffWithout X402_PAY=1, every tool runs as a dry run: it reports the price and returns no data.
PRIVATE_KEY_FILEPath to a file with the wallet's private key (recommended).
PRIVATE_KEYThe key itself, if you prefer an environment variable.
MAX_SPEND_USD0.10Spending cap for the session (one server process). Calls beyond it are refused, not paid.

Each payment is also locked to the price, asset (USDC), network (Base) and payTo address the API quoted for that call, and a tool refuses to pay more than the price in its description. If a call fails after the payment was sent, it still counts against the cap and is reported as "possibly paid".

Claude Code

bash
claude mcp add swaphunt \  --env X402_PAY=1 \  --env PRIVATE_KEY_FILE=$HOME/.swaphunt-wallet.key \  --env MAX_SPEND_USD=0.25 \  -- uvx swaphunt-mcp

Then ask, for example:

  • "What's the crypto market mood today, how has it changed over the past month, and how long until the next Bitcoin halving?"
  • "What are BTC, ETH and SOL trading at, and is BTC in a bullish or bearish regime right now?"
  • "Is ETH chopping or trending on the 4h chart, and is its volatility compressing?"
  • "Which coins have the most crowded longs by funding, and is BTC's current funding unusual compared with the last 90 days?"
  • "How far could SOL move today, and are we in alt season?"
  • "ETH dropped today. Is it a real dip or just noise, is it oversold, and how late would I be buying the bounce?"
  • "SOL is pumping. How old is the pump, is it already extended, and is it stronger than BTC this week?"

Claude Desktop

Add this to claude_desktop_config.json (Settings → Developer → Edit Config) and restart Claude Desktop:

json
{  "mcpServers": {    "swaphunt": {      "command": "uvx",      "args": ["swaphunt-mcp"],      "env": {        "X402_PAY": "1",        "PRIVATE_KEY_FILE": "/home/you/.swaphunt-wallet.key",        "MAX_SPEND_USD": "0.25"      }    }  }}

If Claude Desktop can't find uvx, use its full path (which uvx on macOS/Linux, where uvx on Windows).

What a tool call returns

Paid:

json
{  "data": {"value": 30, "label": "Fear", "timestamp": "2026-10-31T00:00:00", "source": "alternative.me", "...": "..."},  "cost_usd": 0.001,  "session_spent_usd": 0.001,  "session_remaining_usd": 0.099,  "tx": "https://basescan.org/tx/0x<transaction-hash>"}

Dry run (no X402_PAY=1):

json
{"dry_run": true, "would_cost_usd": 0.001, "network": "eip155:8453", "note": "Dry run, nothing paid and no data. The user can set X402_PAY=1 to enable payments."}

When the cap is reached:

json
{"error": "Session spending cap reached: $0.002 spent of MAX_SPEND_USD=$0.0025; this call costs $0.001. Restart the server or raise MAX_SPEND_USD."}

Run from source

bash
git clone https://github.com/swaphunt/x402-examples.gitcd x402-examples/mcp-serveruv run swaphunt-mcp            # or: uv run swaphunt-mcp --check

For maintainers

uvx swaphunt-mcp --check compares every tool's advertised price with the live API. It pays nothing.

Source, issues and the other x402 examples (quickstart, daily brief, alert bot): github.com/swaphunt/x402-examples.

Nothing here is investment advice.

來源:mcp-server/README.md,提交 79f0116

工具

31

get_spending

Free. Shows payment mode, USDC spent this session, calls made and budget left.

無需輸入參數。

get_fear_greed

Crypto Fear & Greed Index (0-100) with its label, updated daily. When showing the value, include the `attribution` text from the result. Costs $0.001 USDC per call.

無需輸入參數。

get_fear_greed_compare

Fear & Greed Index now vs yesterday, 7 and 30 days ago, with the changes. When showing the values, include the `attribution` text from the result. Costs $0.002 USDC per call.

無需輸入參數。

get_fear_greed_history

Daily Fear & Greed history: the last `days` (up to 365), or `start_date` to `end_date` (YYYY-MM-DD). When showing the values, include the `attribution` text from the result. Costs $0.005 USDC per call.

輸入參數daysend_datestart_date

get_halving

Halving countdown for `coin` (BTC or LTC): blocks remaining and estimated date of the next halving. Costs $0.001 USDC per call.

輸入參數coin

get_price

Live price of one asset in USDC: perp mark price (`price_type` mark) or order-book mid (`price_type` mid), with 24h change and 24h volume. `asset` is any active perp (BTC, ETH, SOL ...; BTCUSDT and BTC-PERP also mean BTC). `currency` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Costs $0.001 USDC per call.

輸入參數assetcurrencyprice_type

get_prices

Prices in USDC for up to 20 assets in one call (`assets` comma-separated, e.g. 'BTC,ETH,SOL'), each with 24h change and volume; unknown symbols are skipped. `price_type` mark or mid. Cheaper than several get_price calls. From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數assetscurrencyprice_type

get_supported_assets

List of every asset get_price and get_prices can quote: all active perps, by Hyperliquid name (e.g. kPEPE = 1,000 PEPE). From Hyperliquid perpetuals (USDC-margined). Costs $0.001 USDC per call.

無需輸入參數。

get_market_regime

Current BTC market regime (BULLISH/BEARISH/NEUTRAL): BTC perp price vs its 20-period EMA on 12h candles, with EMA value and slope. Updates at 00:00 and 12:00 UTC. From Hyperliquid perpetuals (USDC-margined). Costs $0.002 USDC per call.

無需輸入參數。

get_chop_detection

Is `asset` trending or chopping? ADX-based, with +DI/-DI and trend direction, on `timeframe` (1h, 4h, 1d). `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數assetquotetimeframe

get_volatility

Realized volatility of `asset` over `period` (7d, 14d, 30d): daily and annualized %, a low/normal/high/extreme level and today's UTC range. Backward-looking, not implied vol. From Hyperliquid perpetuals (USDC-margined). Costs $0.002 USDC per call.

輸入參數assetperiod

get_market_silence

Market-silence score 0-1 for `asset` over `lookback` (7d, 14d, 30d): low volume, low volatility and small price change combined. High silence often comes before a big move. From Hyperliquid perpetuals (USDC-margined). Costs $0.002 USDC per call.

輸入參數assetlookback

get_compression_alert

Volatility squeeze detector (Bollinger band width and its percentile) for `asset` on `timeframe` (1h, 4h, 1d): extreme/strong/moderate/none. Detects the setup, not the direction. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數assetquotetimeframe

get_expected_move

ATR-based expected price range for `asset` over `period` (4h, 1d, 1w): 68% and 95% bands around the current price, in USDC. A statistical range, not a forecast. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數assetquoteperiod

get_funding_rates

Current funding rates for up to 20 coins (`symbols` comma-separated, e.g. 'BTC,ETH,SOL'). Funding is hourly: funding_rate_pct is the hourly rate, annualized = hourly x 8760; with 7d/30d averages and a crowding signal. Positive = longs pay shorts. From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數symbols

get_top_funding_rates

Leaderboard of the `limit` (1-50) most extreme current funding rates across all active perps, `sort` highest (crowded longs) or lowest (crowded shorts). Hourly funding, annualized = hourly x 8760. From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

輸入參數sortlimit

get_funding_history

Settled hourly funding history for one coin (`symbol`) over the last `days` (1-365): average, range, share of positive hours and the percentile of the latest rate. `history_days` in the result shows how much history that coin has. Annualized = hourly x 8760. From Hyperliquid perpetuals (USDC-margined). Costs $0.004 USDC per call.

輸入參數dayssymbol

get_alt_season

SwapHunt Alt Season Index (0-100), daily: share of the top 100 perps by 30-day volume (excl. BTC and stablecoins) that beat BTC over 90 days. >=75 alt season, <=25 bitcoin season. From Hyperliquid perpetuals (USDC-margined). Costs $0.003 USDC per call.

無需輸入參數。

get_coin_strength

Strength of `coin` vs BTC: the coin's return minus BTC's over `period` (24h, 7d, 30d), rated very_strong/strong/neutral/weak/very_weak. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數coinquoteperiod

get_momentum_rank

Momentum leaderboard: covered coins ranked by return over `period` (24h, 7d, 30d), with the `limit` (1-20) top and bottom performers and the full ranking. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Ranks only the top 50 Hyperliquid perpetuals by 30-day volume. Costs $0.003 USDC per call.

輸入參數limitquoteperiod

get_correlation

Pearson correlation (-1 to +1) of `coin`'s returns with BTC's over `period` (7d on 1h candles, 30d on 4h candles), with a level from very_high to negative. Shows whether a coin moves on its own or just tracks BTC. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數coinquoteperiod

is_this_a_dip

Is this a real dip? Drop of `symbol` from its 14-day high compared with its 14-day ATR on daily candles; a drop smaller than normal daily volatility is noise. Returns is_dip, drop_pct, atr_pct and a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbol

is_this_a_breakout

Is a breakout of `symbol` through `level` (price in USDC, required) confirmed or a likely fakeout? `direction` up or down. Uses 1h candles: volume vs the 20-candle average and time held beyond the level, with a fakeout probability. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數level必填quotesymboldirection

is_this_support

Is `level` (price in USDC, required) real support for `symbol`? Checks 90 daily candles for repeated, recent touches and clean bounces; returns touch_count, days_since_last_touch, bounce_quality and a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數level必填quotesymbol

is_this_oversold

Is `symbol` really oversold? RSI(14) on 1h, 4h and 1d candles combined into a weighted RSI (20/30/50%), with a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbol

how_late_am_i

How late am I to this move? Distance of `symbol` from its recent swing low on 4h candles, in % and ATR multiples, ranked against its own history, with a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbol

get_pump_age

How old is this pump? Detects an active pump in `symbol` on the last 24 hours of 15m candles: start time, duration, size and the average pump length, with a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbol

is_price_extended

Is `symbol` already extended? Distance from the 20 and 50 MA on 4h candles, Bollinger band position and z-score, with a verdict. `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbol

get_green_candle_streak

Current green-candle streak of `symbol` on `interval` (1h, 4h, 1d) candles, its gain, the average streak and how often the next candle was green after similar streaks (last 100 candles). `quote` is USDC (USD and USDT accepted as aliases). From Hyperliquid perpetuals (USDC-margined). Covers the top 50 Hyperliquid perpetuals by 30-day volume (list in get_supported_assets, field `covered`); other coins are rejected with not_covered and not charged. Costs $0.003 USDC per call.

輸入參數quotesymbolinterval

get_trading_session

Current trading session (Asia, London, New York, off-hours) and its typical volatility. Costs $0.001 USDC per call.

無需輸入參數。

get_weekend_liquidity

Is it a weekend or low-liquidity window right now? Returns a 0-100 liquidity score and the session. Costs $0.001 USDC per call.

無需輸入參數。

版本歷史

1
  1. v0.4.1最新Nov 5, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分