
News Fact-Checker MCP Server
A modern Model Context Protocol (MCP) server for fact-checking news headlines using AI analysis and web search.
Features
- ๐ Fact-Check Headlines: Verify news claims using Google Gemini AI and web search
- ๐ Trending Topics: Get current trending news from RSS feeds
- ๐ค AI-Powered Analysis: Uses Google Gemini 2.0 Flash for intelligent fact-checking
- ๐ Multi-Source Verification: Searches multiple sources for comprehensive analysis
- โก Modern MCP: Built with latest MCP conventions using
@mcp.tooldecorators
Available Tools
fact_check_headline
Verifies news headlines using AI analysis and web search.
Parameters:
headline(string): The news headline to fact-check
Returns:
- Verdict (TRUE/FALSE/PARTIALLY_TRUE/UNVERIFIED/MISLEADING)
- Confidence score
- Truthfulness percentage
- Supporting and contradicting evidence
- Recommendations
get_trending_topics
Retrieves current trending news topics.
Parameters:
location(string, optional): "international", "local", or "india" (default: "international")
Returns:
- List of trending topics with titles, sources, and URLs
Development
Project Structure
Copy & paste โ that's it
FactChecker/
โโโ src/
โ โโโ factchck/
โ โโโ news_factcheck.py # Main MCP server
โโโ requirements.txt # Python dependencies
โโโ pyproject.toml # Project configuration
โโโ README.md # This fileBuilding
Copy & paste โ that's it
# Install in development mode
pip install -e .
# Run tests (if available)
python -m pytestMCP Integration
This server is compatible with:
- Claude Desktop
- MCP CLI
- Any MCP-compatible client
Server Configuration
Copy & paste โ that's it
{
"mcpServers": {
"news-factcheck": {
"command": "python",
"args": ["-m", "factchck.news_factcheck"],
"env": {
"GEMINI_API_KEY": "your_api_key_here"
}
}
}
}Error Handling
The server includes comprehensive error handling for:
- Missing API keys
- Network connectivity issues
- Invalid input validation
- Service unavailability
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Version History
- v3.0.0: Modernized with latest MCP conventions, simplified codebase
- v2.1.0: Previous version with complex multi-source search
- v0.1.0: Initial release
Support
For issues and questions:
- Check the error logs
- Verify API key configuration
- Ensure network connectivity
- Open an issue on GitHub
Copy & paste โ that's it
pip install -r requirements.txtBefore it works, you'll need: GEMINI_API_KEY
Quick Start
Prerequisites
- Python 3.11 or higher
- Google Gemini API key
Installation
- Clone the repository:
Copy & paste โ that's it
git clone <repository-url>
cd FactChecker- Install dependencies:
Copy & paste โ that's it
pip install -r requirements.txt- Set up your API key:
Copy & paste โ that's it
export GEMINI_API_KEY="your_gemini_api_key_here"- Run the server:
Copy & paste โ that's it
python -m factchck.news_factcheckUsage
Fact-Check a Headline
Copy & paste โ that's it
# Example MCP tool call
{
"tool": "fact_check_headline",
"arguments": {
"headline": "NASA announces discovery of water on Mars"
}
}Get Trending Topics
Copy & paste โ that's it
# Example MCP tool call
{
"tool": "get_trending_topics",
"arguments": {
"location": "international" # or "local", "india"
}
}Configuration
Environment Variables
GEMINI_API_KEY: Required Google Gemini API keyNEWS_API_KEY: Optional NewsAPI key for enhanced searchSEARCH_API_KEY: Optional additional search API key
API Keys
- Google Gemini: Get your API key from Google AI Studio
- NewsAPI (optional): Get from NewsAPI
- Search API (optional): Additional search service API key
Limitations
- Requires internet connection for web search
- Depends on Google Gemini API availability
- RSS feed parsing is simplified (consider using proper XML parser for production)
- Rate limits may apply to API services