关于 Weather Java SSE Transport MCP Service
Weather Java SSE Transport MCP Service 是一个用于天气查询的 Java MCP 服务示例,并配有 fast-agent 客户端演示,展示使用远程 SSE 与本地 stdio MCP 服务的端到端流程。
主要功能
- 01通过 HTTP SSE 提供天气 MCP 服务
- 02基于 Java MCP SDK 实现
- 03演示 Agent 调用多个 MCP 服务
- 04汇总所请求城市的天气预报
适用场景
- 01演示远程 SSE 服务配置
- 02在 Agent 中组合网页搜索与天气工具
- 03比较多个城市的预报气温
MCP 相关
Java 服务通过 HTTP SSE 向 MCP 客户端提供天气功能。配套的 fast-agent 演示还通过 stdio 连接网页搜索 MCP 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Weather Java SSE Transport MCP 服务
可运行的 Model Context Protocol java-sdk 实现。包含一个 fast-agent,供 MCP 客户端与 Weather MCP 服务交互。
⚠️这远未达到生产级别,只是演示如何构建一个能够端到端运行的项目,并利用多个 MCP 服务,包括本地服务(Stdio Transport)和远程服务(HTTP SSE Transport)。同时尽可能避免引入 Spring,适合不想使用 Spring 的人。
在演示中,你会看到该 Agent:
- Agent 在整个过程中都使用 Claude Sonnet 3.7 处理大模型相关任务。
- Agent 调用“fetch”网页搜索 MCP 服务工具,查找我询问的每座城市的经纬度。
- 随后,Agent 使用这些经纬度值调用 Weather MCP 服务工具(在本仓库中实现)。 你可以在终端分屏窗口的上半部分看到发出的调用。
- Agent 总结天气预报,并判断明天 4 座城市中哪座最暖和。
Agent 正在根据用户输入的提示词上下文判断要调用哪些工具。

构建并启动 Weather MCP 服务
mvn clean package
java -jar java -jar mcp-server/target/mcp-server-1.0-SNAPSHOT.jar
安装、配置并启动 fast-agent
安装
pip install uv
uv pip install fast-agent-mcp
uv run agent.py
配置 Claude 和 OpenAI API 密钥
cp fastagent.secrets.yaml.TEMPLATE fastagent.secrets.yaml
然后将 API 密钥添加到该配置文件中。
注意:Weather MCP 服务配置
请注意,在 fastagent.config.yaml 中,我们配置了 Agent 可用的 MCP 服务。
在此示例中,我们的服务使用 SSE HTTP Transport,从而可以调用远程 MCP 服务 :).
mcp:
servers:
weather:
transport: "sse"
read_timeout_seconds: 10
url: "http://localhost:8080/sse"
更底层的测试
连接到 SSE 流
curl -v -H "Accept: text/event-stream" "http://localhost:8080/sse"
向 /mcp/messages 发送消息(注意,需包含 SSE 中的 sessionId)
curl -X POST "http://localhost:8080/mcp/message?sessionId=b64ad193-6bb3-4e2e-b33c-27a23011acb4" -d '{"hi": "mynameis"}' | jq .
值得了解的项目:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。