From 836a3341da87520592b544a6d5ee81bdb2c7e80e Mon Sep 17 00:00:00 2001 From: beare <945412026@qq.com> Date: Wed, 11 Mar 2026 19:44:20 +0800 Subject: [PATCH] feat(docs): add .gitignore and enhance README with data source details - Introduced a .gitignore file to exclude environment variables, logs, and temporary files. - Updated README.md to reflect the new description and added a detailed table of 72+ data sources across 5 categories. - Enhanced documentation in multiple languages (Japanese, Korean, Chinese) to include the new data source information. --- .gitignore | 40 +++++++ README.md | 38 +++++-- docs/README_JA.md | 38 +++++-- docs/README_KO.md | 38 +++++-- docs/README_ZH.md | 38 +++++-- knowledge/guide.md | 161 +++++++++++++++++++++++---- openclaw-skill/opennews/SKILL.md | 22 +++- openclaw-skill/opennews/package.json | 12 +- src/opennews_mcp/app.py | 21 ++++ src/opennews_mcp/tools/discovery.py | 24 +++- src/opennews_mcp/tools/news.py | 33 +++++- src/opennews_mcp/tools/realtime.py | 6 +- 12 files changed, 385 insertions(+), 86 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a251833 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# Environment variables +.env +.env.local +.env.*.local + +# API tokens +*.token +tokens/ + +# Logs +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# OS files +.DS_Store +Thumbs.db + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Temporary files +tmp/ +temp/ +*.tmp + +# Node modules (if using npm/yarn) +node_modules/ + +__pycache__ + +# Build outputs +dist/ +build/ diff --git a/README.md b/README.md index 5470423..c2d6915 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

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

@@ -54,6 +54,20 @@ Steps: --- +## 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). + +--- + ## What Can It Do? After connecting, just tell your AI assistant: @@ -75,17 +89,17 @@ After connecting, just tell your AI assistant: | Category | Tool | Description | |----------|------|-------------| -| Discovery | `get_news_sources` | Get all news source category tree | -| | `list_news_types` | All available news source codes | -| Search | `get_latest_news` | Latest articles | -| | `search_news` | Keyword search | -| | `search_news_by_coin` | By coin (BTC, ETH, SOL...) | -| | `get_news_by_source` | By engine type and source | -| | `get_news_by_engine` | By type (news, listing, onchain, meme, market) | -| | `search_news_advanced` | Advanced search (multiple filters) | -| AI | `get_high_score_news` | Articles with score >= threshold | -| | `get_news_by_signal` | By signal: long / short / neutral | -| Real-time | `subscribe_latest_news` | WebSocket real-time collection | +| 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 | --- diff --git a/docs/README_JA.md b/docs/README_JA.md index acf7adf..27f3f9e 100644 --- a/docs/README_JA.md +++ b/docs/README_JA.md @@ -1,6 +1,6 @@

OpenNews MCP Server
- 暗号通貨ニュース集約 · AI 評価 · トレーディングシグナル · リアルタイム更新 + 72+ リアルタイムデータソース · 5 エンジンカテゴリ · AI 評価 · トレーディングシグナル

