MCP-Weather

Proporciona información meteorológica utilizando la API de la Agencia Meteorológica de Japón. No requiere autenticación.

Documentación

MCP-Weather

Servidor MCP de obtención de información meteorológica que utiliza la API de la Agencia Meteorológica de Japón (con autenticación OAuth 2.0)

Resumen

mcp-weather es un servidor MCP que obtiene información meteorológica de diversas regiones de Japón utilizando la API de pronóstico del tiempo de la Agencia Meteorológica de Japón (compatible con livedoor Weather). Gracias al control de acceso seguro mediante autenticación OAuth 2.0, se puede implementar como servidor remoto en Cloudflare Workers.

Características

  • Autenticación OAuth 2.0: Control de acceso seguro y autenticación basada en tokens
  • Datos meteorológicos completos: Proporciona resumen del clima, probabilidad de precipitación e información de velocidad del viento
  • Cobertura nacional: Permite obtener datos meteorológicos de las principales ciudades
  • Soporte remoto: Se puede implementar en Cloudflare Workers y utilizar como servidor remoto
  • Compatibilidad móvil: Utilizable desde aplicaciones móviles mediante el flujo OAuth estándar

Herramientas disponibles

1. get_weather_overview

Obtiene el resumen del clima de la ciudad especificada.

  • Hora de publicación
  • Texto del resumen del clima
  • Pronóstico del tiempo para hoy, mañana y pasado mañana
  • Información meteorológica detallada

2. get_precipitation_probability

Obtiene la probabilidad de precipitación de la ciudad especificada.

  • Probabilidad de precipitación por franja horaria (0-6h, 6-12h, 12-18h, 18-24h)
  • Pronóstico para hoy, mañana y pasado mañana

3. get_wind_speed

Obtiene información de velocidad del viento de la ciudad especificada.

  • Información detallada de dirección y velocidad del viento
  • Pronóstico para hoy, mañana y pasado mañana

Ciudades compatibles

Sapporo, Aomori, Morioka, Sendai, Akita, Yamagata, Fukushima, Mito, Utsunomiya, Maebashi, Saitama, Chiba, Tokio, Yokohama, Niigata, Toyama, Kanazawa, Fukui, Kofu, Nagano, Gifu, Shizuoka, Nagoya, Tsu, Otsu, Kioto, Osaka, Kobe, Nara, Wakayama, Tottori, Matsue, Okayama, Hiroshima, Yamaguchi, Tokushima, Takamatsu, Matsuyama, Kochi, Fukuoka, Saga, Nagasaki, Kumamoto, Oita, Miyazaki, Kagoshima, Naha

Configuración

Selección del método de uso

Este servidor MCP admite dos métodos de uso:

Método de usoCaracterísticasAutenticaciónComplejidad de configuración
Servidor MCP localRápido, protección de privacidad, confiableNo requeridaSimple
Servidor MCP remotoFunciones más recientes, escalabilidadOAuth 2.0Media

Método A: Servidor MCP local (recomendado y simple)

Se puede utilizar de forma sencilla sin autenticación.

1. Instalación de dependencias

npm install

2. Compilar el servidor MCP local

npm run build:local

3. Configurar en mcp.json de Cursor

{
  "mcp-weather-local": {
    "command": "node",
    "args": ["/path/to/MCP-Weather/dist/server/local/index.js"]
  }
}

4. Comenzar a usar

Reinicie Cursor e ingrese «Dime el clima en Tokio».

Método B: Servidor MCP remoto (autenticación OAuth)

Método 1: Renovación automática de tokens (recomendado)

# プロジェクトディレクトリで実行
node src/utils/update-token.cjs

Método 2: Configuración manual

  1. Obtención del token de autenticación OAuth
node src/utils/get-token.cjs
  1. Renovar el token manualmente

    • Actualizar ACCESS_TOKEN de src/client/mcp-weather-remote.cjs
  2. Configurar en mcp.json de Cursor

{
  "mcp-weather-remote": {
    "command": "node",
    "args": ["/path/to/MCP-Weather/src/client/mcp-weather-remote.cjs"]
  }
}

Si se utilizan variables de entorno

export MCP_WEATHER_TOKEN="your-token-here"

Solución de problemas

Problemas con el servidor MCP local

  1. Verificación de instalación de dependencias
npm install
  1. Ejecución directa de TypeScript
npm run dev:local

Problemas con el servidor MCP remoto

  1. Usar la versión de depuración
{
  "mcp-weather-remote-debug": {
    "command": "node",
    "args": ["/path/to/MCP-Weather/src/client/mcp-weather-debug.cjs"]
  }
}
  1. Caducidad del token
node src/utils/update-token.cjs
  1. Verificar los registros de Cursor
    • Cursor > View > Output > MCP

Estructura de archivos

