catalog/repos/6551team--opennews-mcp.md

593 lines
16 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.

# 实时加密新闻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 | a16zAndreessen 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