Skip to main content
Glama
su3g4829

mcp-news-sentiment-analyzer

by su3g4829

MCP News Sentiment Analyzer

以 Python 與 Model Context Protocol(MCP)SDK 2.x 建立的新聞搜尋與情緒分析練習專案。使用者輸入自然語言問題後,MCP Client 會依固定工具鏈呼叫新聞搜尋與情緒分析工具,並輸出 JSON、Markdown 報告與最終摘要。

專案特色

  • 使用 MCP SDK 2.x 的 MCPServer 與高階 Client

  • 透過 stdio 在本機 Client 與 Server 之間通訊

  • 使用 Serper API 搜尋 Google News

  • 透過 Groq 的 OpenAI-compatible API 進行情緒分析

  • 強制執行「搜尋 → 驗證 → 分析 → 摘要」流程,避免模型跳過工具

  • 搜尋失敗時立即中止,不會把錯誤訊息當成新聞分析

  • 支援繁體與簡體中文查詢關鍵字

  • 自動輸出新聞 JSON、情緒分析 Markdown 與對話記錄

  • API Key 透過 .env 管理,不會提交到版本控制

Related MCP server: Google News13 MCP Server

執行流程

使用者問題
    ↓
MCP Client(client.py)
    ↓ stdio
MCP Server(server.py)
    ↓
search_google_news → Serper API
    ↓ 搜尋成功才繼續
analyze_sentiment → Groq API
    ↓
Markdown 報告與最終繁體中文摘要

使用技術

  • Python 3.10+(開發與測試環境為 Python 3.13)

  • Model Context Protocol Python SDK 2.x

  • Groq API

  • Serper API

  • OpenAI Python SDK

  • HTTPX

  • python-dotenv

專案結構

mcp-project/
├── client.py                 # MCP Client、固定工具鏈與命令列介面
├── server.py                 # MCP Server 與新聞/情緒分析工具
├── pyproject.toml            # Python 專案及依賴設定
├── .env.example              # 不含秘密資訊的環境變數範例
├── .gitignore                # 忽略秘密、虛擬環境及執行輸出
├── examples/                 # 經人工檢查、可公開的成功輸出範例
│   ├── white-dolphin-news.json
│   ├── white-dolphin-sentiment-report.md
│   └── white-dolphin-final-response.txt
├── google_news/              # 執行時產生,不提交 Git
├── sentiment_reports/        # 執行時產生,不提交 Git
└── llm_outputs/              # 執行時產生,不提交 Git

安裝

1. 複製專案

git clone https://github.com/YOUR_USERNAME/mcp-news-sentiment-analyzer.git
cd mcp-news-sentiment-analyzer

2. 建立並啟用虛擬環境

python -m venv .venv
.\.venv\Scripts\Activate.ps1

若 PowerShell 阻擋腳本,可只針對目前 Terminal 暫時允許:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1

3. 安裝依賴

python -m pip install --upgrade pip
python -m pip install .

4. 設定環境變數

複製範例檔:

Copy-Item .env.example .env

編輯 .env

DASHSCOPE_API_KEY=your_groq_api_key
BASE_URL=https://api.groq.com/openai/v1
MODEL=openai/gpt-oss-20b
SERPER_API_KEY=your_serper_api_key

DASHSCOPE_API_KEY 是原教學沿用的變數名稱;本專案目前在其中放置 Groq API Key。

執行

在專案根目錄執行:

python client.py

範例問題:

查詢白海豚的新聞,並分析情緒

輸入 quit 可結束程式。

輸出

程式執行後會建立:

  • google_news/*.json:Serper 新聞搜尋結果

  • sentiment_reports/*.md:Groq 產生的情緒分析報告

  • llm_outputs/*.txt:最終模型摘要與對話記錄

自動產生的檔案不會提交 Git;經人工確認且適合公開的成果放在 examples

安全與限制

  • 請勿提交 .env 或在程式碼中寫死 API Key。

  • Serper 與 Groq 的免費額度及速率限制可能變動。

  • 情緒分析由生成式模型完成,結果可能因模型版本及輸入內容而異。

  • 本專案目前將寄信工具保留在程式碼中,但未註冊為 MCP 工具。

  • 本專案用於學習與作品展示,不建議未經額外驗證直接用於生產環境。

履歷摘要範例

使用 Python 與 MCP SDK 2.x 建立新聞搜尋及情緒分析工具鏈,整合 Serper 與 Groq API,實作確定性工具串接、錯誤中止、秘密資訊管理及 JSON/Markdown 報告輸出。

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Search and retrieve news articles and trending keywords from Google News and Google Trends. Summarize articles and extract keywords using optional NLP and LLM Sampling to get concise insights.
    5
    89
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides tools to search and retrieve news across various categories including business, technology, science, and sports via the Google News API. It supports keyword searches, autocomplete suggestions, and region-specific news across multiple languages.
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • Real-time financial news for AI agents: search by ticker and source, with sentiment and entities.

  • Real-time curated crypto news for AI agents with sentiment, recaps, and search.

  • AI-enriched financial news for AI agents & trading bots: search, trending, insider, scored 1-10.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/su3g4829/mcp-news-sentiment-analyzer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server