返回 MCP 目录
public公开dns本地运行

mcp-weather-xqw

一个基于SSE的MCP服务器示例,用于获取美国各州的天气预报和警报信息,支持AI Agent调用。

article

README

🚀 MCP-weather

這是一個供 AI Agent 使用的 MCP Server 範例,可用於獲取美國各州的天氣預報與警示資訊。

🚀 快速開始

運行環境

本專案使用 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

驗證結果

首先安裝 Node.js:

# 下載並安裝 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
# 載入 shell 環境變量
\. "$HOME/.nvm/nvm.sh"
# 安裝 Node.js
nvm install 22
# 驗證 Node.js 版本
node -v # 應該輸出 "v22.14.0"
nvm current # 應該輸出 "v22.14.0"
# 驗證 npm 版本
npm -v # 應該輸出 "10.9.2"

接著啟動 mcp inspector

$ npx @modelcontextprotocol/inspector
Starting MCP inspector...
Proxy server listening on port 3000

打開瀏覽器進入 http://localhost:3000,然後按照指示測試 mcp-weather 伺服器。

✨ 主要特性

這個 mcp 伺服器示範了基於 SSE 的 MCP 伺服器和使用其中工具的獨立 MCP 用戶端的工作模式。

🔧 技術細節

為什麼選擇 SSE

這個專案使用了 SSE(Streaming Strategy Engine)作為通訊協議,原因如下:

  1. 支援長連接,適合實時數據傳送。
  2. 可以解耦發送端和接收端,增強系統的擴展性。
  3. 適合用於雲端原生環境。

SSE 伺服器預設在 localhost:5488 上運行,但可以通過命令列參數進行配置:

uv run server.py --host <your host> --port <your port>
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端