Files
opennews-mcp/docs/README_ZH.md
T
tkk e4f40e1edd feat: add prediction engine category (12 AI prediction sources)
- Add prediction as 6th engine category across all source code and docs
- Update data source count from 72+ to 84+ (53 news + 9 listing + 3 onchain + 1 meme + 6 market + 12 prediction)
- Update engine category count from 5 to 6
- Add prediction sources: CORRELATION_LOGICAL, SMART_MONEY_TRADE, PRICE_SPIKE,
  CLUSTER_ENTRY, WHALE_POSITION, NEW_WALLET_TRADE, INSIDER_PATTERN,
  CORRELATION_NARRATIVE, CORRELATION_HEDGE, CORRELATION_ENTITY_GEO,
  CORRELATION_CAUSAL, SETTLEMENT_ARBITRAGE
- Update all tool docstrings, FastMCP instructions, and engine type lists
- Update README.md, README_ZH.md, README_JA.md, README_KO.md
- Update knowledge/guide.md and SKILL.md
2026-04-10 10:36:01 +08:00

610 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<p align="center">
<b>OpenNews MCP Server</b><br>
84+ 实时数据源 · 6 大引擎类别 · AI 评分 · 交易信号
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="./README_ZH.md">中文</a> | <a href="./README_JA.md">日本語</a> | <a href="./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
```
---
## 数据源 — 6 大类别 84+ 数据源
| 类别 | 数量 | 主要来源 |
|------|------|----------|
| **News** | 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、Weibo、Truth Social、U.S. Treasury、ECB、TASS、Handelsblatt、Welt、Ambrey、Morgan Stanley、PR Newswire、Coinbase、凤凰新闻等 |
| **Listing** | 9 | Binance、Coinbase、OKX、Bybit、Upbit、Bithumb、Robinhood、Hyperliquid、Aster |
| **OnChain** | 3 | Hyperliquid Whale Trade、Hyperliquid Large Position、KOL Trade |
| **Meme** | 1 | Twitter meme 币社交情绪 |
| **Market** | 6 | Price Change、Funding Rate、Funding Rate Difference、Large Liquidation、Market Trends、OI Change |
| **Prediction** | 12 | CORRELATION_LOGICAL(相关性-逻辑)、SMART_MONEY_TRADE(聪明钱交易)、PRICE_SPIKE(价格异动)、CLUSTER_ENTRY(集群进场)、WHALE_POSITION(鲸鱼持仓)、NEW_WALLET_TRADE(新钱包交易)、INSIDER_PATTERN(内幕模式)、CORRELATION_NARRATIVE(相关性-叙述)、CORRELATION_HEDGE(相关性-对冲)、CORRELATION_ENTITY_GEO(相关性-地缘)、CORRELATION_CAUSAL(相关性-因果)、SETTLEMENT_ARBITRAGE(套利) |
所有文章均经 **AI 分析**,包含影响力评分(0-100)、交易信号(long/short/neutral)及中英双语摘要。
<details>
<summary><b>News — 53 个来源</b>engineType: "news")— 顶级财经与加密媒体、政府机构、社交平台</summary>
| 来源代码 | 描述 |
|----------|------|
| Bloomberg | 彭博社 — 顶级财经新闻 |
| Reuters | 路透社 — 全球通讯社 |
| 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 | a16zAndreessen Horowitz)— 头部加密 VC |
| TechCrunch | TechCrunch — 科技与创业新闻 |
| Wired | Wired — 科技杂志 |
| Politico | Politico — 美欧政治新闻 |
| Business Insider | Business Insider |
| Twitter/X | Twitter/X 加密 KOL 动态 |
| X / Twitter Profile | Twitter/X 个人资料变更(用户名、简介更新) |
| Telegram | Telegram 频道 |
| Weibo | 微博 — 中国社交媒体 |
| Truth Social | Truth Social — 特朗普社交平台 |
| U.S. Treasury | 美国财政部 — 官方声明 |
| U.S. Trade Representative | 美国贸易代表办公室 — 贸易政策公告 |
| ECB | 欧洲央行 — 官方通讯 |
| TASS | 塔斯社 — 俄罗斯国家通讯社 |
| Interfax | 国际文传电讯社 — 俄罗斯通讯社 |
| Handelsblatt | 德国商报 |
| Hadelsblatt | Hadelsblatt — 德国商业 |
| Welt | 世界报 — 德国报纸 |
| Telegraph | 每日电讯报 — 英国新闻 |
| MS NOW | 摩根士丹利 NOW — 机构研究 |
| Ambrey | Ambrey — 海事与地缘政治情报 |
| 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>Listing — 9 个来源</b>engineType: "listing")— 主要交易所代币上新公告</summary>
| 来源代码 | 描述 |
|----------|------|
| Binance | 币安新币上线 |
| Coinbase | Coinbase 新币上线 |
| OKX | OKX 新币上线 |
| Bybit | Bybit 新币上线 |
| Upbit | Upbit(韩国交易所)上新 |
| Bithumb | Bithumb(韩国交易所)上新 |
| Robinhood | Robinhood 加密货币上线 |
| Hyperliquid | Hyperliquid 永续合约上线 |
| Aster | Aster 交易所上新 |
</details>
<details>
<summary><b>OnChain — 3 个来源</b>engineType: "onchain")— 巨鲸与 KOL 链上活动</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>Market — 6 个来源</b>engineType: "market")— 市场异动检测与量化信号</summary>
| 来源代码 | 描述 |
|----------|------|
| Price Change | 价格剧烈波动(暴涨/暴跌) |
| Funding Rate | 资金费率异常(永续合约) |
| Funding Rate Difference | 跨交易所资金费率差异 |
| Large Liquidation | 大额清算事件 |
| Market Trends | 整体市场趋势变化 |
| OI Change | 未平仓合约量显著变化 |
</details>
<details>
<summary><b>Prediction — 12 个来源</b>engineType: "prediction")— AI 预测与相关性信号</summary>
| 来源代码 | 描述 |
|----------|------|
| CORRELATION_LOGICAL | 相关性(逻辑) |
| SMART_MONEY_TRADE | 聪明钱交易 |
| PRICE_SPIKE | 价格异动 |
| CLUSTER_ENTRY | 集群进场 |
| WHALE_POSITION | 鲸鱼持仓 |
| NEW_WALLET_TRADE | 新钱包交易 |
| INSIDER_PATTERN | 内幕模式 |
| CORRELATION_NARRATIVE | 相关性(叙述) |
| CORRELATION_HEDGE | 相关性(对冲) |
| CORRELATION_ENTITY_GEO | 相关性(地缘) |
| CORRELATION_CAUSAL | 相关性(因果) |
| SETTLEMENT_ARBITRAGE | 套利 |
</details>
---
## 功能介绍
连接后,直接告诉你的 AI 助手:
| 你说 | 它做 |
|------|------|
| "最新加密货币新闻" | 获取最新文章 |
| "搜索 SEC 监管新闻" | 全文关键词搜索 |
| "BTC 相关新闻" | 按币种筛选 |
| "Bloomberg 的文章" | 按来源筛选 |
| "链上事件" | 按引擎类型筛选 (onchain) |
| "AI 评分 80 以上的重要新闻" | 高分筛选 |
| "看涨信号" | 按交易信号筛选 (long) |
| "订阅实时新闻" | WebSocket 实时更新 |
---
## 可用工具
| 分类 | 工具 | 描述 |
|------|------|------|
| 发现 | `get_news_sources` | 完整引擎树 — 6 大类别 84+ 数据源及元数据 |
| | `list_news_types` | 所有来源代码的扁平列表,用于过滤 |
| 搜索 | `get_latest_news` | 跨 84+ 数据源获取最新文章 |
| | `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, prediction |
| | `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"`, `"prediction"`
- 值:新闻类型代码数组(如 `["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` 或 Settings > 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 > Configure,编辑 `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
Settings > MCP Servers > Add > Type stdioCommand `uv`Args `--directory /path/to/opennews-mcp run opennews-mcp`Env `OPENNEWS_TOKEN`
### Zed Editor
`~/.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.ML / JSON | 支持 |
| Cherry Studio | GUI | 支持 |
| 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