@@ -54,6 +54,20 @@ opennews-mcp という 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、Phoenixnews など | +| **Listing** | 9 | Binance、Coinbase、OKX、Bybit、Upbit、Bithumb、Robinhood、Hyperliquid、Aster | +| **OnChain** | 3 | Hyperliquid Whale Trade、Hyperliquid Large Position、KOL Trade | +| **Meme** | 1 | Twitter ミームコインソーシャルセンチメント | +| **Market** | 6 | Price Change、Funding Rate、Funding Rate Difference、Large Liquidation、Market Trends、OI Change | + +すべての記事は **AI 分析済み** — 影響度スコア(0-100)、トレーディングシグナル(long/short/neutral)、中英バイリンガル要約付き。 + +--- + ## 何ができる? 接続後、AI アシスタントに話しかけるだけ: @@ -75,17 +89,17 @@ opennews-mcp という MCP サーバーをレビューしてインストール | カテゴリ | ツール | 説明 | |---------|--------|------| -| ディスカバリー | `get_news_sources` | 全ニュースソースカテゴリツリー | -| | `list_news_types` | 利用可能なソースコード一覧 | -| 検索 | `get_latest_news` | 最新記事 | -| | `search_news` | キーワード検索 | -| | `search_news_by_coin` | 通貨別(BTC, ETH, SOL...) | -| | `get_news_by_source` | エンジンタイプとソース別 | -| | `get_news_by_engine` | タイプ別(news, listing, onchain, meme, market) | -| | `search_news_advanced` | 高度な検索(複数フィルタ) | -| AI | `get_high_score_news` | スコア >= 閾値の記事 | -| | `get_news_by_signal` | シグナル別:long / short / neutral | -| リアルタイム | `subscribe_latest_news` | 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 ライブフィード、通貨・エンジンタイプフィルタ対応 | --- diff --git a/docs/README_KO.md b/docs/README_KO.md index e4820bb..f8ed718 100644 --- a/docs/README_KO.md +++ b/docs/README_KO.md @@ -1,6 +1,6 @@

OpenNews MCP Server
- 암호화폐 뉴스 집계 · AI 평가 · 트레이딩 시그널 · 실시간 업데이트 + 72+ 실시간 데이터 소스 · 5개 엔진 카테고리 · AI 평가 · 트레이딩 시그널

@@ -54,6 +54,20 @@ opennews-mcp 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, Phoenixnews 등 | +| **Listing** | 9 | Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, Hyperliquid, Aster | +| **OnChain** | 3 | Hyperliquid Whale Trade, Hyperliquid Large Position, KOL Trade | +| **Meme** | 1 | Twitter 밈코인 소셜 센티먼트 | +| **Market** | 6 | Price Change, Funding Rate, Funding Rate Difference, Large Liquidation, Market Trends, OI Change | + +모든 기사는 **AI 분석** 완료 — 영향도 점수(0-100), 트레이딩 시그널(long/short/neutral), 중영 이중 언어 요약 포함. + +--- + ## 무엇을 할 수 있나요? 연결 후 AI 어시스턴트에게 말하기만 하면 됩니다: @@ -75,17 +89,17 @@ opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로 | 카테고리 | 도구 | 설명 | |---------|------|------| -| 디스커버리 | `get_news_sources` | 전체 뉴스 소스 카테고리 트리 | -| | `list_news_types` | 사용 가능한 소스 코드 목록 | -| 검색 | `get_latest_news` | 최신 기사 | -| | `search_news` | 키워드 검색 | -| | `search_news_by_coin` | 코인별 (BTC, ETH, SOL...) | -| | `get_news_by_source` | 엔진 유형과 소스별 | -| | `get_news_by_engine` | 유형별 (news, listing, onchain, meme, market) | -| | `search_news_advanced` | 고급 검색 (다중 필터) | -| AI | `get_high_score_news` | 점수 >= 임계값 기사 | -| | `get_news_by_signal` | 시그널별: long / short / neutral | -| 실시간 | `subscribe_latest_news` | 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 라이브 피드, 코인 및 엔진 유형 필터 지원 | --- diff --git a/docs/README_ZH.md b/docs/README_ZH.md index 1e40328..2286ec7 100644 --- a/docs/README_ZH.md +++ b/docs/README_ZH.md @@ -1,6 +1,6 @@

OpenNews MCP Server
- 加密货币新闻聚合 · AI 评分 · 交易信号 · 实时更新 + 72+ 实时数据源 · 5 大引擎类别 · AI 评分 · 交易信号

