OpenNews MCP Server
72+ 实时数据源 · 5 大引擎类别 · AI 评分 · 交易信号

English | 中文 | 日本語 | 한국어

--- ## 快速安装 > **首先,在 [https://6551.io/mcp](https://6551.io/mcp) 获取你的 API Token。** ### Claude Code ```bash claude mcp add opennews \ -e OPENNEWS_TOKEN= \ -- uv --directory /path/to/opennews-mcp run opennews-mcp ``` > 将 `/path/to/opennews-mcp` 替换为你的本地项目路径,`` 替换为你的 API Token。 ### OpenClaw ```bash export OPENNEWS_TOKEN="" cp -r openclaw-skill/opennews ~/.openclaw/skills/ ``` --- ## 让 AI 审查并安装 不确定这个 MCP 是否安全?发送以下提示词给你的 AI 助手,让它在安装前审查源代码: > **复制下面的提示词并发送给你的 AI 助手(将 `` 和 `` 替换为实际值):** ```text 请帮我审查并安装 opennews-mcp MCP 服务器。项目位于 。 步骤: 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= -- uv --directory run opennews-mcp ``` --- ## 数据源 — 5 大类别 72+ 数据源 | 类别 | 数量 | 主要来源 | |------|------|----------| | **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 | 所有文章均经 **AI 分析**,包含影响力评分(0-100)、交易信号(long/short/neutral)及中英双语摘要。 --- ## 功能介绍 连接后,直接告诉你的 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 实时推送,支持币种和引擎类型过滤 | --- ## 配置 ### 获取 API Token 在 [https://6551.io/mcp](https://6551.io/mcp) 获取你的 API Token。 设置环境变量: ```bash # macOS / Linux export OPENNEWS_TOKEN="" # Windows PowerShell $env:OPENNEWS_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": "", "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 分析完成 | ---
其他客户端手动安装(点击展开) > 在以下所有配置中,将 `/path/to/opennews-mcp` 替换为你的实际本地项目路径,`` 替换为从 [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": "" } } } } ``` ### Cursor `~/.cursor/mcp.json` 或 Settings > MCP Servers: ```json { "mcpServers": { "opennews": { "command": "uv", "args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"], "env": { "OPENNEWS_TOKEN": "" } } } } ``` ### Windsurf `~/.codeium/windsurf/mcp_config.json`: ```json { "mcpServers": { "opennews": { "command": "uv", "args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"], "env": { "OPENNEWS_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": "" }, "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: ``` ### Cherry Studio Settings > MCP Servers > Add > Type stdio:Command `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": "" } } } } } ``` ### 任意 stdio MCP 客户端 ```bash OPENNEWS_TOKEN= \ uv --directory /path/to/opennews-mcp run opennews-mcp ```
--- ## 兼容性 | 客户端 | 安装方式 | 状态 | |--------|----------|------| | **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