593 lines
16 KiB
Markdown
593 lines
16 KiB
Markdown
# 实时加密新闻MCP服务器
|
||
|
||
`MCP` `加密货币` `新闻聚合` `AI分析` `交易信号` `WebSocket`
|
||
|
||
<p align="center">
|
||
<b>OpenNews MCP 服务器</b><br>
|
||
72+ 实时数据源 · 5大引擎类别 · AI评分 · 交易信号
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="./README.md">English</a> | <a href="./docs/README_ZH.md">中文</a> | <a href="./docs/README_JA.md">日本語</a> | <a href="./docs/README_KO.md">한국어</a>
|
||
</p>
|
||
|
||
---
|
||
|
||
## 快速安装
|
||
|
||
> **首先,在 [https://6551.io/mcp](https://6551.io/mcp) 获取您的 API Token。**
|
||
|
||
### Claude Code
|
||
|
||
```bash
|
||
claude mcp add opennews \
|
||
-e OPENNEWS_TOKEN=<your-token> \
|
||
-- uv --directory /path/to/opennews-mcp run opennews-mcp
|
||
```
|
||
|
||
> 将 `/path/to/opennews-mcp` 替换为您本地的项目路径,`<your-token>` 替换为您的 API Token。
|
||
|
||
### OpenClaw
|
||
|
||
```bash
|
||
export OPENNEWS_TOKEN="<your-token>"
|
||
cp -r openclaw-skill/opennews ~/.openclaw/skills/
|
||
```
|
||
|
||
---
|
||
|
||
## 让 AI 审核后安装
|
||
|
||
不确定此 MCP 是否安全?将以下提示词发送给您的 AI 助手,在安装前先审查源代码:
|
||
|
||
> **复制以下提示词并粘贴给您的 AI 助手(将 `<project-path>` 和 `<your-token>` 替换为实际值):**
|
||
|
||
```text
|
||
请帮我审查并安装 opennews-mcp MCP 服务器。项目位于 <project-path>。
|
||
|
||
步骤:
|
||
1. 审查以下文件的安全性:
|
||
- src/opennews_mcp/api_client.py — 确认只连接到 ai.6551.io,没有向其他地方发送数据
|
||
- src/opennews_mcp/config.py — 确认 Token 只从本地 config.json 或环境变量读取,未硬编码或泄露
|
||
- src/opennews_mcp/tools/*.py — 确认所有工具只进行 API 查询,没有文件写入、命令执行或危险操作
|
||
- pyproject.toml — 确认依赖项只有 mcp、httpx、websockets,没有可疑包
|
||
2. 告诉我您的结论:安全 / 有风险 / 有问题,以及具体原因
|
||
3. 如果安全,帮我安装(Token 来自 https://6551.io/mcp):
|
||
claude mcp add opennews -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run opennews-mcp
|
||
```
|
||
|
||
---
|
||
|
||
## 数据源 — 5大类别 72+ 数据源
|
||
|
||
| 类别 | 数量 | 主要来源 |
|
||
|------|------|---------|
|
||
| **新闻** | 53 | Bloomberg、Reuters、Financial Times、CNBC、CNN、BBC、Fox Business、CoinDesk、Cointelegraph、The Block、Blockworks、Decrypt、DlNews、A16Z、TechCrunch、Wired、Politico、Business Insider、Twitter/X、Telegram、微博、Truth Social、美国财政部、欧洲央行、塔斯社、Handelsblatt、Welt、Ambrey、摩根士丹利、PR Newswire、Coinbase、凤凰网等 |
|
||
| **上市** | 9 | Binance、Coinbase、OKX、Bybit、Upbit、Bithumb、Robinhood、Hyperliquid、Aster |
|
||
| **链上** | 3 | Hyperliquid 鲸鱼交易、Hyperliquid 大额持仓、KOL 交易 |
|
||
| **Meme** | 1 | Twitter Meme 币社交情绪 |
|
||
| **市场** | 6 | 价格变动、资金费率、资金费率差异、大额强平、市场趋势、持仓量变化 |
|
||
|
||
所有文章均经过 **AI 分析**,包含影响力评分(0-100)、交易信号(做多/做空/中性)以及中英双语摘要。
|
||
|
||
<details>
|
||
<summary><b>新闻 — 53个来源</b>(engineType: "news")— 顶级金融及加密媒体、政府机构、社交平台</summary>
|
||
|
||
| 来源代码 | 描述 |
|
||
|---------|------|
|
||
| Bloomberg | Bloomberg — 顶级财经新闻 |
|
||
| Reuters | Reuters — 全球通讯社 |
|
||
| Financial Times | Financial Times — 高端商业新闻 |
|
||
| CNBC | CNBC — 财经电视台 |
|
||
| CNN | CNN — 美国新闻网络 |
|
||
| BBC | BBC — 英国广播公司 |
|
||
| Fox Business | Fox Business — 美国财经新闻 |
|
||
| CoinDesk | CoinDesk — 领先加密媒体 |
|
||
| Cointelegraph | Cointelegraph — 加密媒体 |
|
||
| The Block | The Block — 加密数据与新闻 |
|
||
| Blockworks | Blockworks — 原生加密媒体 |
|
||
| Decrypt | Decrypt — 加密与Web3媒体 |
|
||
| DlNews | DL News — 加密调查新闻 |
|
||
| A16Z | a16z(Andreessen Horowitz)— 领先加密风投 |
|
||
| TechCrunch | TechCrunch — 科技与创业新闻 |
|
||
| Wired | Wired 杂志 — 科技新闻 |
|
||
| Politico | Politico — 美欧政治新闻 |
|
||
| Business Insider | Business Insider |
|
||
| Twitter/X | Twitter/X 加密意见领袖帖子 |
|
||
| X / Twitter Profile | Twitter/X 个人资料变动(名称、简介更新)|
|
||
| Telegram | Telegram 频道 |
|
||
| Weibo | 微博 — 中国社交媒体 |
|
||
| Truth Social | Truth Social — 特朗普社交平台 |
|
||
| U.S. Treasury | 美国财政部 — 官方声明 |
|
||
| U.S. Trade Representative | USTR — 贸易政策公告 |
|
||
| ECB | 欧洲央行 — 官方通讯 |
|
||
| TASS | 塔斯社 — 俄罗斯官方新闻机构 |
|
||
| Interfax | Interfax — 俄罗斯新闻社 |
|
||
| Handelsblatt | Handelsblatt — 德国商业报纸 |
|
||
| Hadelsblatt | Hadelsblatt — 德国商业 |
|
||
| Welt | Welt — 德国报纸 |
|
||
| Telegraph | The Telegraph — 英国新闻 |
|
||
| MS NOW | 摩根士丹利 NOW — 机构研究 |
|
||
| Ambrey | Ambrey — 海事与地缘政治情报 |
|
||
| PR Newswire | PR Newswire — 新闻稿 |
|
||
| Coinbase | Coinbase 公告与博客 |
|
||
| Binance | Binance 公告与博客 |
|
||
| Phoenixnews | 凤凰新闻 |
|
||
| jin10 | 金十 — 中国金融数据快讯 |
|
||
| The Big Whale | The Big Whale — 欧洲加密媒体 |
|
||
| The Verge | The Verge — 科技媒体 |
|
||
| Techinasia | Tech in Asia — 亚洲科技新闻 |
|
||
| Medium | Medium 博客文章 |
|
||
| Chainwire | Chainwire — 加密新闻稿 |
|
||
| Token Relations | 代币关系与合作 |
|
||
| Crypto Narratives | 加密叙事追踪 |
|
||
| Crypto in America | 美国加密报道 |
|
||
| 6551News | 6551 平台原创分析 |
|
||
| BWEnews | BWE 新闻线 |
|
||
| AGGRNEWS | 聚合新闻源 |
|
||
| dbnews | DB 新闻 |
|
||
| Tree | Tree 新闻 |
|
||
| Velo | Velo 数据情报 |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>上市 — 9个来源</b>(engineType: "listing")— 主流交易所代币上市公告</summary>
|
||
|
||
| 来源代码 | 描述 |
|
||
|---------|------|
|
||
| Binance | Binance 新代币上市 |
|
||
| Coinbase | Coinbase 新代币上市 |
|
||
| OKX | OKX 新代币上市 |
|
||
| Bybit | Bybit 新代币上市 |
|
||
| Upbit | Upbit(韩国交易所)上市 |
|
||
| Bithumb | Bithumb(韩国交易所)上市 |
|
||
| Robinhood | Robinhood 加密上市 |
|
||
| Hyperliquid | Hyperliquid 永续合约上市 |
|
||
| Aster | Aster 交易所上市 |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>链上 — 3个来源</b>(engineType: "onchain")— 鲸鱼和意见领袖的链上活动</summary>
|
||
|
||
| 来源代码 | 描述 |
|
||
|---------|------|
|
||
| Hyperliquid Whale Trade | Hyperliquid 鲸鱼交易预警 |
|
||
| Hyperliquid Large Position | Hyperliquid 大额持仓变动 |
|
||
| KOL Trade | KOL(关键意见领袖)链上交易 |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>Meme — 1个来源</b>(engineType: "meme")— Meme 币社交情绪追踪</summary>
|
||
|
||
| 来源代码 | 描述 |
|
||
|---------|------|
|
||
| Twitter | Twitter/X Meme 币讨论与病毒帖子 |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>市场 — 6个来源</b>(engineType: "market")— 市场异动检测与量化信号</summary>
|
||
|
||
| 来源代码 | 描述 |
|
||
|---------|------|
|
||
| Price Change | 重大价格波动(暴涨/暴跌)|
|
||
| Funding Rate | 资金费率异常(永续合约)|
|
||
| Funding Rate Difference | 跨交易所资金费率差异 |
|
||
| Large Liquidation | 大额强平事件 |
|
||
| Market Trends | 整体市场趋势转变 |
|
||
| OI Change | 持仓量重大变化 |
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
## 能做什么?
|
||
|
||
连接后,直接告诉您的 AI 助手:
|
||
|
||
| 您说 | 它做 |
|
||
|-----|-----|
|
||
| "最新加密新闻" | 获取最新文章 |
|
||
| "搜索 SEC 监管新闻" | 全文关键词搜索 |
|
||
| "BTC 相关新闻" | 按币种筛选 |
|
||
| "Bloomberg 文章" | 按来源筛选 |
|
||
| "链上事件" | 按引擎类型筛选(onchain)|
|
||
| "AI 评分 80 分以上的重要新闻" | 高分筛选 |
|
||
| "看涨信号" | 按交易信号筛选(long)|
|
||
| "订阅实时新闻" | WebSocket 实时更新 |
|
||
|
||
---
|
||
|
||
## 可用工具
|
||
|
||
| 类别 | 工具 | 描述 |
|
||
|-----|-----|-----|
|
||
| 发现 | `get_news_sources` | 完整引擎树 — 全部5大类别和72+数据源及元数据 |
|
||
| | `list_news_types` | 所有来源代码的扁平列表(用于筛选)|
|
||
| 搜索 | `get_latest_news` | 72+数据源的最新文章 |
|
||
| | `search_news` | 跨所有来源的全文关键词搜索 |
|
||
| | `search_news_by_coin` | 按币种搜索(BTC、ETH、SOL…)|
|
||
| | `get_news_by_source` | 按特定来源(如 engine_type="news", news_type="Bloomberg")|
|
||
| | `get_news_by_engine` | 按类别:news、listing、onchain、meme、market |
|
||
| | `search_news_advanced` | 多条件筛选:币种 + 关键词 + 引擎类型组合 |
|
||
| AI | `get_high_score_news` | 高 AI 影响力评分文章(0-100 分制)|
|
||
| | `get_news_by_signal` | 按 AI 交易信号:long / short / neutral |
|
||
| 实时 | `subscribe_latest_news` | WebSocket 实时订阅,支持币种和引擎类型过滤 |
|
||
|
||
> 详细使用指南及示例请参阅 [知识指南](./knowledge/guide.md)。
|
||
|
||
---
|
||
|
||
## 配置
|
||
|
||
### 获取 API Token
|
||
|
||
在 [https://6551.io/mcp](https://6551.io/mcp) 获取您的 API Token。
|
||
|
||
设置环境变量:
|
||
|
||
```bash
|
||
# macOS / Linux
|
||
export OPENNEWS_TOKEN="<your-token>"
|
||
|
||
# Windows PowerShell
|
||
$env:OPENNEWS_TOKEN = "<your-token>"
|
||
```
|
||
|
||
| 变量 | 必填 | 描述 |
|
||
|-----|-----|-----|
|
||
| `OPENNEWS_TOKEN` | **是** | 6551 API Bearer Token(来自 https://6551.io/mcp)|
|
||
| `OPENNEWS_API_BASE` | 否 | 覆盖 REST API URL |
|
||
| `OPENNEWS_WSS_URL` | 否 | 覆盖 WebSocket URL |
|
||
| `OPENNEWS_MAX_ROWS` | 否 | 每次请求最大结果数(默认 100)|
|
||
|
||
也支持项目根目录下的 `config.json`(环境变量优先):
|
||
|
||
```json
|
||
{
|
||
"api_base_url": "https://ai.6551.io",
|
||
"wss_url": "wss://ai.6551.io/open/news_wss",
|
||
"api_token": "<your-token>",
|
||
"max_rows": 100
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## WebSocket 实时订阅
|
||
|
||
**端点**:`wss://ai.6551.io/open/news_wss?token=YOUR_TOKEN`
|
||
|
||
订阅实时加密新闻更新。
|
||
|
||
### 订阅新闻
|
||
|
||
```json
|
||
{
|
||
"jsonrpc": "2.0",
|
||
"id": 1,
|
||
"method": "news.subscribe",
|
||
"params": {
|
||
"engineTypes": {
|
||
"news": ["Bloomberg", "CoinDesk"],
|
||
"onchain": []
|
||
},
|
||
"coins": ["BTC", "ETH"],
|
||
"hasCoin": true
|
||
}
|
||
}
|
||
```
|
||
|
||
**响应**:
|
||
```json
|
||
{
|
||
"jsonrpc": "2.0",
|
||
"id": 1,
|
||
"result": {
|
||
"success": true,
|
||
"filters": {
|
||
"engineTypes": {...},
|
||
"coins": [...],
|
||
"hasCoin": true
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
**过滤参数**(均为可选):
|
||
- `engineTypes`:引擎类型到新闻类型代码的映射对象
|
||
- 键:引擎类型(如 `"news"`、`"onchain"`、`"listing"`、`"meme"`、`"market"`)
|
||
- 值:新闻类型代码数组(如 `["Bloomberg", "CoinDesk"]`)
|
||
- 空数组 `[]` 表示该引擎下的所有新闻类型
|
||
- 使用 `list_news_types` 工具获取可用代码
|
||
- `coins`:币种符号数组(如 `["BTC", "ETH"]`)
|
||
- 按特定币种过滤新闻
|
||
- 空数组 `[]` 或省略表示接收所有币种
|
||
- `hasCoin`:布尔值,为 true 时只接收带有币种标签的新闻
|
||
|
||
### 取消订阅
|
||
|
||
```json
|
||
{
|
||
"jsonrpc": "2.0",
|
||
"id": 2,
|
||
"method": "news.unsubscribe"
|
||
}
|
||
```
|
||
|
||
### 服务器推送 - 新闻更新
|
||
|
||
当新闻匹配您的过滤条件时,服务器推送:
|
||
|
||
```json
|
||
{
|
||
"jsonrpc": "2.0",
|
||
"method": "news.update",
|
||
"params": {
|
||
"id": "unique-article-id",
|
||
"text": "文章标题或内容",
|
||
"newsType": "Bloomberg",
|
||
"engineType": "news",
|
||
"link": "https://...",
|
||
"coins": [
|
||
{
|
||
"symbol": "BTC",
|
||
"market_type": "spot",
|
||
"match": "title"
|
||
}
|
||
],
|
||
"ts": 1708473600000
|
||
}
|
||
}
|
||
```
|
||
|
||
### 服务器推送 - AI 新闻更新
|
||
|
||
带有 AI 分析的新闻(如已订阅):
|
||
|
||
```json
|
||
{
|
||
"jsonrpc": "2.0",
|
||
"method": "news.ai_update",
|
||
"params": {
|
||
"id": "unique-article-id",
|
||
"text": "文章标题",
|
||
"newsType": "Bloomberg",
|
||
"engineType": "news",
|
||
"link": "https://...",
|
||
"coins": [...],
|
||
"aiRating": {
|
||
"score": 85,
|
||
"grade": "A",
|
||
"signal": "long",
|
||
"status": "done",
|
||
"summary": "中文摘要",
|
||
"enSummary": "English summary"
|
||
},
|
||
"ts": 1708473600000
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 数据结构
|
||
|
||
每篇文章返回:
|
||
|
||
```json
|
||
{
|
||
"id": "unique-article-id",
|
||
"text": "标题 / 内容",
|
||
"newsType": "Bloomberg",
|
||
"engineType": "news",
|
||
"link": "https://...",
|
||
"coins": [{ "symbol": "BTC", "market_type": "spot", "match": "title" }],
|
||
"aiRating": {
|
||
"score": 85,
|
||
"grade": "A",
|
||
"signal": "long",
|
||
"status": "done",
|
||
"summary": "中文摘要",
|
||
"enSummary": "English summary"
|
||
},
|
||
"ts": 1708473600000
|
||
}
|
||
```
|
||
|
||
| AI 字段 | 描述 |
|
||
|--------|-----|
|
||
| `score` | 0-100 影响力评分 |
|
||
| `signal` | `long`(看涨)/ `short`(看跌)/ `neutral`(中性)|
|
||
| `status` | `done` = AI 分析完成 |
|
||
|
||
---
|
||
|
||
<details>
|
||
<summary><b>其他客户端手动安装</b>(点击展开)</summary>
|
||
|
||
> 以下所有配置中,将 `/path/to/opennews-mcp` 替换为您的实际本地项目路径,`<your-token>` 替换为从 [https://6551.io/mcp](https://6551.io/mcp) 获取的 Token。
|
||
|
||
### Claude Desktop
|
||
|
||
编辑配置文件(macOS:`~/Library/Application Support/Claude/claude_desktop_config.json`,Windows:`%APPDATA%\Claude\claude_desktop_config.json`):
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"opennews": {
|
||
"command": "uv",
|
||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||
"env": {
|
||
"OPENNEWS_TOKEN": "<your-token>"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Cursor
|
||
|
||
`~/.cursor/mcp.json` 或 设置 > MCP Servers:
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"opennews": {
|
||
"command": "uv",
|
||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||
"env": {
|
||
"OPENNEWS_TOKEN": "<your-token>"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Windsurf
|
||
|
||
`~/.codeium/windsurf/mcp_config.json`:
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"opennews": {
|
||
"command": "uv",
|
||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||
"env": {
|
||
"OPENNEWS_TOKEN": "<your-token>"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Cline
|
||
|
||
VS Code 侧边栏 > Cline > MCP Servers > 配置,编辑 `cline_mcp_settings.json`:
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"opennews": {
|
||
"command": "uv",
|
||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||
"env": {
|
||
"OPENNEWS_TOKEN": "<your-token>"
|
||
},
|
||
"disabled": false,
|
||
"autoApprove": []
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Continue.dev
|
||
|
||
`~/.continue/config.yaml`:
|
||
|
||
```yaml
|
||
mcpServers:
|
||
- name: opennews
|
||
command: uv
|
||
args:
|
||
- --directory
|
||
- /path/to/opennews-mcp
|
||
- run
|
||
- opennews-mcp
|
||
env:
|
||
OPENNEWS_TOKEN: <your-token>
|
||
```
|
||
|
||
### Cherry Studio
|
||
|
||
设置 > MCP Servers > 添加 > 类型 stdio:命令 `uv`,参数 `--directory /path/to/opennews-mcp run opennews-mcp`,环境变量 `OPENNEWS_TOKEN`。
|
||
|
||
### Zed 编辑器
|
||
|
||
`~/.config/zed/settings.json`:
|
||
|
||
```json
|
||
{
|
||
"context_servers": {
|
||
"opennews": {
|
||
"command": {
|
||
"path": "uv",
|
||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||
"env": {
|
||
"OPENNEWS_TOKEN": "<your-token>"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### 任意 stdio MCP 客户端
|
||
|
||
```bash
|
||
OPENNEWS_TOKEN=<your-token> \
|
||
uv --directory /path/to/opennews-mcp run opennews-mcp
|
||
```
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
## 兼容性
|
||
|
||
| 客户端 | 安装方式 | 状态 |
|
||
|-------|---------|-----|
|
||
| **Claude Code** | `claude mcp add` | 一键安装 |
|
||
| **OpenClaw** | 复制 Skill 目录 | 一键安装 |
|
||
| Claude Desktop | JSON 配置 | 支持 |
|
||
| Cursor | JSON 配置 | 支持 |
|
||
| Windsurf | JSON 配置 | 支持 |
|
||
| Cline | JSON 配置 | 支持 |
|
||
| Continue.dev | YAML / JSON | 支持 |
|
||
| Cherry Studio | 图形界面 | 支持 |
|
||
| Zed | JSON 配置 | 支持 |
|
||
|
||
---
|
||
|
||
## 相关项目
|
||
|
||
- [twitter-mcp](https://github.com/6551-io/twitter-mcp) - Twitter/X 数据 MCP 服务器
|
||
|
||
---
|
||
|
||
## 开发
|
||
|
||
```bash
|
||
cd /path/to/opennews-mcp
|
||
uv sync
|
||
uv run opennews-mcp
|
||
```
|
||
|
||
```bash
|
||
# MCP Inspector 测试
|
||
npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp
|
||
```
|
||
|
||
### 项目结构
|
||
|
||
```
|
||
├── README.md
|
||
├── openclaw-skill/opennews/ # OpenClaw Skill
|
||
├── knowledge/guide.md # 内嵌知识库
|
||
├── pyproject.toml
|
||
├── config.json
|
||
└── src/opennews_mcp/
|
||
├── server.py # 入口点
|
||
├── app.py # FastMCP 实例
|
||
├── config.py # 配置加载
|
||
├── api_client.py # HTTP + WebSocket
|
||
└── tools/ # 工具集
|
||
```
|
||
|
||
## 许可证
|
||
|
||
MIT |