Shumi

ai.shumi由 shumi.ai 發布官方發布者v1.3.0更新於 Oct 24, 2026

Crypto market intelligence: prices, funding rates, narratives, regime, and delta-neutral research.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取金融資料與分析

概覽

AI 產生的概覽

Shumi 讓助理取得唯讀的加密市場情報:價格、趨勢、資金費率、情緒、敘事、市場狀態訊號、配對與代幣解鎖。

可以做什麼
  • 查詢幣種、解析模糊符號,讀取價格、趨勢、情緒、歷史快照與整合的風險脈絡
  • 掃描市場:趨勢掃描、漲跌排行、全域彙總、市場健康度、狀態轉換、敘事與分類
  • 讀取永續合約資金費率動能、資金費率警示、期貨訊號、配對與中性套利想法、訊號品質
  • 追蹤以永續合約交易的實體資產(股票、ETF、大宗商品、指數、外匯),以及代幣解鎖與解鎖行事曆
  • 檢視持幣族群、被追蹤錢包、籃子快照與影片及播客逐字稿摘要
  • 以自然語言詢問加密市場問題,或搜尋加密相關網路資訊
適用情境
適合需要以結構化資料而非猜測回答加密市場問題的情境:幣種研究、資金費率與 carry 背景、漲跌與敘事掃描、解鎖時程,或中性套利配對研究。
執行需求
需要 Shumi API 金鑰(shumi_sk_*),透過 SHUMI_TOKEN 提供,可於 shumi.ai 建立。可用 npx @shumi-ai/mcp 在本機執行,或連線 mcp.shumi.ai 遠端端點,並以 Authorization Bearer 或 x-api-key 標頭傳送金鑰。SHUMI_API_URL 可覆寫 API 位址,SHUMI_WALLET 可加入查詢脈絡。需要網路連線。
安裝前請注意
API 金鑰是付費憑證,不要放進 URL,因為 URL 會留在伺服器日誌與瀏覽紀錄中。用量由伺服器端依 free/access/pro 方案與按次計費控管,超出配額會回傳錯誤。共用連接器的標頭屬於整個組織,所有人共用一個帳號與配額。工具為唯讀,但查詢內容與錢包脈絡會傳送到 Shumi 的 API。

安裝

在 SourceWeft 中

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

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ai.shumi%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "shumi": {
      "type": "http",
      "url": "https://mcp.shumi.ai/mcp"
    }
  }
}

README

@shumi-ai/mcp

Shumi crypto trade-intelligence as an MCP server — the same market intelligence the shumi CLI provides, for any MCP client (Claude Desktop, Claude Code, Cursor, agents).

It's a thin wrapper over Shumi's data API: prices, trends, funding rates, sentiment, narratives, market regime, synthesized signals, pair / delta-neutral ideas, real-world assets, holder and wallet tracking, and transcript highlights. All tools are read-only.

Quick start

You need a Shumi API key (shumi_sk_…). Create one at https://shumi.ai.

Claude Desktop / Claude Code

Add to your MCP config (claude_desktop_config.json, or claude mcp add for Claude Code):

json
{  "mcpServers": {    "shumi": {      "command": "npx",      "args": ["-y", "@shumi-ai/mcp"],      "env": {        "SHUMI_TOKEN": "shumi_sk_your_key_here"      }    }  }}

Restart the client. The shumi tools (e.g. get_coin_risk, get_market_health, ask_shumi) appear automatically.

Cursor

~/.cursor/mcp.json uses the same command / args / env shape as above.

Plugin directories

This repo also ships plugin.json and mcp.json at its root, so it installs as an Agent Plugin from Cursor's directory and any other client on that standard.

Set SHUMI_TOKEN in your environment before starting the client when you install this way. The Agent Plugins schema takes literal environment values only — it has no placeholder for a secret — so the manifest deliberately omits env rather than shipping a ${SHUMI_TOKEN} string that would be passed through verbatim and fail as an invalid key.

Tools

Typed (deterministic): get_coin_risk, lookup_coin, resolve_coin, get_coin_sentiment, get_coin_historical, get_market_health, get_market_crossing, get_global_market, get_prices, scan_trends, scan_coins, get_market_sentiment, list_narratives, get_narrative, list_categories, get_category, get_funding_momentum, get_funding_alerts, get_regime, get_signal, get_signal_quality, get_pair_suggestions, list_rwa_assets, get_rwa_asset, get_unlocks, get_unlock_calendar, get_holders, get_wallets, get_futures_signals, get_basket, get_transcripts.

