基本能力
产品定位
Weather Java SSE Transport MCP Service 是一个演示性质的 MCP 服务,主要用于展示如何通过 MCP 协议实现天气查询功能。
核心功能
- 天气查询:通过调用外部工具获取城市的经纬度信息,并查询天气数据。
- 多服务器交互:支持本地(Stdio Transport)和远程(HTTP SSE Transport)的 MCP 服务器交互。
- 智能代理:代理能够根据用户输入的提示自动决定调用哪些工具。
适用场景
- 天气查询服务:用于查询多个城市的天气数据并进行比较。
- MCP 协议演示:展示如何构建和使用 MCP 服务。
- 开发学习:适合开发者学习 MCP 协议及其实现。
工具列表
- fetch 工具:用于查找城市的经纬度信息。
- weather 工具:用于查询天气数据。
常见问题解答
- 如何配置 API 密钥:复制
fastagent.secrets.yaml.TEMPLATE
为fastagent.secrets.yaml
并添加 API 密钥。 - 如何测试 SSE 流:使用
curl
命令连接到 SSE 流。 - 如何发送消息:使用
curl
命令发送消息到/mcp/messages
端点。
使用教程
使用依赖
- Java 环境:确保已安装 Java 和 Maven。
- Python 环境:确保已安装 Python 和
uv
工具。
安装教程
- 构建和启动 Weather MCP Server
bash
mvn clean package
java -jar mcp-server/target/mcp-server-1.0-SNAPSHOT.jar - 安装和配置 fast-agent
bash
pip install uv
uv pip install fast-agent-mcp
uv run agent.py - 配置 API 密钥
bash
cp fastagent.secrets.yaml.TEMPLATE fastagent.secrets.yaml
然后编辑fastagent.secrets.yaml
文件添加 API 密钥。
调试方式
- 连接 SSE 流
bash
curl -v -H "Accept: text/event-stream" "http://localhost:8080/sse" - 发送消息
bash
curl -X POST "http://localhost:8080/mcp/message?sessionId=b64ad193-6bb3-4e2e-b33c-27a23011acb4" -d '{"hi": "mynameis"}' | jq .