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 分