Scrapes news content from CBC News for processing and transformation into Instagram-ready content.
Enables publishing and scheduling content to Instagram, including creating posts with AI-generated captions and hashtags, optimizing posting times, and tracking engagement metrics.
Utilizes OpenAI's models for content analysis, caption generation, and other AI-powered text processing tasks.
Monitors RSS feeds from various news sources to continuously fetch the latest news content for processing.
📰📱 News Instagram MCP Server
An intelligent, fully-automated news-to-Instagram posting system that scrapes Canadian news sources, processes content with AI, and publishes engaging Instagram posts using the Model Context Protocol (MCP).
🚀 What This System Does
Transform Canadian news into engaging Instagram content automatically:
- 🔍 Scrapes latest news from CBC, Global News, CTV
- 🧠 Analyzes content with AI (categorization, sentiment, keywords)
- 🎨 Creates Instagram-ready visuals with templates
- ✍️ Generates compelling captions and hashtags
- ⏰ Schedules posts at optimal times
- 📤 Publishes directly to Instagram
- 📊 Tracks engagement and performance
✨ Key Features
🔥 Intelligent News Processing
- Multi-Source Scraping: CBC, Global News, CTV + Universal scraper for any site
- AI Content Analysis: Automatic categorization, sentiment analysis, importance scoring
- Smart Filtering: Duplicate detection, quality assessment, content validation
- Real-time RSS Monitoring: Continuous news feed monitoring with timeout handling
📱 Instagram Automation
- Visual Content Creation: Branded templates with automatic text overlay
- AI Caption Generation: Context-aware captions with relevant hashtags
- Smart Scheduling: Optimal posting times based on engagement analytics
- Rate Limiting: Respects Instagram API limits with intelligent delays
- Engagement Tracking: Monitors likes, comments, shares, reach
🤖 MCP Integration
- Full MCP Server: Complete Model Context Protocol implementation
- 6 Powerful Tools: Scrape, analyze, generate, schedule, publish, analytics
- Real-time Resources: Live access to articles, posts, analytics, configuration
- Claude Desktop Ready: Seamless integration with AI assistants
🔒 Enterprise-Grade Safety
- Content Moderation: AI-powered content filtering and validation
- Error Recovery: Robust error handling with automatic retries
- Database Integrity: SQLite with migration support and backup
- Comprehensive Logging: Multi-level logging with rotation
🏗️ Architecture
🚀 Quick Start - Get Running in 5 Minutes
1. 📦 Installation
2. ⚙️ Configuration
Required credentials:
3. 🧪 Test the System
4. 🚀 Launch MCP Server
🎯 Usage Examples
🤖 Via Claude Desktop (Recommended)
Once configured in Claude Desktop, you can:
🔧 Via MCP Tools (Direct)
💻 Programmatic Usage
🛠️ Advanced Configuration
📰 Adding News Sources
Add any news website to config/news_sources.yaml
:
🎨 Custom Templates
Create custom Instagram templates:
- Design 1080x1350px image in Photoshop/GIMP
- Save as PNG in
templates/
folder - Configure in
config/template_config.yaml
- System automatically applies text overlays
⏰ Posting Schedule
Customize posting times in config/instagram_config.yaml
:
🔒 Safety & Rate Limiting
📊 Monitoring & Analytics
📈 Performance Metrics
Track comprehensive metrics:
- Articles scraped per day/week/month
- Posts published with success rates
- Engagement metrics (likes, comments, shares)
- Error rates by component
- Processing times and performance
📋 Available Analytics
📊 Real-time Dashboard
Access via MCP resources:
news://articles/recent
- Latest scraped articlesnews://posts/scheduled
- Upcoming scheduled postsnews://analytics/daily
- Performance dashboardnews://config/sources
- Current source configuration
🔌 MCP Integration Setup
For Claude Desktop:
- Install Claude Desktop (if not already installed)
- Add MCP configuration to
%APPDATA%\Claude\claude_desktop_config.json
:
- Restart Claude Desktop
- Test integration: Ask Claude to "scrape news and create an Instagram post"
For Other MCP Clients:
The server implements the full MCP specification and works with any MCP-compatible client.
🚨 Troubleshooting
Common Issues & Solutions
Issue | Solution |
---|---|
Instagram login fails | ✅ Check credentials, enable 2FA, use app password |
RSS feeds timeout | ✅ Normal behavior - system handles gracefully |
"Module not found" | ✅ Run pip install -r requirements.txt |
Database errors | ✅ Delete news_instagram.db to reset database |
Unicode errors | ✅ Fixed in v2.0 - restart if persists |
Memory issues | ✅ Reduce batch sizes in configuration |
Debug Mode
Enable detailed logging:
System Health Check
💡 Pro Tips
🚀 Optimization
- Peak Performance: Run during off-peak hours for faster scraping
- Engagement: Schedule posts at 8AM, 12PM, 5PM, 8PM for best engagement
- Content Quality: Enable manual approval for critical accounts
- Rate Limits: Increase delays if hitting Instagram rate limits
🔧 Customization
- Custom Scrapers: Create specialized scrapers for specific news sites
- AI Models: Switch between OpenAI, Anthropic, or Gemini for different styles
- Templates: Create branded templates matching your Instagram aesthetic
- Hashtags: Customize hashtag strategies in caption generator
📊 Analytics
- A/B Testing: Test different posting times and templates
- Content Performance: Track which news categories perform best
- Engagement Optimization: Adjust posting schedule based on analytics
- Quality Metrics: Monitor content quality scores and engagement rates
🤝 Contributing
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Ensure code quality (
pylint
,black
) - Submit a pull request
Development Setup
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- 📖 Documentation: Full API docs and guides available
- 🐛 Issues: GitHub Issues for bug reports
- 💬 Discussions: GitHub Discussions for questions
- 📧 Email: Enterprise support available
🚀 Roadmap
🔮 Upcoming Features
- Multi-Platform: Twitter, Facebook, LinkedIn support
- Advanced AI: GPT-4 integration for enhanced content
- Real-time Dashboard: Live web interface for monitoring
- A/B Testing: Automated post optimization
- Team Collaboration: Multi-user support with roles
- Content Calendar: Editorial calendar integration
⚡ Performance Improvements
- Redis Caching: Enhanced performance with Redis
- Async Processing: Concurrent scraping and processing
- PostgreSQL: Enterprise database support
- CDN Integration: Optimized image delivery
- Kubernetes: Container orchestration support
🎉 Ready to Transform Your News Coverage?
Get started now and automate your news-to-Instagram workflow!
Follow us for updates: @newsmcp | Star on GitHub ⭐
Made with ❤️ for the news and social media community
🚀 Quick Start - Your First Post
What You Need:
- Instagram Business/Creator Account (required)
- Instagram Username & Password
- OpenAI API Key (optional but recommended)
Setup Steps:
- Create
.env
file:
- Add your credentials to
.env
:
- Run system test:
- If all tests pass, generate your first post:
See FIRST_POST_GUIDE.md
for detailed setup instructions.
Configuration
Environment Variables
INSTAGRAM_USERNAME
: Your Instagram usernameINSTAGRAM_PASSWORD
: Your Instagram passwordOPENAI_API_KEY
: OpenAI API key for content analysisANTHROPIC_API_KEY
: Anthropic API key (alternative to OpenAI)DATABASE_URL
: Database connection string
News Sources
Configure news sources in config/news_sources.yaml
:
- Add RSS feeds
- Set CSS selectors for content extraction
- Define categories and keywords
- Configure content filters
Instagram Settings
Configure Instagram posting in config/instagram_config.yaml
:
- Set posting schedule and limits
- Define hashtag strategies
- Configure caption templates
- Set safety and rate limiting options
Usage
MCP Server
Start the MCP server:
The server provides the following tools:
scrape_news
: Scrape news from configured sourcesanalyze_content
: Analyze scraped articlesgenerate_post
: Create Instagram posts from articlesschedule_post
: Schedule posts for publishingpublish_post
: Publish posts immediatelyget_analytics
: Get performance analytics
Manual Operations
News Sources
Supported Sources
- CBC News: Canada's national broadcaster
- Global News: Major Canadian news network
- CTV News: Canadian television network
- Universal Scraper: For additional news sources
Adding New Sources
- Add source configuration to
config/news_sources.yaml
- Create a custom scraper class (optional)
- Update the MCP server to include the new source
Content Processing
Analysis Features
- Categorization: Automatic categorization (breaking, politics, economy, etc.)
- Sentiment Analysis: Emotional tone detection
- Keyword Extraction: Important terms and entities
- Importance Scoring: Priority ranking for content
- Quality Assessment: Content quality evaluation
Image Processing
- Download: Automatic image retrieval from articles
- Optimization: Resize and optimize for Instagram
- Template Creation: Generate branded news graphics
- Format Conversion: Ensure Instagram compatibility
Instagram Publishing
Features
- Smart Scheduling: Optimal posting times based on engagement
- Rate Limiting: Respect Instagram's API limits
- Engagement Tracking: Monitor likes, comments, shares
- Error Handling: Robust error recovery and retry logic
- Content Validation: Ensure posts meet Instagram requirements
Safety Features
- Rate Limiting: Prevent API violations
- Content Filtering: Remove inappropriate content
- Duplicate Detection: Avoid posting duplicate content
- Manual Approval: Optional manual review process
Database Schema
Tables
news_articles
: Scraped news articlesinstagram_posts
: Generated Instagram postsprocessing_jobs
: Background task trackingscraping_sessions
: Scraping session logs
API Reference
MCP Resources
news://articles/recent
: Recent news articlesnews://posts/scheduled
: Scheduled Instagram postsnews://analytics/daily
: Daily statisticsnews://config/sources
: News source configuration
MCP Tools
Each tool accepts specific parameters and returns structured results. See the MCP server implementation for detailed schemas.
Monitoring and Analytics
Metrics Tracked
- Articles scraped per day
- Posts published per day
- Engagement rates
- Error rates
- Processing times
Logs
Comprehensive logging is available at multiple levels:
- INFO: General operations
- WARNING: Non-critical issues
- ERROR: Critical failures
- DEBUG: Detailed debugging information
Development
Testing
Run the test suite:
Adding Features
- Follow the existing architecture patterns
- Add appropriate tests
- Update configuration files
- Document new features
Troubleshooting
Common Issues
- Instagram Login Issues: Check credentials and 2FA settings
- Scraping Failures: Verify news source URLs and selectors
- Image Processing Errors: Ensure PIL/Pillow is properly installed
- Database Errors: Check database connection and permissions
Debug Mode
Enable debug logging in .env
:
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
[License information]
Support
For support and questions:
- Create an issue on GitHub
- Check the documentation
- Review the troubleshooting guide
Changelog
See CHANGELOG.md for version history and updates.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
An intelligent system that automatically scrapes Canadian news sources, processes content with AI, and publishes engaging Instagram posts.
- 🚀 What This System Does
- ✨ Key Features
- 🏗️ Architecture
- 🚀 Quick Start - Get Running in 5 Minutes
- 🎯 Usage Examples
- 🛠️ Advanced Configuration
- 📊 Monitoring & Analytics
- 🔌 MCP Integration Setup
- 🚨 Troubleshooting
- 💡 Pro Tips
- 🤝 Contributing
- 📄 License
- 🆘 Support
- 🚀 Roadmap
- 🎉 Ready to Transform Your News Coverage?
- 🚀 Quick Start - Your First Post
- Configuration
- Usage
- News Sources
- Content Processing
- Instagram Publishing
- Database Schema
- API Reference
- Monitoring and Analytics
- Development
- Troubleshooting
- Contributing
- License
- Support
- Changelog
Related MCP Servers
- -securityAlicense-qualityAn agent-based tool that provides web search and advanced research capabilities including document analysis, image description, and YouTube transcript retrieval.Last updated -11PythonApache 2.0
- -securityFlicense-qualityAn AI-focused search engine that enables AI applications to access high-quality knowledge from billions of webpages and ecosystem content sources across various domains including weather, news, encyclopedia, medical information, train tickets, and images.Last updated -17Python
- AsecurityFlicenseAqualityA server providing access to news articles from various categories including tech, data science, cybersecurity, and more, allowing retrieval and summarization of latest content.Last updated -12Python
- -securityFlicense-qualityA modular, scalable news aggregation backend that provides a unified interface to TheNewsAPI for retrieving current and historical news articles with advanced filtering capabilities, designed specifically for consumption by AI agents.Last updated -4