README-MCP-FAQ-EN.md
中文 | English
</div>AI Query Guide - How to Use News Trend Analysis Tools Through Natural Conversation (v3.1.7)
| Category | Tool Name | Description |
|---|---|---|
| Date | resolve_date_range | Parse "this week", "last 7 days" to standard dates |
| Query | get_latest_news | Get the latest batch of trending news |
get_news_by_date | Query historical news by date range | |
get_trending_topics | Get trending topics statistics (auto-extract supported) | |
| RSS | get_latest_rss | Get latest RSS subscription content |
search_rss | Search keywords in RSS data | |
get_rss_feeds_status | View RSS feed config and data status | |
| Search | search_news | Unified search (keyword/fuzzy/entity, RSS optional) |
find_related_news | Find news similar to a given title | |
| Analysis | analyze_topic_trend | Topic trend analysis (hotness/lifecycle/viral/predict) |
analyze_data_insights | Data insights (platform compare/activity/co-occurrence) | |
analyze_sentiment | News sentiment analysis | |
aggregate_news | Cross-platform news aggregation & dedup | |
compare_periods | Period comparison (week-over-week/month-over-month) | |
generate_summary_report | Generate daily/weekly summary reports | |
| System | get_current_config | Get current system configuration |
get_system_status | Get system running status | |
check_version | Check version updates (TrendRadar + MCP Server) | |
trigger_crawl | Manually trigger a crawl task | |
| Storage | sync_from_remote | Pull data from remote storage to local |
get_storage_status | Get storage config and status | |
list_available_dates | List available dates (local/remote) | |
| Article | read_article | Read single article content (Markdown format) |
read_articles_batch | Batch read multiple articles (max 5) | |
| Notification | get_notification_channels | Get all configured notification channels and their status |
send_notification | Send messages to configured notification channels (auto format conversion) |
The following optimization strategies are adopted by default, mainly to save AI token consumption:
| Default Setting | Description | How to Adjust |
|---|---|---|
| Result Limit | Default returns 50 news items | Say "return top 10" or "give me 100 items" in conversation |
| Time Range | Default queries today's data | Say "query yesterday", "last week" or "Jan 1 to 7" |
| URL Links | Default no links (saves ~160 tokens/item) | Say "need links" or "include URLs" |
| Keyword List | Default does not use frequency_words.txt to filter news | Only used when calling "trending topics" tool |
⚠️ Important: The choice of AI model directly affects the tool call effectiveness. The smarter the AI, the more accurate the calls. When you remove the above restrictions, for example, from querying today to querying a week, first you need to have a week's data locally, and secondly, token consumption may multiply.
💡 Tip: This project provides a dedicated date parsing tool that can accurately parse natural language date expressions like "last 7 days", "this week", ensuring all AI models get consistent date ranges. See Q18 below for details.
Below I use the SiliconFlow platform as an example, which has many large models to choose from. During the development and testing of this project, I used this platform for many functional tests and validations.
| Registration Method | Direct Registration Without Referral | Registration With Referral Link |
|---|---|---|
| Registration Link | siliconflow.cn | Referral Link |
| Free Quota | 0 tokens | 20 million tokens (≈$2) |
| Extra Benefits | ❌ | ✅ Referrer also gets 20 million tokens |
💡 Tip: The above gift quota should allow for 200+ queries
Now you can start using this project and enjoy stable and fast AI services!
After testing one query, please immediately check the SiliconFlow Billing to see the consumption and have an estimate in mind.
You can ask like this:
Tool return behavior:
AI display behavior (Important):
Can be adjusted:
You can ask like this:
Supported date formats:
Tool return behavior:
AI display behavior (Important):
You can ask like this:
Two extraction modes:
| Mode | Description | Example Question |
|---|---|---|
| Preset keywords | Count preset followed words (based on config file, default) | "How many times did my followed words appear" |
| Auto extract | Auto-extract high-frequency words from news titles (no preset needed) | "Auto-analyze hot topics" |
You can ask like this:
Tool return behavior:
days parameter for multi-day queries (1-30 days)AI display behavior (Important):
Can be adjusted:
You can ask like this:
Tool return behavior:
Can be adjusted:
You can ask like this:
Return information:
| Field | Description |
|---|---|
| Available dates | List of dates with RSS data |
| Total date count | How many days of data total |
| Today's feed stats | Today's data statistics by RSS feed |
| Generation time | Status generation time |
You can ask like this:
Tool return behavior:
AI display behavior (Important):
Can be adjusted:
You can ask like this:
Tool return behavior:
Can be adjusted:
You can ask like this:
Supported time ranges:
| Method | Description | Example |
|---|---|---|
| Not specified | Only query today's data (default) | "Find similar news" |
| Preset values | yesterday, last week, last month | "Find related news from yesterday" |
| Date range | Specify start and end dates | "Find related reports from Jan 1 to 7" |
Tool return behavior:
AI display behavior (Important):
Can be adjusted:
You can ask like this:
Four analysis modes:
| Mode | Description | Example Question |
|---|---|---|
| Heat trend | Track topic heat changes | "Analyze 'AI' heat trend" |
| Lifecycle | Complete cycle from emergence to disappearance | "See if 'XX' is a flash in the pan or sustained hot topic" |
| Anomaly detection | Identify suddenly viral topics | "What topics suddenly went viral today" |
| Prediction | Predict future hot topics | "Predict upcoming hot topics" |
Tool return behavior:
You can ask like this:
Three insight modes:
| Mode | Function | Example Question |
|---|---|---|
| Platform Compare | Compare platform attention | "Compare platforms' attention to 'AI'" |
| Activity Stats | Count platform posting frequency | "See which platform updates most frequently" |
| Keyword Co-occurrence | Analyze keyword associations | "Which keywords often appear together" |
Tool return behavior:
You can ask like this:
Tool return behavior:
AI display behavior (Important):
Can be adjusted:
You can ask like this:
Tool functionality:
Return information:
| Field | Description |
|---|---|
| Representative title | Representative title of this news group |
| Covered platforms | Which platforms reported this news |
| Platform count | How many platforms covered |
| Is cross-platform | Whether it's a cross-platform hot topic |
| Best rank | Best ranking across platforms |
| Comprehensive weight | Comprehensive heat score |
| Platform sources | Detailed info from each platform |
Can be adjusted:
You can ask like this:
Report types:
You can ask like this:
Three comparison modes:
| Mode | Description | Use Case |
|---|---|---|
| Overview | News count change, keyword change, TOP news comparison | Quick understanding of overall changes |
| Topic shift | Rising topics, falling topics, newly appeared topics | Analyze hotspot migration |
| Platform activity | News count change by platform | Understand platform dynamics |
Time period presets:
You can ask like this:
Can query:
You can ask like this:
Return information:
You can ask like this:
Return information:
Will check both components' versions simultaneously:
| Component | Description |
|---|---|
| TrendRadar | Core crawler and analysis engine |
| MCP Server | AI conversation tool service |
For each component, you'll get:
Can be adjusted:
You can ask like this:
Two modes:
| Mode | Purpose | Example |
|---|---|---|
| Temporary Crawl | Only return data without saving | "Crawl Toutiao news" |
| Persistent Crawl | Save to output folder | "Fetch and save Zhihu news" |
Tool return behavior:
AI display behavior (Important):
Can be adjusted:
You can ask like this:
Use cases:
Return information:
Prerequisites:
Need to configure remote storage in config file or set environment variables:
You can ask like this:
Return information:
| Category | Information |
|---|---|
| Local Storage | Data directory, total size, date count, date range |
| Remote Storage | Whether configured, endpoint URL, bucket name, date count |
| Pull Config | Whether auto-pull enabled, pull days |
You can ask like this:
Three query modes:
| Mode | Description | Example Question |
|---|---|---|
| Local | View local only | "What dates are available locally" |
| Remote | View remote only | "What dates are in remote" |
| Compare | Compare both (default) | "Compare local and remote data" |
Return information (compare mode):
You can ask like this:
Why is this tool needed?
Users often use natural language like "this week", "last 7 days" to express dates, but different AI models calculating dates on their own will produce inconsistent results. This tool uses server-side precise time calculations to ensure all AI models get consistent date ranges.
Supported date expressions:
| Type | Chinese Expression | English Expression |
|---|---|---|
| Single Day | 今天、昨天 | today, yesterday |
| Week | 本周、上周 | this week, last week |
| Month | 本月、上月 | this month, last month |
| Last N Days | 最近7天、最近30天 | last 7 days, last 30 days |
| Dynamic | 最近N天 (any number) | last N days |
Usage advantages:
You can ask like this:
Tool functionality:
Typical workflow:
search_news(include_url=True) to search news and get linksread_article(url=link) to read the article bodyReturn information:
| Field | Description |
|---|---|
| content | Article body in Markdown format |
| url | Original link |
| content_length | Content length (characters) |
Can be adjusted:
Notes:
You can ask like this:
Typical workflow:
search_news(include_url=True) to search news and get multiple linksread_articles_batch(urls=[...]) to batch read article bodiesTool limits:
| Limit | Value |
|---|---|
| Max articles per batch | 5 |
| Request interval | 5 seconds |
| Estimated time (5 articles) | 25-30 seconds |
Return information:
| Field | Description |
|---|---|
| summary | Statistics of batch reading |
| articles | Content and status of each article |
| note | If any articles were skipped, explains why |
Notes:
You can ask like this:
Supported notification channels (9):
| Channel | Message Format | Configuration |
|---|---|---|
| Feishu | Plain text | FEISHU_WEBHOOK_URL |
| DingTalk | Markdown | DINGTALK_WEBHOOK_URL |
| WeCom | Markdown | WEWORK_WEBHOOK_URL |
| Telegram | HTML | TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID |
| HTML | EMAIL_FROM + EMAIL_PASSWORD + EMAIL_TO | |
| ntfy | Markdown | NTFY_SERVER_URL + NTFY_TOPIC |
| Bark | Markdown | BARK_URL |
| Slack | mrkdwn | SLACK_WEBHOOK_URL |
| Generic Webhook | Markdown | GENERIC_WEBHOOK_URL |
Configuration methods:
config.yaml under notification.channels.env file (higher priority).env values override config.yaml valuesTwo tools:
| Tool | Function | Example Question |
|---|---|---|
get_notification_channels | Detect configured channels and status | "View notification channel config" |
send_notification | Send message to specified or all channels | "Send message to Feishu" |
Typical workflow:
Message format:
Multi-account support:
; in config values to send to multiple accountsFEISHU_WEBHOOK_URL=url1;url2 sends to two Feishu groups simultaneouslyBackground: Sometimes AI automatically summarizes data, only showing partial content, even if the tool returned complete 50 items of data.
If AI still summarizes, you can:
Note: AI may still adjust display method based on context.
Example: In-depth analysis of a topic
Example: Track an event