MCP-Weather/
├── src/
│   ├── server/               # サーバーサイド実装
│   │   ├── local/            # ローカルサーバー
│   │   │   └── index.ts      # ローカルMCPサーバー
│   │   └── remote/           # リモートサーバー
│   │       ├── worker.ts     # Cloudflare Workers実装
│   │       └── auth.ts       # OAuth認証サービス
│   ├── client/               # クライアントサイド実装
│   │   ├── mcp-weather-remote.cjs  # メインのMCPクライアント
│   │   └── mcp-weather-debug.cjs   # デバッグ版
│   └── utils/                # ユーティリティ
│       ├── get-token.cjs     # トークン取得スクリプト
│       └── update-token.cjs  # トークン自動更新スクリプト
├── dist/                     # ビルド出力
│   └── server/
│       ├── local/            # ローカルサーバーのビルド出力
│       └── remote/           # リモートサーバーのビルド出力
├── node_modules/             # 依存関係
├── package.json              # プロジェクト設定
├── package-lock.json         # 依存関係のロック
├── tsconfig.json             # TypeScript設定(リモート用)
├── tsconfig.local.json       # TypeScript設定(ローカル用)
├── wrangler.toml             # Cloudflare Workers設定
└── README.md

Configuración para desarrolladores

Instalación de dependencias

npm install

Desarrollo del servidor MCP local

# ローカルサーバーのビルド
npm run build:local

# ローカルサーバーの開発モード
npm run dev:local

# ローカルサーバーの型チェック
npm run type-check:local

Implementación en Cloudflare Workers

  1. Instalación de Wrangler (si no está instalado)
npm install -g wrangler
  1. Inicio de sesión en la cuenta de Cloudflare
npx wrangler login
  1. Creación del almacenamiento KV Cree un espacio de nombres KV para guardar los datos de autenticación OAuth:
# 本番環境用
npx wrangler kv:namespace create "OAUTH_KV"
# 開発環境用
npx wrangler kv:namespace create "OAUTH_KV" --preview
  1. Actualizar el ID de KV en wrangler.toml Configure el ID del espacio de nombres KV creado en wrangler.toml.

  2. Implementación

# ビルド
npm run build

# デプロイ
npx wrangler deploy

Desarrollo local

# 開発モードで起動
npx wrangler dev

# ビルド
npm run build

Método de uso

Uso con servidor MCP local

  1. Reinicie Cursor después de completar la configuración
  2. Obtención de información meteorológica
    • Ingrese «Dime el clima en Tokio» en Cursor
    • Se llamará automáticamente a la herramienta adecuada

Uso con servidor MCP remoto

  1. Obtención y configuración del token
node src/utils/update-token.cjs
  1. Obtención de información meteorológica
    • Ingrese «Dime el clima en Tokio» en Cursor
    • Se llamará automáticamente a la herramienta adecuada

Credenciales de demostración (para servidor MCP remoto)

Credenciales de demostración para desarrollo y pruebas:

  • Nombre de usuario: demo
  • Contraseña: demo123

Nota: No se requiere autenticación si se utiliza el servidor MCP local.

Para desarrolladores de aplicaciones móviles

Puntos finales de la API OAuth 2.0

  • Creación de cliente: POST /oauth/client
  • Inicio de autenticación: GET /oauth/authorize
  • Obtención de token: POST /oauth/token
  • API MCP: POST / (autenticación Bearer)

Plataformas compatibles

  • iOS: SFSafariViewController, ASWebAuthenticationSession
  • Android: Chrome Custom Tabs, WebView
  • React Native: react-native-app-auth
  • Flutter: flutter_appauth

Para ejemplos de implementación detallados, consulte el código del lado del servidor del proyecto (src/).

Fuente de datos

Este servidor utiliza la «API de pronóstico del tiempo (compatible con livedoor Weather)» (https://weather.tsukumijima.net/). Esta API proporciona los datos de pronóstico del tiempo distribuidos por la Agencia Meteorológica de Japón en formato JSON.

Seguridad

Autenticación OAuth 2.0

  • Código de autenticación: Validez de 10 minutos
  • Token de acceso: Validez de 1 hora
  • Compatibilidad con PKCE: Autenticación segura en aplicaciones móviles

Configuración en entorno de producción

Tenga en cuenta los siguientes puntos en el entorno de producción:

  1. Secreto de cliente: Adminístrelo de forma segura y no lo divulgue
  2. URI de redirección: Configure únicamente dominios de confianza
  3. Token de acceso: Protéjalo adecuadamente y envíelo únicamente mediante HTTPS

Avisos

  • Si la respuesta de la API contiene datos inesperados, pueden producirse errores
  • Si la estructura de la API del sitio web de la Agencia Meteorológica de Japón cambia, el servicio podría dejar de funcionar
  • Evite accesos consecutivos a la API y utilícela con intervalos adecuados
  • Administre adecuadamente los tokens de autenticación OAuth y tenga cuidado de no filtrarlos a terceros