MCP 서버

Nota

io.github.PugarHuda/nota
암호화폐 및 Web3 금융 및 투자 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Provides independent cryptocurrency market research covering prices, technical indicators, liquidity, derivatives positioning, news, sentiment, and historical scenarios.

crowd_odds
Crowd Odds
Prediction-market implied probability that a token trades higher than now at a horizon: the Polymarket 'above $K on <date>' ladder (Kalshi's KX<coin>D ladder as fallback) expiring within a day of now + horizon, liquid strikes only, made monotone and interpolated at spot. BTC, ETH, SOL, XRP (and DOGE on Kalshi); null when no market.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'spot': {'type': 'number', 'description': "Price to read the ladder at (default: Binance spot, which is what Polymarket's crypto ladders resolve on)"}, 'symbol': {'type': 'string', 'description': 'Token symbol, e.g. BTC'}, 'horizon_days': {'type': 'integer', 'description': '1 to 14 (default 7)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
liquidity_check
Liquidity Check
Macro liquidity from DefiLlama (no key): 7-day and 30-day change of the total USD stablecoin supply, and of DeFi TVL on the token's own chain (ETH, SOL, BNB, AVAX and other L1/L2 tokens). Each leg reports its own as_of and availability; a token without a chain of its own gets no TVL rather than a borrowed one.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
move_base_rate
Move Base Rate
Empirical probability that a token moves k ATRs (up or down, touched or closed beyond) within h days, counted from ~400 days of OKX daily candles on days in the same ATR tercile as today, with a time-split holdout. Pass RYO's atr_14_pct to measure the distance in RYO's ATR; k=0 with event=close gives the plain 'higher after h days' rate.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'k': {'type': 'number', 'description': 'Distance in ATRs (default 1)'}, 'as_of': {'type': 'string', 'description': 'YYYY-MM-DD: use only candles closed before this day (scoring a past call)'}, 'event': {'enum': ['touch', 'close'], 'type': 'string', 'description': 'Default touch'}, 'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL'}, 'direction': {'enum': ['up', 'down'], 'type': 'string', 'description': 'Default up'}, 'atr_14_pct': {'type': 'number', 'description': "RYO's ATR(14) as % of price (analyze_token or deep_analysis)"}, 'horizon_days': {'type': 'integer', 'description': '1 to 14 (default 3)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
narrative_convergence
Narrative Convergence
Monitor up to 20 user-selected voices (Telegram public channels, Bluesky and X handles) and report which tokens they mention, lexicon-scored sentiment per token, conviction and urgency, and whether the voices converge: at least two voices carry a non-zero net sentiment on the token and every one of them has the same sign.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['voices'], 'properties': {'hours': {'type': 'integer', 'description': 'Look-back window in hours (default 24)'}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Symbols to track; default = every cashtag, ticker or name of a known major found'}, 'voices': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 20 ids like tg:WatcherGuru, bs:handle.bsky.social or x:handle'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
news_verify
News Verify
Verify a crypto news claim: count independent domains reporting it (four outlets' RSS headlines plus Tavily or Venice web search), count those whose headline leans the opposite way, and attach the token's RYO analyze_token evidence so the story and the market read sit side by side.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['claim'], 'properties': {'claim': {'type': 'string', 'description': 'The story to verify, in one sentence'}, 'symbol': {'type': 'string', 'description': 'Token symbol to attach market evidence for'}, 'max_results': {'type': 'integer', 'description': 'Search results to inspect (default 6, max 20)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
positioning_check
Positioning Check
Decide, field by field, whether RYO's deep_analysis derivatives block can be cited as evidence about this token (identical values across other tokens, sign conflicts with OKX coin-terms open interest), and report OKX perp positioning: premium over spot on OKX and Hyperliquid, 24 h open-interest change in coins, long/short account ratio and its 100-hour percentile, and for BTC/ETH Deribit's DVOL implied 7-day move as a check on stop distance.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL'}, 'atr_stop_pct': {'type': 'number', 'description': "Stop distance in % of price (e.g. RYO's 1.5 x atr_14_pct), checked against the DVOL implied 7-day move"}, 'peer_derivatives': {'type': 'array', 'items': {'type': 'object'}, 'description': "Same-day RYO derivatives blocks for other symbols: [{symbol, funding_rate_bps, open_interest_change_24h_pct}]; taken from the day's scorecard locks when omitted"}, 'ryo_btc_funding_bps': {'type': 'number', 'description': 'Latest BTC funding from RYO monitor_market_sentiment_shift (evidence.funding.latest_bps)'}, 'reference_derivatives': {'type': 'object', 'description': 'RYO deep_analysis data.derivatives for this symbol; fetched from RYO when omitted and a RYO key is set'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
price_crosscheck
Price Crosscheck
Fetch independent USD spot prices for a symbol from CoinGecko, Coinbase, Kraken, Binance and DefiLlama (no keys), drop a source that disagrees with the rest as an outlier, report median and spread, and flag how far a reference price (e.g. RYO's) deviates from them.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL'}, 'reference_path': {'type': 'string', 'description': 'Where the reference price came from'}, 'reference_price': {'type': 'number', 'description': 'Price to compare against, e.g. RYO deep_analysis price'}, 'reference_fear_greed': {'type': 'number', 'description': 'A Fear & Greed value to compare with alternative.me'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
technicals_crosscheck
Technicals Crosscheck
Recompute RSI(14) and ATR(14) (Wilder smoothing) from 200 closed UTC-day candles (OKX, else Binance, else CoinGecko 4h OHLC aggregated to days) plus 1d/7d/30d performance, and report how far reference values (e.g. RYO's) deviate from the independent calculation.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['symbol'], 'properties': {'days': {'type': 'integer', 'description': 'lookback for performance, 7..90 (indicators always use 200 closed daily candles)'}, 'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL'}, 'reference_atr_14': {'type': 'number', 'description': 'ATR(14) in USD to compare against'}, 'reference_rsi_14': {'type': 'number', 'description': 'RSI(14) to compare against'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
verdict_track_record
Verdict Track Record
How RYO's own deep_analysis plans have fared: locked daily for 25 majors and settled on OKX hourly candles (stop or +1R target first, 24 h or 72 h). Returns counts by verdict and by confluence state, plans whose verdict leans against their own direction, and the latest locked verdict. Omit the symbol for all tokens.
읽기 전용
입력 스키마
{'type': 'object', 'required': [], 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol, e.g. SOL; omit for every token'}, 'horizon_hours': {'enum': [24, 72], 'type': 'integer', 'description': '24 (default) or 72'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$defs': {'Summary': {'type': 'object', 'title': 'Summary', 'properties': {'headline': {'type': 'string', 'title': 'Headline', 'default': ''}, 'key_points': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Key Points'}}, 'additionalProperties': True}}, 'title': 'Envelope', 'required': ['tool', 'status'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'additionalProperties': True}, 'tool': {'type': 'string', 'title': 'Tool'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'status': {'enum': ['ok', 'partial', 'unavailable'], 'type': 'string', 'title': 'Status'}, 'request': {'type': 'object', 'title': 'Request', 'additionalProperties': True}, 'summary': {'$ref': '#/$defs/Summary'}, 'trace_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trace Id', 'default': None}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Warnings'}, 'data_mode': {'enum': ['live', 'mixed', 'simulated', 'unknown'], 'type': 'string', 'title': 'Data Mode', 'default': 'unknown'}, 'availability': {'type': 'object', 'title': 'Availability', 'additionalProperties': True}, 'schema_version': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'title': 'Schema Version', 'default': None}}, 'additionalProperties': True}
추가됨
crowd_odds
2026년 9월 21일 2:54 AM
추가됨
liquidity_check
2026년 9월 21일 2:54 AM
변경됨
verdict_track_record
2026년 9월 21일 2:54 AM
변경됨
move_base_rate
2026년 9월 21일 2:54 AM
변경됨
positioning_check
2026년 9월 21일 2:54 AM
변경됨
technicals_crosscheck
2026년 9월 21일 2:54 AM
변경됨
price_crosscheck
2026년 9월 21일 2:54 AM
변경됨
news_verify
2026년 9월 21일 2:54 AM
변경됨
narrative_convergence
2026년 9월 21일 2:54 AM
추가됨
verdict_track_record
2026년 9월 19일 2:45 AM
추가됨
move_base_rate
2026년 9월 19일 2:45 AM
추가됨
positioning_check
2026년 9월 19일 2:45 AM
추가됨
technicals_crosscheck
2026년 9월 17일 12:49 PM
추가됨
price_crosscheck
2026년 9월 17일 12:49 PM
추가됨
news_verify
2026년 9월 17일 12:49 PM
추가됨
narrative_convergence
2026년 9월 17일 12:49 PM