{"serverId":"mcp-registry/io.github.eins78/meteoswiss-mcp","tools":[{"name":"fetch","fixed":{"name":"fetch","description":"Fetch full content from a MeteoSwiss webpage and convert to markdown or plain text. Use the search tool first to discover valid page URLs, then pass the full URL as the id parameter.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","maxLength":2048,"minLength":1,"description":"Identifier of a MeteoSwiss page to fetch. For this server the id is a full URL returned by the search tool. Example: https://www.meteoschweiz.admin.ch/klima/klimawandel/steigende-temperaturen.html"},"format":{"enum":["markdown","text"],"type":"string","default":"markdown","description":"The output format for the content"},"includeMetadata":{"type":"boolean","default":true,"description":"Whether to include metadata in the response"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":233,"tokensAfter":233},{"name":"search","fixed":{"name":"search","description":"Search MeteoSwiss website content in multiple languages (DE, FR, IT, EN). Returns relevant pages with URLs that can be passed to the fetch tool. Always returns up to 10 results per page — the upstream API has a fixed page size that cannot be changed. Note: pagination may return duplicate results across pages (upstream API limitation).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"page":{"type":"integer","default":1,"maximum":1000,"description":"Page number for pagination (1-based). The upstream API always returns 10 results per page; page size is not configurable.","exclusiveMinimum":0},"sort":{"enum":["relevance","date-desc","date-asc"],"type":"string","default":"relevance","description":"Sort order for results. Note: date-asc severely degrades relevance — results are dominated by page age rather than query match."},"query":{"type":"string","maxLength":200,"minLength":1,"description":"The search query string"},"language":{"enum":["de","fr","it","en"],"type":"string","default":"de","description":"The language for search results"},"contentType":{"enum":["content","press-release","blog-article","publication"],"type":"string","description":"Filter by content type. Defaults to \"content\" to exclude application pages. Use \"publication\" for official reports."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":385,"tokensAfter":385}],"toolsChanged":2,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}