Skip to main content
Glama
yuxiaosenstar

weather-mcp-server-js

🌤️ Weather MCP Server (Node.js)

Node.js / Express ベースのリモート MCP (Model Context Protocol) サーバーです。 Streamable HTTP transport を介して get_weather ツールを公開し、Claude Code などの MCP クライアントが任意の都市の現在の天気をリアルタイムに取得できるようにします。

天気データは wttr.in から取得します —— 無料、登録不要、API キー不要です。

✨ 機能特性

  • 🛰️ リモート MCP サービス:公式 @modelcontextprotocol/sdk に基づく Streamable HTTP トランスポートを実装し、JSON と SSE の2つのレスポンスモードをサポート

  • 🌆 世界中の都市に対応:都市名(例:BeijingTokyoParis)を直接渡すだけで現地の天気を取得できます

  • 🔌 完全なセッション管理:Mcp-Session-Id を自動生成/検証し、セッションの確立、再利用、クローズ(DELETE)をサポート

  • 🧩 単一ファイルですぐ使える:データベース不要、設定ファイル不要、server.js 1つで起動できます

Related MCP server: MCP Weather Server — Demo

📦 環境要件

  • Node.js ≥ 18(fetch 内蔵、追加依存不要)

🚀 クイックスタート

# 1. 安装依赖
npm install

# 2. 启动服务(默认端口 3000)
npm start

# 后台运行(日志写入 logs/server.log)
npm run start:bg

起動に成功すると、サービスアドレスは次のようになります:

http://localhost:3000/mcp

よく使うスクリプト

命令

説明

npm start

フォアグラウンドでサービスを起動

npm start:bg

バックグラウンドで起動し、ログを logs/server.log に書き込む

npm run dev

開発モード。ファイル変更で自動再起動

npm run status

3000 番ポートでサービスが稼働しているか確認

npm run logs

ログをリアルタイムで表示

npm run stop

サービスを停止

npm run restart

サービスを再起動

npm run restart:bg

バックグラウンドで再起動

🔌 MCP クライアントの設定

Claude Code または Streamable HTTP をサポートする他の MCP クライアントで、サービスをリモート MCP サーバーとして登録します。

Claude Code

MCP サーバーリストから追加します(/mcp → 追加 → HTTP):

{
  "type": "http",
  "url": "http://localhost:3000/mcp"
}

JSON 設定ファイル方式

{
  "mcpServers": {
    "weather": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

🧰 提供されるツール

get_weather

指定された都市の現在の天気を取得します。

パラメータ

パラメータ

必須

説明

city

string

都市名。例:BeijingTokyo

戻り値の例

当前 Beijing 的天气是晴(Sunny),温度 28°C(体感 30°C),湿度 45%,风速 12 km/h。

⚙️ 実装の説明

  • セッション分離:各セッションは独立した Server + transport インスタンスを保持します(SDK の connect() は1つの transport のみサポート)。Mcp-Session-Id リクエストヘッダーで関連付けます。

  • 新規セッションフロー:Mcp-Session-Id を含まない POST は初期化リクエストと見なされ、サーバーはセッション ID を生成して Mcp-Session-Id レスポンスヘッダーで返します(CORS の exposedHeaders によりブラウザクライアントに明示的に公開されます)。

  • 互換性処理:セッション ID のない GET SSE プローブリクエストは、404/400 を返す代わりに開いた SSE ストリームを維持し、Claude Code などのクライアントが POST 初期化フローを続行できるようにします。

  • 信頼性の高いエラー応答:天気 API の呼び出しに失敗した場合、リクエスト全体をクラッシュさせるのではなく、isError: true の結果を返します。

🗂️ プロジェクト構造

.
├── server.js          # 全部服务逻辑(单文件)
├── package.json       # 项目配置与脚本
├── logs/              # 运行时日志(已被 .gitignore 忽略)
└── LICENSE            # MIT 许可证

📄 ライセンス

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Remote ChromaDB vector database MCP server with streamable HTTP transport

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuxiaosenstar/weather-mcp-server-js'

If you have feedback or need assistance with the MCP directory API, please join our Discord server