MarketTwits news + Russian market data (x402)
NPM · X402-MARKETTWITS-MCP
Pay-per-call market news, CBR/MOEX/Rosstat data and Telegram tools; auto-pays USDC on Base via x402
Available components
Last scanned (49 minutes ago)
Scores higher than 39% of npm servers
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 112 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5112 tokens (~189/item across 27 items; 27 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 27 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 28 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Oct 26 69
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 23 Oct 2026 · Analysed npm/x402-markettwits-mcp@0.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 112 packages
| Packages resolved | 112 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_new_high_alert Is there new HIGH-importance news on a keyword in the last N hours? ~175
Is there new HIGH-importance news on a keyword in the last N hours?. Checks only importance=high news matching q in the last N hours (1-168, default 6): has_new, count and the latest item. Cheap poll for market-moving alerts on a topic/ticker. GET /news/alerts/new — price $0.005 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 6, clamped to 1-168) Default: 6. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
check_news_alert Keyword alert check: how many matching items in the last N hours ~164
Keyword alert check: how many matching items in the last N hours. Count of news matching q (same matching as /news/search) published in the last N hours (1-168, default 24), plus the 5 most recent GET /news/alerts/check — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 24, clamped to 1-168) Default: 24. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
compare_products Compare 2-5 Wildberries products: prices, cheapest, price spread, stock ~200
Compare 2-5 Wildberries products: prices, cheapest, price spread, stock. Fetches 2-5 product URLs (urls=comma-separated, or repeated url=) with the same live chain as /product/info and returns per-item title/price/original_price/in_stock/rating/reviews_count, the cheapest and most expensive item, price_diff (abs RUB and percent of the cheapest), in_stock_count and all_in_stock. Items that fail carry error/detail; returns 502 (payment not settled) only if fewer than 2 items returned a price. GET /product/compare — price $0.006 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| urls | string | yes | 2-5 comma-separated product URLs (Wildberries; Ozon is accepted but currently blocked by its anti-bot). Alternatively repeat url= instead. |
No output schema declared.
No examples provided.
get_cbr_fx_rates Official Bank of Russia FX rates (RUB) with day-over-day change ~198
Official Bank of Russia FX rates (RUB) with day-over-day change. CBR official exchange rates from cbr.ru XML_daily.asp for a date (default: the latest set) and optional currency codes: per currency nominal, value (RUB per nominal), per_unit (RUB per 1 unit), previous set's per_unit, change and change_pct. Cached 30 min (past dates 7 days). GET /ru/fx — price $0.0015 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| codes | string | – | Comma-separated ISO currency codes (default: all ~55 CBR currencies), e.g. USD,EUR,CNY |
| date | string | – | Rates date YYYY-MM-DD (default: latest set by CBR; 1992-07-01 .. tomorrow) |
No output schema declared.
No examples provided.
get_cbr_key_rate Bank of Russia key rate: current level, since when, and recent changes ~171
Bank of Russia key rate: current level, since when, and recent changes. Current CBR key rate (% p.a.) from the cbr.ru DailyInfo web service (KeyRateXML; the hd_base/KeyRate page as fallback): rate, as_of, effective_since, previous_rate, last_change_bp and every change in the last `months` (default 24) newest first, plus min/max in the window. Cached 3 h. GET /ru/key-rate — price $0.0015 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| months | integer | – | History window in months for `changes` (default 24, max 120) Default: 24. |
No output schema declared.
No examples provided.
get_country_news News about one country (flag emoji + country keywords) with counts and top topics ~228
News about one country (flag emoji + country keywords) with counts and top topics. Items of the last N hours (1-168, default 24; importance all|high|medium|low) that carry the country's flag emoji or mention it (e.g. RU: Russia/Kremlin/Bank of Russia/MOEX; US: USA/Fed/White House): count, high_count, share_of_window, top_topics and the 10 latest headlines. GET /news/country — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ISO 3166-1 alpha-2 country code (e.g. US, RU, CN, UA, IR, GB; UK = GB; EU accepted) |
| hours | integer | – | Look-back window in hours (default 24, clamped to 1-168) Default: 24. |
| importance | string | – | Importance filter (default all) Default: all. |
No output schema declared.
No examples provided.
get_data_surprises Macro data and earnings vs. expectations: actual, expected, previous, surprise ~217
Macro data and earnings vs. expectations: actual, expected, previous, surprise. Parses releases like 'US Pending Home Sales (Sep) = -7.3% m/m (exp. -0.5% / prev. +0.3%)' and earnings lines like '3Q REV. $14.58B, EST. $12.87B' from news of the last N hours (1-168, default 24; optional q filter): indicator, actual, expected, previous, unit, surprise (actual - expected), surprise_pct and direction above/below/inline. GET /news/data-surprises — price $0.006 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 24, clamped to 1-168) Default: 24. |
| q | string | – | Optional keyword filter (same matching as /news/search) |
No output schema declared.
No examples provided.
get_important_news High-importance news only (newest first) ~97
High-importance news only (newest first). Only importance=high MarketTwits news (newest first), limit 1-50 GET /news/important — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of items (newest first) Default: 20. |
No output schema declared.
No examples provided.
get_latest_news Latest translated MarketTwits news (newest first) ~94
Latest translated MarketTwits news (newest first). Latest translated MarketTwits news (newest first), limit 1-50 GET /news/latest — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of items (newest first) Default: 20. |
No output schema declared.
No examples provided.
get_moex_index MOEX index values (IMOEX, RTSI, sector indices) or the index catalogue ~191
MOEX index values (IMOEX, RTSI, sector indices) or the index catalogue. Index level, change/change_pct vs previous close, open/high/low, month/year change, annual high/low and traded value for up to 5 codes (default IMOEX), or code=list for the catalogue of MOEX stock indices (SNDX board + RTS*). Delayed ~15 minutes. Unknown codes -> 404 (not settled). GET /moex/index — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | – | Index code(s), up to 5 comma-separated (default IMOEX; e.g. RTSI, MOEXBMI, MOEXOG), or `list` for the catalogue of stock indices Default: IMOEX. |
No output schema declared.
No examples provided.
get_moex_movers Top gainers and losers on the Moscow Exchange main board (TQBR), with market breadth ~210
Top gainers and losers on the Moscow Exchange main board (TQBR), with market breadth. Ranks TQBR shares by change vs previous close (turnover >= min_value RUB, default 5 mln): top `limit` gainers and losers (default 10, max 50), advancers/decliners/unchanged. Before the session's first trades (mode previous_session) it ranks the last completed session from ISS history. Delayed ~15 minutes. GET /moex/movers — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Gainers and losers to return (each side, default 10, max 50) Default: 10. |
| min_value | – | – | Minimum turnover in RUB to count a stock (default 5000000; filters illiquid names) Default: 5000000. |
No output schema declared.
No examples provided.
get_moex_quote Moscow Exchange stock quote (delayed ~15 min): price, change, volume, bid/offer ~191
Moscow Exchange stock quote (delayed ~15 min): price, change, volume, bid/offer. One MOEX shares-market ticker from MOEX ISS (main board TQBR when listed): price (last trade, or previous close before the session's first trade), change/change_pct vs previous close, open/high/low, bid/offer, volume, value_rub, market cap, trading status. Data is delayed ~15 minutes (delayed: true). Unknown ticker -> 404 (not settled). GET /moex/quote — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | MOEX ticker (SECID) on the shares market, e.g. SBER, GAZP, LKOH, YDEX, T |
No output schema declared.
No examples provided.
get_news_digest Sectioned briefing: central banks, macro, energy, equities, crypto, geopolitics ~165
Sectioned briefing: central banks, macro, energy, equities, crypto, geopolitics. Groups news of the last N hours (1-48, default 24) into central_banks, macro, energy, equities, crypto and geopolitics by keyword rules (an item may appear in several), each with count, high_count and up to 5 headlines (high first, then newest), plus top_topics of high items. GET /news/digest — price $0.01 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 24, clamped to 1-48) Default: 24. |
No output schema declared.
No examples provided.
get_news_movers Top gainers/losers reported in the news ('#TICKER = ±X%') ~210
Top gainers/losers reported in the news ('#TICKER = ±X%'). Parses '#TICKER [Name] = ±X%' price-move mentions (stocks, indices, crypto; RU/US/... from the flag) in news of the last N hours (1-72, default 6), newest mention per ticker, |move| >= min_pct (default 0): top 10 gainers and top 10 losers with the source item. GET /news/movers — price $0.005 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 6, clamped to 1-72) Default: 6. |
| min_pct | – | – | Minimum absolute move in percent (default 0, max 100), e.g. 3 or 2.5 Default: 0. |
No output schema declared.
No examples provided.
get_news_sentiment Heuristic bullish/bearish tone of news on a keyword (lexicon, not a model) ~232
Heuristic bullish/bearish tone of news on a keyword (lexicon, not a model). Scores each item matching q in the last N hours (1-168, default 24) with a keyword/emoji lexicon (rise/beat/upgrade vs. fall/miss/sanctions, ⬆️/⬇️) plus explicit '= ±X%' moves, and returns bullish/bearish/neutral counts, score = (bullish - bearish)/count in [-1, 1], a label and examples. method is always 'heuristic'. GET /news/sentiment — price $0.005 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 24, clamped to 1-168) Default: 24. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
get_news_since Incremental feed: items newer than the id you already have (cursor polling) ~172
Incremental feed: items newer than the id you already have (cursor polling). All stored items with id > id (oldest first, up to limit 1-100, default 50) plus next_id/has_more for the next call. The cheapest way for a bot to poll without duplicates: keep next_id and pass it back. GET /news/since — price $0.002 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| id | – | yes | Last item id you already have (0 = from the oldest stored item). Items with a larger id are returned, oldest first. |
| limit | integer | – | Max items per page (default 50, max 100) Default: 50. |
No output schema declared.
No examples provided.
get_product_info Wildberries / Ozon product card: title, price (RUB), rating, reviews, stock ~216
Wildberries / Ozon product card: title, price (RUB), rating, reviews, stock. Live product data for a Wildberries (wildberries.ru, wb.ru) or Ozon (ozon.ru) product URL: title, current price in RUB (original_amount = list price before discount when known), rating, reviews_count and availability. Cached 10 min per product. If the marketplace blocks or fails, returns 502 upstream_unavailable and the payment is NOT settled. Can take up to ~40s when the live page has to be rendered. GET /product/info — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Product page URL: https://www.wildberries.ru/catalog/<id>/detail.aspx (also wb.ru, *.wildberries.ru) or https://www.ozon.ru/product/<slug>-<id>/ (also *.ozon.ru) |
No output schema declared.
No examples provided.
get_product_price_history Wildberries price history: weekly CDN points + observed + live price, min/max/avg, 30-day change ~251
Wildberries price history: weekly CDN points + observed + live price, min/max/avg, 30-day change. Price history for a Wildberries product: weekly points from WB's public price-history CDN (weekly_cdn), prices this service observed on earlier lookups (observed; in-memory, reset on restart), and the current live price (live). Returns points (oldest first), current, stats min/max/avg, change_30d (vs. the latest point at least 30 days old) and history_limited:true with a note when only the current price exists. Ozon has no public history (only live, currently blocked). 502 (not settled) only when no price at all is available. GET /product/history — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Product page URL: https://www.wildberries.ru/catalog/<id>/detail.aspx (also wb.ru, *.wildberries.ru) or https://www.ozon.ru/product/<slug>-<id>/ (also *.ozon.ru) |
No output schema declared.
No examples provided.
get_ru_fuel_prices Russian retail fuel prices (AI-92/95/98, diesel) — Rosstat weekly averages ~195
Russian retail fuel prices (AI-92/95/98, diesel) — Rosstat weekly averages. Average retail pump prices across Russia from Rosstat's weekly release (rosstat.gov.ru nedel_sred_cen.xlsx): price (RUB/l), as_of, week-over-week change, 4-week and year-to-date change and `weeks` of history per fuel. Rosstat publishes weekly (usually Wednesday, prices as of Monday); cached 6 h, a stale copy (stale: true) is served for up to 14 days if Rosstat is unreachable. GET /ru/fuel — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| weeks | integer | – | Weekly history points to include per fuel (0-52, default 4) Default: 4. |
No output schema declared.
No examples provided.
get_telegram_channel_latest Latest posts of a public Telegram channel (text, date, views, link) ~199
Latest posts of a public Telegram channel (text, date, views, link). Reads the public web preview t.me/s/<channel> (no login): newest `limit` posts (default 20, max 50) with id, date, text (HTML stripped, emoji kept), views, link, media types and channel title/subscribers. Channels without a public preview or that do not exist -> 404 (not settled). Cached 2 min. GET /tg/channel/latest — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | Public Telegram channel username (5-32 chars; '@name' or a t.me link also accepted), e.g. markettwits |
| limit | integer | – | Messages to return (default 20, max 50) Default: 20. |
No output schema declared.
No examples provided.
get_top_topics Top 5 keywords/hashtags in high-importance news of the last N hours ~130
Top 5 keywords/hashtags in high-importance news of the last N hours. Top 5 topics (hashtags, names, keywords; counted once per item) across high-importance news of the last N hours (1-72, default 6) GET /news/top-topics — price $0.005 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 6, clamped to 1-72) Default: 6. |
No output schema declared.
No examples provided.
get_trending_topics Trending topics in high-importance news with change vs. the previous window ~154
Trending topics in high-importance news with change vs. the previous window. Top 5 topics (hashtags, names, keywords; counted once per item) in high-importance news of the last N hours (1-72, default 6), each with prev_count in the previous equal-length window, change = count - prev_count, and latest_id/latest_source_url GET /news/topics/trending — price $0.004 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 6, clamped to 1-72) Default: 6. |
No output schema declared.
No examples provided.
monitor_product_price Price-target check for one product: is the current price at or below target_price? ~266
Price-target check for one product: is the current price at or below target_price?. Fetches one Wildberries/Ozon product (same live chain as /product/info) and compares it with target_price (RUB): below_target (current <= target and not out of stock), current_price, diff_abs/diff_percent, in_stock, the full product object and checked_at. Use it as a paid poll for price alerts. If the product is out of stock with no price it returns 200 with below_target false, current_price null, in_stock false and a note; if no product data can be fetched at all it returns 502 and the payment is not settled. GET /product/monitor — price $0.005 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| target_price | – | yes | Target price in RUB, a positive number (e.g. 1500 or 1499.90) |
| url | string | yes | Product page URL: https://www.wildberries.ru/catalog/<id>/detail.aspx (also wb.ru, *.wildberries.ru) or https://www.ozon.ru/product/<slug>-<id>/ (also *.ozon.ru) |
No output schema declared.
No examples provided.
search_news Keyword search in translated news (newest first) ~135
Keyword search in translated news (newest first). Case-insensitive keyword search in translated MarketTwits news (all words must match), limit 1-50 GET /news/search — price $0.003 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of items (newest first) Default: 20. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
search_telegram_channels Search up to 5 public Telegram channels for a keyword ~212
Search up to 5 public Telegram channels for a keyword. Runs Telegram's own channel search (t.me/s/<channel>?q=) on 1-5 public channels, merges the matches newest first (up to `limit`, default 20) with per-channel counts/errors. 404 when no channel exists, 502 when all fail; partial failures are reported in per_channel. GET /tg/search — price $0.006 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| channels | string | yes | 1-5 comma-separated public channel usernames, e.g. markettwits,rbc_news |
| limit | integer | – | Messages to return (default 20, max 50) Default: 20. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
summarize_news Short extractive English summary of the latest news on a keyword ~163
Short extractive English summary of the latest news on a keyword. 3-5 sentence extractive summary of the latest news matching q (limit 1-50, default 10): lead sentence + de-duplicated headlines, high-importance first GET /news/summary — price $0.008 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of latest matching items to summarize (default 10, max 50) Default: 10. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
summarize_recent_news Extractive English summary of news on a keyword from the last N hours ~177
Extractive English summary of news on a keyword from the last N hours. 3-5 sentence extractive summary of news matching q published in the last N hours (1-168, default 12; up to 50 items), with high_count. Use for 'what happened with X today'. GET /news/summary/recent — price $0.007 USDC per call, paid automatically via x402 on Base (only successful responses are charged; 400/404/502 are free).
| Name | Type | Req | Description |
|---|---|---|---|
| hours | integer | – | Look-back window in hours (default 12, clamped to 1-168) Default: 12. |
| q | string | yes | Keywords (case-insensitive). Several words = all must match. Hashtags match with or without '#', e.g. 'oil', '#Fed rates'. |
No output schema declared.
No examples provided.
How do I install the MarketTwits news + Russian market data (x402) MCP server?
MarketTwits news + Russian market data (x402) runs locally as an npm package, launched with npx -y x402-markettwits-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · x402-markettwits-mcp
claude mcp add croomee-x402-markettwits-mcp -- npx -y x402-markettwits-mcp
What is the MarketTwits news + Russian market data (x402) MCP server?
MarketTwits news + Russian market data (x402) is an MCP server listed in the public MCP registry as io.github.Croomee/x402-markettwits-mcp. Pay-per-call market news, CBR/MOEX/Rosstat data and Telegram tools; auto-pays USDC on Base via x402. This page covers its npm package (x402-markettwits-mcp).
Is the MarketTwits news + Russian market data (x402) MCP server safe to use?
MarketTwits news + Russian market data (x402) scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 23 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the MarketTwits news + Russian market data (x402) MCP server expose?
MarketTwits news + Russian market data (x402) exposes 27 tools: get_moex_index, get_moex_movers, get_moex_quote, check_news_alert, check_new_high_alert, and 22 more. Their descriptions and schemas cost roughly 5,013 tokens of context every time the server is loaded.
Is the MarketTwits news + Russian market data (x402) MCP server still maintained?
MarketTwits news + Russian market data (x402) is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the MarketTwits news + Russian market data (x402) MCP server under?
MarketTwits news + Russian market data (x402) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.