关于 mcp-weather
mcp-weather 是一个用于获取美国各州天气预报和警报的 MCP 服务示例。它演示了基于 SSE 的服务,以及独立 MCP 客户端如何调用其工具。
主要功能
- 01获取各州天气警报
- 02按经纬度查询预报
- 03通过 SSE 运行 MCP 服务
- 04演示独立 MCP 客户端
适用场景
- 01查看美国某州的警报
- 02查询指定坐标的天气预报
- 03了解基于 SSE 的 MCP 连接
MCP 相关
通过 SSE 向 MCP 客户端提供 get_alerts 和 get_forecast 工具。README 还演示了独立客户端连接该服务的方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEmcp-weather
一個給 AI Agent 使用的 MCP Server 範例,用來取得美國各州的天氣預報與警示資訊。
- 原始專案: mcp-sse
目的
這個 mcp server 示範了基於 SSE 的 MCP 伺服器和使用其中工具的獨立 MCP 用戶端的工作模式。
運行環境
本專案使用 uv 來管理相關的依賴與 python 的運行環境, 如果尚未安裝 uv 可依照官網的安裝指示來安裝。
接下來的相關命令都是在 Ubuntu 24.04 的環境下執行的, 其它作業系統的操作請自行修改:
$ curl -LsSf https://astral.sh/uv/install.sh | sh
下載源碼:
$ git clone https://github.com/erhwenkuo/mcp-weather.git
$ cd mcp-weather
$ uv sync
運行服務
使用 uv 來啟動:
$ uv run server
INFO: Started server process [15784]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
使用 Docker 來啟動
首先構建 Docker image:
$ docker build -t mcp-weather .
啟動 mcp-weather:
$ docker run -d -p 5488:5488 mcp-weather
驗證結果
首先安裝 nodejs:
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 22
# Verify the Node.js version:
node -v # Should print "v22.14.0".
nvm current # Should print "v22.14.0".
# Verify npm version:
npm -v # Should print "10.9.2".
接著啟動 mcp inspector:
$ npx @modelcontextprotocol/inspector
Starting MCP inspector...
Proxy server listening on port 3000
🔍 MCP Inspector is up and running at http://localhost:5173 🚀
使用瀏覽器打開 http://localhost:5173, 然後進行下列的動作:
- 在 Transport Type 選擇
SSE - 在 URL 鍵入 mcp server 的位址與端口,
http://localhost:5488/sse - 點擊
Connect, 如果有看到狀態是 "Connected" 代表己經成功連線到 mcp-weather 服務了 - 點擊上方的 "Tools" Tab
- 點擊 "List Tools" 按鈕之後會看到有兩個工具:
get_alertsget_forecast
- 點擊
get_alerts之後在右側會出現這個工具的說明與參數, 在state的輸入欄中鍵入 "CA" (或是美國其它的州名), 然後點擊 "Run Tool" 按鈕
效果如下圖所示:

測試 get_forecast:
- latitude: 36.7692
- longitude: -119.4116

為什麼使用 SSE
這意味著 MCP 伺服器可以是某個運行在遠端的進程服務,AI Agent(客戶端)可以隨時隨地連接、使用和斷開連接。換句話說,基於 SSE 的伺服器和客戶端可以是解耦的進程(甚至可能在解耦的節點上)。
與客戶端本身將伺服器作為子進程生成的基於 STDIO 的模式相比,這是不同的,並且更適合「雲端原生」用例。
MCP Server
server.py 是 SSE-based MCP server, 預設情況下,伺服器運行在 0.0.0.0:5488 上運行,但可以使用命令列參數進行配置,例如:
uv run server.py --host <your host> --port <your port>
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。