docs(readme): 更新多语言文档和配置说明

- 在 README.md 中添加多语言链接导航
- 删除 docs/README_EN.md 英文文档文件
- 更新日文文档中的 API 配置说明和 Token 设置方式
- 更新韩文文档中的 API 配置说明和 Token 设置方式
- 修正各种客户端安装说明中的占位符变量
- 更新 API 端点地址和 WebSocket 连接地址
- 调整工具列表和功能描述说明
This commit is contained in:
tkk
2026-02-26 15:28:41 +08:00
parent dd9d984473
commit 3914196d26
5 changed files with 420 additions and 445 deletions
+4
View File
@@ -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
-348
View File
@@ -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
View File
@@ -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
View File
@@ -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/ # 도구
```
## 라이선스
+343
View File
@@ -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 stdioCommand `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