news-sentiment-mcp
by trendsmcp
README.md
# news-sentiment-mcp
[](https://trendsmcp.ai/news-sentiment-data)
[](https://modelcontextprotocol.io)
[](https://trendsmcp.ai/mcp-server-for-claude)
[](https://trendsmcp.ai/mcp-server-for-cursor)
> **News sentiment and volume data for AI**
> Understand how the news is covering any topic - and whether that coverage is positive or negative. Sentiment scores, media volume trends, and historical coverage data structured for AI analysis.
**Full docs and live demo:** [https://trendsmcp.ai/news-sentiment-data](https://trendsmcp.ai/news-sentiment-data)
Part of **[Trends MCP](https://trendsmcp.ai)** - the MCP server for live trend data across 12+ sources.
See the main repo: [https://github.com/trendsmcp/trends-mcp](https://github.com/trendsmcp/trends-mcp)
---
## Get started in 2 steps
**Step 1:** Get your free API key at **[trendsmcp.ai](https://trendsmcp.ai)**
100 requests/day, no credit card required.
**Step 2:** Add to your AI client (replace `YOUR_API_KEY`):
[**+ Add to Cursor (one click)**](cursor://anysphere.cursor-deeplink/mcp/install?name=trends-mcp&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkudHJlbmRzbWNwLmFpL21jcCIsICJ0cmFuc3BvcnQiOiAiaHR0cCJ9)
**Cursor / Windsurf / Cline** (`~/.cursor/mcp.json` or equivalent)
```json
{
"mcpServers": {
"trends-mcp": {
"url": "https://api.trendsmcp.ai/mcp",
"transport": "http",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
```
**VS Code / GitHub Copilot** (`.vscode/mcp.json`)
```json
{
"servers": {
"trends-mcp": {
"type": "http",
"url": "https://api.trendsmcp.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
```
**Claude Desktop** (`claude_desktop_config.json`)
User → Settings → Developer → Edit Config — add inside mcpServers
```json
{
"mcpServers": {
"trends-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.trendsmcp.ai/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_API_KEY"
}
}
}
}
```
**Claude.ai** (browser) Settings -> Connectors -> Add custom connector:
```
https://api.trendsmcp.ai/mcp
```
---
## Example query
After connecting, ask your AI:
```
get_growth(keyword='tesla', source='news sentiment, news volume', percent_growth=['3M'])
```
---
## Available tools
| Tool | What it does |
|------|-------------|
| `get_trends` | Time-series for a keyword on this source |
| `get_growth` | Growth % over 1W, 1M, 3M, 6M, 1Y periods |
| `get_top_trends` | What is trending right now on this source |
| `get_ranked_trends` | Top topics ranked by volume |
---
## FAQ
### What news data does Trends MCP provide?
Two signals: news volume (how much coverage a topic is receiving) and news sentiment (whether that coverage skews positive, neutral, or negative). Both are normalized and returned as time series.
### How is sentiment scored?
Sentiment is derived from NLP analysis of news article headlines and summaries, scored on a scale from -1 (strongly negative) to +1 (strongly positive). Trends MCP normalizes this to a 0-100 scale for consistency.
### Can I track sentiment for a company over earnings periods?
Yes. Query a company name or ticker and the sentiment series will show how media tone shifted around earnings announcements, product launches, or regulatory events.
### Which news sources are included?
Major English-language news outlets, financial media, and technology publications. The signal aggregates across sources rather than tracking individual outlets.
---
## All data sources
Trends MCP covers 12+ sources in one connection:
Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia,
News Sentiment, Web Traffic, App Downloads, Steam, npm, and more.
Browse all: [https://trendsmcp.ai/data-sources](https://trendsmcp.ai/data-sources)
---
## Also works as a Python client
Same API key works directly in Python - no MCP host needed.
```bash
pip install news-sentiment-mcp
```
```python
import os
from news_sentiment_mcp import TrendsMcpClient, SOURCE
client = TrendsMcpClient(api_key=os.environ["TRENDSMCP_API_KEY"])
series = client.get_trends(source=SOURCE, keyword="your keyword")
growth = client.get_growth(source=SOURCE, keyword="your keyword", percent_growth=["1M", "3M", "12M"])
top = client.get_top_trends(type="News Sentiment", limit=10)
```
Full Python docs: [trendsmcp.ai/docs](https://trendsmcp.ai/docs)
---
## License
MIT © [Trends MCP](https://trendsmcp.ai)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessSyncing