Free crypto news MCP server — 38 tools, 130+ sources, market data, sentiment, whale alerts & more
io.github.nirholas/free-crypto-news MCP Server
This MCP server provides a free crypto news API interface, exposing market data and related signals such as sentiment and whale alerts. It is described as “Free Crypto News API,” with no authentication, and an API offering hundreds of endpoints plus a large set of sources.
🛠️ Key Features
38 tools
130+ sources (readme lists 300+ sources)
Market data, sentiment, whale alerts, and news
No authentication (“auth: none”)
Hosted MCP server at https://cryptocurrency.cv/api/mcp or local via npx -y @nirholas/free-crypto-news-mcp
⭐ If this saves you time, star the repo. It helps others find it.
⚡ Quick Start
Thirty seconds, no key required. cURL works as-is:
bash
# Latest headlines from every source
curl https://cryptocurrency.cv/api/news
# Only the last two hours
curl https://cryptocurrency.cv/api/breaking
# Full-text search
curl "https://cryptocurrency.cv/api/search?q=bitcoin%20etf"# Filter by category, cap the result size
curl "https://cryptocurrency.cv/api/news?category=defi&limit=20"# Ask a question, answered from today's news (AI)
curl "https://cryptocurrency.cv/api/ask?q=why%20is%20ETH%20up%20today"
Every endpoint returns JSON, is CORS-enabled, and works from a browser, a script, or an agent tool call. Response shape:
json
{"articles":[{"title":"Bitcoin Hits New ATH","link":"https://coindesk.com/...","description":"Bitcoin surpassed...","pubDate":"2026-01-02T12:00:00Z","source":"CoinDesk","timeAgo":"2h ago"}],"totalCount":150,"fetchedAt":"2026-01-02T14:30:00Z"}
Python, Go, PHP, Rust, Ruby, Swift, Kotlin, Java, C#, and R clients live in sdk/ as copy-in source; runnable samples for bots, agents, and 12 languages live in examples/.
🎁 What You Get
Capability
Details
Sources
300+ RSS feeds in 21 categories plus 77 international outlets (KO, ZH, JA, ES and more) with on-the-fly translation. Tiered by credibility. Details
Audit any x402 API's discovery contract against the challenges it actually returns. docs, page
Versioned
/api/v1/*
Stable aliases for everything above
AI endpoint examples
The AI routes need no key either. They run on the hosted Groq integration:
bash
# Natural-language question over today's news
curl "https://cryptocurrency.cv/api/ask?q=what%20happened%20with%20the%20SEC%20this%20week"# One-paragraph summary of the current feed
curl "https://cryptocurrency.cv/api/ai/summarize"# Emerging narratives, ranked by momentum
curl "https://cryptocurrency.cv/api/ai/narratives?emerging=true"# Daily brief for a given date
curl "https://cryptocurrency.cv/api/ai/brief?date=2026-08-26&format=summary"# Retrieval-augmented answer over the 662k-article archive
curl "https://cryptocurrency.cv/api/rag?q=bitcoin%20etf%20approval%20timeline"
Historical archive
662,047 articles (CryptoPanic English coverage from September 2017 plus Odaily Chinese coverage), enriched with tickers, named entities, sentiment and the BTC/ETH price and Fear & Greed reading at capture time.
bash
curl "https://cryptocurrency.cv/api/archive?date=2024-01"# one month
curl "https://cryptocurrency.cv/api/archive?ticker=BTC&limit=100"# by ticker
curl "https://cryptocurrency.cv/api/archive?q=bitcoin%20etf"# full text
curl "https://cryptocurrency.cv/api/archive?start_date=2025-01-01&end_date=2025-01-07"
curl "https://cryptocurrency.cv/api/archive?stats=true"# counts and coverage
Use the whole API from Claude Desktop, Claude Code, Cursor, or any Model Context Protocol client. 40+ tools (news, search, archive, sentiment, market data, portfolio); the full tool list is in mcp/README.md.
Hosted endpoint, zero install. A Streamable-HTTP server runs at https://cryptocurrency.cv/api/mcp:
Or run it from a checkout: git clone https://github.com/nirholas/cryptocurrency.cv.git && cd cryptocurrency.cv/mcp && npm install && node index.js.
Other agent surfaces: a ChatGPT custom GPT and OpenAI plugin manifest (/.well-known/ai-plugin.json), Google A2A agent card (/.well-known/agent.json), LangChain and CrewAI samples in examples/agents/, and copy-paste integrations for Discord, Telegram, Slack and LangChain in docs/reference/integrations.md.
🧩 Widgets
Embed a live news feed in any page with one script tag. Source and examples in widget/.
ticker.js scrolls headlines, carousel.js renders cards, embed.js drops a full feed into a container. All three read data-* attributes for limit, category, speed and theme.
🐳 Self-Hosting
Everything runs from one Next.js app. All environment variables are optional; without any, you get the full news API. Set GROQ_API_KEY (free at console.groq.com) to switch on the AI endpoints. The complete variable list, Kubernetes manifests and observability stack are in docs/reference/self-hosting.md.
Docker
bash
git clone https://github.com/nirholas/cryptocurrency.cv.git
cd cryptocurrency.cv
docker compose up -d
# API on http://localhost:3000/api/news
Railway, Render, DigitalOcean, CasaOS, Unraid and Portainer templates are in the repo root (railway.json, render.yaml, .do/, casaos-app.yaml, unraid-template.xml, portainer-template.json). General deployment notes: docs/DEPLOYMENT.md.
🏗️ Architecture
Next.js 15 App Router on the Edge and Node runtimes; src/app/api/ holds every route handler.
Fetch layer pulls feeds in parallel with per-source timeouts, dedupes by content hash, and normalises to the article schema above.
Caching at three levels: in-memory, Redis (optional), and CDN s-maxage headers, so a cold fetch is rare.
AI layer calls Groq for summaries, sentiment, fact-checks and briefs; RAG indexes the archive into pgvector (docs/RAG.md).
Archive is append-only JSONL by month, enriched with tickers, entities, sentiment and market context, exposed through /api/archive.
Realtime via SSE and a WebSocket server (ws-server.js) fed by the same fetch layer.
Payments: premium routes are gated by x402; the facilitator lives in x402-facilitator/. The discovery contract those routes publish is audited by sdk/x402-conformance/, which also ships standalone: npx @nirholas/x402-conformance <origin>.
Agents: MCP (hosted at /api/mcp, local in mcp/), OpenAPI, llms.txt, and /.well-known/* manifests are generated from the same route metadata.
Web app: 89 pages of React server and client components, installable as a PWA, localised into 42 languages.
Bug fixes, new sources, translations and docs are all welcome. Read CONTRIBUTING.md for the workflow, SUPPORT.md for where to ask questions, and SECURITY.md to report a vulnerability. Contributions are accepted under the repository license below.
Add a news source: open an issue with the new source template or edit src/lib/crypto-news.ts.
Improve a translation: edit the file under locales/.
📄 License
Source-available, all rights reserved. See LICENSE for the code terms.
The hosted API at cryptocurrency.cv is free to use, with or without attribution. Running the code yourself, redistributing it, or building a competing hosted service requires permission under the terms in LICENSE.