这是一个基于Spring AI的MCP(模型上下文协议)服务器项目,其主要功能是通过爬取中国天气网来获取实时天气数据。该项目可以作为AI模型与天气数据之间的桥梁,使AI模型能够查询中国的天气信息。
本项目使用了以下技术栈:
getWeatherByCityAndDays@Tool(description = "通过城市和天数查询未来的天气,最多7天,城市名用汉字,如合肥、广州")
public List<Map<String, String>> getWeatherByCityAndDays(String cityName, int days)
功能:根据提供的城市名称和天数(最多7天),返回未来指定天数的天气信息。
参数:
cityName:城市名称(中文)days:要查询的天数(最大7天)返回值:包含每日天气信息的列表,每个元素是一个Map,包括日期(date)、天气(weather)、温度(temp)和风向(wind)等键。
getProvinceCities@Tool(description = "查询省份的所有城市,请传入省份的拼音,如anhui")
public List<String> getProvinceCities(String provincePinyin)
功能:根据提供的拼音返回该省下的所有城市名称。
参数:
provinceP:省份的拼音(例如'anhui')返回值:包含城市名称的字符串列表。
getWeatherForAllCitiesInProvince@Tool(description = "查询省份所有城市的天气,请传入省份的拼音,如anhui")
public Map<String, List<Map<String, String>>> getWeatherForAllCitiesInProvince(String provincePinyin)
功能:根据提供的省份拼音,返回该省下所有城市的天气信息。
参数:
provincePinyin:省份的拼音(例如'anhui')返回值:一个Map,其中键是城市名称,值是该城市的天气信息列表,每个元素包含日期(date)、天气(weather)、温度(temp)和风向(wind)等键的Map。
确保已安装JDK 21并配置环境变量。然后运行以下命令启动应用程序:
./mvnw spring-boot:run
或者,如果您已经打包了jar文件,可以直接运行:
java -jar target/weather-mcp-0.0.1-SNAPSHOT.jar
启动后,可以通过HTTP请求访问这些工具提供的API端点。默认情况下,服务将在http://localhost:8081上运行。
欢迎贡献代码或提出问题!如果您有任何建议或发现错误,请提交Issue或Pull Request。