docs(readme): 更新多语言文档和配置说明
- 在 README.md 中添加多语言链接导航 - 删除 docs/README_EN.md 英文文档文件 - 更新日文文档中的 API 配置说明和 Token 设置方式 - 更新韩文文档中的 API 配置说明和 Token 设置方式 - 修正各种客户端安装说明中的占位符变量 - 更新 API 端点地址和 WebSocket 连接地址 - 调整工具列表和功能描述说明
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
Crypto News Aggregation · AI Ratings · Trading Signals · Real-time Updates
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="./README.md">English</a> | <a href="./docs/README_ZH.md">中文</a> | <a href="./docs/README_JA.md">日本語</a> | <a href="./docs/README_KO.md">한국어</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Quick Install
|
||||
|
||||
@@ -1,348 +0,0 @@
|
||||
<p align="center">
|
||||
<b>OpenNews MCP Server</b><br>
|
||||
Crypto News Aggregation · AI Ratings · Trading Signals · Real-time Feeds
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="./README_JA.md">日本語</a> | <a href="./README_KO.md">한국어</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Quick Install
|
||||
|
||||
> **First, go to [https://6551.io/mcp](https://6551.io/mcp) to get your API Token.**
|
||||
|
||||
### Claude Code
|
||||
|
||||
```bash
|
||||
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 Token.
|
||||
|
||||
### OpenClaw
|
||||
|
||||
```bash
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
cp -r openclaw-skill/opennews ~/.openclaw/skills/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Let AI Review & Install For You
|
||||
|
||||
Not sure if this MCP is safe? Paste the prompt below to your AI assistant — it will review the source code first, then install if safe:
|
||||
|
||||
> **Copy this prompt and send it to your AI assistant (replace `<project-path>` and `<your-token>` with actual values):**
|
||||
|
||||
```text
|
||||
Please review and install the opennews-mcp MCP server for me. The project is at <project-path>.
|
||||
|
||||
Steps:
|
||||
1. Review these files for security:
|
||||
- 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, no hardcoded secrets or leaks
|
||||
- src/opennews_mcp/tools/*.py — Confirm all tools only perform 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, with specific reasons
|
||||
3. If safe, run the install (get Token from https://6551.io/mcp):
|
||||
claude mcp add opennews -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run opennews-mcp
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## What Can It Do?
|
||||
|
||||
Once connected, just ask your AI assistant:
|
||||
|
||||
| You say | It does |
|
||||
|---------|---------|
|
||||
| "Latest crypto news" | Fetches newest articles |
|
||||
| "Search for 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) |
|
||||
| "High-impact news, AI score above 80" | High-score filtering |
|
||||
| "Bullish signals" | Filter by trading signal (long) |
|
||||
| "Subscribe to live news" | WebSocket real-time feed |
|
||||
|
||||
---
|
||||
|
||||
## Available Tools
|
||||
|
||||
| Category | Tool | Description |
|
||||
|----------|------|-------------|
|
||||
| Discovery | `get_news_sources` | All news source categories as a tree |
|
||||
| | `list_news_types` | All available source codes |
|
||||
| Search | `get_latest_news` | Latest articles |
|
||||
| | `search_news` | Keyword search |
|
||||
| | `search_news_by_coin` | By coin (BTC, ETH, SOL...) |
|
||||
| | `get_news_by_source` | By engine type and source (requires engine_type and news_type) |
|
||||
| | `get_news_by_engine` | By type (news, listing, onchain, meme, market) |
|
||||
| | `search_news_advanced` | Advanced search (multiple filters) |
|
||||
| AI | `get_high_score_news` | Articles with score >= threshold |
|
||||
| | `get_news_by_signal` | By signal: long / short / neutral |
|
||||
| Real-time | `subscribe_latest_news` | WebSocket live collection |
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
### Get API Token
|
||||
|
||||
Go to [https://6551.io/mcp](https://6551.io/mcp) to get your API Token.
|
||||
|
||||
Set the environment variable:
|
||||
|
||||
```bash
|
||||
# macOS / Linux
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
|
||||
# Windows PowerShell
|
||||
$env:OPENNEWS_TOKEN = "<your-token>"
|
||||
```
|
||||
|
||||
| Variable | Required | Description |
|
||||
|----------|----------|-------------|
|
||||
| `OPENNEWS_TOKEN` | **Yes** | 6551 API Bearer Token (get 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 query (default: 100) |
|
||||
|
||||
Also supports `config.json` in the project root (env vars take precedence):
|
||||
|
||||
```json
|
||||
{
|
||||
"api_base_url": "https://ai.6551.io",
|
||||
"wss_url": "wss://ai.6551.io/open/news_wss",
|
||||
"api_token": "<your-token>",
|
||||
"max_rows": 100
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Data Structure
|
||||
|
||||
Each article:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "unique-article-id",
|
||||
"text": "Headline / content",
|
||||
"newsType": "Bloomberg",
|
||||
"engineType": "news",
|
||||
"link": "https://...",
|
||||
"coins": [{ "symbol": "BTC", "market_type": "spot", "match": "title" }],
|
||||
"aiRating": {
|
||||
"score": 85,
|
||||
"grade": "A",
|
||||
"signal": "long",
|
||||
"status": "done",
|
||||
"summary": "Chinese summary",
|
||||
"enSummary": "English summary"
|
||||
},
|
||||
"ts": 1708473600000
|
||||
}
|
||||
```
|
||||
|
||||
| AI Field | Description |
|
||||
|----------|-------------|
|
||||
| `score` | 0-100 impact rating |
|
||||
| `signal` | `long` (bullish) / `short` (bearish) / `neutral` |
|
||||
| `status` | `done` = AI analysis complete |
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary><b>Other Clients — Manual Install</b> (click to expand)</summary>
|
||||
|
||||
> In all configs below, replace `/path/to/opennews-mcp` with your actual local project path, and `<your-token>` with your Token from [https://6551.io/mcp](https://6551.io/mcp).
|
||||
|
||||
### Claude Desktop
|
||||
|
||||
Edit config (macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
|
||||
|
||||
```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:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"opennews": {
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Windsurf
|
||||
|
||||
`~/.codeium/windsurf/mcp_config.json`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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
|
||||
|
||||
```bash
|
||||
OPENNEWS_TOKEN=<your-token> \
|
||||
uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## Compatibility
|
||||
|
||||
| Client | Install Method | Status |
|
||||
|--------|---------------|--------|
|
||||
| **Claude Code** | `claude mcp add` | One-liner |
|
||||
| **OpenClaw** | Copy skill directory | One-liner |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
## Related Projects
|
||||
|
||||
- [twitter-mcp](https://github.com/6551-io/twitter-mcp) - Twitter/X data MCP server
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
cd /path/to/opennews-mcp
|
||||
uv sync
|
||||
uv run opennews-mcp
|
||||
```
|
||||
|
||||
```bash
|
||||
# MCP Inspector
|
||||
npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
├── README.md
|
||||
├── docs/
|
||||
│ ├── README_EN.md # English
|
||||
│ ├── README_JA.md # 日本語
|
||||
│ └── README_KO.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 loader
|
||||
├── api_client.py # HTTP + WebSocket
|
||||
└── tools/ # Tools
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
+37
-49
@@ -1,47 +1,45 @@
|
||||
<p align="center">
|
||||
<b>OpenNews MCP Server</b><br>
|
||||
暗号通貨ニュース集約 · AI 評価 · トレーディングシグナル · リアルタイムフィード
|
||||
暗号通貨ニュース集約 · AI 評価 · トレーディングシグナル · リアルタイム更新
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">English</a> | <a href="./README_KO.md">한국어</a>
|
||||
<a href="../README.md">English</a> | <a href="./README_ZH.md">中文</a> | <a href="./README_JA.md">日本語</a> | <a href="./README_KO.md">한국어</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## クイックインストール
|
||||
|
||||
> **トライアル期間**:無料の公開 API Key を提供しています。コピーしてすぐに使えます。登録不要。
|
||||
> **まず、[https://6551.io/mcp](https://6551.io/mcp) で API Token を取得してください。**
|
||||
|
||||
### Claude Code
|
||||
|
||||
```bash
|
||||
claude mcp add opennews \
|
||||
-e OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c \
|
||||
-e OPENNEWS_TOKEN=<your-token> \
|
||||
-- uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
> `/path/to/opennews-mcp` をローカルのプロジェクトパスに置き換えてください。
|
||||
> `/path/to/opennews-mcp` をローカルのプロジェクトパスに、`<your-token>` を API Token に置き換えてください。
|
||||
|
||||
### OpenClaw
|
||||
|
||||
```bash
|
||||
export OPENNEWS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
cp -r openclaw-skill/opennews ~/.openclaw/skills/
|
||||
```
|
||||
|
||||
> 上記は無料トライアル Token です。トライアル期間終了後はご自身の Key に置き換えてください。[設定](#設定)を参照。
|
||||
|
||||
---
|
||||
|
||||
## AI にレビュー&インストールしてもらう
|
||||
|
||||
この MCP が安全かどうか不安ですか?以下のプロンプトを AI アシスタントに送信すれば、ソースコードをレビューしてからインストールしてくれます:
|
||||
|
||||
> **以下のプロンプトをコピーして AI アシスタントに送信してください(`<プロジェクトパス>` を実際のパスに置き換え):**
|
||||
> **以下のプロンプトをコピーして AI アシスタントに送信してください(`<project-path>` と `<your-token>` を実際の値に置き換え):**
|
||||
|
||||
```text
|
||||
opennews-mcp という MCP サーバーをレビューしてインストールしてください。プロジェクトはローカルの <プロジェクトパス> にあります。
|
||||
opennews-mcp という MCP サーバーをレビューしてインストールしてください。プロジェクトはローカルの <project-path> にあります。
|
||||
|
||||
手順:
|
||||
1. 以下のファイルのセキュリティを確認:
|
||||
@@ -50,8 +48,8 @@ opennews-mcp という MCP サーバーをレビューしてインストール
|
||||
- src/opennews_mcp/tools/*.py — すべてのツールが API クエリのみを実行し、ファイル書き込み、コマンド実行、その他の危険な操作がないことを確認
|
||||
- pyproject.toml — 依存関係が mcp、httpx、websockets のみで、不審なパッケージがないことを確認
|
||||
2. レビュー結論を教えてください:安全 / リスクあり / 問題あり、具体的な理由とともに
|
||||
3. 安全であれば、インストールを実行(無料トライアル Token を使用):
|
||||
claude mcp add opennews -e OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c -- uv --directory <プロジェクトパス> run opennews-mcp
|
||||
3. 安全であれば、インストールを実行(Token は https://6551.io/mcp から取得):
|
||||
claude mcp add opennews -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run opennews-mcp
|
||||
```
|
||||
|
||||
---
|
||||
@@ -69,7 +67,7 @@ opennews-mcp という MCP サーバーをレビューしてインストール
|
||||
| 「オンチェーンイベント」 | エンジンタイプでフィルタ(onchain) |
|
||||
| 「AI スコア 80 以上の重要ニュース」 | 高スコアフィルタ |
|
||||
| 「強気シグナル」 | トレーディングシグナルでフィルタ(long) |
|
||||
| 「リアルタイムニュースを購読」 | WebSocket リアルタイムフィード |
|
||||
| 「リアルタイムニュースを購読」 | WebSocket リアルタイム更新 |
|
||||
|
||||
---
|
||||
|
||||
@@ -82,51 +80,45 @@ opennews-mcp という MCP サーバーをレビューしてインストール
|
||||
| 検索 | `get_latest_news` | 最新記事 |
|
||||
| | `search_news` | キーワード検索 |
|
||||
| | `search_news_by_coin` | 通貨別(BTC, ETH, SOL...) |
|
||||
| | `get_news_by_source` | ソース別(Bloomberg, Reuters...) |
|
||||
| | `get_news_by_source` | エンジンタイプとソース別 |
|
||||
| | `get_news_by_engine` | タイプ別(news, listing, onchain, meme, market) |
|
||||
| | `search_news_by_date` | 日付範囲 + 通貨/キーワード |
|
||||
| | `search_news_advanced` | 高度な検索(複数フィルタ) |
|
||||
| AI | `get_high_score_news` | スコア >= 閾値の記事 |
|
||||
| | `get_news_by_signal` | シグナル別:long / short / neutral |
|
||||
| リアルタイム | `subscribe_latest_news` | WebSocket ライブ収集 |
|
||||
| リアルタイム | `subscribe_latest_news` | WebSocket リアルタイム収集 |
|
||||
|
||||
---
|
||||
|
||||
## 設定
|
||||
|
||||
### 無料トライアル Token
|
||||
### API Token を取得
|
||||
|
||||
現在トライアル期間中です。以下の公開 Token をそのまま使えます:
|
||||
|
||||
```
|
||||
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c
|
||||
```
|
||||
[https://6551.io/mcp](https://6551.io/mcp) で API Token を取得してください。
|
||||
|
||||
環境変数を設定:
|
||||
|
||||
```bash
|
||||
# macOS / Linux
|
||||
export OPENNEWS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
|
||||
# Windows PowerShell
|
||||
$env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
$env:OPENNEWS_TOKEN = "<your-token>"
|
||||
```
|
||||
|
||||
> トライアル期間終了後はご自身の Token に置き換えてください。
|
||||
|
||||
| 変数 | 必須 | 説明 |
|
||||
|------|------|------|
|
||||
| `OPENNEWS_TOKEN` | **はい** | 6551 API Bearer トークン(上記の無料 Key が利用可能) |
|
||||
| `OPENNEWS_TOKEN` | **はい** | 6551 API Bearer トークン(https://6551.io/mcp から取得) |
|
||||
| `OPENNEWS_API_BASE` | いいえ | REST API URL のオーバーライド |
|
||||
| `OPENNEWS_WSS_URL` | いいえ | WebSocket URL のオーバーライド |
|
||||
| `OPENNEWS_MAX_ROWS` | いいえ | クエリあたりの最大結果数(デフォルト: 100) |
|
||||
| `OPENNEWS_MAX_ROWS` | いいえ | リクエストあたりの最大結果数(デフォルト: 100) |
|
||||
|
||||
プロジェクトルートの `config.json` もサポート(環境変数が優先):
|
||||
|
||||
```json
|
||||
{
|
||||
"api_base_url": "https://ai.6551.io/news-platform",
|
||||
"wss_url": "wss://ai.6551.io/news-platform/rpc",
|
||||
"api_token": "your-api-token-here",
|
||||
"api_base_url": "https://ai.6551.io",
|
||||
"wss_url": "wss://ai.6551.io/open/news_wss",
|
||||
"api_token": "<your-token>",
|
||||
"max_rows": 100
|
||||
}
|
||||
```
|
||||
@@ -159,7 +151,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
|
||||
| AI フィールド | 説明 |
|
||||
|-------------|------|
|
||||
| `score` | 0-100 影響度評価 |
|
||||
| `score` | 0-100 影響度スコア |
|
||||
| `signal` | `long`(強気)/ `short`(弱気)/ `neutral` |
|
||||
| `status` | `done` = AI 分析完了 |
|
||||
|
||||
@@ -168,7 +160,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
<details>
|
||||
<summary><b>その他のクライアント — 手動インストール</b>(クリックで展開)</summary>
|
||||
|
||||
> 以下のすべての設定で `/path/to/opennews-mcp` をローカルの実際のプロジェクトパスに置き換えてください。`OPENNEWS_TOKEN` の値は上記の無料トライアル Token を使用できます。
|
||||
> 以下のすべての設定で `/path/to/opennews-mcp` をローカルの実際のプロジェクトパスに、`<your-token>` を [https://6551.io/mcp](https://6551.io/mcp) から取得した Token に置き換えてください。
|
||||
|
||||
### Claude Desktop
|
||||
|
||||
@@ -181,7 +173,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -199,7 +191,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -217,7 +209,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -235,7 +227,7 @@ VS Code サイドバー > Cline > MCP Servers > Configure、`cline_mcp_settings.
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
},
|
||||
"disabled": false,
|
||||
"autoApprove": []
|
||||
@@ -258,7 +250,7 @@ mcpServers:
|
||||
- run
|
||||
- opennews-mcp
|
||||
env:
|
||||
OPENNEWS_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c
|
||||
OPENNEWS_TOKEN: <your-token>
|
||||
```
|
||||
|
||||
### Cherry Studio
|
||||
@@ -277,7 +269,7 @@ mcpServers:
|
||||
"path": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -288,7 +280,7 @@ mcpServers:
|
||||
### 任意の stdio MCP クライアント
|
||||
|
||||
```bash
|
||||
OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c \
|
||||
OPENNEWS_TOKEN=<your-token> \
|
||||
uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
@@ -300,8 +292,8 @@ OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3Nt
|
||||
|
||||
| クライアント | インストール方法 | ステータス |
|
||||
|-------------|-----------------|-----------|
|
||||
| **Claude Code** | `claude mcp add` | ワンライナー |
|
||||
| **OpenClaw** | Skill ディレクトリコピー | ワンライナー |
|
||||
| **Claude Code** | `claude mcp add` | ワンクリック |
|
||||
| **OpenClaw** | Skill ディレクトリコピー | ワンクリック |
|
||||
| Claude Desktop | JSON 設定 | 対応 |
|
||||
| Cursor | JSON 設定 | 対応 |
|
||||
| Windsurf | JSON 設定 | 対応 |
|
||||
@@ -327,18 +319,14 @@ uv run opennews-mcp
|
||||
```
|
||||
|
||||
```bash
|
||||
# MCP Inspector
|
||||
# MCP Inspector テスト
|
||||
npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
### プロジェクト構造
|
||||
|
||||
```
|
||||
├── README.md # 中文(デフォルト)
|
||||
├── docs/
|
||||
│ ├── README_EN.md # English
|
||||
│ ├── README_JA.md # 日本語
|
||||
│ └── README_KO.md # 한국어
|
||||
├── README.md
|
||||
├── openclaw-skill/opennews/ # OpenClaw Skill
|
||||
├── knowledge/guide.md # 組み込みナレッジ
|
||||
├── pyproject.toml
|
||||
@@ -348,7 +336,7 @@ npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run ope
|
||||
├── app.py # FastMCP インスタンス
|
||||
├── config.py # 設定ローダー
|
||||
├── api_client.py # HTTP + WebSocket
|
||||
└── tools/ # 11 ツール
|
||||
└── tools/ # ツール
|
||||
```
|
||||
|
||||
## ライセンス
|
||||
|
||||
+36
-48
@@ -1,47 +1,45 @@
|
||||
<p align="center">
|
||||
<b>OpenNews MCP Server</b><br>
|
||||
암호화폐 뉴스 집계 · AI 평가 · 트레이딩 시그널 · 실시간 피드
|
||||
암호화폐 뉴스 집계 · AI 평가 · 트레이딩 시그널 · 실시간 업데이트
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">English</a> | <a href="./README_JA.md">日本語</a>
|
||||
<a href="../README.md">English</a> | <a href="./README_ZH.md">中文</a> | <a href="./README_JA.md">日本語</a> | <a href="./README_KO.md">한국어</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## 빠른 설치
|
||||
|
||||
> **체험 기간**: 무료 공개 API Key를 제공합니다 — 복사하여 바로 사용, 가입 불필요.
|
||||
> **먼저 [https://6551.io/mcp](https://6551.io/mcp)에서 API Token을 받으세요.**
|
||||
|
||||
### Claude Code
|
||||
|
||||
```bash
|
||||
claude mcp add opennews \
|
||||
-e OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c \
|
||||
-e OPENNEWS_TOKEN=<your-token> \
|
||||
-- uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
> `/path/to/opennews-mcp`를 로컬 프로젝트 경로로 교체하세요.
|
||||
> `/path/to/opennews-mcp`를 로컬 프로젝트 경로로, `<your-token>`을 API Token으로 교체하세요.
|
||||
|
||||
### OpenClaw
|
||||
|
||||
```bash
|
||||
export OPENNEWS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
cp -r openclaw-skill/opennews ~/.openclaw/skills/
|
||||
```
|
||||
|
||||
> 위의 토큰은 무료 체험 Token입니다. 체험 기간 종료 후 자체 Key로 교체하세요. [설정](#설정) 참조.
|
||||
|
||||
---
|
||||
|
||||
## AI에게 검토 및 설치 맡기기
|
||||
|
||||
이 MCP가 안전한지 확신이 없으신가요? 아래 프롬프트를 AI 어시스턴트에게 보내면 소스 코드를 먼저 검토한 후 설치해줍니다:
|
||||
|
||||
> **아래 프롬프트를 복사하여 AI 어시스턴트에게 보내세요 (`<프로젝트경로>`를 실제 경로로 교체):**
|
||||
> **아래 프롬프트를 복사하여 AI 어시스턴트에게 보내세요 (`<project-path>`와 `<your-token>`을 실제 값으로 교체):**
|
||||
|
||||
```text
|
||||
opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로컬 <프로젝트경로>에 있습니다.
|
||||
opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로컬 <project-path>에 있습니다.
|
||||
|
||||
단계:
|
||||
1. 다음 파일의 보안을 확인:
|
||||
@@ -50,8 +48,8 @@ opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로
|
||||
- src/opennews_mcp/tools/*.py — 모든 도구가 API 쿼리만 수행하고, 파일 쓰기, 명령 실행 또는 기타 위험한 작업이 없는지 확인
|
||||
- pyproject.toml — 의존성이 mcp, httpx, websockets만 있고, 의심스러운 패키지가 없는지 확인
|
||||
2. 검토 결론을 알려주세요: 안전 / 위험 / 문제 있음, 구체적인 이유와 함께
|
||||
3. 안전하다면 설치 실행 (무료 체험 Token 사용):
|
||||
claude mcp add opennews -e OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c -- uv --directory <프로젝트경로> run opennews-mcp
|
||||
3. 안전하다면 설치 실행 (Token은 https://6551.io/mcp에서 받기):
|
||||
claude mcp add opennews -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run opennews-mcp
|
||||
```
|
||||
|
||||
---
|
||||
@@ -69,7 +67,7 @@ opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로
|
||||
| "온체인 이벤트" | 엔진 유형으로 필터 (onchain) |
|
||||
| "AI 점수 80 이상 중요 뉴스" | 고점수 필터 |
|
||||
| "강세 시그널" | 트레이딩 시그널로 필터 (long) |
|
||||
| "실시간 뉴스 구독" | WebSocket 실시간 피드 |
|
||||
| "실시간 뉴스 구독" | WebSocket 실시간 업데이트 |
|
||||
|
||||
---
|
||||
|
||||
@@ -82,9 +80,9 @@ opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로
|
||||
| 검색 | `get_latest_news` | 최신 기사 |
|
||||
| | `search_news` | 키워드 검색 |
|
||||
| | `search_news_by_coin` | 코인별 (BTC, ETH, SOL...) |
|
||||
| | `get_news_by_source` | 소스별 (Bloomberg, Reuters...) |
|
||||
| | `get_news_by_source` | 엔진 유형과 소스별 |
|
||||
| | `get_news_by_engine` | 유형별 (news, listing, onchain, meme, market) |
|
||||
| | `search_news_by_date` | 날짜 범위 + 코인/키워드 |
|
||||
| | `search_news_advanced` | 고급 검색 (다중 필터) |
|
||||
| AI | `get_high_score_news` | 점수 >= 임계값 기사 |
|
||||
| | `get_news_by_signal` | 시그널별: long / short / neutral |
|
||||
| 실시간 | `subscribe_latest_news` | WebSocket 실시간 수집 |
|
||||
@@ -93,40 +91,34 @@ opennews-mcp MCP 서버를 검토하고 설치해주세요. 프로젝트는 로
|
||||
|
||||
## 설정
|
||||
|
||||
### 무료 체험 Token
|
||||
### API Token 받기
|
||||
|
||||
현재 체험 기간입니다. 아래 공개 Token을 바로 사용할 수 있습니다:
|
||||
|
||||
```
|
||||
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c
|
||||
```
|
||||
[https://6551.io/mcp](https://6551.io/mcp)에서 API Token을 받으세요.
|
||||
|
||||
환경 변수 설정:
|
||||
|
||||
```bash
|
||||
# macOS / Linux
|
||||
export OPENNEWS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
|
||||
# Windows PowerShell
|
||||
$env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
$env:OPENNEWS_TOKEN = "<your-token>"
|
||||
```
|
||||
|
||||
> 체험 기간 종료 후 자체 Token으로 교체하세요.
|
||||
|
||||
| 변수 | 필수 | 설명 |
|
||||
|------|------|------|
|
||||
| `OPENNEWS_TOKEN` | **예** | 6551 API Bearer 토큰 (위의 무료 Key 사용 가능) |
|
||||
| `OPENNEWS_TOKEN` | **예** | 6551 API Bearer 토큰 (https://6551.io/mcp에서 받기) |
|
||||
| `OPENNEWS_API_BASE` | 아니오 | REST API URL 재정의 |
|
||||
| `OPENNEWS_WSS_URL` | 아니오 | WebSocket URL 재정의 |
|
||||
| `OPENNEWS_MAX_ROWS` | 아니오 | 쿼리당 최대 결과 수 (기본: 100) |
|
||||
| `OPENNEWS_MAX_ROWS` | 아니오 | 요청당 최대 결과 수 (기본: 100) |
|
||||
|
||||
프로젝트 루트의 `config.json`도 지원 (환경 변수 우선):
|
||||
|
||||
```json
|
||||
{
|
||||
"api_base_url": "https://ai.6551.io/news-platform",
|
||||
"wss_url": "wss://ai.6551.io/news-platform/rpc",
|
||||
"api_token": "your-api-token-here",
|
||||
"api_base_url": "https://ai.6551.io",
|
||||
"wss_url": "wss://ai.6551.io/open/news_wss",
|
||||
"api_token": "<your-token>",
|
||||
"max_rows": 100
|
||||
}
|
||||
```
|
||||
@@ -159,7 +151,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
|
||||
| AI 필드 | 설명 |
|
||||
|---------|------|
|
||||
| `score` | 0-100 영향도 평가 |
|
||||
| `score` | 0-100 영향도 점수 |
|
||||
| `signal` | `long`(강세) / `short`(약세) / `neutral` |
|
||||
| `status` | `done` = AI 분석 완료 |
|
||||
|
||||
@@ -168,7 +160,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
<details>
|
||||
<summary><b>기타 클라이언트 — 수동 설치</b> (클릭하여 펼치기)</summary>
|
||||
|
||||
> 아래 모든 설정에서 `/path/to/opennews-mcp`를 로컬의 실제 프로젝트 경로로 교체하세요. `OPENNEWS_TOKEN` 값은 위의 무료 체험 Token을 사용할 수 있습니다.
|
||||
> 아래 모든 설정에서 `/path/to/opennews-mcp`를 로컬의 실제 프로젝트 경로로, `<your-token>`을 [https://6551.io/mcp](https://6551.io/mcp)에서 받은 Token으로 교체하세요.
|
||||
|
||||
### Claude Desktop
|
||||
|
||||
@@ -181,7 +173,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -199,7 +191,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -217,7 +209,7 @@ $env:OPENNEWS_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -235,7 +227,7 @@ VS Code 사이드바 > Cline > MCP Servers > Configure, `cline_mcp_settings.json
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
},
|
||||
"disabled": false,
|
||||
"autoApprove": []
|
||||
@@ -258,7 +250,7 @@ mcpServers:
|
||||
- run
|
||||
- opennews-mcp
|
||||
env:
|
||||
OPENNEWS_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c
|
||||
OPENNEWS_TOKEN: <your-token>
|
||||
```
|
||||
|
||||
### Cherry Studio
|
||||
@@ -277,7 +269,7 @@ mcpServers:
|
||||
"path": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c"
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -288,7 +280,7 @@ mcpServers:
|
||||
### 기타 stdio MCP 클라이언트
|
||||
|
||||
```bash
|
||||
OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3NtY3AiLCJ1c2VybmFtZSI6IjY1NTFuZXdzbWNwIn0.namttZDCVLOIlEGwIkJPBrcV-foaXQgqibDcmpck02c \
|
||||
OPENNEWS_TOKEN=<your-token> \
|
||||
uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
@@ -300,8 +292,8 @@ OPENNEWS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoiNjU1MW5ld3Nt
|
||||
|
||||
| 클라이언트 | 설치 방법 | 상태 |
|
||||
|-----------|----------|------|
|
||||
| **Claude Code** | `claude mcp add` | 원라이너 |
|
||||
| **OpenClaw** | Skill 디렉토리 복사 | 원라이너 |
|
||||
| **Claude Code** | `claude mcp add` | 원클릭 |
|
||||
| **OpenClaw** | Skill 디렉토리 복사 | 원클릭 |
|
||||
| Claude Desktop | JSON 설정 | 지원 |
|
||||
| Cursor | JSON 설정 | 지원 |
|
||||
| Windsurf | JSON 설정 | 지원 |
|
||||
@@ -327,18 +319,14 @@ uv run opennews-mcp
|
||||
```
|
||||
|
||||
```bash
|
||||
# MCP Inspector
|
||||
# MCP Inspector 테스트
|
||||
npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
### 프로젝트 구조
|
||||
|
||||
```
|
||||
├── README.md # 中文 (기본)
|
||||
├── docs/
|
||||
│ ├── README_EN.md # English
|
||||
│ ├── README_JA.md # 日本語
|
||||
│ └── README_KO.md # 한국어
|
||||
├── README.md
|
||||
├── openclaw-skill/opennews/ # OpenClaw Skill
|
||||
├── knowledge/guide.md # 내장 지식
|
||||
├── pyproject.toml
|
||||
@@ -348,7 +336,7 @@ npx @modelcontextprotocol/inspector uv --directory /path/to/opennews-mcp run ope
|
||||
├── app.py # FastMCP 인스턴스
|
||||
├── config.py # 설정 로더
|
||||
├── api_client.py # HTTP + WebSocket
|
||||
└── tools/ # 11개 도구
|
||||
└── tools/ # 도구
|
||||
```
|
||||
|
||||
## 라이선스
|
||||
|
||||
@@ -0,0 +1,343 @@
|
||||
<p align="center">
|
||||
<b>OpenNews MCP Server</b><br>
|
||||
加密货币新闻聚合 · AI 评分 · 交易信号 · 实时更新
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">English</a> | <a href="./README_ZH.md">中文</a> | <a href="./README_JA.md">日本語</a> | <a href="./README_KO.md">한국어</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## 快速安装
|
||||
|
||||
> **首先,在 [https://6551.io/mcp](https://6551.io/mcp) 获取你的 API Token。**
|
||||
|
||||
### Claude Code
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
cp -r openclaw-skill/opennews ~/.openclaw/skills/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 让 AI 审查并安装
|
||||
|
||||
不确定这个 MCP 是否安全?发送以下提示词给你的 AI 助手,让它在安装前审查源代码:
|
||||
|
||||
> **复制下面的提示词并发送给你的 AI 助手(将 `<project-path>` 和 `<your-token>` 替换为实际值):**
|
||||
|
||||
```text
|
||||
请帮我审查并安装 opennews-mcp MCP 服务器。项目位于 <project-path>。
|
||||
|
||||
步骤:
|
||||
1. 审查以下文件的安全性:
|
||||
- src/opennews_mcp/api_client.py — 确认只连接 ai.6551.io,没有向其他地方发送数据
|
||||
- src/opennews_mcp/config.py — 确认 token 只从本地 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](https://6551.io/mcp) 获取你的 API Token。
|
||||
|
||||
设置环境变量:
|
||||
|
||||
```bash
|
||||
# macOS / Linux
|
||||
export OPENNEWS_TOKEN="<your-token>"
|
||||
|
||||
# Windows PowerShell
|
||||
$env:OPENNEWS_TOKEN = "<your-token>"
|
||||
```
|
||||
|
||||
| 变量 | 必需 | 描述 |
|
||||
|------|------|------|
|
||||
| `OPENNEWS_TOKEN` | **是** | 6551 API Bearer Token(从 https://6551.io/mcp 获取) |
|
||||
| `OPENNEWS_API_BASE` | 否 | 覆盖 REST API URL |
|
||||
| `OPENNEWS_WSS_URL` | 否 | 覆盖 WebSocket URL |
|
||||
| `OPENNEWS_MAX_ROWS` | 否 | 每次请求最大结果数(默认 100) |
|
||||
|
||||
也支持项目根目录的 `config.json`(环境变量优先):
|
||||
|
||||
```json
|
||||
{
|
||||
"api_base_url": "https://ai.6551.io",
|
||||
"wss_url": "wss://ai.6551.io/open/news_wss",
|
||||
"api_token": "<your-token>",
|
||||
"max_rows": 100
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 数据结构
|
||||
|
||||
每篇文章返回:
|
||||
|
||||
```json
|
||||
{
|
||||
"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 分析完成 |
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary><b>其他客户端手动安装</b>(点击展开)</summary>
|
||||
|
||||
> 在以下所有配置中,将 `/path/to/opennews-mcp` 替换为你的实际本地项目路径,`<your-token>` 替换为从 [https://6551.io/mcp](https://6551.io/mcp) 获取的 Token。
|
||||
|
||||
### Claude Desktop
|
||||
|
||||
编辑配置文件(macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`,Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
|
||||
|
||||
```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:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"opennews": {
|
||||
"command": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Windsurf
|
||||
|
||||
`~/.codeium/windsurf/mcp_config.json`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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`:
|
||||
|
||||
```json
|
||||
{
|
||||
"context_servers": {
|
||||
"opennews": {
|
||||
"command": {
|
||||
"path": "uv",
|
||||
"args": ["--directory", "/path/to/opennews-mcp", "run", "opennews-mcp"],
|
||||
"env": {
|
||||
"OPENNEWS_TOKEN": "<your-token>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 任意 stdio MCP 客户端
|
||||
|
||||
```bash
|
||||
OPENNEWS_TOKEN=<your-token> \
|
||||
uv --directory /path/to/opennews-mcp run opennews-mcp
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## 兼容性
|
||||
|
||||
| 客户端 | 安装方式 | 状态 |
|
||||
|--------|----------|------|
|
||||
| **Claude Code** | `claude mcp add` | 一键安装 |
|
||||
| **OpenClaw** | 复制 Skill 目录 | 一键安装 |
|
||||
| Claude Desktop | JSON 配置 | 支持 |
|
||||
| Cursor | JSON 配置 | 支持 |
|
||||
| Windsurf | JSON 配置 | 支持 |
|
||||
| Cline | JSON 配置 | 支持 |
|
||||
| Continue.ML / JSON | 支持 |
|
||||
| Cherry Studio | GUI | 支持 |
|
||||
| Zed | JSON 配置 | 支持 |
|
||||
|
||||
---
|
||||
|
||||
## 相关项目
|
||||
|
||||
- [twitter-mcp](https://github.com/6551-io/twitter-mcp) - Twitter/X 数据 MCP 服务器
|
||||
|
||||
---
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
cd /path/to/opennews-mcp
|
||||
uv sync
|
||||
uv run opennews-mcp
|
||||
```
|
||||
|
||||
```bash
|
||||
# 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
|
||||
Reference in New Issue
Block a user