AI新闻与天气预报服务

Avalogica AI News MCP是一个结合了天气预报和AI技术新闻更新的服务,支持多种天气数据和AI技术新闻的获取。

  • by mdwillman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mdwillman/avalogica-ai-news-mcp

使用说明

Avalogic AI新闻MCP

版本: 0.2.0
许可证: 麻省理工学院

Avalogica AI News MCP服务器将原始的Avalogica天气预报工具与新的AI和技术新闻更新工具相结合。它遵循 模型上下文协议(MCP) 规范,并与Atlas、Dedalus SDK和其他兼容客户端配合使用。


特性

  • 天气预报 通过 get_forecast 工具(多日每日高点/低点)。
  • 每小时天气 通过 get_hourly_forecast 工具(24-48小时每小时的温度和精确概率)。
  • 空气质量和海洋条件 通过 get_air_quality 和 get_marine_conditions 由Open Meteo支持的工具。
  • 人工智能技术简报 通过 get_tech_update 由OpenAI的Responses API提供web搜索预览的工具。
  • 双传输(STDIO和HTTP) /health 准备检查路线。
  • TypeScript首先构建具有严格类型检查的管道。

先决条件

  • Node.js 18或更高版本
  • 可访问响应API的OpenAI API密钥(OPENAI_API_KEY).

安装

git clone https://github.com/mdwillman/avalogica-ai-news-mcp.git
cd avalogica-ai-news-mcp
npm install

配置

复制 .env.example 到 .env 并填写任何所需的值。

cp .env.example .env
OPENAI_API_KEY=sk-...
WEATHER_API_KEY=optional
# PORT=3002

WEATHER_API_KEY 目前是可选的。 OPENAI_API_KEY 呼叫时需要 get_tech_update.


构建与运行

npm run build
npm run start            # starts HTTP transport on port 8080 by default
npm run dev:stdio        # run via STDIO (useful with the MCP Inspector)
npm run dev:shttp        # HTTP transport with live TypeScript reloading

HTTP服务器公开:

  • GET /health → 返回一个JSON有效载荷,确认准备就绪。
  • POST /mcp /服务器发送事件 /sse 对于MCP客户。

工具

get_forecast

  • 输入: { latitude: number, longitude: number, days?: number }
  • 输出: 纯文本每日高温/低温摘要。

get_hourly_forecast

  • 输入: { latitude: number, longitude: number, hours?: number } (默认值 hours = 24,最大值 48)
  • 输出: 请求范围内的纯文本小时摘要(温度和降水概率)。

get_air_quality

  • 输入: { latitude: number, longitude: number, hours?: number } (默认值 hours = 24,最大值 120)
  • 输出: 当前空气质量的纯文本快照和简短展望,包括:
    • 美国空气质量指数和欧洲空气质量指数类别(如有)
    • PM2.5和PM10估计值

get_marine_conditions

  • 输入: { latitude: number, longitude: number, hours?: number } (默认值 hours = 24,最大值 120)
  • 输出: 近期海洋状况的纯文本摘要,包括:
    • 波高、方向和周期
    • 海面温度
    • 请求窗口上的最大波高

get_tech_update

  • 输入: { topic: string }
    • 支持的主题: newModels, aiProductUpdates, techResearch, polEthicsAndSafety, upcomingEvents.
  • 行为:
    1. 验证主题。
    2. 调用OpenAI的响应API(model: gpt-4.1-2025-04-14)启用了网络搜索预览。
    3. 返回JSON有效负载(在MCP中字符串化 text 内容)包含:
      • content:叙述性总结
      • citations:数组 { label, url }
      • model, createdAt, topic, title, description

示例 call_tool

{
  "name": "get_tech_update",
  "arguments": {
    "topic": "newModels"
  }
}

响应体包含一个JSON格式的字符串和结构化的结果。


开发说明

  • 代码库仍然是ESM("type": "module").
  • npm run build 将TypeScript编译为 dist/ 并调整CLI可执行位。
  • STDIO传输可以用MCP检查器进行测试: npm run build && npm run inspector.

许可证

麻省理工学院©马歇尔·D·威尔曼