mcpField
W
Weather Java SSE Transport MCP Service

Weather Java SSE Transport MCP Service

本地服务
github.com/stantonk媒体与设计582 周前更新

关于 Weather Java SSE Transport MCP Service

Weather Java SSE Transport MCP Service 是一个用于天气查询的 Java MCP 服务示例,并配有 fast-agent 客户端演示,展示使用远程 SSE 与本地 stdio MCP 服务的端到端流程。

主要功能

  1. 01通过 HTTP SSE 提供天气 MCP 服务
  2. 02基于 Java MCP SDK 实现
  3. 03演示 Agent 调用多个 MCP 服务
  4. 04汇总所请求城市的天气预报

适用场景

  1. 01演示远程 SSE 服务配置
  2. 02在 Agent 中组合网页搜索与天气工具
  3. 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:

  1. Agent 在整个过程中都使用 Claude Sonnet 3.7 处理大模型相关任务。
  2. Agent 调用“fetch”网页搜索 MCP 服务工具,查找我询问的每座城市的经纬度。
  3. 随后,Agent 使用这些经纬度值调用 Weather MCP 服务工具(在本仓库中实现)。 你可以在终端分屏窗口的上半部分看到发出的调用。
  4. 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 .

值得了解的项目:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。