6551Team/opennews-mcp

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

Python

2,416

33 commits

updated Sep 14, 2026

See the code

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=<your-token> \
  -- uv --directory /path/to/opennews-mcp run opennews-mcp

Replace /path/to/opennews-mcp with your local project path, and <your-token> with your API token.

OpenClaw

export OPENNEWS_TOKEN="<your-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 <project-path> and <your-token> with actual values):

Please help me review and install the opennews-mcp MCP server. The project is at <project-path>.

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=<your-token> -- uv --directory <project-path> run opennews-mcp

Data Sources — 85+ Sources Across 6 Categories

CategoryCountKey Sources
News55Bloomberg, 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
Listing9Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, Hyperliquid, Aster
OnChain2Hyperliquid Whale Trade, Hyperliquid Large Position
Meme1Twitter meme coin social sentiment
Market6Price Change, Funding Rate, Funding Rate Difference, Large Liquidation, Market Trends, OI Change
Prediction12CORRELATION_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).

News — 55 sources (engineType: "news") — Premium financial & crypto media, government agencies, social platforms
Source CodeDescription
BloombergBloomberg — top-tier financial news
ReutersReuters — global wire service
Financial TimesFinancial Times — premium business news
CNBCCNBC — financial television
CNNCNN — US news network
BBCBBC — British Broadcasting Corporation
Fox BusinessFox Business — US financial news
CoinDeskCoinDesk — leading crypto media
CointelegraphCointelegraph — crypto media
The BlockThe Block — crypto data & journalism
BlockworksBlockworks — crypto-native media
DecryptDecrypt — crypto & web3 media
DlNewsDL News — crypto investigative journalism
A16Za16z (Andreessen Horowitz) — leading crypto VC
TechCrunchTechCrunch — tech & startup news
WiredWired magazine — tech journalism
PoliticoPolitico — US & EU political news
Business InsiderBusiness Insider
Twitter/XTwitter/X posts from crypto influencers
X / Twitter ProfileTwitter/X profile changes (name, bio updates)
TelegramTelegram channels
WeiboWeibo — Chinese social media
Truth SocialTruth Social — Trump's social platform
U.S. TreasuryU.S. Treasury Department — official statements
U.S. Trade RepresentativeUSTR — trade policy announcements
ECBEuropean Central Bank — official communications
TASSTASS — Russian state news agency
InterfaxInterfax — Russian news agency
HandelsblattHandelsblatt — German business newspaper
HadelsblattHadelsblatt — German business
WeltWelt — German newspaper
TelegraphThe Telegraph — UK news
MS NOWMorgan Stanley NOW — institutional research
AmbreyAmbrey — maritime & geopolitical intelligence
PR NewswirePR Newswire — press releases
GlobeNewswireGlobeNewswire — press releases
Business WireBusiness Wire — press releases
CoinbaseCoinbase announcements & blog
BinanceBinance announcements & blog
jin10Jin10 — Chinese financial data flash news
The Big WhaleThe Big Whale — European crypto media
The VergeThe Verge — tech media
TechinasiaTech in Asia — Asian tech news
MediumMedium blog posts
ChainwireChainwire — crypto press releases
Token RelationsToken relations & partnerships
Crypto NarrativesCrypto narrative tracking
Crypto in AmericaCrypto in America coverage
6551News6551 platform original analysis
BWEnewsBWE news wire
AGGRNEWSAggregated news feed
VeloVelo data intelligence
Listing — 9 sources (engineType: "listing") — Token listing announcements from major exchanges
Source CodeDescription
BinanceBinance new token listings
CoinbaseCoinbase new token listings
OKXOKX new token listings
BybitBybit new token listings
UpbitUpbit (Korean exchange) listings
BithumbBithumb (Korean exchange) listings
RobinhoodRobinhood crypto listings
HyperliquidHyperliquid perp listings
AsterAster exchange listings
OnChain — 2 sources (engineType: "onchain") — Hyperliquid whale trades and large position activity
Source CodeDescription
Hyperliquid Whale TradeHyperliquid whale trade alerts
Hyperliquid Large PositionHyperliquid large position changes
Meme — 1 source (engineType: "meme") — Meme coin social sentiment tracking
Source CodeDescription
TwitterTwitter/X meme coin discussions & viral posts
Market — 6 sources (engineType: "market") — Market anomaly detection and quantitative signals
Source CodeDescription
Price ChangeSignificant price movements (pumps/dumps)
Funding RateFunding rate anomalies (perp futures)
Funding Rate DifferenceCross-exchange funding rate divergences
Large LiquidationLarge liquidation events
Market TrendsOverall market trend shifts
OI ChangeOpen interest significant changes
Prediction — 12 sources (engineType: "prediction") — AI-powered prediction and correlation signals
Source CodeDescription
CORRELATION_LOGICALLogical correlation analysis
SMART_MONEY_TRADESmart money trade tracking
PRICE_SPIKEPrice spike detection
CLUSTER_ENTRYCluster entry signals
WHALE_POSITIONWhale position monitoring
NEW_WALLET_TRADENew wallet trade detection
INSIDER_PATTERNInsider pattern recognition
CORRELATION_NARRATIVENarrative correlation analysis
CORRELATION_HEDGEHedge correlation analysis
CORRELATION_ENTITY_GEOGeopolitical entity correlation
CORRELATION_CAUSALCausal correlation analysis
SETTLEMENT_ARBITRAGESettlement arbitrage signals

