Skip to main content
Glama
nabossha

LandiWetter MCP Server

by nabossha

searchLocation

Search for Swiss locations to retrieve detailed hourly and daily weather forecasts using weather data from the LandiWetter MCP Server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
locationNameYesThe name of the location to search for

Implementation Reference

  • src/index.js:48-74 (registration)
    Registration of the 'searchLocation' MCP tool, including input schema and handler function.
    server.tool( "searchLocation", { locationName: z.string().describe("The name of the location to search for") }, async ({ locationName }) => { const locations = await searchLocation(locationName); if (locations.length === 0) { return { content: [{ type: "text", text: `No locations found for "${locationName}".` }] }; } const formattedLocations = locations.map(loc => `${loc.name}${loc.plz ? ` (${loc.plz})` : ''}, ${loc.land} - ID: ${loc.id}` ).join('\n'); return { content: [{ type: "text", text: `Found ${locations.length} location(s):\n\n${formattedLocations}` }] }; } );
  • The handler function for the searchLocation tool. It calls the helper to search locations and formats the response as text.
    async ({ locationName }) => { const locations = await searchLocation(locationName); if (locations.length === 0) { return { content: [{ type: "text", text: `No locations found for "${locationName}".` }] }; } const formattedLocations = locations.map(loc => `${loc.name}${loc.plz ? ` (${loc.plz})` : ''}, ${loc.land} - ID: ${loc.id}` ).join('\n'); return { content: [{ type: "text", text: `Found ${locations.length} location(s):\n\n${formattedLocations}` }] }; }
  • Input schema for the searchLocation tool using Zod, defining locationName as a string.
    { locationName: z.string().describe("The name of the location to search for") },
  • Helper function that performs the API call to search for locations by name.
    // Helper function to search for locations async function searchLocation(locationName) { try { const response = await axios.get(`https://www.landi.ch/weather/api/geosuche/de/${encodeURIComponent(locationName)}`); console.error('Search Location API Response:', JSON.stringify(response.data, null, 2)); return response.data.orte || []; } catch (error) { console.error("Error searching for location:", error.message); return []; } }

Other Tools

Related Tools

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/nabossha/mcp-landiwetter'

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