Skip to main content
Glama
robobobby
by robobobby

fi_compare_weather

Compare current weather conditions between two Finnish locations side by side for planning and analysis.

Instructions

Compare current weather between two Finnish locations side by side.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
location1YesFirst location (city name or coordinates)
location2YesSecond location

Implementation Reference

  • Registration and handler implementation for the 'fi_compare_weather' MCP tool. It fetches weather data for two locations using 'openMeteoFetch' and returns a side-by-side comparison.
    server.tool(
      "fi_compare_weather",
      "Compare current weather between two Finnish locations side by side.",
      {
        location1: z.string().describe("First location (city name or coordinates)"),
        location2: z.string().describe("Second location"),
      },
      async ({ location1, location2 }) => {
        try {
          const [loc1, loc2] = await Promise.all([getLocation(location1), getLocation(location2)]);
          const [data1, data2] = await Promise.all([
            openMeteoFetch({
              latitude: loc1.lat, longitude: loc1.lon,
              current: "temperature_2m,apparent_temperature,precipitation,snowfall,weather_code,wind_speed_10m,cloud_cover",
            }),
            openMeteoFetch({
              latitude: loc2.lat, longitude: loc2.lon,
              current: "temperature_2m,apparent_temperature,precipitation,snowfall,weather_code,wind_speed_10m,cloud_cover",
            }),
          ]);
          const c1 = data1.current, c2 = data2.current;
          const wx1 = WMO_CODES[c1.weather_code] || "", wx2 = WMO_CODES[c2.weather_code] || "";
          const lines = [
            `## Weather Comparison\n`,
            `| | ${loc1.name} | ${loc2.name} |`,
            `|---|---|---|`,
            `| **Conditions** | ${wx1} | ${wx2} |`,
            `| **Temperature** | ${c1.temperature_2m}°C | ${c2.temperature_2m}°C |`,
            `| **Feels like** | ${c1.apparent_temperature}°C | ${c2.apparent_temperature}°C |`,
            `| **Wind** | ${c1.wind_speed_10m} km/h | ${c2.wind_speed_10m} km/h |`,
            `| **Cloud cover** | ${c1.cloud_cover}% | ${c2.cloud_cover}% |`,
            `| **Precipitation** | ${c1.precipitation} mm | ${c2.precipitation} mm |`,
            c1.snowfall > 0 || c2.snowfall > 0 ? `| **Snowfall** | ${c1.snowfall} cm | ${c2.snowfall} cm |` : null,
            `\n*Open-Meteo*`,
          ].filter(Boolean);
          return { content: [{ type: "text", text: lines.join("\n") }] };
        } catch (err) {
          return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
        }
      }
    );

Latest Blog Posts

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/robobobby/mcp-nordic'

If you have feedback or need assistance with the MCP directory API, please join our Discord server