Real-world assets (list_rwa_assets, get_rwa_asset) cover stocks, ETFs, commodities, indices and FX trading as perps on Hyperliquid builder DEXes. They are not crypto tokens — the coin tools will not find them.

Free-form: ask_shumi (natural-language questions — Shumi classifies, fetches, and synthesizes) and search_web.

List-returning tools accept top (keep first N items) and fields (comma-separated keys to keep) to save tokens.

Resources: shumi://capabilities (the data surface) and shumi://billing/tier (your current entitlement).

Configuration

Env varDefaultPurpose
SHUMI_TOKEN—API key (shumi_sk_*). Required.
SHUMI_API_URLproduction coinrotator-ai endpointOverride the API base URL.
SHUMI_WALLET—Wallet address to include in NLP query context.

Gating (free / access / pro tiers and pay-per-call) is enforced server-side, exactly as for the CLI — out-of-quota responses come back as a structured error with an actionable hint.

Remote (HTTP)

For a hosted, multi-user deployment:

bash
PORT=8787 SHUMI_MCP_ALLOWED_ORIGINS=https://yourapp.com npm run start:http

Each request authenticates with its own key header; that token is forwarded to the upstream API per request. Endpoint: POST /mcp, health: GET /health.

Connecting from Claude (static_headers)

Claude supports a fixed credential entered as a request header, so no OAuth server is needed. In Add custom connector → request headers, an organisation administrator enters:

fieldvalue
URLhttps://mcp.shumi.ai/mcp
Header nameAuthorization
Header valueBearer shumi_sk_…

x-api-key: shumi_sk_… works too, and so does an Authorization value with the Bearer prefix omitted — an admin types this once by hand, and a mistyped pair fails closed with no error they can see, so all three shapes are accepted. x-api-key wins if both are present, on the grounds that an admin who set it meant it.

Do not put the key in the URL. The MCP authorization spec prohibits access tokens in the URI query string and Anthropic documents a credential in a URL as a security vulnerability — URLs land in server logs, proxies and browser history. The ?shumiToken= / ?config= query forms exist only because Smithery injects session config that way.

One thing to know before buying for a team: a static_headers credential is shared by the organisation, not per user. Everyone connecting through that connector shares one Shumi account, one free-tier allowance and one quota. Per-user metering needs OAuth — see docs/oauth-plan.md.

An unauthenticated call is answered with 200 and an in-band AUTH_REQUIRED error, not 401. That is deliberate: Claude treats a 401 as the start of an OAuth flow, and a server with no authorization server behind it would send the client into a handshake that cannot complete. The 401 path exists but is gated behind SHUMI_MCP_AUTH_SERVER, so it lights up only once there is an authorization server to point at.

The server is stateless. One endpoint serves both protocol revisions:

  • 2026-07-28 — no initialize, no Mcp-Session-Id. A request carries its own routing in headers (Mcp-Method, plus Mcp-Name on tools/call) and its protocol envelope in params._meta, so an intermediary can route and meter a call without parsing the body.
  • 2025-11-25 and earlier — still served. Old clients keep their initialize handshake, but each exchange is answered by its own instance rather than a session.

Because nothing outlives a request, GET and DELETE (the 2025 session operations) return 405, and the session tunables that used to live here — SHUMI_MCP_SESSION_TTL_MS, SHUMI_MCP_MAX_SESSIONS, SHUMI_MCP_SESSION_SWEEP_MS — are gone. They are safe to delete from any deployment; unset they do nothing. The idle-session reaper they configured existed to stop liveness probes from growing the heap, which cannot happen when no session is kept.

Develop

bash
npm installnpm test                # unit tests (no network)npm run inspect         # open the MCP Inspector against the stdio serverSHUMI_TOKEN=… npm start # run the stdio server

Deliberately not exposed

Two CLI routes have no MCP tool, both on purpose:

  • walkforward — the route exists, but two of its three actions have nothing behind them while Engine B is paused: positions is empty and outcomes holds a single row from 2026-05-28. Shipping it would hand a caller an empty array with no reason attached. It goes in when the engine resumes.
  • watch — server-sent events, which do not fit MCP tool semantics.

Everything else in the CLI's typed surface has a tool.

來源:README.md,提交 402232f

工具

33

get_coin_risk

Coin risk context

Bundled risk context for one or more coins: price, funding APR, deterministic funding_paying_side, funding_receiving_side, carry_if_long and carry_if_short fields, daily/weekly trend, sentiment stance, and BTC correlation. Funding applies to perpetual positions only; spot positions neither pay nor receive it. Relay the carry fields exactly rather than inferring direction from crowding. The best single tool for "should I be worried about X".

