Cover image
Try Now
2025-03-30

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

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

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" 按鈕

效果如下圖所示:

測試 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>

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • zhaoyunxing92
  • 本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • justmywyw
  • Short and sweet example MCP server / client implementation for Tools, Resources and Prompts.

    Reviews

    3 (1)
    Avatar
    user_WiJe2Pad
    2025-04-16

    Chronicle SecOps MCP Server is an impressive tool that has significantly boosted our operational efficiency. Created by emeryray2002, it includes robust security features and seamless integration capabilities. Its user-friendly interface makes it accessible for all team members, enhancing productivity and collaboration. Highly recommended for any organization striving for enhanced security measures. Check it out at https://mcp.so/server/mcp-secops-v3/emeryray2002.