Pay-per-call market news, CBR/MOEX/Rosstat data and Telegram tools; auto-pays USDC on Base via x402
MCPpedia last refreshed this data
io.github.Croomee/x402-markettwits-mcp is an MCP server that pay-per-call market news, CBR/MOEX/Rosstat data and Telegram tools; auto-pays USDC on Base via x402. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-croomee-x402-markettwits-mcp": {
"args": [
"-y",
"x402-markettwits-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Pay-per-call market news, CBR/MOEX/Rosstat data and Telegram tools; auto-pays USDC on Base via x402
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked x402-markettwits-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
A curated list of skills, tools, tutorials, and capabilities for AI coding agents (Claude, Codex, Antigravity, Copilot, VS Code)
MCP Security Weekly
Get CVE alerts and security updates for io.github.Croomee/x402-markettwits-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
x402-paid HTTP API serving English translations of MarketTwits (t.me/markettwits) market news.
Built with Express and the official x402 v2 packages (@x402/express, @x402/core, @x402/evm).
| Route | Access | Notes |
|---|---|---|
GET /health | free | mode, network, facilitator (cdp/x402.org/custom), price, item count, newest id, ingest on/off |
GET /news/sample | free | newest item, text truncated to 80 chars (discovery) |
GET /news/latest?limit=N | x402: $0.0015 USDC | newest first, default 20, max 50 |
GET /news/important?limit=N | x402: $0.0015 USDC | only importance=high, newest first |
GET /news/search?q=WORDS&limit=N | x402: $0.0015 USDC | case-insensitive, all words must match, #tag = tag; q 1-100 chars. Invalid q → 400 before payment (missing q without a payment → 402 so discovery probes work); no match → 200 items: [] |
GET /news/alerts/check?q=WORDS&hours=24 | x402: $0.002 USDC | keyword alert: count of matching items in the last N hours (1-168) + 5 most recent: {query, hours, count, since, latest_id, latest_published_at, items} |
GET /news/summary?q=WORDS&limit=10 | x402: $0.004 USDC | 3-5 sentence extractive English summary of the latest matching items (limit 1-50): {query, count, summary, items} |
GET /news/top-topics?hours=6 | x402: $0.0025 USDC | top 5 hashtags/keywords in high-importance items of the last N hours (1-72); falls back to the last 20 high items (fallback: true) |
GET /news/summary/recent?q=WORDS&hours=12 | x402: $0.0035 USDC | like /news/summary but over matching items from the last N hours (1-168, max 50 items): {query, hours, since, count, high_count, summary, items} |
GET /news/alerts/new?q=WORDS&hours=6 | x402: $0.0025 USDC | only HIGH-importance matches in the last N hours (1-168): {query, hours, since, has_new, count, latest} (latest null if none) |
GET /news/topics/trending?hours=6 | x402: $0.002 USDC | top 5 topics in high items of the last N hours (1-72) with prev_count, change (= count − count in the previous equal window) and latest_id/latest_source_url; same fallback as /news/top-topics (then compared with the 20 high items before) |
GET /news/since?id=LAST_ID&limit=50 | x402: $0.001 USDC | cursor polling: items with id > LAST_ID (0 = from the oldest stored), oldest first, up to limit (1-100, default 50): {since_id, count, has_more, next_id, latest_id, items}; pass next_id back as id. Bad id/limit → 400 before payment; no id and no payment → 402 |
GET /news/movers?hours=6&min_pct=2 | x402: $0.0025 USDC | top 10 gainers / losers parsed from #TICKER [Name] = ±X% lines (sign from ⬆️/⬇️ when missing, country from the flag; m/m, y/y data excluded) in the last N hours (1-72), newest mention per ticker, ` |
GET /news/country?code=RU&hours=24&importance=all | x402: $0.002 USDC | items of the last N hours (1-168) with the country's flag or keywords (14 countries have keyword lists, e.g. RU: Russia/Kremlin/Bank of Russia/MOEX; any ISO-2 code matches by flag; UK = GB; EU): {code, flag, count, high_count, by_flag, share_of_window, top_topics, latest[10]}; importance = all/high/medium/low |
GET /news/data-surprises?hours=24&q=CPI | x402: $0.003 USDC | macro releases (X = A (exp E / prev P)) and earnings (3Q REV. $A, EST. $E) vs. expectations in the last N hours (1-168), optional q: {count, above, below, items:[{kind, indicator, ticker?, actual, expected, previous, unit, surprise, surprise_pct, direction}]} |
GET /news/sentiment?q=oil&hours=24 | x402: $0.0025 USDC | heuristic tone of items matching q (keyword + emoji lexicon, parsed = ±X% moves weigh double; not a model): {count, bullish, bearish, neutral, score∈[-1,1], label, method:"heuristic", examples}. q |