輸入參數symbols必填

lookup_coin

Look up a coin

Look up a single coin and its core metrics (price, trend, metadata) by symbol, name, CoinGecko/internal id, or on-chain contract address. Read the coin's CURRENT trend from `currentTrend` ({ trend: UP|DOWN|HODL, since, days, asOf, incompleteDayExcluded }; `currentTrendWeekly` when present is the weekly one), not from the last row of `trends` — `trends` is the history of past trend runs. Quote it as "<trend> since <since> (<days> days, as of <asOf>)". Only when `currentTrend` is absent, fall back to the last `trends` row.

輸入參數bychainidentifier必填

resolve_coin

Resolve a coin (fuzzy)

Fuzzily resolve a symbol, name, or contract to canonical coin candidates. Use this first when the user input is ambiguous, before calling other tools.

輸入參數limitquery必填

get_coin_sentiment

Coin sentiment

On-chain/social sentiment aggregates for a single coin.

輸入參數symbol必填

get_coin_historical

Coin metrics at a past point in time

Market cap, volume, open interest, funding rate and price for a coin AS OF a chosen point in the past. Returns a single snapshot, not a series: call it once per point you want to compare (e.g. amount=7 interval=d for a week ago, then again with no offset for now). Use this to answer "how has funding/open interest changed since…".

輸入參數amountsymbol必填interval

get_market_health

Market health

Overall market health: the UP/HODL/DOWN trend distribution and extreme movers. Set context for the full bundle.

輸入參數context

get_global_market

Global market aggregates

Global market aggregates: BTC dominance, total market cap, total volume.

無需輸入參數。

get_market_crossing

Market trend crossing

The most recent regime crossing — when one trend cohort (UP/HODL/DOWN) overtook another market-wide. Answers "has the market flipped?". Returns an empty `crossings` array plus a message when no crossing has fired.

無需輸入參數。

get_prices

Bulk live prices

Bulk live prices, optionally with 4h/24h/7d baseline overlays. Omit symbols for the full tracked set.

輸入參數topfieldssymbolsbaselines

scan_coins

Scan / filter coins

Filter the tracked universe by trend direction, category and market-cap band, and sort the result. For movers questions ("what's pumping", "top gainers/losers today", "biggest movers") use sort_by="change24h" ("change7d" for the week) — sort_order="desc" for gainers, "asc" for losers — and quote each row's change from the row itself (`change_24h_pct` / `change_7d_pct`, or `change24h` / `change7d`). With the default marketCap sort rows are plain coin names; a change sort may return `{ rows: [...] }` with a coverage summary instead of a bare list. Pass ONE category per call; the server ignores case and punctuation ("meme", "Layer 2" and "DeFi" all work) and rejects an unknown name with close matches (list_categories has the names). There is no exchange filter yet: `exchange` is rejected with an explanation, because the only venue data behind this scan is spot listings. Do not present a scan as "coins on <exchange>". An empty result means no coin matched all the filters.

輸入參數toplimittrendfieldssort_bycategoryexchangeintervalmcap_maxmcap_minsort_order

get_market_sentiment

Market sentiment

Aggregate market sentiment. view=market/latest/summary (overall), narratives, categories, slopes/entity-slopes (what is trending), health (pipeline status).

輸入參數topviewfields

list_narratives

List narratives

List the currently active market narratives (e.g. "AI coins", "DeFi summer").

輸入參數topfields

get_narrative

Narrative sentiment

Sentiment and momentum for a single named narrative.

輸入參數name必填

list_categories

List categories

List tracked crypto categories by their exact names (e.g. "Meme", "Layer-2"), the names scan_coins expects.

輸入參數topfields

get_category

Category detail

Detail for one category. view=info (trend breakdown), coins (member coins), sentiment.

輸入參數topname必填viewfields

get_funding_momentum

Funding momentum

Perpetual funding-rate positioning context, market-wide or for one symbol. APR is already in percent units (1.7 = 1.7%). Positive funding means longs pay and shorts receive; negative funding means shorts pay and longs receive. Funding is context only, not a standalone directional, timing, or entry signal.

輸入參數symbol

get_funding_alerts

Funding alerts

Discrete funding-rate alert events (asset, trigger zone, funding at trigger, fired-at time).

輸入參數topfields

get_regime

Market regime

Market regime signals. view=active (current positions), signals (all), confidence (scores). Provide symbol to get that symbol's regime history instead.

