新闻标题情感分析服务

Headline Vibes 是一个分析美国新闻标题投资者情感的模型上下文协议服务器,支持每日和每月分析模式,提供结构化输出和诊断信息,可通过 stdio 或 HTTP 运行。

  • by fred-em
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 fred-em/headline-vibes

使用说明

头条新闻-EventRegistry MCP服务器

Headline Vibes是一个模型上下文协议服务器,用于分析从EventRegistry(newsapi.ai)获取的美国新闻标题中的投资者情绪。它支持每日和每月分析模式,生成具有诊断功能的结构化输出,并通过stdio或HTTP(铁路就绪)运行。

特性

  • 经过投资者相关性过滤的美国新闻编辑室报道
  • 双重情绪评分(一般+投资者)标准化为0-10分
  • 政治倾向分析、来源分布和抽样诊断
  • 日常请求的自然语言日期解析("yesterday", "last Friday"等等)
  • 与MCP兼容的结构化JSON输出 structuredContent
  • 内置代币预算和速率限制遥测

先决条件

  • Node.js v18+(建议使用LTS)
  • EventRegistry API密钥(https://newsapi.ai)

设置

  1. 安装依赖项并构建:
    npm install
    npm run build
    
  2. 配置环境变量(stdio示例):
    {
      "mcpServers": {
        "headline-vibes": {
          "command": "node",
          "args": ["/absolute/path/headline-vibes/build/index.mjs"],
          "env": {
            "NEWS_API_KEY": "your-eventregistry-key",
            "TRANSPORT": "stdio"
          }
        }
      }
    }
    
  3. 对于HTTP(Railway)部署,设置 TRANSPORT=http, HOST=0.0.0.0, PORT=<port>,并且可选 ALLOWED_HOSTS/ALLOWED_ORIGINS.

可用工具

analyze_headlines

单日情绪快照。论据: { "input": string }.

  • 接受自然语言或 YYYY-MM-DD.
  • 回报投资者/总体得分、概要、分布、样本标题和诊断。

analyze_monthly_headlines

两个月之间的月度汇总。论据: { "startMonth": "YYYY-MM", "endMonth": "YYYY-MM" }.

  • 每月政治情绪、标题计数和象征性/抽样诊断的输出。

JSON模式为结构化结果提供支持 src/schemas/headlines.ts.

开发与测试

  • 观看模式: npm run watch
  • 标准运行: NEWS_API_KEY=... npm run start:stdio
  • HTTP运行: TRANSPORT=http HOST=0.0.0.0 PORT=8787 NEWS_API_KEY=... npm run start:http
  • 烟雾检查EventRegistry连接: node ./build/scripts/smoke.mjs 2025-02-01
  • 单元测试(Vitest): npm test

铁路部署

  1. 设置环境变量(TRANSPORT, HOST, PORT, NEWS_API_KEY,可选 ALLOWED_HOSTS, ALLOWED_ORIGINS, LOG_LEVEL).
  2. 在本地构建一次(npm run build)或者通过铁路的建设步骤。
  3. 从...开始 npm run start.
  4. 健康探头: GET /healthz 回报 200 ok.

看 docs/railway.md 获取完整的剧本和 docs/claude-desktop.md Claude Desktop集成步骤。

许可证

麻省理工学院