Mcp Server Weather について
Mcp Server Weather は、和風天気 API を使って現在の天気を取得する Java 製の MCP サーバーです。README は中国語で書かれており、Claude と LangChain4J での利用例が含まれています。
主な機能
- 01和風天気 API による現在の天気の取得
- 02リアルタイムの天気を返す getWeather ツール
- 03Maven による jar ファイルへのパッケージ化
- 04stdio による実行
活用シーン
- 01Claude に特定の地点の現在の天気を尋ねる場合
- 02LangChain4J アプリケーションに天気の検索機能を組み込む場合
MCP 対応
指定地点の天気を返す getWeather ツールを MCP クライアントに公開する MCP サーバーで、Claude の設定から stdio 経由で起動します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
README(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
MCP 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%
*/
}
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。