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 uso | Características | Autenticación | Complejidad de configuración |
|---|---|---|---|
| Servidor MCP local | Rápido, protección de privacidad, confiable | No requerida | Simple |
| Servidor MCP remoto | Funciones más recientes, escalabilidad | OAuth 2.0 | Media |
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
- Obtención del token de autenticación OAuth
node src/utils/get-token.cjs
-
Renovar el token manualmente
- Actualizar
ACCESS_TOKENdesrc/client/mcp-weather-remote.cjs
- Actualizar
-
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
- Verificación de instalación de dependencias
npm install
- Ejecución directa de TypeScript
npm run dev:local
Problemas con el servidor MCP remoto
- Usar la versión de depuración
{
"mcp-weather-remote-debug": {
"command": "node",
"args": ["/path/to/MCP-Weather/src/client/mcp-weather-debug.cjs"]
}
}
- Caducidad del token
node src/utils/update-token.cjs
- 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
- Instalación de Wrangler (si no está instalado)
npm install -g wrangler
- Inicio de sesión en la cuenta de Cloudflare
npx wrangler login
- 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
-
Actualizar el ID de KV en
wrangler.tomlConfigure el ID del espacio de nombres KV creado enwrangler.toml. -
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
- Reinicie Cursor después de completar la configuración
- 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
- Obtención y configuración del token
node src/utils/update-token.cjs
- 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:
- Secreto de cliente: Adminístrelo de forma segura y no lo divulgue
- URI de redirección: Configure únicamente dominios de confianza
- 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