天气数据服务

一个基于OpenWeatherMap API的简单MCP服务器,用于获取当前天气数据,适用于MCP兼容的代理框架。

  • by fgladisch
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 fgladisch/openweathermap-mcp-server

使用说明

OpenWeatherMap MCP服务器

该项目提供了一个简单的模型上下文协议(MCP)服务器,用于从OpenWeatherMap API检索当前天气数据。它是用NestJS构建的,并公开了一个用于MCP兼容代理框架的工具。

特性

  • 暴露a get-weather-forecast 获取给定城市当前天气的工具
  • 与OpenWeatherMap API集成(需要API密钥)
  • 专为MCP代理编排系统而设计

先决条件

  • Node.js(建议使用v18+)
  • Docker(可选,用于容器化部署)

安装

npm install

环境变量

此项目使用 .env 文件来配置OpenWeatherMap API密钥。复制 .env.example 到 .env 并填写您的API密钥:

cp .env.example .env
# Then edit .env and set your OWM_API_KEY

.env文件:

OWM_API_KEY=your_openweathermap_api_key_here

NPM脚本

  • npm run start --启动服务器(生产模式)
  • npm run start:dev --在监视模式下启动服务器(更改时自动重新加载)
  • npm run build --将TypeScript编译为JavaScript(输出在 dist/)

用法

地方发展

  1. 确保您的 .env 如上所述设置文件。
  2. 启动服务器:
    npm run start:dev
    
    默认情况下,服务器将侦听端口8088。

码头工人

您可以使用提供的在Docker容器中构建和运行服务器 start.sh 脚本:

./start.sh
  • 此脚本构建Docker映像并运行容器,将主机上的端口8088绑定到容器中的端口8088。
  • 如果 .env 文件存在,它将用于传递 OWM_API_KEY 自动放入容器中。

工具:获取天气预报

  • 姓名: get-weather-forecast
  • 说明: 使用OpenWeatherMap API获取城市的当前天气(为期5天)。
  • 参数:
    • city (string):获取天气的城市名称

许可证

麻省理工学院