J

headline-vibes

...
Created 2/12/2025byfred-em

Language:

JavaScript

Stars:

4

Forks:

5

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

Installation

  1. Clone the repository:
git clone https://github.com/fred-em/headline-vibes.git
cd headline-vibes
  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. 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

Publisher info

fred-em's avatar

fred-em

0
followers
1
following
3
repos

More MCP servers built with JavaScript

mcp-server-semgrep

MCP Server Semgrep is a [Model Context Protocol](https://modelcontextprotocol.io) compliant server that integrates the powerful Semgrep static analysis tool with AI assistants like Anthropic Claude. It enables advanced code analysis, security vulnerability detection, and code quality improvements directly through a conversational interface.

By Szowesgad9
protonmail-mcp

This MCP server provides email sending functionality using Protonmail's SMTP service. It allows both Claude Desktop and Cline VSCode extension to send emails on your behalf using your Protonmail credentials.

By amotivv6
agentql-mcp

Model Context Protocol server that integrates AgentQL's data extraction capabilities.

By tinyfish-io45