MCP-Weather
Fornece informações meteorológicas usando a API da Agência Meteorológica do Japão. Nenhuma autenticação necessária.
Documentação
MCP-Weather
Servidor MCP de obtenção de informações meteorológicas usando a API da Agência Meteorológica do Japão (com autenticação OAuth 2.0)
Visão Geral
mcp-weather é um servidor MCP que utiliza a API de previsão do tempo da Agência Meteorológica do Japão (compatível com livedoor Weather) para obter informações meteorológicas de diversas regiões do Japão. Com controle de acesso seguro usando autenticação OAuth 2.0, pode ser implantado como servidor remoto no Cloudflare Workers.
Características
- Autenticação OAuth 2.0: Controle de acesso seguro e autenticação baseada em tokens
- Dados meteorológicos abrangentes: Fornece condições climáticas, probabilidade de precipitação e informações de velocidade do vento
- Cobertura nacional: Obtém dados meteorológicos das principais cidades
- Suporte remoto: Implantável no Cloudflare Workers para uso como servidor remoto
- Suporte mobile: Utilizável em aplicativos móveis através do fluxo OAuth padrão
Ferramentas Disponíveis
1. get_weather_overview
Obtém as condições climáticas gerais da cidade especificada.
- Horário de publicação
- Texto das condições climáticas
- Previsão do tempo para hoje, amanhã e depois de amanhã
- Informações meteorológicas detalhadas
2. get_precipitation_probability
Obtém a probabilidade de precipitação da cidade especificada.
- Probabilidade de precipitação por período (0-6h, 6-12h, 12-18h, 18-24h)
- Previsão para hoje, amanhã e depois de amanhã
3. get_wind_speed
Obtém informações de velocidade do vento da cidade especificada.
- Informações detalhadas de direção e velocidade do vento
- Previsão para hoje, amanhã e depois de amanhã
Cidades Suportadas
Sapporo, Aomori, Morioka, Sendai, Akita, Yamagata, Fukushima, Mito, Utsunomiya, Maebashi, Saitama, Chiba, Tóquio, Yokohama, Niigata, Toyama, Kanazawa, Fukui, Kofu, Nagano, Gifu, Shizuoka, Nagoya, Tsu, Otsu, Kyoto, Osaka, Kobe, Nara, Wakayama, Tottori, Matsue, Okayama, Hiroshima, Yamaguchi, Tokushima, Takamatsu, Matsuyama, Kochi, Fukuoka, Saga, Nagasaki, Kumamoto, Oita, Miyazaki, Kagoshima, Naha
Configuração
Escolha do Método de Uso
Este servidor MCP suporta dois métodos de uso:
| Método de Uso | Características | Autenticação | Complexidade de Configuração |
|---|---|---|---|
| Servidor MCP Local | Rápido, proteção de privacidade, confiável | Não necessária | Simples |
| Servidor MCP Remoto | Recursos mais recentes, escalabilidade | OAuth 2.0 | Moderada |
Método A: Servidor MCP Local (Recomendado e Simples)
Pode ser utilizado de forma simples, sem necessidade de autenticação.
1. Instalação das dependências
npm install
2. Compilar o servidor MCP local
npm run build:local
3. Configurar no mcp.json do Cursor
{
"mcp-weather-local": {
"command": "node",
"args": ["/path/to/MCP-Weather/dist/server/local/index.js"]
}
}
4. Começar a usar
Reinicie o Cursor e digite "Me diga o clima em Tóquio".
Método B: Servidor MCP Remoto (Autenticação OAuth)
Método 1: Atualização automática de token (Recomendado)
# プロジェクトディレクトリで実行
node src/utils/update-token.cjs
Método 2: Configuração manual
- Obter token de autenticação OAuth
node src/utils/get-token.cjs
-
Atualizar o token manualmente
- Atualize
src/client/mcp-weather-remote.cjsdeACCESS_TOKEN
- Atualize
-
Configurar no mcp.json do Cursor
{
"mcp-weather-remote": {
"command": "node",
"args": ["/path/to/MCP-Weather/src/client/mcp-weather-remote.cjs"]
}
}
Usando variáveis de ambiente
export MCP_WEATHER_TOKEN="your-token-here"
Solução de Problemas
Problemas com o servidor MCP local
- Verificar instalação das dependências
npm install
- Execução direta do TypeScript
npm run dev:local
Problemas com o servidor MCP remoto
- Usar versão de depuração
{
"mcp-weather-remote-debug": {
"command": "node",
"args": ["/path/to/MCP-Weather/src/client/mcp-weather-debug.cjs"]
}
}
- Token expirado
node src/utils/update-token.cjs
- Verificar os logs do Cursor
- Cursor > View > Output > MCP
Estrutura de arquivos
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
Configuração para Desenvolvedores
Instalação das dependências
npm install
Desenvolvimento do servidor MCP local
# ローカルサーバーのビルド
npm run build:local
# ローカルサーバーの開発モード
npm run dev:local
# ローカルサーバーの型チェック
npm run type-check:local
Implantação no Cloudflare Workers
- Instalação do Wrangler (se não estiver instalado)
npm install -g wrangler
- Login na conta Cloudflare
npx wrangler login
- Criar armazenamento KV Crie um namespace KV para armazenar os dados de autenticação OAuth:
# 本番環境用
npx wrangler kv:namespace create "OAUTH_KV"
# 開発環境用
npx wrangler kv:namespace create "OAUTH_KV" --preview
-
Atualizar o ID do KV em
wrangler.tomlDefina o ID do namespace KV criado emwrangler.toml. -
Implantação
# ビルド
npm run build
# デプロイ
npx wrangler deploy
Desenvolvimento local
# 開発モードで起動
npx wrangler dev
# ビルド
npm run build
Como Usar
Uso com servidor MCP local
- Após a configuração, reinicie o Cursor
- Obtenção de informações meteorológicas
- Digite "Me diga o clima em Tóquio" no Cursor
- A ferramenta apropriada será chamada automaticamente
Uso com servidor MCP remoto
- Obtenção e configuração do token
node src/utils/update-token.cjs
- Obtenção de informações meteorológicas
- Digite "Me diga o clima em Tóquio" no Cursor
- A ferramenta apropriada será chamada automaticamente
Credenciais de demonstração (para servidor MCP remoto)
Credenciais de demonstração para desenvolvimento e teste:
- Nome de usuário: demo
- Senha: demo123
Não é necessária autenticação ao usar o servidor MCP local.
Para Desenvolvedores de Aplicativos Mobile
Endpoints da API OAuth 2.0
- Criação de cliente:
POST /oauth/client - Início da autenticação:
GET /oauth/authorize - Obtenção de token:
POST /oauth/token - API MCP:
POST /(autenticação Bearer)
Plataformas Suportadas
- iOS: SFSafariViewController, ASWebAuthenticationSession
- Android: Chrome Custom Tabs, WebView
- React Native: react-native-app-auth
- Flutter: flutter_appauth
Para exemplos detalhados de implementação, consulte o código do lado do servidor do projeto (src/).
Fonte de Dados
Este servidor utiliza a "API de Previsão do Tempo (compatível com livedoor Weather)" (https://weather.tsukumijima.net/). Esta API fornece dados de previsão do tempo distribuídos pela Agência Meteorológica do Japão em formato JSON.
Segurança
Autenticação OAuth 2.0
- Código de autenticação: Válido por 10 minutos
- Token de acesso: Válido por 1 hora
- Suporte a PKCE: Autenticação segura em aplicativos mobile
Configuração em ambiente de produção
Em ambiente de produção, observe os seguintes pontos:
- Segredo do cliente: Gerencie com segurança e não o exponha publicamente
- URI de redirecionamento: Configure apenas domínios confiáveis
- Token de acesso: Proteja adequadamente e envie apenas via HTTPS
Avisos
- Se a resposta da API contiver dados inesperados, podem ocorrer erros
- Se a estrutura da API do site da Agência Meteorológica do Japão for alterada, o serviço pode ser interrompido
- Evite acessos consecutivos à API; utilize com intervalos adequados
- Gerencie os tokens de autenticação OAuth adequadamente e evite vazamento para terceiros