mcp_weather
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp_weathertemperature in Paris"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š”ļø MCP Weather Server
Um servidor MCP (Model Context Protocol) desenvolvido em Python que fornece uma interface de usuÔrio interativa e ferramentas backend para consulta de temperatura em tempo real em qualquer cidade do mundo. O projeto utiliza a API pública e gratuita da Open-Meteo (sem necessidade de chave de API) e renderiza as informações utilizando componentes visuais declarativos de UI.
šÆ Objetivo
O principal objetivo deste projeto Ć© estender as capacidades de assistentes de IA (como Claude Desktop ou outros clientes MCP) permitindo que eles:
Apresentem um formulƔrio interativo de pesquisa de clima diretamente na interface de chat.
Busquem dados meteorológicos em tempo real por meio de ferramentas baseadas no protocolo MCP.
Exibam o resultado formatado em um card estilizado e amigƔvel para o usuƔrio.
Related MCP server: WeatherMCP
š ļø Tecnologias Utilizadas
O projeto foi construĆdo utilizando tecnologias modernas e eficientes no ecossistema Python:
Python (>= 3.14): Linguagem de programação base do projeto.
Model Context Protocol (MCP): Protocolo aberto que possibilita a comunicação estruturada de ferramentas e interfaces entre modelos de IA e servidores locais/remotos.
FastMCP (com suporte a
[apps]): Framework moderno para criação rÔpida de servidores MCP em Python, incluindo suporte integrado a aplicações e interfaces visuais.Prefab UI: Biblioteca para construção declarativa de componentes de interface de usuÔrio (como
Card,Form,Column,Row,Texte controle de estado reativo).HTTPX: Cliente HTTP para Python, utilizado para realizar as consultas assĆncronas/sĆncronas Ć s APIs de geocodificação e previsĆ£o do tempo.
Geocoding API: Para converter o nome da cidade informado em coordenadas geogrƔficas (latitude e longitude).
Weather Forecast API: Para buscar a temperatura atual com base nas coordenadas obtidas.
š Estrutura do Projeto
A estrutura do projeto Ć© minimalista e organizada da seguinte forma:
mcp_weather/
āāā .gitignore # Arquivos e pastas a serem ignorados pelo Git
āāā .python-version # Definição da versĆ£o do Python utilizada
āāā pyproject.toml # Configuração do projeto e suas dependĆŖncias (PEP 518/621)
āāā uv.lock # Arquivo de lock de dependĆŖncias gerado pelo gerenciador 'uv'
āāā main.py # Código-fonte principal contendo o servidor MCP e as ferramentas
āāā README.md # Documentação do projeto (este arquivo)Detalhamento do main.py
Geolocalização e Clima (
_get_current_temperature): Função auxiliar que faz chamadas HTTP seguras para o Open-Meteo, tratando erros comuns (como cidades não encontradas ou indisponibilidade de API).Ferramenta de Backend (
get_temperature): Ferramenta registrada no FastMCP que recebe o payload do formulÔrio, valida os dados e executa a busca meteorológica.Interface de UsuÔrio (
consultar_temperatura): Ponto de entrada de UI do servidor. Ela define o estado inicial da aplicação, cria um formulÔrio dinâmico a partir de um modelo Pydantic e renderiza os cards de sucesso ou erro de forma condicional (If/Else).
š Instalação e Execução
Este projeto utiliza o gerenciador de pacotes moderno uv. Caso não tenha o uv instalado, você pode utilizar o pip tradicional.
Opção 1: Executando com uv (Recomendado)
Certifique-se de estar com o Python 3.14 ou superior configurado.
Instale as dependĆŖncias e crie o ambiente virtual automaticamente:
uv syncExecute o servidor localmente:
uv run main.py
Opção 2: Executando com pip
Crie e ative um ambiente virtual:
python -m venv .venv # No Windows (PowerShell): .venv\Scripts\Activate.ps1 # No Linux/macOS: source .venv/bin/activateInstale os pacotes necessƔrios:
pip install "fastmcp[apps]>=3.4.2" "prefab>=1.6.0" httpx pydanticExecute o servidor:
python main.py
š Testando com o MCP Inspector
O @modelcontextprotocol/inspector Ʃ uma ferramenta excelente para testar e depurar servidores MCP de forma rƔpida, sem a necessidade de configurƔ-los previamente em clientes complexos de IA.
Para testar este servidor com o inspetor, execute o seguinte comando no terminal:
npx @modelcontextprotocol/inspector uv run main.pyIsso iniciarĆ” o inspetor em seu navegador. Para verificar o resultado:
Conecte-se ao servidor MCP pelo painel do Inspetor.
Clique na aba Apps no menu do inspetor.
Selecione o app MCP que consulta o clima na cidade informada para interagir com o formulƔrio e validar a resposta da temperatura.
š Configuração no Claude Desktop
Para utilizar este servidor diretamente no Claude Desktop, adicione a configuração do servidor ao seu arquivo de configuração do Claude (claude_desktop_config.json).
Caminho do arquivo de configuração
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Exemplo de Configuração
Substitua o caminho executÔvel de acordo com o seu ambiente (usando uv para execução automÔtica):
{
"mcpServers": {
"mcp-weather": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\Gustavo\\workspace\\test\\mcp_weather",
"run",
"main.py"
]
}
}
}Nota: Certifique-se de ajustar o caminho absoluto da pasta para corresponder exatamente à localização no seu computador.
š” Como Funciona a Interface
Ao interagir com um modelo de linguagem que suporta o servidor, o assistente pode acionar a ferramenta visual consultar_temperatura. O fluxo de execução funciona assim:
Apresentação: O usuÔrio solicita o clima, e o modelo renderiza o formulÔrio
consultar_temperatura.Entrada de Dados: O usuƔrio preenche o campo de texto com o nome da cidade desejada (ex:
São PauloouTokyo) e clica em Consultar.Processamento: O botão aciona a ferramenta de backend
get_temperaturevia ação reativaCallTool.Atualização de Estado:
Se a busca for bem-sucedida, o estado
weather_resulté atualizado com as coordenadas e temperatura atuais, exibindo um card azul com a temperatura e localização resolvida (ex:São Paulo, Brazil).Se ocorrer um erro (ex: cidade inexistente), a tela exibe uma mensagem de erro estilizada num card vermelho.
Rodapé: Link de atribuição de dados para a API parceira Open-Meteo.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Alicense-qualityDmaintenanceProvides current weather information for any city worldwide using the free Open-Meteo API, enabling users to query temperature, wind speed, humidity, and weather conditions through natural language.Last updated17MIT
- Flicense-qualityDmaintenanceProvides weather information using Open-Meteo API without requiring an API key. Supports weather queries by city name or coordinates with customizable temperature units.Last updated
- Flicense-qualityDmaintenanceProvides current weather data for a given city using Open-Meteo (free, no API key).Last updated
- Flicense-qualityDmaintenanceEnables fetching current temperature for any city using the Open-Meteo API, requiring no API key.Last updated
Related MCP Connectors
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Open-Meteo MCP ā weather forecast + historical reanalysis + sister APIs
temperature-random MCP ā wraps StupidAPIs (requires X-API-Key)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gfsantos2/mcp_weather'
If you have feedback or need assistance with the MCP directory API, please join our Discord server