How silasvuls/trendradar works
TrendRadar aggregates platform hotlists and RSS feeds, analyzes and filters trends, then produces reports and sends configurable notifications. The main runtime is complemented by AI analysis/translation, persistent storage, and an MCP server exposing queries and actions to AI clients. The README establishes these product capabilities; sampled source supports the MCP query-to-data path and AI client behavior, but does not show the complete crawler-to-notification orchestration, so uncertain internal wiring is omitted.
Main entry points: __main__.py Application entry · server.py MCP server · data_service.py Data access service · fetcher.py RSS fetcher
Components 31
Collection and analysis
- Application entry
trendradar/__main__.py - App context
trendradar/context.py - Configuration loader
trendradar/core/loader.py - Hotlist crawler
trendradar/crawler/fetcher.py - RSS fetcher
trendradar/crawler/rss/fetcher.py - RSS parser
trendradar/crawler/rss/parser.py - Trend analysis
trendradar/core/analyzer.py - Frequency analysis
trendradar/core/frequency.py
Reports and delivery
- Report generator
trendradar/report/generator.py - HTML reports
trendradar/report/html.py - Notification dispatcher
trendradar/notification/dispatcher.py - Notification channels
trendradar/notification/senders.py
AI capabilities
- AI analysis / translation
trendradar/ai/analyzer.py - AI model client
trendradar/ai/client.py
Storage and queries
- Storage manager
trendradar/storage/manager.py - Local storage
trendradar/storage/local.py - Remote storage
trendradar/storage/remote.py
MCP interface
- MCP server
mcp_server/server.py - Data query tools
mcp_server/tools/data_query.py - Data access service
mcp_server/services/data_service.py - Database parser
mcp_server/services/parser_service.py - Query cache
mcp_server/services/cache_service.py - Analytics tools
mcp_server/tools/analytics.py - Search tools
mcp_server/tools/search_tools.py - Article reader
mcp_server/tools/article_reader.py
Other components
- User / scheduler
- News data API
- RSS publishers
- Messaging services
- AI providers
- MCP client
Connections 32
- User / scheduler → Application entry: starts run
- Application entry → App context: initializes
- App context → Configuration loader: loads settings
- Application entry → Hotlist crawler: collects hotlists
- Hotlist crawler → News data API: fetches data
- Application entry → RSS fetcher: collects feeds
- RSS fetcher → RSS publishers: fetches feeds
- RSS fetcher → RSS parser: parses content
- Application entry → Trend analysis: analyzes trends
- Trend analysis → Frequency analysis: calculates frequency
- Application entry → Storage manager: selects backend
- Storage manager → Local storage: writes locally
- Storage manager → Remote storage: writes remotely
- Application entry → Report generator: generates report
- Report generator → HTML reports: renders HTML
- Application entry → AI analysis / translation: requests AI output
- AI analysis / translation → AI model client: calls model client
- AI model client → AI providers: sends prompts
- Application entry → Notification dispatcher: dispatches report
- Notification dispatcher → Notification channels: selects sender
- Notification channels → Messaging services: sends messages
- MCP client → MCP server: invokes tools
- MCP server → Data query tools: dispatches queries
- MCP server → Analytics tools: dispatches analysis
- MCP server → Search tools: dispatches search
- MCP server → Article reader: dispatches reading
- Data query tools → Data access service: queries data
- Data access service → Database parser: reads dated data
- Database parser → Local storage: reads databases
- Data access service → Query cache: checks cache
- Analytics tools → Data access service: queries data
- Search tools → Data access service: searches data