J
headline-vibes
...
Created 2/12/2025byfred-em
Language:
JavaScript
Stars:
1
Forks:
4
Headline Vibes Analysis MCP Server
A Model Context Protocol server that analyzes sentiment in news headlines from major US publications. The server provides both a standard date-based interface and natural language date parsing for easier use.
Features
- Analyzes up to 100 headlines per request
- Even distribution of headlines across major US news sources
- Sentiment scoring on a 0-10 scale (0 = most negative, 10 = most positive)
- Natural language date parsing (e.g., "yesterday", "last Friday")
- Detailed source distribution information
- Sample headlines included in results
Prerequisites
- Node.js v16 or higher
- NewsAPI key (get one at https://newsapi.org)
Installation
- Clone the repository:
git clone https://github.com/fred-em/headline-vibes.git
cd headline-vibes
- Install dependencies:
npm install
- Build the server:
npm run build
- Configure your NewsAPI key in your MCP settings file:
{
"mcpServers": {
"headline-vibes": {
"command": "node",
"args": ["/path/to/headline-vibes/build/index.mjs"],
"env": {
"NEWS_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": []
}
}
}
Available Tools
analyze_headlines
Analyze sentiment using natural language date input or specific dates.
Example usage:
// Using natural language
{
"name": "analyze_headlines",
"arguments": {
"input": "yesterday"
}
}
// Or using specific dates
{
"name": "analyze_headlines",
"arguments": {
"input": "2025-02-11"
}
}
Input examples:
- "last Friday"
- "3 days ago"
- "March 10th"
- "two weeks ago"
- "2025-02-11" (YYYY-MM-DD format also supported)
Response Format
The tool returns results in the following format:
{
"score": "6.50", // Normalized sentiment score (0-10)
"synopsis": "Overall positive sentiment in today's headlines",
"headlines_analyzed": 100, // Number of headlines analyzed
"sources_analyzed": 12, // Number of unique sources
"source_distribution": { // Distribution of headlines by source
"Reuters": 10,
"Associated Press": 8,
"CNN": 9,
// ... etc
},
"sample_headlines": [ // Up to 5 sample headlines
"Example headline 1",
"Example headline 2",
// ... etc
]
}
News Sources
The server pulls headlines from major US news sources including:
- Associated Press
- Reuters
- CNN
- Fox News
- NBC News
- ABC News
- Wall Street Journal
- Washington Post
- USA Today
- Bloomberg
- Business Insider
- Time
Error Handling
The server provides clear error messages for common issues:
- Invalid date formats
- Unparseable natural language queries
- No headlines found for the specified date
- API errors from NewsAPI
Development
To run the server in watch mode during development:
npm run watch
License
MIT
Last updated: 2/23/2025