opennews-mcp

An MCP server that plugs AI agents into 85+ real-time crypto and finance news feeds, complete with AI impact scores, trading signals, and live WebSocket updates.

2.4Kstars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
53/100Fair
Development Activity72
Maintenance28
Community44
Maturity28
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
62/100Good
Architecture72
Code Quality45
Innovation62
Learning Curve70

OpenNews MCP is a Model Context Protocol server that exposes the 6551.io financial data platform to any MCP-compatible AI assistant, such as Claude Code or OpenClaw. Instead of scraping headlines one site at a time, an agent gets structured access to 85+ upstream sources spanning six engine categories: mainstream and crypto-native news outlets (Bloomberg, Reuters, CoinDesk, The Block), exchange listing announcements, on-chain whale-trade alerts, meme-coin sentiment, quantitative market anomaly signals (funding rate spikes, large liquidations), and AI-generated prediction signals like smart-money tracking and correlation detection.

Every article that comes back through the paid tier is pre-processed with an AI impact score (0-100) and a long/short/neutral trading signal, plus bilingual English/Chinese summaries, so an agent can filter for what actually matters instead of re-reading raw text. A free, unauthenticated tier covers basic categorized news and hot topics for agents that don’t want to sign up for a token. Beyond news, the server also exposes finance-research tools that are unusual for a project this size: SEC/DART filing lookups, 13F institutional holdings, House stock-trade disclosures, and on-chain treasury tracking for a resolved company or wallet.

The project is a thin, well-scoped Python wrapper: a FastMCP app, one HTTP/WebSocket client module talking exclusively to ai.6551.io, and a set of @mcp.tool() functions grouped by concern (discovery, free news, authenticated news, strategy, finance, realtime). There’s no local database or state beyond an in-memory client — it is a pass-through client for the 6551 platform’s REST and WebSocket API, not a self-contained aggregator.

What You Get

  • A discovery layer (get_news_sources, list_news_types) that returns the full tree of 85+ sources across 6 engine categories before you query anything
  • Keyword, coin-symbol, and multi-filter search tools (search_news, search_news_by_coin, search_news_advanced) hitting a single /open/news_search endpoint
  • AI-scored filtering via get_high_score_news and get_news_by_signal to surface only high-impact or directionally actionable articles
  • A free, no-token tier (get_news_categories, get_hot_news) for basic categorized news without signing up for an API key
  • Real-time streaming through subscribe_latest_news, a WebSocket subscription with coin and engine-type filters and a bounded collection window
  • A finance-research toolset layered on top of news: company search/info/report-text, macro event calendars, House PTR stock-trade disclosures, 13F institutional holdings, and on-chain treasury tracking

Common Use Cases

  • Wiring an AI trading-research assistant to pull AI-rated, signal-tagged headlines instead of raw RSS feeds
  • Building a crypto market-monitoring agent that watches exchange listings, whale trades, and funding-rate anomalies in one place
  • Cross-referencing breaking news with SEC filings or 13F institutional holdings for a named company inside the same agent session
  • Streaming a live WebSocket feed of coin-filtered news into a bot or dashboard for real-time alerts
  • Using the free tier to prototype a news-aware agent before committing to the paid 6551.io token

Under The Hood

Architecture The server is a straightforward FastMCP application: app.py builds the FastMCP instance with a lifespan context manager that constructs three API client objects (a free unauthenticated client, an authenticated REST client, and a WebSocket client) and tears them down on shutdown; server.py just imports the tools package (whose module-level @mcp.tool() decorators self-register) and calls mcp.run() over stdio. Each tool module under src/opennews_mcp/tools/ (discovery, free, news, strategy, finance, realtime) owns one concern and reaches shared clients through ctx.request_context.lifespan_context, so adding a new capability means adding a new tool function rather than touching a central dispatcher. There’s no persistence layer; every tool call is a live pass-through request to the 6551.io backend, and swapping that backend would mean rewriting api_client.py rather than an isolated adapter, since the client classes are called directly rather than through an interface.

Tech Stack Python 3.10+, built on the official mcp[cli] SDK’s FastMCP class, with httpx.AsyncClient for REST calls and the websockets library for the real-time subscription feed. Packaging uses Hatchling with a pyproject.toml-declared console script (opennews-mcp), and dependencies are pinned via uv.lock. Configuration layers environment variables over a config.json file (API base URL, WebSocket URL, token, max-rows cap), with env vars taking precedence — a pattern aimed at both local config.json editing and containerized/CI deployment.

Code Quality There are no test files anywhere in the repository, no CI configuration, and no CONTRIBUTING guide — this reads as a young, single-purpose integration project rather than a hardened library. Error handling is consistent though: every tool wraps its API call in a try/except and returns a {"success": false, "error": ...} shape rather than letting exceptions propagate, and the HTTP client layer adds its own retry-on-connection-error logic before that. Naming is consistent and type hints are used throughout (Python’s Optional/dict[str, Any] style), but there’s no static type checking or linter configuration checked in.

What Makes It Unique Most open-source MCP news servers either scrape a fixed set of RSS feeds or wrap a single API. This one is a thin client for a purpose-built aggregation and scoring backend that already does AI impact-scoring and long/short signal classification server-side, so the MCP layer itself stays simple while still exposing genuinely differentiated data — on-chain whale-trade and large-position feeds, cross-exchange funding-rate divergence, and AI-driven correlation/insider-pattern predictions — categories that generic news-aggregator MCP servers don’t attempt. Bundling that with SEC/13F/House-disclosure finance-research tools in the same server is an unusual combination for a project this size.

Self-Hosting

Licensing Model MIT licensed — the MCP server code itself has no license-key gating or self-hosting restrictions.

Self-Hosting Restrictions

  • The server code runs anywhere, but nearly every tool (news search, AI scoring, real-time WebSocket, finance-research endpoints) requires a bearer token from the proprietary 6551.io backend to return data — this is an external SaaS dependency, not something the MIT license or self-hosting removes
  • A no-token “free” tier exists (get_news_categories, get_hot_news) but covers only basic categorized news, not the AI scoring, signals, or finance-research tools

Enterprise Features None documented — 6551.io’s token appears to be free-to-obtain per the README (“get your free token”), with no separate paid enterprise tier mentioned in this repository.

License Key Required No license key for the software itself; an API token from 6551.io is required for the authenticated tools, obtained free at https://6551.io/mcp.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search