What Can It Do?

After connecting, just tell your AI assistant:

You SayIt 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

CategoryToolDescription
Discoveryget_news_sourcesFull engine tree — all 6 categories and 85+ sources with metadata
list_news_typesFlat list of all source codes for filtering
Searchget_latest_newsLatest articles across all 85+ sources
search_newsFull-text keyword search across all sources
search_news_by_coinBy coin (BTC, ETH, SOL...) across all sources
get_news_by_sourceBy specific source (e.g. engine_type="news", news_type="Bloomberg")
get_news_by_engineBy category: news, listing, onchain, meme, market, prediction
search_news_advancedMulti-filter: coins + keywords + engine types combined
AIget_high_score_newsHigh AI impact score articles (0-100 scale)
get_news_by_signalBy AI trading signal: long / short / neutral
Strategyget_strategy_listList the authenticated user's strategies: id, name, description, enabled, createdAt
get_strategy_hitsQuery triggered event history by strategy ID
Financesearch_companiesDiscover candidates or resolve an exact canonical issuer, ticker, CIK, KRX code, DART code, or typed identifier
get_company_infoResolve exactly one issuer and list its SEC/DART filings, research reports, transcripts, and financial fields
get_company_report_textFetch one issuer-bound filing, research report, or transcript by stable report ID/type
get_key_market_eventsQuery key macro dates and configured focus-company earnings events
get_politician_stock_activityQuery official U.S. House PTR stock transaction disclosures
list_institution_managersList staged SEC Form 13F manager identities and filing coverage without holdings
get_institution_stock_holdingsQuery one manager's delayed SEC Form 13F stock holding disclosures
get_crypto_holdingsQuery wallet-visible on-chain holdings evidence for an institution or address
get_crypto_holding_changesQuery adjacent-snapshot on-chain holdings changes
Real-timesubscribe_latest_newsWebSocket 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="<your-token>"

# Windows PowerShell
$env:OPENNEWS_TOKEN = "<your-token>"
VariableRequiredDescription
OPENNEWS_TOKENYes6551 API Bearer Token (from https://6551.io/mcp)
OPENNEWS_API_BASENoOverride REST API URL
OPENNEWS_WSS_URLNoOverride WebSocket URL
OPENNEWS_MAX_ROWSNoMax 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": "<your-token>",
  "max_rows": 100
}

Strategy History Tools

Requires an OpenNews API token and an eligible subscription. Create and manage strategies at https://www.newsliquid.com/strategy. Each REST/MCP call consumes 1 quota.

  • get_strategy_list(limit=20, page=1): returns strategy id, name, description, enabled, and createdAt.
  • get_strategy_hits(strategy_id=42, limit=20, page=1): returns historical triggered events for that strategy. Hit items use the same news-like payload shape as strategy.triggered, including nested strategy, coins, aiRating, source, description, relatedAddress, and metric fields when available.

Raw HTTP equivalents:

curl -s -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  "https://ai.6551.io/open/strategy_list?page=1&limit=20"

curl -s -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  "https://ai.6551.io/open/strategy_hits?strategyId=42&page=1&limit=20"

WebSocket Real-time Subscriptions

Endpoint: wss://ai.6551.io/open/news_wss?token=YOUR_TOKEN

The news_wss endpoint is an authenticated WebSocket stream. It supports three client-initiated actions and three server-pushed event types.

