MCP server providing weather forecast tool using OpenWeatherMap API
Single tool with minimal definition quality. Tool name 'previsao_do_tempo' lacks English verb prefix and is non-standard (Portuguese). Description is adequate (73 chars) but parameter lacks detail on format/constraints. Input schema present but minimal (single string param, no validation). No output schema documented. Critical issue: hardcoded API key in source code violates secret-injection pattern. No error handling guidance for LLM recovery. Tool does one thing (acceptable) but implementation exposes security risk.
Obtém a previsão do tempo para uma cidade específica.
Hardcoded API key 'SUA_CHAVE_OPENWEATHERMAP' in tool source code. Credentials must never appear in tool parameters or implementation. Use server-side secret injection via environment variables.
Tool name 'previsao_do_tempo' is Portuguese and lacks action verb prefix. Should be 'get_weather_forecast' or 'get_weather' to match LLM conventions and enable intent inference from name alone.
No output schema documented. LLM cannot predict response structure (fields, types, format). Document that response contains: city name, temperature (°C), feels_like, description, humidity (%).
Parameter 'cidade' description lacks format constraints. Should specify: 'City name (2-100 chars, letters/spaces only). E.g. "São Paulo", "Rio de Janeiro". Partial names may fail; use full city name for best results.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Error handling returns generic message 'Erro ao obter a previsão do tempo...' without recovery guidance. Should distinguish: city not found (suggest search), API key invalid (admin action), network timeout (retry), and provide actionable next steps for LLM.