meteoswiss-mcp 2.3.0-rc.3 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,56 +42,56 @@ turndownService.use(gfm);
42
42
  * @returns Content response
43
43
  */
44
44
  export async function fetchMeteoSwissContent(params) {
45
- const { id, format = 'markdown', includeMetadata = true } = params;
45
+ const { url, format = 'markdown', includeMetadata = true } = params;
46
46
  debugData('fetchMeteoSwissContent called with params: %o', {
47
- id,
47
+ url,
48
48
  format,
49
49
  includeMetadata,
50
50
  });
51
51
  if (USE_TEST_FIXTURES) {
52
52
  debugData('Using test fixtures for content fetch');
53
- return fetchFromTestFixtures(id, format, includeMetadata);
53
+ return fetchFromTestFixtures(url, format, includeMetadata);
54
54
  }
55
55
  debugData('Using live API for content fetch');
56
- return fetchFromWeb(id, format, includeMetadata);
56
+ return fetchFromWeb(url, format, includeMetadata);
57
57
  }
58
58
  /**
59
59
  * Fetch content from the web
60
60
  */
61
- async function fetchFromWeb(id, format, includeMetadata) {
62
- // The ID should now be a full URL from the search tool
63
- const url = id.startsWith('http')
64
- ? id
65
- : `https://www.meteoswiss.admin.ch${id.startsWith('/') ? id : '/' + id}`; // Fallback for backward compatibility
66
- debugData('Fetching content from URL: %s', url);
61
+ async function fetchFromWeb(url, format, includeMetadata) {
62
+ // Normalise to full URL (accept full URLs; prepend base for bare paths for backward compat)
63
+ const fullUrl = url.startsWith('http')
64
+ ? url
65
+ : `https://www.meteoswiss.admin.ch${url.startsWith('/') ? url : '/' + url}`;
66
+ debugData('Fetching content from URL: %s', fullUrl);
67
67
  // Validate the URL is from an allowed MeteoSwiss domain
68
68
  try {
69
- const parsedUrl = new URL(url);
69
+ const parsedUrl = new URL(fullUrl);
70
70
  if (!ALLOWED_DOMAINS.includes(parsedUrl.hostname)) {
71
71
  throw new Error(`Invalid domain: ${parsedUrl.hostname}. Only MeteoSwiss domains are allowed.`);
72
72
  }
73
73
  }
74
74
  catch (error) {
75
75
  if (error instanceof TypeError) {
76
- throw new Error(`Invalid URL: ${url}`, { cause: error });
76
+ throw new Error(`Invalid URL: ${fullUrl}`, { cause: error });
77
77
  }
78
78
  throw error;
79
79
  }
80
80
  try {
81
81
  debugData('Making HTTP request to fetch content');
82
- const html = await fetchHtml(url);
82
+ const html = await fetchHtml(fullUrl);
83
83
  debugData('Content fetched successfully, size: %d bytes', html.length);
84
84
  // Add timeout protection for HTML processing
85
85
  const processingTimeout = new Promise((_, reject) => {
86
86
  setTimeout(() => reject(new Error('HTML processing timeout after 10 seconds')), 10000);
87
87
  });
88
- const contentProcessing = processHtmlContent(html, id, url, format, includeMetadata);
88
+ const contentProcessing = processHtmlContent(html, fullUrl, format, includeMetadata);
89
89
  return await Promise.race([contentProcessing, processingTimeout]);
90
90
  }
91
91
  catch (error) {
92
92
  debugData('Content fetch error: %o', error);
93
93
  if (error instanceof HttpRequestError && error.statusCode === 404) {
94
- throw new Error(`Content not found: ${id}. Use the search tool to discover valid page URLs.`, { cause: error });
94
+ throw new Error(`Content not found: ${url}. Use the search tool to discover valid page URLs.`, { cause: error });
95
95
  }
96
96
  throw new Error(`Failed to fetch content: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
97
97
  }
@@ -99,25 +99,25 @@ async function fetchFromWeb(id, format, includeMetadata) {
99
99
  /**
100
100
  * Fetch content from test fixtures
101
101
  */
102
- async function fetchFromTestFixtures(id, format, includeMetadata) {
103
- debugData('Looking for test fixture for ID: %s', id);
102
+ async function fetchFromTestFixtures(url, format, includeMetadata) {
103
+ debugData('Looking for test fixture for URL: %s', url);
104
104
  // Extract language from URL if it's a full URL
105
105
  let detectedLang = 'de';
106
- let urlPath = id;
107
- if (id.startsWith('http')) {
108
- const url = new URL(id);
109
- urlPath = url.pathname;
106
+ let urlPath = url;
107
+ if (url.startsWith('http')) {
108
+ const parsed = new URL(url);
109
+ urlPath = parsed.pathname;
110
110
  // Detect language from domain
111
- if (url.hostname.includes('meteoschweiz')) {
111
+ if (parsed.hostname.includes('meteoschweiz')) {
112
112
  detectedLang = 'de';
113
113
  }
114
- else if (url.hostname.includes('meteosuisse')) {
114
+ else if (parsed.hostname.includes('meteosuisse')) {
115
115
  detectedLang = 'fr';
116
116
  }
117
- else if (url.hostname.includes('meteosvizzera')) {
117
+ else if (parsed.hostname.includes('meteosvizzera')) {
118
118
  detectedLang = 'it';
119
119
  }
120
- else if (url.hostname.includes('meteoswiss')) {
120
+ else if (parsed.hostname.includes('meteoswiss')) {
121
121
  detectedLang = 'en';
122
122
  }
123
123
  }
@@ -132,17 +132,17 @@ async function fetchFromTestFixtures(id, format, includeMetadata) {
132
132
  if (existsSync(fixtureFile)) {
133
133
  debugData('Loading test fixture from: %s', fixtureFile);
134
134
  const html = await fs.readFile(fixtureFile, 'utf-8');
135
- const url = id.startsWith('http') ? id : `https://www.meteoswiss.admin.ch${id}`;
136
- return processHtmlContent(html, id, url, format, includeMetadata);
135
+ const fullUrl = url.startsWith('http') ? url : `https://www.meteoswiss.admin.ch${url}`;
136
+ return processHtmlContent(html, fullUrl, format, includeMetadata);
137
137
  }
138
138
  }
139
- debugData('No test fixture found for ID: %s', id);
140
- throw new Error(`Content not found: ${id}`);
139
+ debugData('No test fixture found for URL: %s', url);
140
+ throw new Error(`Content not found: ${url}`);
141
141
  }
142
142
  /**
143
143
  * Process HTML content and convert to requested format
144
144
  */
145
- function processHtmlContent(html, id, url, format, includeMetadata) {
145
+ function processHtmlContent(html, url, format, includeMetadata) {
146
146
  debugData('Processing HTML content, format: %s, includeMetadata: %s, size: %d bytes', format, includeMetadata, html.length);
147
147
  // Warn if HTML is very large
148
148
  if (html.length > 500000) {
@@ -193,7 +193,7 @@ function processHtmlContent(html, id, url, format, includeMetadata) {
193
193
  }
194
194
  debugData('Content processed successfully, content length: %d characters', content.length);
195
195
  return {
196
- id,
196
+ id: url,
197
197
  title,
198
198
  content,
199
199
  format,
@@ -1 +1 @@
1
- {"version":3,"file":"meteoswiss-content-data.js","sourceRoot":"","sources":["../../src/data/meteoswiss-content-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meteoswiss-content-data.js","sourceRoot":"","sources":["../../src/data/meteoswiss-content-data.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { scoreNameMatch } from '../support/name-matcher.js';
11
11
  import { findNearest } from '../support/haversine.js';
12
12
  import { geocodeSwissLocation } from '../support/geocode.js';
13
13
  import { classifyQuery } from '../support/query-classifier.js';
14
+ import { isBlocklisted } from '../support/location-blocklist.js';
14
15
  import { debugData } from '../support/logging.js';
15
16
  import { OGD_COLLECTIONS } from '../schemas/ogd-shared.js';
16
17
  /** Max distance (km) for geocoding fallback — rejects queries that geocode far from any station */
@@ -85,6 +86,27 @@ export async function findNearestStation(lat, lon) {
85
86
  debugData('[ogd-smn] Nearest station to (%f, %f): %s (%.1f km)', lat, lon, result.item.abbr, result.distance_km);
86
87
  return { station: result.item, distance_km: result.distance_km };
87
88
  }
89
+ /**
90
+ * Returns true if the user's query has at least one token (≥3 chars) that
91
+ * appears as a substring in the geocoded place name, or vice versa.
92
+ * Guards against gibberish queries (e.g., "NOTASTATION") that the live
93
+ * swisstopo API fuzzy-matches to an unrelated Swiss coordinate.
94
+ */
95
+ function geocodedNameMatchesQuery(query, geocodedName) {
96
+ const queryNorm = normalize(query.trim());
97
+ const nameNorm = normalize(geocodedName);
98
+ const queryTokens = queryNorm.split(/\s+/).filter((t) => t.length >= 3);
99
+ for (const token of queryTokens) {
100
+ if (nameNorm.includes(token))
101
+ return true;
102
+ }
103
+ const nameTokens = nameNorm.split(/\s+/).filter((t) => t.length >= 3);
104
+ for (const token of nameTokens) {
105
+ if (queryNorm.includes(token))
106
+ return true;
107
+ }
108
+ return false;
109
+ }
88
110
  /**
89
111
  * Resolve a query to an SMN station.
90
112
  * Tries: exact abbreviation → fuzzy name → geocoding fallback (nearest to geocoded point).
@@ -103,6 +125,14 @@ export async function resolveSmnStation(query) {
103
125
  throw new Error('Station query must not be empty. Provide a station name (e.g., "Zurich"), ' +
104
126
  'abbreviation (e.g., "SMA"), or address (e.g., "Bahnhofplatz 1 Bern").');
105
127
  }
128
+ // Reject well-known international city names before any lookup.
129
+ // Switzerland has hamlets named after major cities (e.g., "Paris" in Vaud near Payerne)
130
+ // which the geocoder would otherwise silently accept.
131
+ if (isBlocklisted(query.trim())) {
132
+ throw new Error(`"${query}" is a well-known international city name, not a Swiss weather station. ` +
133
+ `Use a specific Swiss location instead (postal code, canton, or place name). ` +
134
+ `Use meteoswissStations to discover available stations.`);
135
+ }
106
136
  // Exact match on abbreviation
107
137
  const exact = stationByAbbr.get(q);
108
138
  if (exact)
@@ -129,13 +159,21 @@ export async function resolveSmnStation(query) {
129
159
  debugData('[ogd-smn] No direct match for "%s", geocoding (origins=%s)...', query, origins);
130
160
  const geocoded = await geocodeSwissLocation(query, { origins });
131
161
  if (geocoded) {
132
- const { station, distance_km } = await findNearestStation(geocoded.lat, geocoded.lon);
133
- if (distance_km > MAX_GEOCODE_DISTANCE_KM) {
134
- debugData('[ogd-smn] Geocoded "%s" too far from nearest station: %.1f km (limit: %d km)', query, distance_km, MAX_GEOCODE_DISTANCE_KM);
162
+ // Reject geocoding hits where the query bears no textual resemblance to the
163
+ // geocoded place name. Prevents gibberish queries ("NOTASTATION") from
164
+ // resolving to whatever the swisstopo API happens to return.
165
+ if (!geocodedNameMatchesQuery(query, geocoded.name)) {
166
+ debugData('[ogd-smn] Geocoded name "%s" does not match query "%s" — rejected', geocoded.name, query);
135
167
  }
136
168
  else {
137
- debugData('[ogd-smn] Geocoded "%s" %s, nearest station: %s (%s, %.1f km)', query, geocoded.name, station.abbr, station.name, distance_km);
138
- return station;
169
+ const { station, distance_km } = await findNearestStation(geocoded.lat, geocoded.lon);
170
+ if (distance_km > MAX_GEOCODE_DISTANCE_KM) {
171
+ debugData('[ogd-smn] Geocoded "%s" too far from nearest station: %.1f km (limit: %d km)', query, distance_km, MAX_GEOCODE_DISTANCE_KM);
172
+ }
173
+ else {
174
+ debugData('[ogd-smn] Geocoded "%s" → %s, nearest station: %s (%s, %.1f km)', query, geocoded.name, station.abbr, station.name, distance_km);
175
+ return station;
176
+ }
139
177
  }
140
178
  }
141
179
  const examples = stations
@@ -1 +1 @@
1
- {"version":3,"file":"ogd-smn-stations.js","sourceRoot":"","sources":["../../src/data/ogd-smn-stations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ogd-smn-stations.js","sourceRoot":"","sources":["../../src/data/ogd-smn-stations.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { scoreNameMatch } from '../support/name-matcher.js';
13
13
  import { findNearest } from '../support/haversine.js';
14
14
  import { geocodeSwissLocation } from '../support/geocode.js';
15
15
  import { classifyQuery } from '../support/query-classifier.js';
16
+ import { isBlocklisted } from '../support/location-blocklist.js';
16
17
  /** Max distance (km) for geocoding fallback — forecast points are dense (~6000) */
17
18
  const MAX_GEOCODE_DISTANCE_KM = 30;
18
19
  let indexCache = null;
@@ -59,6 +60,27 @@ async function loadForecastIndex() {
59
60
  indexCache = { points, byPostalCode, byAbbr };
60
61
  return indexCache;
61
62
  }
63
+ /**
64
+ * Returns true if the user's query has at least one token (≥3 chars) that
65
+ * appears as a substring in the geocoded place name, or vice versa.
66
+ * Guards against gibberish queries (e.g., "NOTASTATION") that the live
67
+ * swisstopo API fuzzy-matches to an unrelated Swiss coordinate.
68
+ */
69
+ function geocodedNameMatchesQuery(query, geocodedName) {
70
+ const queryNorm = normalize(query.trim());
71
+ const nameNorm = normalize(geocodedName);
72
+ const queryTokens = queryNorm.split(/\s+/).filter((t) => t.length >= 3);
73
+ for (const token of queryTokens) {
74
+ if (nameNorm.includes(token))
75
+ return true;
76
+ }
77
+ const nameTokens = nameNorm.split(/\s+/).filter((t) => t.length >= 3);
78
+ for (const token of nameTokens) {
79
+ if (queryNorm.includes(token))
80
+ return true;
81
+ }
82
+ return false;
83
+ }
62
84
  /**
63
85
  * Resolve a query string to a forecast point.
64
86
  * Matches against station abbreviations, postal codes, and place names.
@@ -73,6 +95,12 @@ export async function resolveForecastPoint(query) {
73
95
  throw new Error('Location query must not be empty. Try a Swiss postal code (e.g., "8001"), ' +
74
96
  'station abbreviation (e.g., "ZUE"), or place name (e.g., "Zurich").');
75
97
  }
98
+ // Reject well-known international city names before any lookup.
99
+ if (isBlocklisted(query.trim())) {
100
+ throw new Error(`"${query}" is a well-known international city name, not a Swiss location. ` +
101
+ `Use a specific Swiss location instead (Swiss postal code, station abbreviation, or place name). ` +
102
+ `Examples: "8001" for Zürich, "GVE" for Geneva. Use meteoswissStations to discover valid stations.`);
103
+ }
76
104
  // O(1) exact match on postal code
77
105
  const postalMatch = byPostalCode.get(q);
78
106
  if (postalMatch) {
@@ -126,16 +154,23 @@ export async function resolveForecastPoint(query) {
126
154
  debugData('[ogd-resolver] No direct match for "%s", geocoding (origins=%s)...', query, geocodeOrigins);
127
155
  const geocoded = await geocodeSwissLocation(query, { origins: geocodeOrigins });
128
156
  if (geocoded) {
129
- // Prefer postal code points for geocoded locations
130
- const candidates = points.filter((p) => p.point_type_id === 2);
131
- const pool = candidates.length > 0 ? candidates : points;
132
- const result = findNearest(pool, (p) => p.coordinates.lat, (p) => p.coordinates.lon, geocoded.lat, geocoded.lon);
133
- if (result && result.distance_km <= MAX_GEOCODE_DISTANCE_KM) {
134
- debugData('[ogd-resolver] Geocoded "%s" → %s, nearest point: %s (%.1f km)', query, geocoded.name, result.item.name, result.distance_km);
135
- return { match: result.item, alternatives: [], confidence: 'fuzzy' };
157
+ // Reject geocoding hits where the query bears no textual resemblance to the
158
+ // geocoded place name. Prevents gibberish queries from returning random Swiss points.
159
+ if (!geocodedNameMatchesQuery(query, geocoded.name)) {
160
+ debugData('[ogd-resolver] Geocoded name "%s" does not match query "%s" — rejected', geocoded.name, query);
136
161
  }
137
- if (result) {
138
- debugData('[ogd-resolver] Geocoded "%s" too far from nearest point: %.1f km (limit: %d km)', query, result.distance_km, MAX_GEOCODE_DISTANCE_KM);
162
+ else {
163
+ // Prefer postal code points for geocoded locations
164
+ const candidates = points.filter((p) => p.point_type_id === 2);
165
+ const pool = candidates.length > 0 ? candidates : points;
166
+ const result = findNearest(pool, (p) => p.coordinates.lat, (p) => p.coordinates.lon, geocoded.lat, geocoded.lon);
167
+ if (result && result.distance_km <= MAX_GEOCODE_DISTANCE_KM) {
168
+ debugData('[ogd-resolver] Geocoded "%s" → %s, nearest point: %s (%.1f km)', query, geocoded.name, result.item.name, result.distance_km);
169
+ return { match: result.item, alternatives: [], confidence: 'fuzzy' };
170
+ }
171
+ if (result) {
172
+ debugData('[ogd-resolver] Geocoded "%s" too far from nearest point: %.1f km (limit: %d km)', query, result.distance_km, MAX_GEOCODE_DISTANCE_KM);
173
+ }
139
174
  }
140
175
  }
141
176
  throw new Error(`No forecast location found for "${query}". ` +
@@ -1 +1 @@
1
- {"version":3,"file":"ogd-station-resolver.js","sourceRoot":"","sources":["../../src/data/ogd-station-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ogd-station-resolver.js","sourceRoot":"","sources":["../../src/data/ogd-station-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,mFAAmF;AACnF,MAAM,uBAAuB,GAAG,EAAE,CAAC;AASnC,IAAI,UAAU,GAAyB,IAAI,CAAC;AAE5C;;;GAGG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,EAAE,CAAC,sCAAsC,CAAC;QAC3D,UAAU,CAAC,MAAM,EAAE,CAAC,qCAAqC,CAAC,CAAC,CAAC,wBAAwB;IAEtF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAC;IAChG,SAAS,CAAC,8CAA8C,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;QACjD,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;QAC3D,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;QACtC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QAC1B,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC;QAC3D,WAAW,EAAE;YACX,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAC,IAAI,CAAC;YAC/D,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAC,IAAI,CAAC;SAChE;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,SAAS,CAAC,qDAAqD,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjG,UAAU,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC9C,OAAO,UAAU,CAAC;AACpB,CAAC;AASD;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAa,EAAE,YAAoB;IACnE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAa;IACtD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACnE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,mEAAmE;YAC1E,kGAAkG;YAClG,mGAAmG,CACtG,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACvE,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,sDAAsD;IACtD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,uBAAuB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CACP,uDAAuD,EACvD,CAAC,EACD,WAAW,CAAC,WAAW,CACxB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACvE,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACrE,CAAC;IAED,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,qBAAqB;QACrB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAClD,8DAA8D;QAC9D,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACzE,0CAA0C;QAC1C,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACnD,CAAC,CAAC,CAAC;IAEL,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACpD,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;SACjD,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,cAAc,GAAkB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,SAAS,CACP,oEAAoE,EACpE,KAAK,EACL,cAAc,CACf,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAChF,IAAI,QAAQ,EAAE,CAAC;QACb,4EAA4E;QAC5E,sFAAsF;QACtF,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,SAAS,CACP,wEAAwE,EACxE,QAAQ,CAAC,IAAI,EACb,KAAK,CACN,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,MAAM,GAAG,WAAW,CACxB,IAAI,EACJ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EACxB,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,GAAG,CACb,CAAC;YACF,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,uBAAuB,EAAE,CAAC;gBAC5D,SAAS,CACP,gEAAgE,EAChE,KAAK,EACL,QAAQ,CAAC,IAAI,EACb,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACvE,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,CACP,iFAAiF,EACjF,KAAK,EACL,MAAM,CAAC,WAAW,EAClB,uBAAuB,CACxB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,KAAK;QAC3C,0EAA0E;QAC1E,0EAA0E;QAC1E,oDAAoD,CACvD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,CAAS,EACT,YAAwC;IAExC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAiD,EAAE,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACtC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC"}
@@ -3,9 +3,9 @@ import { z } from 'zod';
3
3
  * Schema for fetch tool parameters
4
4
  */
5
5
  export const fetchMeteoSwissContentSchema = z.object({
6
- id: z
6
+ url: z
7
7
  .string()
8
- .min(1, { message: 'Content ID cannot be empty. Use the search tool to find valid page URLs.' })
8
+ .min(1, { message: 'URL cannot be empty. Use the search tool to find valid page URLs.' })
9
9
  .describe('Full URL of a MeteoSwiss page to fetch. Use the search tool first to discover valid URLs. Example: https://www.meteoschweiz.admin.ch/klima/klimawandel/steigende-temperaturen.html'),
10
10
  format: z
11
11
  .enum(['markdown', 'text'], {
@@ -1 +1 @@
1
- {"version":3,"file":"meteoswiss-fetch.js","sourceRoot":"","sources":["../../src/schemas/meteoswiss-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0EAA0E,EAAE,CAAC;SAC/F,QAAQ,CACP,oLAAoL,CACrL;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;QAC1B,OAAO,EAAE,6CAA6C;KACvD,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,mCAAmC,CAAC;IAChD,eAAe,EAAE,CAAC;SACf,OAAO,CAAC;QACP,OAAO,EAAE,mDAAmD;KAC7D,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"meteoswiss-fetch.js","sourceRoot":"","sources":["../../src/schemas/meteoswiss-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mEAAmE,EAAE,CAAC;SACxF,QAAQ,CACP,oLAAoL,CACrL;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;QAC1B,OAAO,EAAE,6CAA6C;KACvD,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,mCAAmC,CAAC;IAChD,eAAe,EAAE,CAAC;SACf,OAAO,CAAC;QACP,OAAO,EAAE,mDAAmD;KAC7D,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC"}
package/dist/server.js CHANGED
@@ -84,7 +84,7 @@ export function createServer() {
84
84
  server.tool('fetch', '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.', fetchMeteoSwissContentSchema.shape, async (params) => {
85
85
  const _t0 = performance.now();
86
86
  try {
87
- console.error(`Processing fetch request: id="${params.id}", format=${params.format || 'markdown'}`);
87
+ console.error(`Processing fetch request: url="${params.url}", format=${params.format || 'markdown'}`);
88
88
  debugTools('fetch called with params: %O', params);
89
89
  const content = await meteoswissFetchTool(params);
90
90
  console.error('Successfully fetched content');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { normalize } from './normalize.js';
2
+ /**
3
+ * Well-known international city names that should always be rejected, regardless
4
+ * of Swiss namesake hamlets. Switzerland has a hamlet named "Paris" in the
5
+ * municipality of Lucens, Canton Vaud (~100 people, ~3 km from Payerne).
6
+ * Without this guard, querying "Paris" silently returns Payerne (PAY) instead
7
+ * of erroring because the swisstopo geocoder correctly finds the Swiss hamlet.
8
+ *
9
+ * Pure blocklist: any query whose normalized form exactly matches an entry is
10
+ * rejected before any name matching or geocoding. Entries are exact strings.
11
+ */
12
+ export const INTERNATIONAL_CITY_BLOCKLIST = [
13
+ 'paris',
14
+ 'berlin',
15
+ 'london',
16
+ 'tokyo',
17
+ 'beijing',
18
+ 'moscow',
19
+ 'madrid',
20
+ 'rome',
21
+ 'new york',
22
+ 'los angeles',
23
+ 'sydney',
24
+ 'mumbai',
25
+ 'delhi',
26
+ 'cairo',
27
+ 'istanbul',
28
+ 'bangkok',
29
+ 'toronto',
30
+ 'budapest',
31
+ 'stockholm',
32
+ 'oslo',
33
+ 'copenhagen',
34
+ 'helsinki',
35
+ 'athens',
36
+ 'lisbon',
37
+ 'dublin',
38
+ 'brussels',
39
+ 'amsterdam',
40
+ 'barcelona',
41
+ 'buenos aires',
42
+ 'mexico city',
43
+ 'sao paulo',
44
+ 'rio de janeiro',
45
+ ];
46
+ /** Set of blocklisted names for O(1) lookup */
47
+ const BLOCKLIST_SET = new Set(INTERNATIONAL_CITY_BLOCKLIST);
48
+ /**
49
+ * Returns true when the query exactly matches a well-known international city
50
+ * name. Case-insensitive and diacritic-normalized. Protects against Swiss
51
+ * namesake hamlets (e.g., Paris, VD) silently matching international queries.
52
+ *
53
+ * @param query - Raw user query
54
+ */
55
+ export function isBlocklisted(query) {
56
+ return BLOCKLIST_SET.has(normalize(query.trim()));
57
+ }
58
+ //# sourceMappingURL=location-blocklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-blocklist.js","sourceRoot":"","sources":["../../src/support/location-blocklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,MAAM;IACN,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,cAAc;IACd,aAAa;IACb,WAAW;IACX,gBAAgB;CACR,CAAC;AAEX,+CAA+C;AAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,4BAA4B,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -19,7 +19,7 @@ export async function meteoswissFetchTool(input) {
19
19
  try {
20
20
  // Fetch the content
21
21
  const content = await fetchMeteoSwissContent(params);
22
- debugTools('Fetched content for ID: %s', params.id);
22
+ debugTools('Fetched content for URL: %s', params.url);
23
23
  return content;
24
24
  }
25
25
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"meteoswiss-fetch.js","sourceRoot":"","sources":["../../src/tools/meteoswiss-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAc;IACtD,UAAU,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAEtD,iBAAiB;IACjB,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,UAAU,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACrD,UAAU,CAAC,4BAA4B,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAEpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"meteoswiss-fetch.js","sourceRoot":"","sources":["../../src/tools/meteoswiss-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAc;IACtD,UAAU,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAEtD,iBAAiB;IACjB,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,UAAU,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACrD,UAAU,CAAC,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAEtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "meteoswiss-mcp",
3
3
  "mcpName": "io.github.eins78/meteoswiss-mcp",
4
- "version": "2.3.0-rc.3",
4
+ "version": "2.3.0",
5
5
  "description": "MCP server for MeteoSwiss weather data — forecasts, real-time measurements, stations, pollen.",
6
6
  "license": "CC0-1.0",
7
7
  "author": "Max F. Albrecht <1@178.is>",