DirectionMessagePurpose
Client -> ServerpingKeep the connection alive
Client -> Servernews.subscribeSubscribe to news updates with optional filters
Client -> Servernews.unsubscribeStop news updates for the current connection
Server -> ClientpongHeartbeat response
Server -> Clientnews.updateNew matched news item
Server -> Clientnews.ai_updateNew matched news item with AI rating fields
Server -> Clientstrategy.triggeredUser strategy hit pushed to the strategy owner

news.subscribe controls news.update and news.ai_update. strategy.triggered is delivered automatically to the authenticated user who owns the strategy; it does not require a separate subscribe method.

Heartbeat

Client sends a text frame:

ping

Server returns a text frame:

pong

Subscribe to News

Client sends:

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

Server returns:

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

Client sends:

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

Server returns:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "success": true
  }
}

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 FieldDescription
score0-100 impact score (top-level = highest among all coins)
signallong (bullish) / short (bearish) / neutral
coins[].scoreIndividual coin impact score (0-100)
coins[].signalIndividual coin signal (long/short/neutral)
coins[].gradeIndividual coin grade (A+/A/B+/B/C)

Manual Installation for Other Clients (click to expand)

In all configurations below, replace /path/to/opennews-mcp with your actual local project path, and <your-token> with your token from 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):

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

Cursor

~/.cursor/mcp.json or Settings > MCP Servers:

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

Windsurf

~/.codeium/windsurf/mcp_config.json:

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

Cline

VS Code sidebar > Cline > MCP Servers > Configure, edit cline_mcp_settings.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:

mcpServers:
  - name: opennews
    command: uv
    args:
      - --directory
      - /path/to/opennews-mcp
      - run
      - opennews-mcp
    env:
      OPENNEWS_TOKEN: <your-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:

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

Any stdio MCP Client

OPENNEWS_TOKEN=<your-token> \
  uv --directory /path/to/opennews-mcp run opennews-mcp

Compatibility

ClientInstallationStatus
Claude Codeclaude mcp addOne-click
OpenClawCopy Skill directoryOne-click
Claude DesktopJSON configSupported
CursorJSON configSupported
WindsurfJSON configSupported
ClineJSON configSupported
Continue.devYAML / JSONSupported
Cherry StudioGUISupported
ZedJSON configSupported


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

6551Team/opennews-mcp

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

Python

2,416

33 commits

updated Sep 14, 2026

See the code

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=<your-token> \
  -- uv --directory /path/to/opennews-mcp run opennews-mcp

Replace /path/to/opennews-mcp with your local project path, and <your-token> with your API token.

OpenClaw

export OPENNEWS_TOKEN="<your-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 <project-path> and <your-token> with actual values):

Please help me review and install the opennews-mcp MCP server. The project is at <project-path>.

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=<your-token> -- uv --directory <project-path> run opennews-mcp

Data Sources — 85+ Sources Across 6 Categories

CategoryCountKey Sources
News55Bloomberg, 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
Listing9Binance, Coinbase, OKX, Bybit, Upbit, Bithumb, Robinhood, Hyperliquid, Aster
OnChain2Hyperliquid Whale Trade, Hyperliquid Large Position
Meme1Twitter meme coin social sentiment
Market6Price Change, Funding Rate, Funding Rate Difference, Large Liquidation, Market Trends, OI Change
Prediction12CORRELATION_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).

