# 实时新闻MCP服务器 **GitHub**: [6551team/opennews-mcp](https://github.com/6551team/opennews-mcp) | **Gitea**: [mc-skills/6551team--opennews-mcp](http://192.168.0.109:3000/mc-skills/6551team--opennews-mcp) ## 中文摘要 OpenNews MCP 聚合72+实时数据源,涵盖新闻、交易所上币、链上数据、Meme币和市场行情5大类别,提供AI评分(0-100)、多空交易信号和中英文双语摘要,适用于加密货币投资分析和量化交易场景。 ## 标签 `MCP` `实时新闻` `加密货币` `交易信号` `AI分析` --- ## README 原文

OpenNews MCP Server
72+ Real-time Data Sources · 5 Engine Categories · AI Ratings · Trading Signals

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

--- ## Quick Install > **First, get your API Token at [https://6551.io/mcp](https://6551.io/mcp).** ### Claude Code ```bash claude mcp add opennews \ -e OPENNEWS_TOKEN= \ -- uv --directory /path/to/opennews-mcp run opennews-mcp ``` > Replace `/path/to/opennews-mcp` with your local project path, and `` with your API token. ### OpenClaw ```bash export OPENNEWS_TOKEN="" cp -r openclaw-skill/opennews ~/.openclaw/skills/ ``` --- ## Let AI Review and Install Not sure if this MCP is safe? Send the following prompt to your AI assistant to review the source code before installing: > **Copy the prompt below and paste it to your AI assistant (replace `` and `` with actual values):** ```text Please help me review and install the opennews-mcp MCP server. The project is at . Steps: 1. Review the security of the following files: - src/opennews_mcp/api_client.py — Confirm it only connects to ai.6551.io, no data sent elsewhere - src/opennews_mcp/config.py — Confirm token is only read from local config.json or env vars, not hardcoded or leaked - src/opennews_mcp/tools/*.py — Confirm all tools only do API queries, no file writes, command execution, or dangerous operations - pyproject.toml — Confirm dependencies are only mcp, httpx, websockets, no suspicious packages 2. Tell me your conclusion: Safe / Risky / Problematic, and the specific reasons 3. If safe, help me install (Token from https://6551.io/mcp): claude mcp add opennews -e OPENNEWS_TOKEN= -- uv --directory run opennews-mcp ``` --- ## Data Sources — 72+ Sources Across 5 Categories | Category | Count | Key Sources | |----------|-------|-------------| | **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, Phoenixnews, and more | | **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 coin social sentiment | | **Market** | 6 | Price Change, Funding Rate, Funding Rate Difference, Large Liquidation, Market Trends, OI Change | All articles are **AI-analyzed** with impact score (0-100), trading signal (long/short/neutral), and bilingual summaries (EN/ZH).
News — 53 sources (engineType: "news") — Premium financial & crypto media, government agencies, social platforms | Source Code | Description | |-------------|-------------| | Bloomberg | Bloomberg — top-tier financial news | | Reuters | Reuters — global wire service | | Financial Times | Financial Times — premium business news | | CNBC | CNBC — financial television | | CNN | CNN — US news network | | BBC | BBC — British Broadcasting Corporation | | Fox Business | Fox Business — US financial news | | CoinDesk | CoinDesk — leading crypto media | | Cointelegraph | Cointelegraph — crypto media | | The Block | The Block — crypto data & journalism | | Blockworks | Blockworks — crypto-native media | | Decrypt | Decrypt — crypto & web3 media | | DlNews | DL News — crypto investigative journalism | | A16Z | a16z (Andreessen Horowitz) — leading crypto VC | | TechCrunch | TechCrunch — tech & startup news | | Wired | Wired magazine — tech journalism | | Politico | Politico — US & EU political news | | Business Insider | Business Insider | | Twitter/X | Twitter/X posts from crypto influencers | | X / Twitter Profile | Twitter/X profile changes (name, bio updates) | | Telegram | Telegram channels | | Weibo | Weibo — Chinese social media | | Truth Social | Truth Social — Trump's social platform | | U.S. Treasury | U.S. Treasury Department — official statements | | U.S. Trade Representative | USTR — trade policy announcements | | ECB | European Central Bank — official communications | | TASS | TASS — Russian state news agency | | Interfax | Interfax — Russian news agency | | Handelsblatt | Handelsblatt — German business newspaper | | Hadelsblatt | Hadelsblatt — German business | | Welt | Welt — German newspaper | | Telegraph | The Telegraph — UK news | | MS NOW | Morgan Stanley NOW — institutional research | | Ambrey | Ambrey — maritime & geopolitical intelligence | | PR Newswire | PR Newswire — press releases | | Coinbase | Coinbase announcements & blog | | Binance | Binance announcements & blog | | Phoenixnews | Phoenix news | | jin10 | Jin10 — Chinese financial data flash news | | The Big Whale | The Big Whale — European crypto media | | The Verge | The Verge — tech media | | Techinasia | Tech in Asia — Asian tech news | | Medium | Medium blog posts | | Chainwire | Chainwire — crypto press releases | | Token Relations | Token relations & partnerships | | Crypto Narratives | Crypto narrative tracking | | Crypto in America | Crypto in America coverage | | 6551News | 6551 platform original analysis | | BWEnews | BWE news wire | | AGGRNEWS | Aggregated news feed | | dbnews | DB news | | Tree | Tree news | | Velo | Velo data intelligence |
Listing — 9 sources (engineType: "listing") — Token listing announcements from major exchanges | Source Code | Description | |-------------|-------------| | Binance | Binance new token listings | | Coinbase | Coinbase new token listings | | OKX | OKX new token listings | | Bybit | Bybit new token listings | | Upbit | Upbit (Korean exchange) listings | | Bithumb | Bithumb (Korean exchange) listings | | Robinhood | Robinhood crypto listings | | Hyperliquid | Hyperliquid perp listings | | Aster | Aster exchange listings |
OnChain — 3 sources (engineType: "onchain") — On-chain activity from whales and key opinion leaders | Source Code | Description | |-------------|-------------| | Hyperliquid Whale Trade | Hyperliquid whale trade alerts | | Hyperliquid Large Position | Hyperliquid large position changes | | KOL Trade | KOL (Key Opinion Leader) on-chain trades |
Meme — 1 source (engineType: "meme") — Meme coin social sentiment tracking | Source Code | Description | |-------------|-------------| | Twitter | Twitter/X meme coin discussions & viral posts |
Market — 6 sources (engineType: "market") — Market anomaly detection and quantitative signals | Source Code | Description | |-------------|-------------| | Price Change | Significant price movements (pumps/dumps) | | Funding Rate | Funding rate anomalies (perp futures) | | Funding Rate Difference | Cross-exchange funding rate divergences | | Large Liquidation | Large liquidation events | | Market Trends | Overall market trend shifts | | OI Change | Open interest significant changes |
--- ## What Can It Do? After connecting, just tell your AI assistant: | You Say | It Does | |---------|---------| | "Latest crypto news" | Get latest articles | | "Search SEC regulation news" | Full-text keyword search | | "BTC related news" | Filter by coin | | "Bloomberg articles" | Filter by source | | "On-chain events" | Filter by engine type (onchain) | | "Important news with AI score above 80" | High score filtering | | "Bullish signals" | Filter by trading signal (long) | | "Subscribe to real-time news" | WebSocket live updates | --- ## Available Tools | Category | Tool | Description | |----------|------|-------------| | Discovery | `get_news_sources` | Full engine tree — all 5 categories and 72+ sources with metadata | | | `list_news_types` | Flat list of all source codes for filtering | | Search | `get_latest_news` | Latest articles across all 72+ sources | | | `search_news` | Full-text keyword search across all sources | | | `search_news_by_coin` | By coin (BTC, ETH, SOL...) across all sources | | | `get_news_by_source` | By specific source (e.g. engine_type="news", news_type="Bloomberg") | | | `get_news_by_engine` | By category: news, listing, onchain, meme, market | | | `search_news_advanced` | Multi-filter: coins + keywords + engine types combined | | AI | `get_high_score_news` | High AI impact score articles (0-100 scale) | | | `get_news_by_signal` | By AI trading signal: long / short / neutral | | Real-time | `subscribe_latest_news` | WebSocket live feed with coin & engine type filters | > For a comprehensive usage guide with detailed examples, see [Knowledge Guide](./knowledge/guide.md). --- ## Configuration ### Get API Token Get your API Token at [https://6551.io/mcp](https://6551.io/mcp). Set environment variable: ```bash # macOS / Linux export OPENNEWS_TOKEN="" # Windows PowerShell $env:OPENNEWS_TOKEN = "" ``` | Variable | Required | Description | |----------|----------|-------------| | `OPENNEWS_TOKEN` | **Yes** | 6551 API Bearer Token (from https://6551.io/mcp) | | `OPENNEWS_API_BASE` | No | Override REST API URL | | `OPENNEWS_WSS_URL` | No | Override WebSocket URL | | `OPENNEWS_MAX_ROWS` | No | Max results per request (default 100) | Also supports `config.json` in project root (env vars take precedence): ```json { "api_base_url": "https://ai.6551.io", "wss_url": "wss://ai.6551.io/open/news_wss", "api_token": "", "max_rows": 100 } ``` --- ## WebSocket Real-time Subscriptions **Endpoint**: `wss://ai.6551.io/open/news_wss?token=YOUR_TOKEN` Subscribe to real-time crypto news updates. ### Subscribe to News ```json { "jsonrpc": "2.0", "id": 1, "method": "news.subscribe", "params": { "engineTypes": { "news": ["Bloomberg", "CoinDesk"], "onchain": [] }, "coins": ["BTC", "ETH"], "hasCoin": true } } ``` **Response**: ```json { "jsonrpc": "2.0", "id": 1, "result": { "success": true, "filters": { "engineTypes": {...}, "coins": [...], "hasCoin": true } } } ``` **Filter Parameters** (all optional): - `engineTypes`: Object mapping engine type to news type codes - Key: Engine type (e.g., `"news"`, `"onchain"`, `"listing"`, `"meme"`, `"market"`) - Value: Array of news type codes (e.g., `["Bloomberg", "CoinDesk"]`) - Empty array `[]` means all news types under that engine - Use `list_news_types` tool to get available codes - `coins`: Array of coin symbols (e.g., `["BTC", "ETH"]`) - Filter news by specific coins - Empty array `[]` or omit to receive all coins - `hasCoin`: Boolean, if true only receive news with coin tags ### Unsubscribe ```json { "jsonrpc": "2.0", "id": 2, "method": "news.unsubscribe" } ``` ### Server Push - News Update When new news matches your filters, the server pushes: ```json { "jsonrpc": "2.0", "method": "news.update", "params": { "id": "unique-article-id", "text": "Article title or content", "newsType": "Bloomberg", "engineType": "news", "link": "https://...", "coins": [ { "symbol": "BTC", "market_type": "spot", "match": "title" } ], "ts": 1708473600000 } } ``` ### Server Push - AI News Update For news with AI analysis (if subscribed): ```json { "jsonrpc": "2.0", "method": "news.ai_update", "params": { "id": "unique-article-id", "text": "Article title", "newsType": "Bloomberg", "engineType": "news", "link": "https://...", "coins": [...], "aiRating": { "score": 85, "grade": "A", "signal": "long", "status": "done", "summary": "Chinese summary", "enSummary": "English summary" }, "ts": 1708473600000 } } ``` --- ## Data Structure Each article returns: ```json { "id": "unique-article-id", "text": "Title / Content", "newsType": "Bloomberg", "engineType": "news", "link": "https://...", "coins": [{ "symbol": "BTC", "market_type": "spot", "match": "title" }], "aiRating": { "score": 85, "grade": "A", "signal": "long", "status": "done", "summary": "Chinese summary", "enSummary": "English summary" }, "ts": 1708473600000 } ``` | AI Field | Description | |----------|-------------| | `score` | 0-100 impact score | | `signal` | `long` (bullish) / `short` (bearish) / `neutral` | | `status` | `done` = AI analysis completed | ---
Manual Installation for Other Clients (click to expand) > In all configurations below, replace `/path/to/opennews-mcp` with your actual local project path, and `` with your token from [https://6551.io/mcp](https://6551.io/mcp). ### Claude Desktop Edit config file (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` or 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 sidebar > Cline > MCP Servers > Configure, edit `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": "" } } } } } ``` ### Any stdio MCP Client ```bash OPENNEWS_TOKEN= \ uv --directory /path/to/opennews-mcp run opennews-mcp ```
--- ## Compatibility | Client | Installation | Status | |--------|--------------|--------| | **Claude Code** | `claude mcp add` | One-click | | **OpenClaw** | Copy Skill directory | One-click | | Claude Desktop | JSON config | Supported | | Cursor | JSON config | Supported | | Windsurf | JSON config | Supported | | Cline | JSON config | Supported | | Continue.dev | YAML / JSON | Supported | | Cherry Studio | GUI | Supported | | Zed | JSON config | Supported | --- ## Related Projects - [twitter-mcp](https://github.com/6551-io/twitter-mcp) - Twitter/X data MCP server --- ## Development ```bash cd /path/to/opennews-mcp uv sync uv run opennews-mcp ``` ```bash # MCP Inspector test npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp ``` ### Project Structure ``` ├── README.md ├── openclaw-skill/opennews/ # OpenClaw Skill ├── knowledge/guide.md # Embedded knowledge ├── pyproject.toml ├── config.json └── src/opennews_mcp/ ├── server.py # Entry point ├── app.py # FastMCP instance ├── config.py # Config loading ├── api_client.py # HTTP + WebSocket └── tools/ # Tools ``` ## License MIT