Back to MCP directory
publicPublicdnsLocal runtime

free-crypto-news

免费加密货币新闻API,提供来自200多个来源的实时新闻聚合,无需API密钥,支持AI分析、多语言翻译和历史存档。

article

README

🚀 免费加密新闻 API

免费加密新闻 API 是一个强大且免费的工具,提供来自 200 多个来源的实时加密新闻。它无需身份验证,提供 150 多个端点,支持多语言翻译,还具备丰富的高级功能和分析工具,能满足开发者和用户对加密新闻数据的各种需求。

🚀 快速开始

使用此 API 非常简单,只需一个 API 调用,就能从 200 多个来源获取实时加密新闻。例如,使用以下 curl 命令获取最新新闻:

curl https://cryptocurrency.cv/api/news

✨ 主要特性

  • 免费使用:永久免费,无需 API 密钥。
  • 多源聚合:从 130 多个英文媒体和 76 个国际来源聚合新闻。
  • 多语言支持:支持 18 种语言的实时翻译。
  • AI 功能强大:提供 30 多个免费的 AI 端点,如情感分析、实体提取等。
  • 历史存档丰富:拥有 662,000 多篇 2017 - 2025 年的加密新闻文章。
  • 多平台集成:提供 13 种语言的 SDK,支持与 ChatGPT、MCP 等集成。
  • 实时更新:支持 WebSocket 和 SSE 实时更新。
  • 安全可靠:具备完善的认证和安全机制。

📦 安装指南

一键部署

可以通过 Vercel 一键部署: Deploy with Vercel

手动安装

git clone https://github.com/nirholas/free-crypto-news.git
cd free-crypto-news
pnpm install
pnpm dev

打开 http://localhost:3000/api/news 即可访问。

环境变量

所有环境变量都是可选的,项目无需配置即可直接运行。 | 变量 | 默认值 | 描述 | | ---- | ---- | ---- | | GROQ_API_KEY | - | 启用 18 种语言的自动翻译,可在 console.groq.com/keys 获取免费密钥 | | FEATURE_TRANSLATION | false | 设置为 true 以启用实时翻译 | | REDDIT_CLIENT_ID | - | 启用 Reddit 社交信号 | | REDDIT_CLIENT_SECRET | - | Reddit OAuth 密钥 | | X_AUTH_TOKEN | - | 通过 XActions 获取 X/Twitter 信号 | | ARCHIVE_DIR | ./archive | 存档存储路径 | | API_URL | 生产环境 Vercel | 存档收集的 API 端点 |

功能标志

| 变量 | 默认值 | 描述 | | ---- | ---- | ---- | | FEATURE_MARKET | true | 市场数据(CoinGecko、DeFiLlama) | | FEATURE_ONCHAIN | true | 链上事件(BTC 统计、DEX 交易量) | | FEATURE_SOCIAL | true | 社交信号(Reddit 情感) | | FEATURE_PREDICTIONS | true | 预测市场(Polymarket、Manifold) | | FEATURE_CLUSTERING | true | 故事聚类和去重 | | FEATURE_RELIABILITY | true | 来源可靠性跟踪 |

💻 使用示例

基础用法

以下是使用 Python 和 JavaScript 获取最新新闻的示例:

Python

import requests
BASE_URL = "https://cryptocurrency.cv"

# 获取最新新闻
news = requests.get(f"{BASE_URL}/api/news?limit=10").json()
for article in news["articles"]:
    print(f"• {article['title']} ({article['source']})")

# 获取比特币情感分析
sentiment = requests.get(f"{BASE_URL}/api/ai/sentiment?asset=BTC").json()
print(f"BTC Sentiment: {sentiment['label']} ({sentiment['score']:.2f})")

JavaScript

const BASE_URL = 'https://cryptocurrency.cv';

// 获取最新新闻
const news = await fetch(`${BASE_URL}/api/news?limit=10`).then(r => r.json());
news.articles.forEach(a => console.log(`• ${a.title} (${a.source})`));

// 流式获取实时更新
const events = new EventSource(`${BASE_URL}/api/stream`);
events.onmessage = (e) => console.log('New:', JSON.parse(e.data).title);

高级用法

以下是使用 API 进行分类过滤和翻译的示例:

# 获取机构/风投研究新闻
curl "https://cryptocurrency.cv/api/news?category=institutional"

# 获取西班牙语新闻
curl "https://cryptocurrency.cv/api/news?lang=es"

📚 详细文档

完整的 API 文档和教程可在 cryptocurrency.cv/developers 查看,涵盖了 19 个分步指南,包含 Python、JavaScript、TypeScript 和 cURL 示例,详细介绍了所有 150 多个端点的使用方法。

🔧 技术细节

运行时与性能

  • 边缘运行时:140 多个端点针对边缘运行时进行了优化。
  • 目标指标:TTFB <200ms(实际约 150ms),FCP <1.8s(实际约 1.2s),LCP <2.5s(实际约 2.0s),CLS <0.1(实际约 0.05),TTI <3.8s(实际约 2.8s)。

缓存策略(4 层)

| 层 | 技术 | TTL | 目的 | | ---- | ---- | ---- | ---- | | L1 - 内存 | 内存映射 | 180 - 300s | 热点数据 | | L2 - Redis | Vercel KV / Upstash | 可变 | 持久缓存 | | L3 - ISR | Next.js | 60 - 300s | 静态再生 | | L4 - CDN | Vercel Edge | 自定义 | 全球分发 |

数据库后端

  • 支持的存储:Vercel KV(主要 - 生产环境)、Upstash Redis(替代 - 生产环境)、内存(开发环境)、文件系统(本地测试)。
  • 特性:基于文档的操作与版本控制、TTL 支持、批量操作、键模式匹配、统计和监控、内容寻址存储(CAS)。

数据架构

| 模式 | 示例 | 目的 | | ---- | ---- | ---- | | feed:{source} | feed:coindesk | 缓存 RSS 源 | | article:{id} | article:abc123 | 单个文章 | | user:{userId}:watchlist | user:123:watchlist | 用户关注列表 | | portfolio:{userId} | portfolio:123 | 用户投资组合 | | alert:{id} | alert:xyz789 | 价格提醒 | | apikey:{hash} | apikey:sha256... | API 密钥哈希 |

实时更新

| 方法 | 使用场景 | 实现方式 | | ---- | ---- | ---- | | WebSocket | 实时价格、清算 | Binance 流 | | SSE | 新闻更新、突发新闻提醒 | /api/sse | | 轮询 | 投资组合更新 | 客户端 |

📄 许可证

本项目采用 MIT 许可证,版权所有 © 2025 nich

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client