輸入參數viewsymbol

get_signal

Synthesized signal

Synthesized verdict for a coin, combining trend, funding, sentiment and regime.

輸入參數symbol必填

get_signal_quality

Signal quality

Signal validation envelope for an asset: Sharpe ratio, win rate, sample size, reliability tier.

輸入參數asset必填signal_type

get_pair_suggestions

Pair / delta-neutral suggestions

Pair-trading and delta-neutral funding-arbitrage intelligence. mode=suggestions (pair ideas), delta-neutral (funding arb), history (backtest), signal (state for a specific pair — needs token_a & token_b).

輸入參數topmodelimitfieldssymboltoken_atoken_bdex_onlyexchange

list_rwa_assets

List real-world assets

List the tradable real-world assets — stocks and ETFs (AAPL, NVDA, SPY), metals and commodities (GOLD, SILVER, BRENT), stock indices (SP500, JP225) and FX. These trade as perps on Hyperliquid builder DEXes and are NOT crypto tokens; the crypto tools will not find them. Use this to answer "which stocks/commodities can I look at?".

輸入參數dextoptype

get_rwa_asset

Real-world asset detail

Price, daily/weekly trend and perp funding for one real-world asset (stock, ETF, commodity, index, FX). Look up by ticker (AAPL, GOLD) or by namespaced id (xyz:AAPL). Funding belongs to the PERPETUAL CONTRACT, not the underlying — `funding.apr` is the annualized rate in percent, `funding.rate` is the raw per-hour fraction. Do not use the crypto coin tools for these.

輸入參數byidentifier必填

get_unlocks

Token unlock schedule

Scheduled token unlocks for ONE coin: the next unlock (date, days until, tokens, USD value, % of market cap, recipients such as team/investors/ecosystem, cliff or monthly tranche), what releases over 30 and 90 days, % unlocked and locked, the final unlock date, the last unlock, and how price moved in the 7 days before and after its last 3-6 unlocks (history, not a forecast). Sources: DropsTab cross-checked with DefiLlama, each figure with its source link and fetch time; `state` says `upcoming`, `fully_unlocked`, `no_unlock_data` or `not_covered` (then `publishedSchedule` may carry the project's own vesting terms). Answers "when is ARB's next unlock?", "who gets the OP unlock?", "how did SUI trade around its unlocks?".

輸入參數coinIdsymbol必填

get_unlock_calendar

Unlock calendar (market-wide)

Upcoming token unlocks ACROSS THE MARKET when no single coin is named: each row has date, days until, coin, tokens, USD value, % of market cap, recipients and insider (team + investor) share, with its source. Defaults: next 7 days, top 500 coins, at least 0.5 % of market cap, ranked by % of market cap. Only coins DropsTab tracks; each recipient's next release only. Answers "biggest unlocks this week?", "big VC unlocks this month?". For one coin use get_unlocks.

輸入參數dayssortlimitminPctmaxRankinsidersOnly

get_holders

Token holder tracking

Tracked token-holder cohorts. view=watchlist (which token contracts are tracked), movements (recent holder-count changes for one contract). Answers "is the holder base growing or bleeding?".

輸入參數topviewlimitfieldscontract

get_wallets

Wallet tracking

Tracked wallets. view=watchlist (which wallets are tracked), movements (recent balance changes for one wallet address). Answers "what did this wallet do recently?".

輸入參數topviewlimitfieldsaddress

get_futures_signals

Futures signals

Perpetual-futures signal engine. view=state (currently open signals), log (recent fires), history (one asset's past signals — needs asset).

輸入參數topviewassetfields

get_basket

Basket snapshots

Daily snapshots of the tracked basket — composition and performance over time.

輸入參數topfields

get_transcripts

Transcript highlights

Highlights mined from tracked video/podcast transcripts. view=highlights (extracted claims with the coins, sectors and macro tags they mention), sources (which channels are tracked). Answers "what are people actually saying about X?".

輸入參數topviewfields

ask_shumi

Ask Shumi (free-form)

Ask Shumi any crypto-market question in natural language. Shumi classifies the query, fetches the relevant data, and returns a synthesized answer. Use this when no specific typed tool fits, or for multi-part / comparative questions.

輸入參數query必填archetype

search_web

Search the web

Search the web for crypto information, or get a direct answer. Backed by Shumi's web-search tool.

輸入參數query必填answer

版本歷史

3
  1. v1.3.0最新Oct 14, 2026
  2. v1.2.1Sep 24, 2026
  3. v1.1.1Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分