mcpField
M
mcp-weather

mcp-weather

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

关于 mcp-weather

mcp-weather 是一个用于获取美国各州天气预报和警报的 MCP 服务示例。它演示了基于 SSE 的服务,以及独立 MCP 客户端如何调用其工具。

主要功能

  1. 01获取各州天气警报
  2. 02按经纬度查询预报
  3. 03通过 SSE 运行 MCP 服务
  4. 04演示独立 MCP 客户端

适用场景

  1. 01查看美国某州的警报
  2. 02查询指定坐标的天气预报
  3. 03了解基于 SSE 的 MCP 连接

MCP 相关

通过 SSE 向 MCP 客户端提供 get_alerts 和 get_forecast 工具。README 还演示了独立客户端连接该服务的方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

mcp-weather

一個給 AI Agent 使用的 MCP Server 範例,用來取得美國各州的天氣預報與警示資訊。

目的

這個 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, 然後進行下列的動作:

  1. 在 Transport Type 選擇 SSE
  2. 在 URL 鍵入 mcp server 的位址與端口, http://localhost:5488/sse
  3. 點擊 Connect, 如果有看到狀態是 "Connected" 代表己經成功連線到 mcp-weather 服務了
  4. 點擊上方的 "Tools" Tab
  5. 點擊 "List Tools" 按鈕之後會看到有兩個工具:
    • get_alerts
    • get_forecast
  6. 點擊 get_alerts 之後在右側會出現這個工具的說明與參數, 在 state 的輸入欄中鍵入 "CA" (或是美國其它的州名), 然後點擊 "Run Tool" 按鈕

效果如下圖所示:

README 配图

測試 get_forecast:

  • latitude: 36.7692
  • longitude: -119.4116

README 配图

為什麼使用 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>

评论

支持 Markdown

第一次接触 MCP?

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

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