@@ -54,6 +54,20 @@ cp -r openclaw-skill/opennews ~/.openclaw/skills/ --- +## 数据源 — 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 助手: @@ -75,17 +89,17 @@ cp -r openclaw-skill/opennews ~/.openclaw/skills/ | 分类 | 工具 | 描述 | |------|------|------| -| 发现 | `get_news_sources` | 获取所有新闻来源分类树 | -| | `list_news_types` | 所有可用的新闻来源代码 | -| 搜索 | `get_latest_news` | 最新文章 | -| | `search_news` | 关键词搜索 | -| | `search_news_by_coin` | 按币种搜索 (BTC, ETH, SOL...) | -| | `get_news_by_source` | 按引擎类型和来源搜索 | -| | `get_news_by_engine` | 按类型搜索 (news, listing, onchain, meme, market) | -| | `search_news_advanced` | 高级搜索(多条件筛选) | -| AI | `get_high_score_news` | 评分 >= 阈值的文章 | -| | `get_news_by_signal` | 按信号搜索: long / short / neutral | -| 实时 | `subscribe_latest_news` | 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 实时推送,支持币种和引擎类型过滤 | --- diff --git a/knowledge/guide.md b/knowledge/guide.md index 666af64..93c738b 100644 --- a/knowledge/guide.md +++ b/knowledge/guide.md @@ -2,46 +2,159 @@ ## Overview -This MCP server provides access to crypto news from the 6551 news platform -via REST API and WebSocket. It replaces direct database access with API calls. +This MCP server provides real-time access to a **massive, multi-source crypto & financial news aggregation platform** powered by 6551.io. It aggregates **72+ data sources** across 5 engine categories, covering everything from Bloomberg and Reuters breaking news to on-chain whale trades, meme coin signals, and market anomaly alerts — all with AI-powered ratings and trading signal analysis. + +## Data Source Coverage (5 Categories, 72+ Sources) + +### 1. News — 53 sources (engineType: "news") +Premium financial & crypto media, government agencies, social platforms: + +| Source Code | Description | +|-------------|-------------| +| 6551News | 6551 platform original analysis | +| BWEnews | BWE news wire | +| Bloomberg | Bloomberg — top-tier financial news | +| Reuters | Reuters — global wire service | +| A16Z | a16z (Andreessen Horowitz) — leading crypto VC | +| AGGRNEWS | Aggregated news feed | +| dbnews | DB news | +| Tree | Tree news | +| Velo | Velo data intelligence | +| Phoenixnews | Phoenix news (凤凰新闻) | +| BBC | BBC — British Broadcasting Corporation | +| Binance | Binance announcements & blog | +| Blockworks | Blockworks — crypto-native media | +| Business Insider | Business Insider | +| Chainwire | Chainwire — crypto press releases | +| CNBC | CNBC — financial television | +| CNN | CNN — US news network | +| CoinDesk | CoinDesk — leading crypto media | +| Cointelegraph | Cointelegraph — crypto media | +| Crypto Narratives | Crypto narrative tracking | +| Decrypt | Decrypt — crypto & web3 media | +| DlNews | DL News — crypto investigative journalism | +| Financial Times | Financial Times — premium business news | +| Interfax | Interfax — Russian news agency | +| Medium | Medium blog posts | +| MS NOW | Morgan Stanley NOW — institutional research | +| Politico | Politico — US & EU political news | +| PR Newswire | PR Newswire — press releases | +| TechCrunch | TechCrunch — tech & startup news | +| Techinasia | Tech in Asia — Asian tech news | +| Telegram | Telegram channels | +| Telegraph | The Telegraph — UK news | +| The Big Whale | The Big Whale — European crypto media | +| The Block | The Block — crypto data & journalism | +| The Verge | The Verge — tech media | +| Token Relations | Token relations & partnerships | +| U.S. Treasury | U.S. Treasury Department — official statements | +| Truth Social | Truth Social — Trump's social platform | +| Twitter/X | Twitter/X posts from crypto influencers | +| X / Twitter Profile | Twitter/X profile changes (name, bio updates) | +| U.S. Trade Representative | USTR — trade policy announcements | +| Weibo | Weibo (微博) — Chinese social media | +| Wired | Wired magazine — tech journalism | +| Coinbase | Coinbase announcements & blog | +| Crypto in America | Crypto in America coverage | +| AI_Helper | AI-generated analysis & helper | +| Fox Business | Fox Business — US financial news | +| TASS | TASS — Russian state news agency | +| Hadelsblatt | Hadelsblatt — German business | +| Welt | Welt — German newspaper | +| Handelsblatt | Handelsblatt — German business newspaper | +| Ambrey | Ambrey — maritime & geopolitical intelligence | +| ECB | European Central Bank — official communications | + +### 2. Listing — 9 sources (engineType: "listing") +Token listing announcements from major exchanges: + +| Source Code | Description | +|-------------|-------------| +| Binance | Binance new token listings | +| Aster | Aster exchange listings | +| Hyperliquid | Hyperliquid perp listings | +| Bithumb | Bithumb (Korean exchange) listings | +| Upbit | Upbit (Korean exchange) listings | +| Robinhood | Robinhood crypto listings | +| Bybit | Bybit new token listings | +| OKX | OKX new token listings | +| Coinbase | Coinbase new token listings | + +### 3. 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 | + +### 4. Meme — 1 source (engineType: "meme") +Meme coin social sentiment tracking: + +| Source Code | Description | +|-------------|-------------| +| Twitter | Twitter/X meme coin discussions & viral posts | + +### 5. 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 | ## Available Tools ### Discovery -- **get_news_sources**: Get all available news source categories (Bloomberg, Reuters, etc.) -- **list_news_types**: Flat list of news type codes for filtering +- **get_news_sources**: Get the full engine tree with all 5 categories and 72+ sources, including metadata (names, icons, AI-enabled status) +- **list_news_types**: Flat list of all source codes for use in filters ### News Search -- **get_latest_news**: Get most recent news (no filters) -- **search_news**: Search by keyword -- **search_news_by_coin**: Search by coin symbol (BTC, ETH, SOL, etc.) -- **get_news_by_source**: Filter by source (Bloomberg, Reuters, Coindesk, etc.) -- **get_news_by_engine**: Filter by engine type (news, listing, onchain, meme, market) -- **search_news_by_date**: Search within a date range +- **get_latest_news**: Most recent articles across all sources +- **search_news**: Full-text keyword search across all sources +- **search_news_by_coin**: Filter by coin symbol (BTC, ETH, SOL, etc.) +- **get_news_by_source**: Filter by specific source within a category (e.g. engine_type="news", news_type="Bloomberg") +- **get_news_by_engine**: Filter by entire engine category (e.g. "listing" for all exchange listing alerts) +- **search_news_advanced**: Combined multi-filter search (coins + keywords + engine types + has_coin) -### AI Ratings -- **get_high_score_news**: Get articles with high AI scores (>=70) -- **get_news_by_signal**: Filter by trading signal (long/short/neutral) +### AI Ratings & Signals +- **get_high_score_news**: Articles with high AI impact scores (0-100 scale) +- **get_news_by_signal**: Filter by AI trading signal — "long" (bullish), "short" (bearish), or "neutral" ### Real-time -- **subscribe_latest_news**: Connect to WebSocket for live news updates +- **subscribe_latest_news**: WebSocket live feed with optional filters by coins, engine types ## Workflow Examples -1. **Quick market overview**: `get_latest_news(limit=10)` -2. **Coin-specific research**: `search_news_by_coin(coin="BTC", limit=20)` -3. **Source-specific feed**: `get_news_by_source(source="Bloomberg")` -4. **Bullish signals**: `get_news_by_signal(signal="long")` -5. **High-impact news**: `get_high_score_news(min_score=80)` +1. **Breaking news scan**: `get_latest_news(limit=20)` — see what's happening right now across all 72+ sources +2. **Institutional media only**: `get_news_by_source(engine_type="news", news_type="Bloomberg")` — Bloomberg-only feed +3. **Exchange listing alpha**: `get_news_by_engine(engine_type="listing")` — catch new token listings on Binance, Coinbase, Upbit, etc. +4. **Whale watching**: `get_news_by_engine(engine_type="onchain")` — Hyperliquid whale trades & KOL activity +5. **Market anomalies**: `get_news_by_engine(engine_type="market")` — price spikes, liquidations, OI changes, funding rate divergences +6. **Coin deep-dive**: `search_news_by_coin(coin="ETH", limit=30)` — all ETH-related news across every source +7. **Bullish signals**: `get_news_by_signal(signal="long")` — AI-detected bullish catalysts +8. **Multi-filter power search**: `search_news_advanced(coins="BTC,ETH", engine_types="news:Bloomberg,Reuters;market:", keyword="ETF")` — Bloomberg & Reuters ETF news for BTC/ETH plus all market signals +9. **Live monitoring**: `subscribe_latest_news(wait_seconds=15, coins="BTC", engine_types="news:;market:")` — real-time BTC news + market anomalies ## Data Structure Each news article contains: - `id`: Unique article ID - `text`: Article headline/content -- `newsType`: Source type (Bloomberg, Reuters, etc.) -- `engineType`: Engine category (news, listing, onchain, etc.) +- `newsType`: Source code (e.g. "Bloomberg", "Binance", "price_change") +- `engineType`: Engine category ("news", "listing", "onchain", "meme", "market") - `link`: URL to original article -- `coins`: Array of related coins with symbol, market_type, match -- `aiRating`: AI analysis with score, grade, signal, summary, enSummary -- `ts`: Timestamp of the article +- `coins`: Array of related coins `[{symbol, market_type, match}]` +- `aiRating`: AI analysis object: + - `score`: Impact score 0-100 + - `grade`: Letter grade (A/B/C/D) + - `signal`: Trading signal ("long" / "short" / "neutral") + - `status`: Analysis status ("done" = completed) + - `summary`: Chinese summary + - `enSummary`: English summary +- `ts`: ISO timestamp diff --git a/openclaw-skill/opennews/SKILL.md b/openclaw-skill/opennews/SKILL.md index 1f3a7a6..2561f3b 100644 --- a/openclaw-skill/opennews/SKILL.md +++ b/openclaw-skill/opennews/SKILL.md @@ -1,6 +1,6 @@ --- name: opennews -description: Crypto news search, AI ratings, trading signals, and real-time updates via the OpenNews 6551 API. Supports keyword search, coin filtering, source filtering, AI score ranking, and WebSocket live feeds. +description: "Real-time crypto & financial news aggregator — 72+ data sources across 5 categories (News: Bloomberg, Reuters, FT, CNBC, CoinDesk, Twitter/X + 47 more; Listing: Binance, Coinbase, OKX + 6 more; OnChain: whale & KOL trades; Meme: social sentiment; Market: price/funding/liquidation alerts). AI-analyzed with impact score, trading signals, and bilingual summaries." user-invocable: true metadata: @@ -26,12 +26,22 @@ metadata: # OpenNews Crypto News Skill -Query crypto news from the 6551 platform REST API. All endpoints require a Bearer token via `$OPENNEWS_TOKEN`. +Real-time crypto & financial news aggregator powered by 6551.io — **72+ data sources** across 5 engine categories, all AI-analyzed with impact scores, trading signals, and bilingual summaries. **Get your token**: https://6551.io/mcp **Base URL**: `https://ai.6551.io` +## 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 | + ## Authentication All requests require the header: @@ -45,14 +55,14 @@ Authorization: Bearer $OPENNEWS_TOKEN ### 1. Get News Sources -Fetch all available news source categories organized by engine type. +Fetch the full engine tree with all 5 categories and 72+ sources. ```bash curl -s -H "Authorization: Bearer $OPENNEWS_TOKEN" \ "https://ai.6551.io/open/news_type" ``` -Returns a tree with engine types (`news`, `listing`, `onchain`, `meme`, `market`) and their sub-categories. +Returns a tree with engine types (`news` — 53 sources, `listing` — 9 exchanges, `onchain` — 3 whale/KOL trackers, `meme` — 1 sentiment source, `market` — 6 anomaly signals) and their sub-categories. ### 2. Search News @@ -71,7 +81,7 @@ curl -s -X POST "https://ai.6551.io/open/news_search" \ curl -s -X POST "https://ai.6551.io/open/news_search" \ -H "Authorization: Bearer $OPENNEWS_TOKEN" \ -H "Content-Type: application/json" \ - -d '{"q": "bitcoin ETF", "limit": 10, "page": 1}' + -d '{"q": "bitcoin OR ETF", "limit": 10, "page": 1}' ``` **Search by coin symbol:** @@ -109,6 +119,8 @@ curl -s -X POST "https://ai.6551.io/open/news_search" \ | `engineTypes`| map[string][]string | no | Filter by engine and news types | | `hasCoin` | boolean | no | Only return news with associated coins | +Important: You need to understand the user's query intent and perform word segmentation, then combine them using OR/AND to form search keywords, supporting both Chinese and English. + --- ## Data Structures diff --git a/openclaw-skill/opennews/package.json b/openclaw-skill/opennews/package.json index 7c59286..e511ac5 100644 --- a/openclaw-skill/opennews/package.json +++ b/openclaw-skill/opennews/package.json @@ -1,7 +1,7 @@ { "name": "opennews", "version": "0.1.0", - "description": "Crypto news search, AI ratings, trading signals, and real-time updates via the OpenNews 6551 API", + "description": "72+ real-time crypto & financial news sources across 5 categories (News, Listing, OnChain, Meme, Market) with AI ratings, trading signals, and bilingual summaries via the OpenNews 6551 API", "author": "0xfaskety", "license": "MIT", "homepage": "https://github.com/0xfaskety/opennews-mcp", @@ -22,6 +22,14 @@ "ai-ratings", "signals", "blockchain", - "defi" + "defi", + "bloomberg", + "reuters", + "onchain", + "whale-tracking", + "market-signals", + "exchange-listings", + "meme-coins", + "real-time" ] } diff --git a/src/opennews_mcp/app.py b/src/opennews_mcp/app.py index 78895ed..c6e8518 100644 --- a/src/opennews_mcp/app.py +++ b/src/opennews_mcp/app.py @@ -33,8 +33,29 @@ async def app_lifespan(server: FastMCP) -> AsyncIterator[AppContext]: # ---------- FastMCP instance ---------- +_INSTRUCTIONS = """\ +OpenNews MCP — Real-time crypto & financial news aggregator powered by 6551.io. + +Aggregates 72+ data sources across 5 engine categories: +- NEWS (53 sources): 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 sources): Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, \ +Hyperliquid, Aster — new token listing announcements. +- ONCHAIN (3 sources): Hyperliquid Whale Trade, Hyperliquid Large Position, \ +KOL Trade — on-chain whale & KOL activity. +- MEME (1 source): Twitter meme coin social sentiment. +- MARKET (6 sources): Price Change, Funding Rate, Funding Rate Difference, \ +Large Liquidation, Market Trends, OI Change — quantitative market signals. + +All articles are AI-analyzed with impact score (0-100), trading signal (long/short/neutral), \ +and bilingual summaries (EN/ZH). +""" + mcp = FastMCP( "opennews-6551", + instructions=_INSTRUCTIONS, lifespan=app_lifespan, json_response=True, ) diff --git a/src/opennews_mcp/tools/discovery.py b/src/opennews_mcp/tools/discovery.py index 7722c43..624f24e 100644 --- a/src/opennews_mcp/tools/discovery.py +++ b/src/opennews_mcp/tools/discovery.py @@ -9,10 +9,27 @@ from opennews_mcp.app import mcp async def get_news_sources(ctx: Context) -> dict: """Get all available news source categories and their metadata. - Returns a tree structure with engine types (news, listing, onchain, meme, market) - and their sub-categories (Bloomberg, Reuters, Binance, etc.). + This platform aggregates 72+ real-time data sources across 5 engine categories: - Use this first to understand what news sources are available before searching. + NEWS (53 sources): 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 (MS NOW), + PR Newswire, Coinbase, Phoenixnews, and more. + + LISTING (9 sources): Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, + Hyperliquid, Aster — new token listing announcements from major exchanges. + + ONCHAIN (3 sources): Hyperliquid Whale Trade, Hyperliquid Large Position, + KOL Trade — on-chain whale & KOL activity alerts. + + MEME (1 source): Twitter — meme coin social sentiment tracking. + + MARKET (6 sources): Price Change, Funding Rate, Funding Rate Difference, + Large Liquidation, Market Trends, OI Change — quantitative market anomaly signals. + + Returns a tree structure with all engine types and their sub-categories. + Use this first to discover what sources are available before searching. """ api = ctx.request_context.lifespan_context.api @@ -55,6 +72,7 @@ async def list_news_types(ctx: Context) -> dict: Returns a flat list of news source codes that can be used with the newsType parameter in search_news. """ + # See get_news_sources for the full 72+ source catalog. api = ctx.request_context.lifespan_context.api try: diff --git a/src/opennews_mcp/tools/news.py b/src/opennews_mcp/tools/news.py index 2e4a74f..d616700 100644 --- a/src/opennews_mcp/tools/news.py +++ b/src/opennews_mcp/tools/news.py @@ -1,7 +1,8 @@ -"""News content tools — search and retrieve crypto news via REST API. +"""News content tools — search and retrieve news from 72+ sources via REST API. +Covers 5 engine categories: news (53 premium media & social sources), listing (9 exchanges), +onchain (whale & KOL trades), meme (social sentiment), market (6 anomaly signals). Uses POST /open/news_search as the primary data source. -Returns raw article data as-is from the API. """ from mcp.server.fastmcp import Context @@ -14,7 +15,8 @@ from opennews_mcp.config import clamp_limit, make_serializable, MAX_ROWS async def get_latest_news(ctx: Context, limit: int = 10) -> dict: """Get the most recent crypto news articles, newest first. - Returns news with title text, source, link, related coins, AI rating, and tags. + Returns news from 72+ sources across all 5 categories (news, listing, onchain, + meme, market) with title text, source, link, related coins, AI rating, and tags. Args: limit: Maximum number of articles to return (default 10, max 100). @@ -36,6 +38,9 @@ async def get_latest_news(ctx: Context, limit: int = 10) -> dict: async def search_news(keyword: str, ctx: Context, limit: int = 10) -> dict: """Search crypto news by keyword in text content. + Searches across all 72+ sources including Bloomberg, Reuters, CoinDesk, + Twitter/X, on-chain alerts, exchange listings, and market signals. + Args: keyword: Search term (e.g. "bitcoin", "SEC", "ETF"). limit: Maximum results (default 10, max 100). @@ -57,6 +62,9 @@ async def search_news(keyword: str, ctx: Context, limit: int = 10) -> dict: async def search_news_by_coin(coin: str, ctx: Context, limit: int = 10) -> dict: """Search news related to a specific cryptocurrency coin/token. + Finds all mentions across 72+ sources: media coverage, exchange listings, + whale trades, meme sentiment, and market anomalies for the given coin. + Args: coin: Coin symbol or name (e.g. "BTC", "ETH", "SOL", "TRUMP"). limit: Maximum results (default 10, max 100). @@ -83,6 +91,12 @@ async def get_news_by_source(engine_type: str, news_type: str, ctx: Context, lim Args: engine_type: The engine type (e.g. "news", "listing", "onchain", "meme", "market"). news_type: The news source code (e.g. "Bloomberg", "Reuters", "Coindesk"). + For listing: "Binance", "Coinbase", "OKX", "Bybit", "Upbit", "Bithumb", + "Robinhood", "Hyperliquid", "Aster". + For onchain: "Hyperliquid Whale Trade", "Hyperliquid Large Position", "KOL Trade". + For meme: "Twitter". + For market: "Price Change", "Funding Rate", "Funding Rate Difference", + "Large Liquidation", "Market Trends", "OI Change". limit: Maximum results (default 10, max 100). """ api = ctx.request_context.lifespan_context.api @@ -103,6 +117,11 @@ async def get_news_by_engine(engine_type: str, ctx: Context, limit: int = 10) -> """Get news articles filtered by engine type. Engine types: "news", "listing", "onchain", "meme", "market". + - "news": 53 sources — Bloomberg, Reuters, FT, CNBC, CNN, BBC, CoinDesk, Twitter/X, etc. + - "listing": 9 exchanges — Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, etc. + - "onchain": Whale trades & KOL activity on Hyperliquid. + - "meme": Meme coin social sentiment from Twitter. + - "market": Price changes, funding rates, liquidations, OI changes, market trends. Args: engine_type: The engine type code. @@ -132,6 +151,9 @@ async def search_news_advanced( ) -> dict: """Advanced news search with multiple filters. + Combines coin, keyword, engine type, and source filters for precise queries + across the full 72+ source catalog. + Args: coins: Comma-separated coin symbols (e.g. "BTC,ETH"). keyword: Optional search keyword. @@ -174,6 +196,9 @@ async def search_news_advanced( async def get_high_score_news(ctx: Context, min_score: int = 70, limit: int = 10) -> dict: """Get highly-rated news articles (by AI score), sorted by score descending. + AI scores range 0-100 and reflect potential market impact. + All articles from 72+ sources are AI-analyzed with score, grade, signal, and summary. + Args: min_score: Minimum score threshold (default 70). limit: Maximum results to return (default 10, max 100). @@ -204,6 +229,8 @@ async def get_high_score_news(ctx: Context, min_score: int = 70, limit: int = 10 async def get_news_by_signal(signal: str, ctx: Context, limit: int = 10) -> dict: """Get news filtered by trading signal type. + Each article from 72+ sources is AI-analyzed for trading direction. + Args: signal: The signal type: "long" (bullish), "short" (bearish), or "neutral". limit: Maximum results (default 10, max 100). diff --git a/src/opennews_mcp/tools/realtime.py b/src/opennews_mcp/tools/realtime.py index 1d2725d..60c6e08 100644 --- a/src/opennews_mcp/tools/realtime.py +++ b/src/opennews_mcp/tools/realtime.py @@ -1,4 +1,4 @@ -"""Real-time news tools — WebSocket subscription for live news updates.""" +"""Real-time news tools — WebSocket subscription for live updates from 72+ sources.""" from mcp.server.fastmcp import Context @@ -20,6 +20,10 @@ async def subscribe_latest_news( Connects to the WebSocket feed, subscribes to news with optional filters, and collects incoming messages for the specified duration. + Streams live data from 72+ sources across 5 categories: + news (Bloomberg, Reuters, etc.), listing (Binance, Coinbase, etc.), + onchain (whale trades), meme (Twitter sentiment), market (price/funding/liquidation alerts). + Args: wait_seconds: How long to listen for news (default 10, max 30 seconds). max_items: Maximum news items to collect (default 5, max 20).