6O

6551team/opennews-mcp

Developer tools
1.8천 stars 0 forks 품질 64 트렌드 64

News Aggregation · AI Ratings · Trading Signals · Real-time Updates

개요

OpenNews MCP Server 85+ Real-time Data Sources · 6 Engine Categories · AI Ratings · Trading Signals Replace /path/to/opennews-mcp with your local project path, and with your API token. Not sure if this MCP is safe? Send the following prompt to your AI assistant to review the source code before installing: All articles are with impact score (0-100), trading signal (long/short/neutral), and bilingual summaries (EN/ZH). News — 55 sources (engineType: "news") — Premium financial & crypto media, government agencies, social platforms Listing — 9 sources (engineType: "listing") — Token listing announcements from major exchanges OnChain — 2 sources (engineType: "onchain") — Hyperliquid whale trades and large position activity Meme — 1 source (engineType: "meme") — Meme coin social sentiment tracking

README

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

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


Quick Install

First, get your API Token at https://6551.io/mcp.

Claude Code

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

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):

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 — 85+ Sources Across 6 Categories

Category Count Key Sources
News 55 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, GlobeNewswire, Business Wire, Coinbase, and more
Listing 9 Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, Hyperliquid, Aster
OnChain 2 Hyperliquid Whale Trade, Hyperliquid Large Position
Meme 1 Twitter meme coin social sentiment
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

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:

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 6 categories and 85+ sources with metadata
list_news_types Flat list of all source codes for filtering
Search get_latest_news Latest articles across all 85+ 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, prediction
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
Finance search_companies Search public company candidates by keyword, ticker, CIK, or fuzzy name
get_company_info Resolve a company and list available SEC filings, research reports, transcripts, and financial fields
get_company_report_text Fetch SEC filing, third-party research report, or earnings-call transcript text
get_crypto_holdings Query wallet-visible on-chain holdings evidence for an institution or address
get_crypto_holding_changes Query adjacent-snapshot on-chain holdings changes
Real-time subscribe_latest_news WebSocket live feed with coin & engine type filters

For a comprehensive usage guide with detailed examples, see Knowledge Guide.


Configuration

Get API Token

Get your API Token at https://6551.io/mcp.

Set environment variable:

# 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):

{
  "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

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "news.subscribe",
  "params": {
    "engineTypes": {
      "news": ["Bloomberg", "CoinDesk"],
      "onchain": []
    },
    "coins": ["BTC", "ETH"],
    "hasCoin": true
  }
}

Response:

{
  "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", "prediction")
    • 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

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "news.unsubscribe"
}

Server Push - News Update

When new news matches your filters, the server pushes:

{
  "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": "cex",
        "match": "title"
      }
    ],
    "ts": 1708473600000
  }
}

Server Push - AI News Update

For news with AI analysis (if subscribed):

{
  "jsonrpc": "2.0",
  "method": "news.ai_update",
  "params": {
    "id": "unique-article-id",
    "text": "Article title",
    "newsType": "Bloomberg",
    "engineType": "news",
    "link": "https://...",
    "coins": [
      {
        "symbol": "BTC",
        "market_type": "cex",
        "score": 85,
        "signal": "long",
        "grade": "A"
      },
      {
        "symbol": "ETH",
        "market_type": "cex",
        "score": 45,
        "signal": "short",
        "grade": "B"
      }
    ],
    "aiRating": {
      "score": 85,
      "grade": "A",
      "signal": "long"
    },
    "ts": 1708473600000
  }
}

Server Push - Strategy Triggered

Requires Max subscription. Create and manage your strategies at https://www.newsliquid.com/strategy.

When a user-defined strategy is triggered (e.g., price alert, keyword match), the server pushes:

{
  "jsonrpc": "2.0",
  "method": "strategy.triggered",
  "params": {
    "id": 1234567890,
    "newsType": "strategy",
    "engineType": "market",
    "text": "BTC funding rate 0.15%",
    "link": "",
    "source": "binance",
    "description": "{...}",
    "coins": [
      {
        "symbol": "BTC",
        "market_type": "cex"
      }
    ],
    "ts": "2025-01-15T08:30:00Z",
    "strategy": {
      "id": 42,
      "name": "BTC Funding Rate Alert",
      "sourceType": "market",
      "soundId": "alert-1",
      "bgColor": "#FF6B35",
      "metrics": {
        "funding_rate_high": {
          "value": 0.15,
          "unit": "%"
        }
      }
    },
    "aiRating": {
      "score": 85
    }
  }
}

Strategy Params Fields:

  • id: News/event ID
  • engineType: Source engine type (market, news, onchain)
  • text: Human-readable event description
  • coins: Related coins
  • ts: Event timestamp
  • strategy.id: User strategy ID
  • strategy.name: Strategy name
  • strategy.sourceType: Strategy source type
  • strategy.soundId: Notification sound ID
  • strategy.bgColor: Notification background color
  • strategy.metrics: Triggered metric values with units
  • aiRating (optional): Present when the news has an AI score. Contains:
    • score: 0-100 impact score
  • relatedAddress (optional): Related wallet address if applicable

Note: Strategy triggered events are pushed per-user via NATS. No explicit subscription is required — events are automatically delivered to the connected user who owns the strategy.

Note: Each coin in the coins array now includes individual AI ratings:

  • score: 0-100 impact score for this specific coin
  • signal: long / short / neutral for this coin
  • grade: A+ / A / B+ / B / C for this coin

The top-level aiRating.score represents the highest score among all coins.


Data Structure

Each article returns:

{
  "id": "unique-article-id",
  "text": "Title / Content",
  "newsType": "Bloomberg",
  "engineType": "news",
  "link": "https://...",
  "coins": [
    {
      "symbol": "BTC",
      "market_type": "cex",
      "match": "title",
      "score": 85,
      "signal": "long",
      "grade": "A"
    }
  ],
  "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 (top-level = highest among all coins)
signal long (bullish) / short (bearish) / neutral
coins[].score Individual coin impact score (0-100)
coins[].signal Individual coin signal (long/short/neutral)
coins[].grade Individual coin grade (A+/A/B+/B/C)


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


Development

cd /path/to/opennews-mcp
uv sync
uv run opennews-mcp
# 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

View this README on GitHub

설치

npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp

설정

{ "mcpServers": { "opennews": { "command": "uv", "args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"], "env": { "OPENNEWS_TOKEN": "<your-token>" } } } }