News — 55 sources (engineType: "news") — Premium financial & crypto media, government agencies, social platforms
Source CodeDescription
BloombergBloomberg — top-tier financial news
ReutersReuters — global wire service
Financial TimesFinancial Times — premium business news
CNBCCNBC — financial television
CNNCNN — US news network
BBCBBC — British Broadcasting Corporation
Fox BusinessFox Business — US financial news
CoinDeskCoinDesk — leading crypto media
CointelegraphCointelegraph — crypto media
The BlockThe Block — crypto data & journalism
BlockworksBlockworks — crypto-native media
DecryptDecrypt — crypto & web3 media
DlNewsDL News — crypto investigative journalism
A16Za16z (Andreessen Horowitz) — leading crypto VC
TechCrunchTechCrunch — tech & startup news
WiredWired magazine — tech journalism
PoliticoPolitico — US & EU political news
Business InsiderBusiness Insider
Twitter/XTwitter/X posts from crypto influencers
X / Twitter ProfileTwitter/X profile changes (name, bio updates)
TelegramTelegram channels
WeiboWeibo — Chinese social media
Truth SocialTruth Social — Trump's social platform
U.S. TreasuryU.S. Treasury Department — official statements
U.S. Trade RepresentativeUSTR — trade policy announcements
ECBEuropean Central Bank — official communications
TASSTASS — Russian state news agency
InterfaxInterfax — Russian news agency
HandelsblattHandelsblatt — German business newspaper
HadelsblattHadelsblatt — German business
WeltWelt — German newspaper
TelegraphThe Telegraph — UK news
MS NOWMorgan Stanley NOW — institutional research
AmbreyAmbrey — maritime & geopolitical intelligence
PR NewswirePR Newswire — press releases
GlobeNewswireGlobeNewswire — press releases
Business WireBusiness Wire — press releases
CoinbaseCoinbase announcements & blog
BinanceBinance announcements & blog
jin10Jin10 — Chinese financial data flash news
The Big WhaleThe Big Whale — European crypto media
The VergeThe Verge — tech media
TechinasiaTech in Asia — Asian tech news
MediumMedium blog posts
ChainwireChainwire — crypto press releases
Token RelationsToken relations & partnerships
Crypto NarrativesCrypto narrative tracking
Crypto in AmericaCrypto in America coverage
6551News6551 platform original analysis
BWEnewsBWE news wire
AGGRNEWSAggregated news feed
VeloVelo data intelligence
Listing — 9 sources (engineType: "listing") — Token listing announcements from major exchanges
Source CodeDescription
BinanceBinance new token listings
CoinbaseCoinbase new token listings
OKXOKX new token listings
BybitBybit new token listings
UpbitUpbit (Korean exchange) listings
BithumbBithumb (Korean exchange) listings
RobinhoodRobinhood crypto listings
HyperliquidHyperliquid perp listings
AsterAster exchange listings
OnChain — 2 sources (engineType: "onchain") — Hyperliquid whale trades and large position activity
Source CodeDescription
Hyperliquid Whale TradeHyperliquid whale trade alerts
Hyperliquid Large PositionHyperliquid large position changes
Meme — 1 source (engineType: "meme") — Meme coin social sentiment tracking
Source CodeDescription
TwitterTwitter/X meme coin discussions & viral posts
Market — 6 sources (engineType: "market") — Market anomaly detection and quantitative signals
Source CodeDescription
Price ChangeSignificant price movements (pumps/dumps)
Funding RateFunding rate anomalies (perp futures)
Funding Rate DifferenceCross-exchange funding rate divergences
Large LiquidationLarge liquidation events
Market TrendsOverall market trend shifts
OI ChangeOpen interest significant changes
Prediction — 12 sources (engineType: "prediction") — AI-powered prediction and correlation signals
Source CodeDescription
CORRELATION_LOGICALLogical correlation analysis
SMART_MONEY_TRADESmart money trade tracking
PRICE_SPIKEPrice spike detection
CLUSTER_ENTRYCluster entry signals
WHALE_POSITIONWhale position monitoring
NEW_WALLET_TRADENew wallet trade detection
INSIDER_PATTERNInsider pattern recognition
CORRELATION_NARRATIVENarrative correlation analysis
CORRELATION_HEDGEHedge correlation analysis
CORRELATION_ENTITY_GEOGeopolitical entity correlation
CORRELATION_CAUSALCausal correlation analysis
SETTLEMENT_ARBITRAGESettlement arbitrage signals

What Can It Do?

After connecting, just tell your AI assistant:

You SayIt 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

CategoryToolDescription
Discoveryget_news_sourcesFull engine tree — all 6 categories and 85+ sources with metadata
list_news_typesFlat list of all source codes for filtering
Searchget_latest_newsLatest articles across all 85+ sources
search_newsFull-text keyword search across all sources
search_news_by_coinBy coin (BTC, ETH, SOL...) across all sources
get_news_by_sourceBy specific source (e.g. engine_type="news", news_type="Bloomberg")
get_news_by_engineBy category: news, listing, onchain, meme, market, prediction
search_news_advancedMulti-filter: coins + keywords + engine types combined
AIget_high_score_newsHigh AI impact score articles (0-100 scale)
get_news_by_signalBy AI trading signal: long / short / neutral
Strategyget_strategy_listList the authenticated user's strategies: id, name, description, enabled, createdAt
get_strategy_hitsQuery triggered event history by strategy ID
Financesearch_companiesDiscover candidates or resolve an exact canonical issuer, ticker, CIK, KRX code, DART code, or typed identifier
get_company_infoResolve exactly one issuer and list its SEC/DART filings, research reports, transcripts, and financial fields
get_company_report_textFetch one issuer-bound filing, research report, or transcript by stable report ID/type
get_key_market_eventsQuery key macro dates and configured focus-company earnings events
get_politician_stock_activityQuery official U.S. House PTR stock transaction disclosures
list_institution_managersList staged SEC Form 13F manager identities and filing coverage without holdings
get_institution_stock_holdingsQuery one manager's delayed SEC Form 13F stock holding disclosures
get_crypto_holdingsQuery wallet-visible on-chain holdings evidence for an institution or address
get_crypto_holding_changesQuery adjacent-snapshot on-chain holdings changes
Real-timesubscribe_latest_newsWebSocket 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="<your-token>"

