OpenNews MCP(暗号資産ニュース集約サーバー)

AI/ML

概要

OpenNews MCPは、暗号通貨関連のニュースを収集してAIで評価し、取引シグナルやリアルタイム更新を提供するサーバー/サービスのリポジトリです。Pythonで実装され、MCP(6551.io のプラットフォーム)と連携するための設定やクライアント統合手順が用意されています。多言語(英中日韓)でのドキュメントが同梱されており、開発者が自分のAPIトークンを使って素早く導入できるよう設計されています。ニュースの収集、スコアリング、配信までを組み合わせたワークフローを提供します。

GitHub

リポジトリの統計情報

  • スター数: 74
  • フォーク数: 12
  • ウォッチャー数: 74
  • コミット数: 4
  • ファイル数: 9
  • メインの言語: Python

主な特徴

  • 暗号資産ニュースの自動集約:複数ソースからのニュース収集パイプラインを想定し、リアルタイム更新に対応。
  • AIによる記事評価(AI Ratings):自然言語処理を用いた感情・重要度スコアリングで記事の優先度を判定。
  • トレーディングシグナル生成:ニュースの評価に基づいて取引に活用可能なシグナルを算出・配信。
  • 簡単な導入と多言語ドキュメント:APIトークン(6551.io/mcp)を設定するだけで統合できる、英中日韓のREADMEあり。

技術的なポイント

OpenNews MCPはPythonを基盤として、ニュースの収集→解析→配信という一連のパイプラインを実装するための構成を提供しています。ニュース集約はスクレイピングやRSS、外部API経由での取り込みを想定し、config.jsonでトークンやエンドポイントを管理します。AI評価はローカルモデルや外部LLM(例:Claude)を呼び出して記事の感情分析、重要度判定、トピック抽出を行い、これらのメタデータをもとに取引アルゴリズムに渡すことでシグナル化します。リアルタイム性はWebSocketやSSEによる配信、もしくはMCPプラットフォーム経由のイベント通知を組み合わせる設計が想定され、低遅延でのニュース通知が可能です。運用面ではAPIトークンの管理、ログ収集、レート制限対策、フェールオーバーの設計が重要で、knowledgeディレクトリはルールやFAQ、ブラックリストの管理に利用できます。多言語ドキュメントは導入・運用の敷居を下げ、エコシステム(MCP)との連携コマンド例(claude mcp add)などがREADMEに示されている点も導入の容易さにつながります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file — ライセンス情報
  • README.md: file — 英語を主体とした総合的な導入ガイド
  • config.json: file — APIトークンやエンドポイントなどの設定ファイル(起動時に読み込む想定)
  • docs: dir — 多言語ドキュメント(README_ZH.md / README_JA.md / README_KO.md など)
  • knowledge: dir — 運用ルール、ナレッジ、ホワイト/ブラックリストやテンプレート格納用
  • …他 4 ファイル

各要素の役割(補足):

  • config.jsonは運用環境ごとに分け、トークンやフェッチ間隔、出力先(MCP/WebHookなど)を定義します。
  • docs配下はインストール手順やローカル実行、MCP連携方法(トークン取得 URL や claude コマンド例)をまとめており、開発者・運用者双方に役立ちます。
  • knowledgeディレクトリはAI評価ルールやカスタムテンプレートを保存することで、評価挙動をチューニングできる設計が期待されます。
  • リポジトリ自体は軽量で、外部依存(LLMやデータプロバイダ)との接続設定を通じて機能を拡張する構造です。

まとめ

暗号資産ニュースの収集〜AI評価〜シグナル配信を手早く構築できる実用的な骨組みです。

リポジトリ情報:

READMEの抜粋:

OpenNews MCP Server
Crypto News Aggregation · AI Ratings · Trading Signals · Real-time Updates

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


Quick Install

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

Claude Code

claude mcp add opennews \
  -e OPENNEWS_TOKEN=<your-token...