catalog/repos/6551team--daily-news.md

285 lines
6.6 KiB
Markdown
Raw Normal View History

2026-04-06 15:47:33 +08:00
# 每日新闻MCP服务
**GitHub**: [6551team/daily-news](https://github.com/6551team/daily-news) | **Gitea**: [mc-skills/6551team--daily-news](http://192.168.0.109:3000/mc-skills/6551team--daily-news)
## 中文摘要
提供新闻分类浏览、热点资讯、热门推文及加密货币情报的MCP服务器支持按分类获取DeFi、AI等领域热点内容可集成至Claude等AI助手使用。
## 标签
`MCP` `新闻聚合` `加密货币` `AI工具`
---
## README 原文
<p align="center">
<b>Daily News MCP Server</b><br>
News Categories · Hot News · Trending Tweets · Crypto Intelligence
</p>
<p align="center">
<a href="./docs/README_ZH.md">中文</a> | <a href="./docs/README_JA.md">日本語</a> | <a href="./docs/README_KO.md">한국어</a>
</p>
---
## Quick Install
### Claude Code
```bash
claude mcp add daily-news \
-- uv --directory /path/to/daily-news run daily-news-mcp
```
> Replace `/path/to/daily-news` with your local project path.
### OpenClaw
```bash
cp -r openclaw-skill/daily-news ~/.openclaw/skills/6551-daily-news
```
---
## 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>` with actual value):**
```text
Please review and install the daily-news-mcp MCP server for me. The project is at <project-path>.
Steps:
1. Review these files for security:
- src/daily_news_mcp/api_client.py — Confirm it only connects to ai.6551.io, no data sent elsewhere
- src/daily_news_mcp/config.py — Confirm no hardcoded secrets or leaks
- src/daily_news_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, no suspicious packages
2. Tell me your conclusion: safe / risky / problematic, with specific reasons
3. If safe, run the install:
claude mcp add daily-news -- uv --directory <project-path> run daily-news-mcp
```
---
## What Can It Do?
Once connected, just ask your AI assistant:
| You say | It does |
|---------|---------|
| "Show me all news categories" | List all available categories and subcategories |
| "What's hot in DeFi today?" | Get hot news and tweets for the DeFi category |
| "Get crypto market news" | Fetch trending news for the crypto market category |
| "Show me AI-related news and tweets" | Get combined news + tweets for AI subcategory |
---
## Available Tools
| Tool | Description |
|------|-------------|
| `get_news_categories` | Get all available news categories and subcategories |
| `get_hot_news` | Get hot news and tweets by category/subcategory |
---
## Configuration
| Variable | Required | Description |
|----------|----------|-------------|
| `DAILY_NEWS_API_BASE` | No | Override REST API URL (default: `https://ai.6551.io`) |
| `DAILY_NEWS_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",
"max_rows": 100
}
```
---
## API Endpoints
| Endpoint | Method | Parameters | Description |
|----------|--------|------------|-------------|
| `/open/free_categories` | GET | — | Get all news categories |
| `/open/free_hot` | GET | `category`, `subcategory` | Get hot news + tweets |
### Response: free_categories
```json
[
{
"key": "crypto",
"name": "Crypto",
"name_zh": "加密货币",
"description": "...",
"subcategories": [
{
"key": "defi",
"name": "DeFi",
"name_zh": "去中心化金融",
"description": "..."
}
]
}
]
```
### Response: free_hot
```json
{
"success": true,
"category": "crypto",
"subcategory": "defi",
"news": {
"success": true,
"count": 10,
"items": [
{
"id": 123,
"title": "...",
"source": "...",
"link": "https://...",
"score": 85,
"grade": "A",
"signal": "bullish",
"summary_zh": "...",
"summary_en": "...",
"coins": ["BTC", "ETH"],
"published_at": "2026-03-17T10:00:00Z"
}
]
},
"tweets": {
"success": true,
"count": 5,
"items": [
{
"author": "Vitalik Buterin",
"handle": "VitalikButerin",
"content": "...",
"url": "https://...",
"metrics": { "likes": 1000, "retweets": 200, "replies": 50 },
"posted_at": "2026-03-17T09:00:00Z",
"relevance": "high"
}
]
}
}
```
---
<details>
<summary><b>Other Clients — Manual Install</b> (click to expand)</summary>
> In all configs below, replace `/path/to/daily-news` with your actual local project path.
### Claude Desktop
Edit config (macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
```json
{
"mcpServers": {
"daily-news": {
"command": "uv",
"args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
}
}
}
```
### Cursor
`~/.cursor/mcp.json` or Settings > MCP Servers:
```json
{
"mcpServers": {
"daily-news": {
"command": "uv",
"args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
}
}
}
```
### Windsurf
`~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"daily-news": {
"command": "uv",
"args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
}
}
}
```
</details>
---
## Supported Clients
| Client | Config | Status |
|--------|--------|--------|
| Claude Code | CLI | Supported |
| Claude Desktop | JSON config | Supported |
| Cursor | JSON config | Supported |
| Windsurf | JSON config | Supported |
| Cherry Studio | GUI | Supported |
| Zed | JSON config | Supported |
---
## Development
```bash
cd /path/to/daily-news
uv sync
uv run daily-news-mcp
```
```bash
# MCP Inspector
npx @modelcontextprotocol/inspector uv --directory /path/to/daily-news run daily-news-mcp
```
### Project Structure
```
├── README.md # English
├── docs/
│ ├── README_ZH.md # 中文
│ ├── README_JA.md # 日本語
│ └── README_KO.md # 한국어
├── openclaw-skill/daily-news/ # OpenClaw Skill
├── pyproject.toml
├── config.json
└── src/daily_news_mcp/
├── server.py # Entry point
├── app.py # FastMCP instance
├── config.py # Config loader
├── api_client.py # HTTP client
└── tools.py # 2 tools
```
## License
MIT