# Windows PowerShell
$env:OPENNEWS_TOKEN = "<your-token>"
VariableRequiredDescription
OPENNEWS_TOKENYes6551 API Bearer Token (from https://6551.io/mcp)
OPENNEWS_API_BASENoOverride REST API URL
OPENNEWS_WSS_URLNoOverride WebSocket URL
OPENNEWS_MAX_ROWSNoMax 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": "<your-token>",
  "max_rows": 100
}

Strategy History Tools

Requires an OpenNews API token and an eligible subscription. Create and manage strategies at https://www.newsliquid.com/strategy. Each REST/MCP call consumes 1 quota.

  • get_strategy_list(limit=20, page=1): returns strategy id, name, description, enabled, and createdAt.
  • get_strategy_hits(strategy_id=42, limit=20, page=1): returns historical triggered events for that strategy. Hit items use the same news-like payload shape as strategy.triggered, including nested strategy, coins, aiRating, source, description, relatedAddress, and metric fields when available.

Raw HTTP equivalents:

curl -s -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  "https://ai.6551.io/open/strategy_list?page=1&limit=20"

curl -s -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  "https://ai.6551.io/open/strategy_hits?strategyId=42&page=1&limit=20"

WebSocket Real-time Subscriptions

Endpoint: wss://ai.6551.io/open/news_wss?token=YOUR_TOKEN

The news_wss endpoint is an authenticated WebSocket stream. It supports three client-initiated actions and three server-pushed event types.

DirectionMessagePurpose
Client -> ServerpingKeep the connection alive
Client -> Servernews.subscribeSubscribe to news updates with optional filters
Client -> Servernews.unsubscribeStop news updates for the current connection
Server -> ClientpongHeartbeat response
Server -> Clientnews.updateNew matched news item
Server -> Clientnews.ai_updateNew matched news item with AI rating fields
Server -> Clientstrategy.triggeredUser strategy hit pushed to the strategy owner

news.subscribe controls news.update and news.ai_update. strategy.triggered is delivered automatically to the authenticated user who owns the strategy; it does not require a separate subscribe method.

Heartbeat

Client sends a text frame:

ping

Server returns a text frame:

pong

Subscribe to News

Client sends:

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

Server returns:

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

Client sends:

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

Server returns:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "success": true
  }
}

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 FieldDescription
score0-100 impact score (top-level = highest among all coins)
signallong (bullish) / short (bearish) / neutral
coins[].scoreIndividual coin impact score (0-100)
coins[].signalIndividual coin signal (long/short/neutral)
coins[].gradeIndividual coin grade (A+/A/B+/B/C)

Manual Installation for Other Clients (click to expand)

In all configurations below, replace /path/to/opennews-mcp with your actual local project path, and <your-token> with your token from 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):

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

Cursor

~/.cursor/mcp.json or Settings > MCP Servers:

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

Windsurf

~/.codeium/windsurf/mcp_config.json:

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

Cline

VS Code sidebar > Cline > MCP Servers > Configure, edit cline_mcp_settings.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:

mcpServers:
  - name: opennews
    command: uv
    args:
      - --directory
      - /path/to/opennews-mcp
      - run
      - opennews-mcp
    env:
      OPENNEWS_TOKEN: <your-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:

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

Any stdio MCP Client

OPENNEWS_TOKEN=<your-token> \
  uv --directory /path/to/opennews-mcp run opennews-mcp

Compatibility

ClientInstallationStatus
Claude Codeclaude mcp addOne-click
OpenClawCopy Skill directoryOne-click
Claude DesktopJSON configSupported
CursorJSON configSupported
WindsurfJSON configSupported
ClineJSON configSupported
Continue.devYAML / JSONSupported
Cherry StudioGUISupported
ZedJSON configSupported


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

Significant stargazers

Burak Sormagec

178 followers · starred Sep 2026

Abhishek Keshri

512 followers · starred Aug 2026

John Mai

207 followers · starred Feb 2026

Haozhe Wu

367 followers · starred May 2026