About Mcp Server Weather
Mcp Server Weather is a Java-based MCP server that retrieves current weather using the QWeather API. The README is written in Chinese and includes setup examples for Claude and LangChain4J.
Key features
- 01Current weather via the QWeather API
- 02getWeather tool for real-time conditions
- 03Packaged as a jar with Maven
- 04Runs over stdio transport
Use cases
- 01Asking Claude for current weather in a given location
- 02Adding weather lookup to a LangChain4J application
MCP support
This is an MCP server that exposes a getWeather tool to MCP clients, started over stdio from Claude's configuration.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server Weather
基于和风天气API的一个获取实时天气的MCP服务端,使用Java来实现。和风天气API文档:https://dev.qweather.com/docs/api/weather/weather-now/
可用的工具列表
- 获取实时天气
getWeather
使用方法
- 下载项目到本地
- 打包项目,生成jar包
mvn clean package -Dmaven.test.skip=true
Claude使用方法:
{
"mcpServers": {
"mcp-server-weather": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-jar",
"你的jar包路径",
"--weather.api.api-key=YOUR API KEY"
]
}
}
}
LangChain4J使用方法:
引入依赖:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-mcp</artifactId>
</dependency>
/**
* 阿里云的模型
*
* @return
*/
@Bean
public ChatLanguageModel chatLanguageModel() {
return OpenAiChatModel.builder()
.apiKey(System.getenv("AI_DASHSCOPE_API_KEY"))
.modelName("qwen-turbo")
.logRequests(true)
.logResponses(true)
.baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
.build();
}
/**
* 初始化MCP Client
*/
@Bean
public McpClient mcpClientWeather() {
return new DefaultMcpClient.Builder()
.transport(new StdioMcpTransport.Builder()
.command(List.of(
"java",
"-Dspring.ai.mcp.server.stdio=true",
"-jar",
"mcp-server-weather-0.0.1-SNAPSHOT.jar",
"--weather.api.api-key=%s".formatted(System.getenv("HEFENG_WEATHER_API_KEY"))))
.logEvents(true) // only if you want to see the traffic in the log
.build())
.build();
}
/**
* 使用LangChain4J的高级API来构建一个AI助手,注入MCP Client
* @param mcpClientWeather
* @return
*/
@Bean
public AiAssistant aiAssistant(McpClient mcpClientWeather) {
ToolProvider toolProvider = McpToolProvider.builder()
.mcpClients(List.of(mcpClientWeather))
.build();
return AiServices.builder(AiAssistant.class)
.chatLanguageModel(chatLanguageModel())
.chatMemory(MessageWindowChatMemory.withMaxMessages(10))
.toolProvider(toolProvider)
.build();
}
@Test
public void testWeather1(){
System.out.println(aiAssistant.chat("今天重庆的天气怎么样?"));
/**
* AI回复以下内容:
*
*
* 今天重庆的天气情况如下:
- 天气状况:阴
- 气温:18℃
- 体感温度:16℃
- 风向:东风
- 风力:2级
- 湿度:47%
- 降水量:0.0mm
- 空气压力:980hPa
- 能见度:9km
- 云量:91%
*/
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.