Smarter Weather について
Smarter Weatherは、ローカルのMCPクライアントをSmarter Weatherのホスト型サービスにつなぐstdioからStreamable HTTPへのブリッジです。APIキーの解決とメッセージ転送を担い、天気ツールやスキーマはリモート側が提供します。
主な機能
- 01ホスト型天気MCPサービスへの接続
- 02環境変数または.envからキーを取得
- 03mcp-remoteのフラグを引き継ぎ
- 04MCPエンドポイントの変更
活用シーン
- 01Claude Desktopから天気ツールを呼び出す
- 02Cursorをリモート天気MCPに接続する
- 03ローカルMCPクライアント用のAPIキーを設定する
MCP 対応
stdioでMCPメッセージを受け取り、Smarter WeatherのStreamable HTTPエンドポイントへプロキシします。天気処理とツールスキーマはリモートMCPサーバー側にあります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.smarterweather.comclaude mcp add --transport http smarterweather-weather https://mcp.smarterweather.com{"mcpServers":{"smarterweather-weather":{"type":"http","url":"https://mcp.smarterweather.com"}}}Cursor で開く{"servers":{"smarterweather-weather":{"type":"http","url":"https://mcp.smarterweather.com"}}}VS Code で開く{"mcpServers":{"smarterweather-weather":{"type":"http","url":"https://mcp.smarterweather.com"}}}{"mcpServers":{"smarterweather-weather":{"serverUrl":"https://mcp.smarterweather.com"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
14| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| fuzzy | boolean | いいえ | 部分入力やスペルミス入力向けの自動候補表示モードです。デフォルトは false(完全一致検索)です。 |
| limit | integer | いいえ | 返す候補の最大数(1~10)。デフォルトは 5 です。 |
| query | string | はい | 場所の検索語:都市、"city, state"、ZIP、部分テキスト、または有効な場合は施設/住所。 |
| near_lat | number | いいえ | この地点の近くにある施設/住所を優先して並べます。near_lon と併用してください。 |
| near_lon | number | いいえ |
詳細
@smarterweather/mcp-weather
Smarter Weather のホスト型 MCP サーバー https://mcp.smarterweather.com 用の、stdio から Streamable HTTP へのブリッジです。Claude Desktop、Claude Code、Cursor、MCP Inspector などのローカル専用 MCP クライアントが、API キーを使ってネットワーク経由で sw-mcp に接続できるようにします。
Node.js 22 以降が必要です。
このパッケージは mcp-remote を薄くラップしたものです。天気関連のロジックは含まれておらず、プロトコルの実装をフォークしていません。すべてのツール、スキーマ、レート制限、使用量の計測は、サーバー側の sw-mcp にあります。
API キーを取得する
プロジェクトディレクトリで、次のいずれかを実行します。
# A human is present: device sign-in in the browser (free account, no card)
npx -y @smarterweather/mcp-onboarding@latest login
# No human present: mint a trial key you can claim into a free account later
npx -y @smarterweather/mcp-onboarding@latest trial
どちらも SMARTERWEATHER_API_KEY を ./.env(モード 0600、Git の追跡対象外)に書き込み、キーそのものではなく、キーのプレフィックスのみを表示します。
ブリッジは次の順にキーを解決します。
- プロセス環境内の
SMARTERWEATHER_API_KEY SMARTERWEATHER_ENV_FILEで指定されたファイル- 作業ディレクトリ内の
.env(作業ディレクトリが/または$HOMEの場合は読み込みません)
展開されていない ${…} プレースホルダーは未設定として扱われます。ブリッジはキーを Authorization:${SMARTERWEATHER_AUTH_HEADER} として mcp-remote に渡します。Bearer トークンは子プロセスの環境変数にのみ含まれ、argv には渡されません。
キーがなくてもブリッジは接続します。また、search_locations や search_catalog などの検索ツールは引き続き無料で利用できます。その他のツール呼び出しでは、login と trial を案内する next_steps を含む x402 の支払い要件(Base 上の USDC)が返されます。ブリッジ経由の OAuth サインインにはまだ対応していません。API キーを使用してください。
インストール
npx -y @smarterweather/mcp-weather --version
Claude Desktop
claude_desktop_config.json に追加します(macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json)。
{
"mcpServers": {
"smarterweather": {
"command": "npx",
"args": ["-y", "@smarterweather/mcp-weather"],
"env": {
"SMARTERWEATHER_ENV_FILE": "/absolute/path/to/your/project/.env"
}
}
}
}
Claude Desktop は env プレースホルダーを展開しないため、login または trial が書き込んだ .env を絶対パスでブリッジに指定してください。このファイルにキーを貼り付けないでください。ブリッジは、プロキシ経由のすべてのリクエストに Authorization: Bearer <key> を付けて送信します。
Cursor
プロジェクトの .cursor/mcp.json で envFile を使用します(envFile には "type": "stdio" が必要です)。
{
"mcpServers": {
"smarterweather": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@smarterweather/mcp-weather"],
"envFile": "${workspaceFolder}/.env"
}
}
}
または、プロセス環境から ${env:NAME} を使用します。
{
"mcpServers": {
"smarterweather": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@smarterweather/mcp-weather"],
"env": {
"SMARTERWEATHER_API_KEY": "${env:SMARTERWEATHER_API_KEY}"
}
}
}
}
環境変数
| 変数 | 用途 | デフォルト |
|---|---|---|
SMARTERWEATHER_API_KEY | API キーです。設定されている場合は優先されます。展開されていない ${…} は次の候補に進みます。 | 未設定(次に SMARTERWEATHER_ENV_FILE、その次に .env) |
SMARTERWEATHER_ENV_FILE | プロセス環境のキーが未設定の場合に読み込む、.env の絶対パスです。 | 未設定 → cwd/.env(/ または $HOME ではない場合) |
SMARTERWEATHER_MCP_URL | 接続先の MCP エンドポイントを上書きします。位置引数の URL が指定されている場合は、そちらが優先されます。 | https://mcp.smarterweather.com |
mcp-remote の任意のフラグは変更せずに引き継がれます。例:
--debug:~/.mcp-auth/{server_hash}_debug.logに詳細ログを出力します。--transport http-only:Streamable HTTP を強制します(SSE へのフォールバックをスキップします)。--header "X-Custom:value":ヘッダーを追加します。クロスプラットフォームで引数をエスケープする場合は、スペースなしの形式を使用してください。
"args": [
"-y", "@smarterweather/mcp-weather",
"--debug",
"--transport", "http-only"
]
トラブルシューティング
- ツール呼び出しで「Payment required」が返される:ブリッジがキーを見つけられませんでした。標準エラー出力には、確認した場所がすべて表示されます。プロジェクトディレクトリで
loginまたはtrialを実行するか、SMARTERWEATHER_ENV_FILEに.envのパスを設定してから、MCP クライアントを再起動してください。 - 「Incompatible auth server: does not support dynamic client registration」:サーバーがキーを拒否しました(不明、失効済み、または期限切れ)。ブリッジにはサインインへのフォールバックがありません。
loginまたはtrialで新しいキーを作成し、クライアントを再起動してください。ブリッジはキーをそのまま渡します。 - 「Connection error: fetch failed」:お使いのマシンからエンドポイントに到達できることを確認してください。
curl -i https://mcp.smarterweather.comは、HTTP405とMethod not allowed. Use POST.を返すはずです(エンドポイントは POST のみ受け付けます)。 - Cursor にサーバーが表示されない:
.cursor/mcp.jsonが有効な JSON であることを確認してから、Cursor を再起動してください。MCP パネルには、起動されたプロセスの標準エラー出力が記録されます。
仕組み
bin は小さな Node スクリプトです。URL(位置引数 → SMARTERWEATHER_MCP_URL → デフォルト)と API キー(上記を参照)を解決し、子プロセスの環境に SMARTERWEATHER_AUTH_HEADER を設定します。キーが見つかった場合は --header "Authorization:${SMARTERWEATHER_AUTH_HEADER}" を追加してから、mcp-remote の dist/proxy.js を spawn() します。mcp-remote は標準入出力経由で JSON-RPC を読み取り、各メッセージをホストされた Streamable HTTP エンドポイントにプロキシします。シグナル(SIGINT/SIGTERM/SIGHUP)は転送され、終了コードは引き継がれます。このラッパーは MCP トラフィックを変換したり検査したりしません。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。