- 在主 README 中添加了币种过滤的详细说明 - 更新了日文文档中的币种过滤描述 - 更新了韩文文档中的币种过滤描述 - 更新了中文文档中的币种过滤描述 - 明确了空数组或省略参数的行为 - 修正了币种过滤功能的使用说明
12 KiB
OpenNews MCP Server
暗号通貨ニュース集約 · AI 評価 · トレーディングシグナル · リアルタイム更新
クイックインストール
まず、https://6551.io/mcp で API Token を取得してください。
Claude Code
claude mcp add opennews \
-e OPENNEWS_TOKEN=<your-token> \
-- uv --directory /path/to/opennews-mcp run opennews-mcp
/path/to/opennews-mcpをローカルのプロジェクトパスに、<your-token>を API Token に置き換えてください。
OpenClaw
export OPENNEWS_TOKEN="<your-token>"
cp -r openclaw-skill/opennews ~/.openclaw/skills/
AI にレビュー&インストールしてもらう
この MCP が安全かどうか不安ですか?以下のプロンプトを AI アシスタントに送信すれば、ソースコードをレビューしてからインストールしてくれます:
以下のプロンプトをコピーして AI アシスタントに送信してください(
<project-path>と<your-token>を実際の値に置き換え):
opennews-mcp という MCP サーバーをレビューしてインストールしてください。プロジェクトはローカルの <project-path> にあります。
手順:
1. 以下のファイルのセキュリティを確認:
- src/opennews_mcp/api_client.py — ai.6551.io のみに接続し、他のアドレスにデータを送信していないことを確認
- src/opennews_mcp/config.py — トークンがローカルの config.json または環境変数からのみ読み取られ、ハードコードや漏洩がないことを確認
- src/opennews_mcp/tools/*.py — すべてのツールが API クエリのみを実行し、ファイル書き込み、コマンド実行、その他の危険な操作がないことを確認
- pyproject.toml — 依存関係が mcp、httpx、websockets のみで、不審なパッケージがないことを確認
2. レビュー結論を教えてください:安全 / リスクあり / 問題あり、具体的な理由とともに
3. 安全であれば、インストールを実行(Token は https://6551.io/mcp から取得):
claude mcp add opennews -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run opennews-mcp
何ができる?
接続後、AI アシスタントに話しかけるだけ:
| あなたが言う | 実行される操作 |
|---|---|
| 「最新の暗号通貨ニュース」 | 最新記事を取得 |
| 「SEC 規制のニュースを検索」 | 全文キーワード検索 |
| 「BTC 関連ニュース」 | 通貨でフィルタ |
| 「Bloomberg の記事」 | ソースでフィルタ |
| 「オンチェーンイベント」 | エンジンタイプでフィルタ(onchain) |
| 「AI スコア 80 以上の重要ニュース」 | 高スコアフィルタ |
| 「強気シグナル」 | トレーディングシグナルでフィルタ(long) |
| 「リアルタイムニュースを購読」 | WebSocket リアルタイム更新 |
利用可能なツール
| カテゴリ | ツール | 説明 |
|---|---|---|
| ディスカバリー | 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 リアルタイム収集 |
設定
API Token を取得
https://6551.io/mcp で API Token を取得してください。
環境変数を設定:
# macOS / Linux
export OPENNEWS_TOKEN="<your-token>"
# Windows PowerShell
$env:OPENNEWS_TOKEN = "<your-token>"
| 変数 | 必須 | 説明 |
|---|---|---|
OPENNEWS_TOKEN |
はい | 6551 API Bearer トークン(https://6551.io/mcp から取得) |
OPENNEWS_API_BASE |
いいえ | REST API URL のオーバーライド |
OPENNEWS_WSS_URL |
いいえ | WebSocket URL のオーバーライド |
OPENNEWS_MAX_ROWS |
いいえ | リクエストあたりの最大結果数(デフォルト: 100) |
プロジェクトルートの config.json もサポート(環境変数が優先):
{
"api_base_url": "https://ai.6551.io",
"wss_url": "wss://ai.6551.io/open/news_wss",
"api_token": "<your-token>",
"max_rows": 100
}
WebSocket リアルタイム購読
エンドポイント: wss://ai.6551.io/open/news_wss?token=YOUR_TOKEN
リアルタイムの暗号通貨ニュース更新を購読します。
ニュースを購読
{
"jsonrpc": "2.0",
"id": 1,
"method": "news.subscribe",
"params": {
"engineTypes": {
"news": ["Bloomberg", "CoinDesk"],
"onchain": []
},
"coins": ["BTC", "ETH"],
"hasCoin": true
}
}
レスポンス:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"filters": {
"engineTypes": {...},
"coins": [...],
"hasCoin": true
}
}
}
フィルタパラメータ(すべてオプション):
engineTypes: エンジンタイプからニュースタイプコードへのマッピングオブジェクト- キー:エンジンタイプ(例:
"news","onchain","listing","meme","market") - 値:ニュースタイプコードの配列(例:
["Bloomberg", "CoinDesk"]) - 空配列
[]はそのエンジン下のすべてのニュースタイプを意味します list_news_typesツールで利用可能なコードを取得できます
- キー:エンジンタイプ(例:
coins: 通貨シンボルの配列(例:["BTC", "ETH"])- 指定した通貨でニュースをフィルタ
- 空配列
[]または省略で全通貨を受信
hasCoin: ブール値、true の場合は通貨タグ付きニュースのみ受信
購読解除
{
"jsonrpc": "2.0",
"id": 2,
"method": "news.unsubscribe"
}
サーバープッシュ - ニュース更新
フィルタに一致する新しいニュースがあると、サーバーがプッシュ:
{
"jsonrpc": "2.0",
"method": "news.update",
"params": {
"id": "unique-article-id",
"text": "記事のタイトルまたは内容",
"newsType": "Bloomberg",
"engineType": "news",
"link": "https://...",
"coins": [
{
"symbol": "BTC",
"market_type": "spot",
"match": "title"
}
],
"ts": 1708473600000
}
}
サーバープッシュ - AI ニュース更新
AI 分析付きニュース(購読している場合):
{
"jsonrpc": "2.0",
"method": "news.ai_update",
"params": {
"id": "unique-article-id",
"text": "記事のタイトル",
"newsType": "Bloomberg",
"engineType": "news",
"link": "https://...",
"coins": [...],
"aiRating": {
"score": 85,
"grade": "A",
"signal": "long",
"status": "done",
"summary": "中国語の要約",
"enSummary": "English summary"
},
"ts": 1708473600000
}
}
データ構造
各記事:
{
"id": "unique-article-id",
"text": "タイトル / 内容",
"newsType": "Bloomberg",
"engineType": "news",
"link": "https://...",
"coins": [{ "symbol": "BTC", "market_type": "spot", "match": "title" }],
"aiRating": {
"score": 85,
"grade": "A",
"signal": "long",
"status": "done",
"summary": "中国語の要約",
"enSummary": "English summary"
},
"ts": 1708473600000
}
| AI フィールド | 説明 |
|---|---|
score |
0-100 影響度スコア |
signal |
long(強気)/ short(弱気)/ neutral |
status |
done = AI 分析完了 |
その他のクライアント — 手動インストール(クリックで展開)
以下のすべての設定で
/path/to/opennews-mcpをローカルの実際のプロジェクトパスに、<your-token>を https://6551.io/mcp から取得した Token に置き換えてください。
Claude Desktop
設定ファイルを編集(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 または 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 サイドバー > Cline > MCP Servers > Configure、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
設定 > MCP サーバー > 追加 > タイプ 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>"
}
}
}
}
}
任意の stdio MCP クライアント
OPENNEWS_TOKEN=<your-token> \
uv --directory /path/to/opennews-mcp run opennews-mcp
互換性
| クライアント | インストール方法 | ステータス |
|---|---|---|
| Claude Code | claude mcp add |
ワンクリック |
| OpenClaw | Skill ディレクトリコピー | ワンクリック |
| Claude Desktop | JSON 設定 | 対応 |
| Cursor | JSON 設定 | 対応 |
| Windsurf | JSON 設定 | 対応 |
| Cline | JSON 設定 | 対応 |
| Continue.dev | YAML / JSON | 対応 |
| Cherry Studio | GUI | 対応 |
| Zed | JSON 設定 | 対応 |
関連プロジェクト
- twitter-mcp - Twitter/X データ MCP サーバー
開発
cd /path/to/opennews-mcp
uv sync
uv run opennews-mcp
# MCP Inspector テスト
npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp
プロジェクト構造
├── README.md
├── openclaw-skill/opennews/ # OpenClaw Skill
├── knowledge/guide.md # 組み込みナレッジ
├── pyproject.toml
├── config.json
└── src/opennews_mcp/
├── server.py # エントリポイント
├── app.py # FastMCP インスタンス
├── config.py # 設定ローダー
├── api_client.py # HTTP + WebSocket
└── tools/ # ツール
ライセンス
MIT