{"_id":"open-meteo-mcp-server","_rev":"31-1aa5d22e5fd003cdc76ed307e8ac2b23","name":"open-meteo-mcp-server","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"open-meteo-mcp-server","version":"1.0.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.0.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"dist":{"shasum":"902144a61dc03f1ee7c6c25fc7e368ed3e27d43e","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.0.0.tgz","fileCount":19,"integrity":"sha512-0SmIQm840ppxgzhFXwUXH5GhEnRQmqaICQbyKcBuZP6oXmr3Hm6YQw06l33QHuMqEJmrMWFAdGU15xIAchzIZw==","signatures":[{"sig":"MEUCIQD8eoBEnV0kG86+AuAksRPrN7AcpuE+MqfyjKlh7jUOtwIgPQgUtNyvXcft++vvB8KifeC2LcwjjGvFg3G3NUCXmlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121159},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bc3298158c6525396f7ddac0ed8b4d2cc75a7cf8","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.0.0_1751319714479_0.44272495039135595","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"open-meteo-mcp-server","version":"1.0.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.0.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"dist":{"shasum":"7c1640009ccdb97259907ee25657afa0edab3d4f","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.0.1.tgz","fileCount":19,"integrity":"sha512-fzf4Svt6biH15A5mJsZYQGyKiWOe+U5pRK9JTmO7/YCzse46sn+Ls0iC+/0tFdgWdxPAC/3AwZ5NN5w5ZZd0nw==","signatures":[{"sig":"MEUCIQCDeM/0JIQ5Rbmnm+lJ3rX6Ezl9gMq1x2W7ZFxg3M8s3gIgewJLxyyCyN5dtQjugto5vTMvVMHdihkAVF+ne1b4czE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120823},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1092810b3e824e32332ba3c80a2f38fe6876d53f","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.0.1_1751321141096_0.9891637562183662","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"open-meteo-mcp-server","version":"1.0.2","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.0.2","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"c4e786e7b15adc8dbbf15dafe2233aef51fc21b8","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.0.2.tgz","fileCount":19,"integrity":"sha512-9xLn+cuzzkaLGzrrhi9jPIhMXjswyHOlrXvMFMAhY4MMYcSZhny1nDun0wyBV6OAObyTZy9xzgZQkTwTjZUiKg==","signatures":[{"sig":"MEYCIQDQPJnubWBJQj5Wsev5B/BaNvbn/egz+FTICy6spOsm5wIhAMBu/1Ha035pkdJbwoWEOlatrTxWp4dsNP+2TcsCRrXS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120884},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1092810b3e824e32332ba3c80a2f38fe6876d53f","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.0.2_1751321943225_0.5976057248109659","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"open-meteo-mcp-server","version":"1.0.3","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.0.3","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"07fbea0b4883e5095244170432866b86073b3fe4","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.0.3.tgz","fileCount":19,"integrity":"sha512-N4kxQCCh8FwS9OOHMArFdL4rG4Jgi9PjS7ht63dSI7CN8+7NDSrp+5rnl8LRDkHpAfrmqj/1JHYkZ1iTHHGIXQ==","signatures":[{"sig":"MEYCIQDKDWGk0yHZ/6riFu8QfOQPDbRI92qz2dGgrnCs8ac2CgIhAOlBG1YwqvXgZcHWJx2NVdRtjqt7MCo0OeGCQP/7bNxd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122520},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"7886f62a981cb28cbe3fcb266db108a8e81247ae","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.0.3_1751322570568_0.17292668996698946","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"open-meteo-mcp-server","version":"1.1.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"604ed13d6553660a25e9ae8cb930db16f528b40f","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.0.tgz","fileCount":19,"integrity":"sha512-1jTmqh4xRlxOVG4nYr7iI0ELOfKQHP6zzSWtKhZZfJEHNM8wLZ5fea+x4zHWDwKcdwxoNqASY0CRiBojS1sVig==","signatures":[{"sig":"MEYCIQDuE2pw7OHQGE2GJRdvSLqhYnHD9NtsfIzcWHzJgFgW9wIhAISy5Vc6kos6aQ6F7xdn15c0B0cF8uEygueLA708B1hr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139030},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c382b79deb29929666341f14a7ae7a16477d2f3b","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.0_1751485886445_0.7557008439207746","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"open-meteo-mcp-server","version":"1.1.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"bc574e284f89f7a403cca86aa82f0b3221bbc9f0","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.1.tgz","fileCount":19,"integrity":"sha512-GDGavu6ABVOaP57tEV8m9cS0Iw7L+qzmycGo70cHw15N1KD9bykgmMvlq25VysNJ7vUsDvGRdH7ry/V9P8j2Dw==","signatures":[{"sig":"MEUCIQD9fqK+SHUPP8cc/B+5UtXEAsO1JeKfOxfn2bZLD2wNIAIgfi3711rHWAS8YPUehIzh6O3lXsq6DZ1cx0S5h273SDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":143610},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"feca8eda7f39ef396d0a553a1643cd44e5924699","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","actor":{"name":"cm3r","type":"user","email":"cmer@cmer.fr"},"email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.1_1751491393551_0.8333193787592617","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"open-meteo-mcp-server","version":"1.1.3","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.3","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"273dc76112d9636f4951873e6b1c6cb90589bb89","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.3.tgz","fileCount":19,"integrity":"sha512-+oXqeWMzuJTlgBLcnbmzzpbyTnCWyApMU8gUhojy7wmyXLdf9IUPZ/sg/tLMsSRxabhIAzeEFBg2zMuNCIY34g==","signatures":[{"sig":"MEYCIQDjkgop35IqDIc7h4837UYtYgCh6hTGO/6ALTVPsqpzxAIhALmNoz05CL97a8fRcZXG4PuSdArPMfyQiKuMZAB/ylcF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149662},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e95824a7860ee8b45ada1b6854b6fe545a9d121a","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","typecheck":"tsc --noEmit","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.3_1768061236487_0.06994858326719355","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"open-meteo-mcp-server","version":"1.1.4","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.4","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"f5cc11f4b0cfe65b87f3038ee1551b5215ff2311","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.4.tgz","fileCount":19,"integrity":"sha512-zTlNuRDyIIbeLy3yHoem6MXHaV/HPWe3xQwn3KbNWZIdzt/gvPkEPO65evqoVLZndcfY8uAiG8m3Msqh+jOV+Q==","signatures":[{"sig":"MEUCIBmKjAzFDbvzP9fwep6X3PMBCnHqVs+U5GE9c2mrWfisAiEAs/i/2lwnvManPpxy8/fXumYya+kiDylD8hUmKttbPWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175980},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"528d6dff68e50e7078c34aca30ed7ab8a45b6a90","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.4_1771018033013_0.419250622541284","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"open-meteo-mcp-server","version":"1.1.5","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.5","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"2abfbb2601a032033f3ba1c9559bf99dceae4208","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.5.tgz","fileCount":19,"integrity":"sha512-n9ANP7NvrI0wK2HXRIEqaSSYznY4GV2XyzSuVTDL+IRdLrALIvQn9aYrnQTqQ9v91whIHxidVBvjsMTGSSo8lQ==","signatures":[{"sig":"MEUCIQC/BC8k7zUQXPBFZdGPr7RgIc/0U5OjP3aMaD3ZoT1GIQIgfIWwBkuMEBPWDfz5xtAztdRoHd43mnA5ZfIbSskTw9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177035},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"93ff76049c19fa5df727d4a36e16d8afdf9fa60c","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.5_1771018166108_0.5791973338556953","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"open-meteo-mcp-server","version":"1.1.6","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.6","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"3384a35a6d793bb07a8bbd2c55467b05e3655109","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.6.tgz","fileCount":19,"integrity":"sha512-SLcKcolKaY7kaU38umYVLwnkU5c83VypNC3ljyC+xbBbVreN0b13nQtXDQK4TS6M/CblP31MDuwgemVjxzYaDw==","signatures":[{"sig":"MEUCIEqZDitzvpU9YnZ25kv5xO+O48/bmLxem1IjFaI2ASeTAiEA7Q5bR3S33ZlSyicUz/vQvQmbdamsUhc3zeK96gVaPVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177035},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"c53af5f40b2264639aff0cf7303b8f5f5eaa1508","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.6_1771024558932_0.2289477978325516","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"open-meteo-mcp-server","version":"1.1.7","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.1.7","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"0bb6bb420b6188d954609a4b7b4282ede16b86cf","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.1.7.tgz","fileCount":19,"integrity":"sha512-2benPHIQjWu1RoWJIB2XY72qd5sY96pZ4KxtGbvB4c0Zkl1/ajdfKzxjBtZiMzHopUzd8pRbL3QILM9taATsCg==","signatures":[{"sig":"MEUCIB/Ts867BIZQV/kiHK9KMkwzW/V3exPROW3ACGYaYtqZAiEA3pDm5Bt51yjd4teK2FDNv0e5rYW5Zujsrbe0gYuOOac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182011},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"5b12b416ae8f2d8394b778dba6a0816326821a55","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.1.7_1771060808609_0.6052565786000004","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"open-meteo-mcp-server","version":"1.2.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"e018245c840960c866117cb55462f011405e5f7d","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.0.tgz","fileCount":19,"integrity":"sha512-QKLyQsfqy9HEcoUeWSnozDTVNVw7pLC8/MOTkP1QQ1n/dBEzaNwby8sQlpq6CgBAFn19dKbgaO8v+Ua8qykL/A==","signatures":[{"sig":"MEUCIQDtHuCKxvfOch7EfznCzCAuMCxBJS48HW8fdMylGTI0HAIgdIMMKscmvHYU81FkmkQwE/8gIF0TnWd1U9ALicBk/zU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212064},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"512ce9993f9ba80d5efff9f67c0ec2347b8d4c9e","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.0_1771110064222_0.3485271491240072","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"open-meteo-mcp-server","version":"1.2.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"25db879806581714942270f2452fcefcfd109c40","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.1.tgz","fileCount":19,"integrity":"sha512-vPnIXinMubr399MIMGnpXGEu5SQcwXZFQ+AJ+67WKTU9Aunqe8DDyqRpitHF4d2mgnTBqitsY0GjqIG1EUqJhw==","signatures":[{"sig":"MEUCID7JlbDZcqrb+RzWDkkQV+T3J13n9VYmPlEaP04hjhPcAiEA3BFQ5WaqxyvXh1sUZJA5A3u0aKVeLZAOYyO+bLXr30E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212456},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"d4815ec6ace64d5ac259afdc6c32eedf7fd55e26","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.1_1771178277382_0.5627038017204151","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"open-meteo-mcp-server","version":"1.2.2","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.2","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"c365f8b1037e3a28ce714d062711ee6b78c4fb75","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.2.tgz","fileCount":19,"integrity":"sha512-yiHG0nnw8h+zOry5KZ/g+rXxei2tKyi8l3LMfUKHtk4lxT5A170851ctyzbTTUX/8r4Huz2sdYU0PQwOU8JRRQ==","signatures":[{"sig":"MEUCIQDeK1vbNjAlyzBoL743tlfjz1jmi8BhmRrt+hqSb/S0XQIgFvSnKDXuW/WmBg9KIQHvizgqoIG6keJ9zA59QbbIfqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214682},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"e57422310a6c672dd70ef2eeca1b0109fa57fd72","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.2_1771523295973_0.1279882932810863","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"open-meteo-mcp-server","version":"1.2.3","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.3","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"c4c93df18deeedb50e3815adfd8102747639d569","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.3.tgz","fileCount":19,"integrity":"sha512-kno1rHAt4Fgx9XC/5HQ2FtoYrxApRisSj7/h/T7DIoHgwhYkYPOk3JUh6GbKt7Sz2LhpXEzdUsA0jW4x1Kjemw==","signatures":[{"sig":"MEQCIHo8Bweurtg+3g6C1qHdn3lXFOEiowLGtbY7OZPL2EUkAiAVudax23hcsdsalngoMvxN96EPzmIHPxZy7Kby1lxkyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":213883},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"31e66feb0cf4027d619d32c4dc3c4c587a1ff393","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^8.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.25","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.3_1771529655458_0.9377458595485537","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"open-meteo-mcp-server","version":"1.2.4","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.4","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"26de59772618f49fc2963285d04e0267ecfc350e","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.4.tgz","fileCount":19,"integrity":"sha512-0Knafe+/XMmGlKKLJoVyFMvxtqpttOm8W6gmHWAhEeis0AfvRg+kJlohYOcUO7kITCibEKdha7JK5O2RAvOa/Q==","signatures":[{"sig":"MEUCIQCprZMGBe+09uTaBXnSYlNNEcuCg3VFam8c7sK99q5ihwIgdbzdno2qQj6Jy3048JhDkNUY4W8dINn9hc+9bss45Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223515},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"f812198c5c652efcfecd54768323aff7ba6a6cc6","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.4_1771531940780_0.9760470865969335","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"open-meteo-mcp-server","version":"1.2.5","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.2.5","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"5697edaaea57baad77fca3066a7c9759634cead0","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.2.5.tgz","fileCount":19,"integrity":"sha512-CWXlXz5IvK2lv0v/PU+siX872Xoxt61Df8XrPTsGm/6etewWbOax7F9RrTWgFEyWCSCS2dJU+hMKqflxyvHRmw==","signatures":[{"sig":"MEUCID35aa5jauqoCmwtpZV5uQ6omOgZxof0JSk7m0hrq8FLAiEAyTh4JpIerY2aZ+71VA6GtrnGpePRjKrUSAXcUnwptqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223515},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"3a4ab57ca3d5a3cac3377f7922e0772ec869d19d","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.2.5_1771533063316_0.03660605807309869","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"open-meteo-mcp-server","version":"1.3.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.3.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"a8bbccdc2c5d4610ad258c6c01e967f3b0412d3c","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.3.0.tgz","fileCount":19,"integrity":"sha512-AalI/LKXGDnaVQOLAIcMOFn2nVjeieQPHmKxBg86Y2BSFuhPbRBLin86TAvO8tZcG0Mzyy8THKV/AA36x7jLdA==","signatures":[{"sig":"MEQCIE1laU/45MKJ5m8PnYcuAKgt7fLXIeCBoHiMBDOk42loAiAZEuUO/p921YwMXUkAlgKct6btRVWuIgNSTmZbojQryQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225886},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"b379d6f3f889984b8b4ed455357a6df5af6199be","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.3.0_1771534035137_0.15705338887461617","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"open-meteo-mcp-server","version":"1.3.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.3.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"48c9f02c04f8aac4ec18018478f9795316ae6642","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.3.1.tgz","fileCount":19,"integrity":"sha512-njA/s4boa2ekuoAVZuTE2k8n6u/xxxHb3dyLyHRH2Xv292BOWHANd72it+JzHBhfEgNebuaT4V5lpSHP2CQrgQ==","signatures":[{"sig":"MEUCIQCW0AoIeN3arz6p3/8O6LEMXlY1l/K7RJVqkjHwTXQ9fQIgHc6PrMheS9CRGyfYnsHBhWIAWDsBhvwxo7vR2z3qLxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":239248},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"02fbd67dd8f200dc1ecb9ac51aad33d7d81c2483","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.3.1_1771536056326_0.02399921292477014","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"open-meteo-mcp-server","version":"1.4.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.4.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"765c7146957d1d68d2760997f2ccc7db977facd3","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.4.0.tgz","fileCount":23,"integrity":"sha512-AHmEPilB1PYjBf4T8mnm1GDjA8Zadak/H8xOU3ZUUYDLYLXbC01H9Q6QG5THDNbi2WivETpWRl+uEJmH6UfcPA==","signatures":[{"sig":"MEUCIQCQ3z4JM2+R+85CE8ZNwJ90fI1uQC4FmzBzMoJ0+44d2gIgYFF8opbuBCJ9J3eFe5ZN/sBvULHeI/K6UlZFbg6rMnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248276},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"7291d40d2464939193e076f3fab6a0bd4de14722","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.4.0_1773778979428_0.3357196659693267","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"open-meteo-mcp-server","version":"1.5.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.5.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"f231648a83a03b63057856d31499de490a144a92","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.5.0.tgz","fileCount":23,"integrity":"sha512-wRq//86Te95RTaXn6fQgcG4g/rg5vAi0kYr7xJVU808G7vJVv99woAcuNlQeJd4jRTWkTwjI5Cf0imCtq5u4xQ==","signatures":[{"sig":"MEUCIHR+8mWmFko5b+jrreXd1GEVs940uAXMdqcChzrMsVmMAiEAsE6uQ5GkQarGxcZxplrc5Qm6jgMeUYgPXOSgEUOZWg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279200},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"61266b5ff815838fae1b99df5cd0cdcfd5585532","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.5.0_1773788282076_0.36707613986693954","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"open-meteo-mcp-server","version":"1.5.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.5.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"6c104d4139351ddf2ac672680ed17484e140e7ea","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.5.1.tgz","fileCount":23,"integrity":"sha512-cTYSOZeVRB7YnRnBBVaxDIu62zKO2X+8BaZuiZJBdxb80vOd1KF60/Rkl3SosOnBfu8vs8aKK9UFO48LbqOm3Q==","signatures":[{"sig":"MEUCIQCa8RKSMH077yeZgxNNIi2TIZ9dyeXCsviADkQt6eNFtgIgYX5AsAfPQA8mfAtdLS41NQ9aaZCQPuV49ZODpea84tA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279386},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"81a23bf62a278a25d9c2877bc025867a5b84feff","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.5.1_1773823224384_0.5706875557880928","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"open-meteo-mcp-server","version":"1.6.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.6.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"39536e1f6e9302831858949ba83ded1abab87199","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.6.0.tgz","fileCount":23,"integrity":"sha512-AesK5YrnXoy4YTwkfullKp16Qt4YTq2eTDEqUjQ1l7MGg1nOAf0CwW+75INC0nlM+SmP31vBHyJlSW0YZdO9nA==","signatures":[{"sig":"MEYCIQD5vWliCw7CMrTxirXomlK/SBxfMWkGQaAZq+RzCUxU8wIhAP2yY8RMUKUIlcd+vXM8ePO8oZxKEd+RJCbXIlAO7JCQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279167},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"482617a672fd48534759a71ff56c4dec56495e8c","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.6.0_1773839989946_0.4709021676104166","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"open-meteo-mcp-server","version":"1.5.2","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.5.2","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"82889de952eca4f4c2fa7b66a092849c814eb510","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.5.2.tgz","fileCount":23,"integrity":"sha512-14Ys02vmakcNhTnTC4v0AovKpVM8QHN6IOxCXdpY6fgqGElAYdDfCNxuG9a8IS4xtRzDvYKOvz000VDyZ7rfBw==","signatures":[{"sig":"MEUCIFf5+bFyOUq4Fwni5+Roe2oCZC06tdR5MnPpfs1gUE30AiEAh3FTpFiWM2e2Ee32C7xgsmPucNeiMye8QRRJ08KY57w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279167},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"09c393247b6dd0c4d1e0194b1b695f772b748230","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.5.2_1773840097318_0.8277645742552575","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"open-meteo-mcp-server","version":"1.5.3","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.5.3","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"ccbd87ed8c8c1c928589b06fcfde5303c91cf9bb","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.5.3.tgz","fileCount":23,"integrity":"sha512-s5HNaT3vNIhYhwOAL9yzX7ec5VNP4ICzh7Gx0amMbIxF2xt1WvuU73yAAC27pQBsBJkqwDjl7L6A2s1kejjvqw==","signatures":[{"sig":"MEUCIQCj0K8qpIG6PHfT/c8T0E6bM8+WE70+9Wy3Fz7HL8nD/wIgGgQBobiWlxUeF1HzsUadkcOVT4WbkzGfRCgfvaw34II=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279472},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"0820232e37cb7107c86276d6e85b97a7c9f85e1a","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.5.3_1773841372596_0.3979603913198029","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"open-meteo-mcp-server","version":"1.6.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.6.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"d6b1cb5544862788803d95540568d3bccbb358e0","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.6.1.tgz","fileCount":23,"integrity":"sha512-FtioMjSHqbHBBhzCdow6nWfBDqOsqoxBp0zpABOD8IsAQb5FGF7x3oEjZWIU4cwFR2+SFJGpVGGT8JlEuulhDg==","signatures":[{"sig":"MEQCIB1RHGu+RmhlMFhlIIlQkHGu12ND7UN133Y8cbamf0naAiB6bmVUyBdZOrIlqvbQS0FTQbHc4gDVM5QfFhC7/JtrEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284656},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"d1f0c7b9434d4253a7b40c83325c011d37b23a2d","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"cm3r","email":"cmer@cmer.fr"},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.6.1_1774043769449_0.8454870531852949","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"open-meteo-mcp-server","version":"1.7.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@1.7.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"5cb0700bf57f048ffe0c130c6189efc8f9ca4bcd","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-1.7.0.tgz","fileCount":23,"integrity":"sha512-QXCDd1ebZ2lAG75sikrhTfXVHMs5OLS2DYo42eyetiKADB4nxC6f/Iuv8udk+4mfJEuEsObDOj1K7QnVW0G66A==","signatures":[{"sig":"MEQCIHVI3GZMMQRK4JN9WC2UwWeRhz/lwlRrFJtEZFh4DZ4LAiAA7cXd1JkhGyk2KnzB9JvrNDPhKG7TUhe+vsJV6XNAGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":706771},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"b829518f3b52f805e3bdf5ae8651e87e5df7ba54","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1aa48844-2c23-4831-989e-05924b044b9e"}},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_1.7.0_1784933641395_0.7889069635869908","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"open-meteo-mcp-server","version":"2.0.0","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@2.0.0","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"c7a8595f06257f00e40c8c3169427840e225dc41","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-2.0.0.tgz","fileCount":28,"integrity":"sha512-0Vu40fymU+d0iZcqkl1xnyX6GcDXP7UkdOXA91Z4pj08mR8aOVfZFUiIOZJMElPzNjBqq+47VLAdPwuHMfRZ0A==","signatures":[{"sig":"MEUCIQDyItltJZpKltlJ6IUxM7x8C9MQxQud3Ue6UmjO+Bd1PQIgKzn2R0jeg3aceAjBd8nF3kH8zrzxl0M8I7qUfheTq20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":636192},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"7a71111c53855c50bccfb8f319e61a844421083a","scripts":{"dev":"tsx src/index.ts","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1aa48844-2c23-4831-989e-05924b044b9e"}},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_2.0.0_1784974751863_0.5765145377164977","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"open-meteo-mcp-server","version":"2.0.1","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@2.0.1","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"64acb3732e5b14e9e1b563be62b17c2cace1c5a5","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-2.0.1.tgz","fileCount":28,"integrity":"sha512-AWJxkuBGi9NIYKe8zABz3SCSXJl7mK0xLaJrnVfGejIKebjPYqoSfNPZwf0bFzo1PK19W8oXB1aVn7Up3IlBRQ==","signatures":[{"sig":"MEUCIQC7teb5rKZvlq7dmUZ3VN94Bu56e22FmBNN+VjGymPipQIgEIEDOsSAFsbzkfY2oDlQhQr+HFf2zJKUKFylOmIgONY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640602},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"3a5abf82ffea391954f62246c47bdf8ced67dbbf","scripts":{"dev":"tsx src/index.ts","eval":"python3 evals/scripts/evaluation.py -t stdio -c node -a dist/index.js evals/evaluation.xml","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1aa48844-2c23-4831-989e-05924b044b9e"}},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","axios":"^1.6.0","dotenv":"^17.2.3","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^4.0.16","supertest":"^7.2.2","typescript":"^5.3.0","@types/node":"^20.0.0","@biomejs/biome":"^2.4.3","@types/express":"^4.17.25","@types/supertest":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_2.0.1_1785018286292_0.20104915600809936","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"open-meteo-mcp-server","version":"2.0.2","keywords":["mcp","weather","open-meteo","forecast","api"],"author":{"name":"Claude Code"},"license":"MIT","_id":"open-meteo-mcp-server@2.0.2","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"bin":{"open-meteo-mcp-server":"dist/index.js"},"dist":{"shasum":"4f460d9209e43d791cdb698ee2489fc596aa6e39","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-2.0.2.tgz","fileCount":28,"integrity":"sha512-zf8dhfiAurgAsE9PaziG+6gEsKlcH2HtJN8iO7vp7fFVvEehPm8NVPaM+RuEVGY7wlfzhslsny4cvvveY+opUQ==","signatures":[{"sig":"MEYCIQCKVkh8vMh9ImJ9ZxRatwfcRKFw+0PaJqTgmle3dBKiYwIhALv3w3qttpWh2yCPq2tRU76G3h6l8GW0z/MAIYC3z+r/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF8RTSfILUAdm8KCNA8sfMHCxnWrWLE3iFEUh5ldzPU8AiB/NAJ8lYNT5wrBRoEKvcGwzpPBVXD8qoPrkruTvBVeRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641980},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"f4b09b8f0b0d62b504cf4d328a1b3f59cf5a61dd","scripts":{"dev":"tsx src/index.ts","eval":"python3 evals/scripts/evaluation.py -t stdio -c node -a dist/index.js evals/evaluation.xml","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1aa48844-2c23-4831-989e-05924b044b9e"}},"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.25.76","axios":"^1.20.0","dotenv":"^17.4.2","express":"^4.22.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vitest":"^4.1.11","supertest":"^7.2.2","typescript":"^5.9.3","@types/node":"^20.19.43","@biomejs/biome":"^2.5.13","@types/express":"^4.17.25","@types/supertest":"^7.2.1"},"_npmOperationalInternal":{"tmp":"tmp/open-meteo-mcp-server_2.0.2_1789507124584_0.08881170019921591","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"_id":"open-meteo-mcp-server@2.1.0","bin":{"open-meteo-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"dist":{"shasum":"44a7e2035e7fc35ea159a3fb7242944fb4290338","tarball":"https://registry.npmjs.org/open-meteo-mcp-server/-/open-meteo-mcp-server-2.1.0.tgz","fileCount":28,"integrity":"sha512-kXT/b+XCYq24MGzZ1gGIIc2AUfp7vsZw/JUydC/xtvh5cicH5N99eVeiat6xB9r4meABayneT4DNF4AlHi3jSg==","signatures":[{"sig":"MEUCIGEeSQe+cVnvfLjhfJGF+MoQYrnltN+4Ndi74XzelN3EAiEAtk4zwECtCb/XZn5ZTZGXC2wrYK4mAVgykejuc2VII6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCc0ueXLsvkMWiGmlqKw4OdOLWSGp7s3F3IVBwXsbGHzgIhAOhIzF3E58DDB5ANHs1KuWV09ZTD3IioyzUfBcqeMtLU"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/open-meteo-mcp-server@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527263},"main":"dist/index.js","name":"open-meteo-mcp-server","type":"module","types":"./dist/index.d.ts","author":{"name":"Claude Code"},"engines":{"node":">=22.0.0"},"gitHead":"cc04501a23abc02a134d55756c59eedca4ff6fd6","license":"MIT","scripts":{"dev":"tsx src/index.ts","eval":"python3 evals/scripts/evaluation.py -t stdio -c node -a dist/index.js evals/evaluation.xml","lint":"biome lint src/","test":"vitest","build":"tsc","check":"biome ci src/","smoke":"node scripts/smoke-test.mjs","start":"node dist/index.js","format":"biome format --write src/","release":"npm run build && npm run test && npm run lint","dev:http":"TRANSPORT=http tsx src/index.ts","typecheck":"tsc --noEmit","docker:run":"docker run -p 3000:3000 open-meteo-mcp-server","start:http":"TRANSPORT=http node dist/index.js","docker:build":"docker build -t open-meteo-mcp-server .","release:major":"npm version major && git push origin main --tags","release:minor":"npm version minor && git push origin main --tags","release:patch":"npm version patch && git push origin main --tags"},"version":"2.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1aa48844-2c23-4831-989e-05924b044b9e"}},"homepage":"https://github.com/cmer81/open-meteo-mcp#readme","keywords":["mcp","weather","open-meteo","forecast","api"],"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Model Context Protocol server for Open-Meteo weather APIs","directories":{},"maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.5","axios":"^1.20.0","dotenv":"^17.4.2","express":"^5.2.1","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vitest":"^5.0.1","supertest":"^7.2.2","typescript":"^7.0.2","@types/node":"^22.20.3","@biomejs/biome":"^2.5.13","@types/express":"^5.0.6","@types/supertest":"^7.2.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/open-meteo-mcp-server_2.1.0_1789507868597_0.6359421126173919"}}},"time":{"created":"2025-06-30T21:41:54.478Z","modified":"2026-09-15T21:31:09.091Z","1.0.0":"2025-06-30T21:41:54.644Z","1.0.1":"2025-06-30T22:05:41.295Z","1.0.2":"2025-06-30T22:19:03.445Z","1.0.3":"2025-06-30T22:29:30.734Z","1.1.0":"2025-07-02T19:51:26.628Z","1.1.1":"2025-07-02T21:23:13.785Z","1.1.3":"2026-01-10T16:07:16.638Z","1.1.4":"2026-02-13T21:27:13.173Z","1.1.5":"2026-02-13T21:29:26.274Z","1.1.6":"2026-02-13T23:15:59.103Z","1.1.7":"2026-02-14T09:20:08.741Z","1.2.0":"2026-02-14T23:01:04.510Z","1.2.1":"2026-02-15T17:57:57.547Z","1.2.2":"2026-02-19T17:48:16.111Z","1.2.3":"2026-02-19T19:34:15.592Z","1.2.4":"2026-02-19T20:12:20.921Z","1.2.5":"2026-02-19T20:31:03.494Z","1.3.0":"2026-02-19T20:47:15.281Z","1.3.1":"2026-02-19T21:20:56.488Z","1.4.0":"2026-03-17T20:22:59.591Z","1.5.0":"2026-03-17T22:58:02.265Z","1.5.1":"2026-03-18T08:40:24.547Z","1.6.0":"2026-03-18T13:19:50.101Z","1.5.2":"2026-03-18T13:21:37.504Z","1.5.3":"2026-03-18T13:42:52.738Z","1.6.1":"2026-03-20T21:56:09.599Z","1.7.0":"2026-07-24T22:54:01.531Z","2.0.0":"2026-07-25T10:19:12.001Z","2.0.1":"2026-07-25T22:24:46.437Z","2.0.2":"2026-09-15T21:18:44.677Z","2.1.0":"2026-09-15T21:31:08.704Z"},"bugs":{"url":"https://github.com/cmer81/open-meteo-mcp/issues"},"author":{"name":"Claude Code"},"license":"MIT","homepage":"https://github.com/cmer81/open-meteo-mcp#readme","keywords":["mcp","weather","open-meteo","forecast","api"],"repository":{"url":"git+https://github.com/cmer81/open-meteo-mcp.git","type":"git"},"description":"Model Context Protocol server for Open-Meteo weather APIs","maintainers":[{"name":"cm3r","email":"cmer@cmer.fr"}],"readme":"# Open-Meteo MCP Server\n\n[![npm version](https://badge.fury.io/js/open-meteo-mcp-server.svg)](https://badge.fury.io/js/open-meteo-mcp-server)\n[![GitHub release](https://img.shields.io/github/release/cmer81/open-meteo-mcp.svg)](https://github.com/cmer81/open-meteo-mcp/releases)\n[![Docker Image](https://img.shields.io/badge/docker-ghcr.io-blue.svg)](https://github.com/cmer81/open-meteo-mcp/pkgs/container/open-meteo-mcp)\n\nA comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that provides access to Open-Meteo weather APIs for use with Large Language Models.\n\n## Features\n\nThis MCP server provides complete access to Open-Meteo APIs, including:\n\n### Core Weather APIs\n- **Weather Forecast** (`weather_forecast`) - Forecasts up to 16 days (7 by default) with hourly and daily resolution\n- **Weather Archive** (`weather_archive`) - Historical ERA5 data from 1940 to present\n- **Air Quality** (`air_quality`) - PM2.5, PM10, ozone, nitrogen dioxide, pollen, European/US AQI indices, UV index and other pollutants\n- **Marine Weather** (`marine_weather`) - Wave height, wave period, wave direction and sea surface temperature\n- **Elevation** (`elevation`) - Digital elevation model data for given coordinates\n- **Geocoding** (`geocoding`) - Search locations worldwide by name or postal code, get coordinates and detailed location information\n\n### Specialized Weather Models\n- **DWD ICON** (`dwd_icon_forecast`) - German weather service high-resolution model for Europe\n- **NOAA GFS** (`gfs_forecast`) - US weather service global model with high-resolution North America data\n- **Météo-France** (`meteofrance_forecast`) - French weather service AROME and ARPEGE models\n- **ECMWF** (`ecmwf_forecast`) - European Centre for Medium-Range Weather Forecasts\n- **JMA** (`jma_forecast`) - Japan Meteorological Agency high-resolution model for Asia\n- **MET Norway** (`metno_forecast`) - Norwegian weather service for Nordic countries\n- **Environment Canada GEM** (`gem_forecast`) - Canadian weather service model\n\n### Advanced Forecasting Tools\n- **Flood Forecast** (`flood_forecast`) - River discharge and flood forecasts from GloFAS (Global Flood Awareness System)\n- **Seasonal Forecast** (`seasonal_forecast`) - Long-range forecasts up to ~7 months ahead\n- **Climate Projections** (`climate_projection`) - CMIP6 climate change projections for different warming scenarios\n- **Ensemble Forecast** (`ensemble_forecast`) - Multiple model runs showing forecast uncertainty\n\n## Installation\n\n### Requirements\n\n- Node.js >= 22.0.0\n\n### Method 1: Using npx (Recommended)\n\nNo installation required! The server will run directly via npx.\n\n### Method 2: Global Installation via npm\n\n```bash\nnpm install -g open-meteo-mcp-server\n```\n\n### Method 3: From Source (Development)\n\n```bash\n# Clone the repository\ngit clone https://github.com/cmer81/open-meteo-mcp.git\ncd open-meteo-mcp\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n```\n\n## Configuration\n\n### Claude Desktop Configuration\n\n#### Simple Configuration (Recommended)\n\nAdd the following configuration to your Claude Desktop config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"open-meteo\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"open-meteo-mcp-server\", \"open-meteo-mcp-server\"]\n    }\n  }\n}\n```\n\n#### Full Configuration (with environment variables)\n\n```json\n{\n  \"mcpServers\": {\n    \"open-meteo\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"open-meteo-mcp-server\", \"open-meteo-mcp-server\"],\n      \"env\": {\n        \"OPEN_METEO_API_URL\": \"https://api.open-meteo.com\",\n        \"OPEN_METEO_AIR_QUALITY_API_URL\": \"https://air-quality-api.open-meteo.com\",\n        \"OPEN_METEO_MARINE_API_URL\": \"https://marine-api.open-meteo.com\",\n        \"OPEN_METEO_ARCHIVE_API_URL\": \"https://archive-api.open-meteo.com\",\n        \"OPEN_METEO_SEASONAL_API_URL\": \"https://seasonal-api.open-meteo.com\",\n        \"OPEN_METEO_ENSEMBLE_API_URL\": \"https://ensemble-api.open-meteo.com\",\n        \"OPEN_METEO_GEOCODING_API_URL\": \"https://geocoding-api.open-meteo.com\",\n        \"OPEN_METEO_FLOOD_API_URL\": \"https://flood-api.open-meteo.com\",\n        \"OPEN_METEO_CLIMATE_API_URL\": \"https://climate-api.open-meteo.com\"\n      }\n    }\n  }\n}\n```\n\n#### Local Development Configuration\n\nIf you're developing locally or installed from source:\n\n```json\n{\n  \"mcpServers\": {\n    \"open-meteo\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/open-meteo-mcp/dist/index.js\"],\n      \"env\": {\n        \"OPEN_METEO_API_URL\": \"https://api.open-meteo.com\",\n        \"OPEN_METEO_AIR_QUALITY_API_URL\": \"https://air-quality-api.open-meteo.com\",\n        \"OPEN_METEO_MARINE_API_URL\": \"https://marine-api.open-meteo.com\",\n        \"OPEN_METEO_ARCHIVE_API_URL\": \"https://archive-api.open-meteo.com\",\n        \"OPEN_METEO_SEASONAL_API_URL\": \"https://seasonal-api.open-meteo.com\",\n        \"OPEN_METEO_ENSEMBLE_API_URL\": \"https://ensemble-api.open-meteo.com\",\n        \"OPEN_METEO_GEOCODING_API_URL\": \"https://geocoding-api.open-meteo.com\",\n        \"OPEN_METEO_FLOOD_API_URL\": \"https://flood-api.open-meteo.com\",\n        \"OPEN_METEO_CLIMATE_API_URL\": \"https://climate-api.open-meteo.com\"\n      }\n    }\n  }\n}\n```\n\n### Custom Instance Configuration\n\nIf you're using your own Open-Meteo instance:\n\n```json\n{\n  \"mcpServers\": {\n    \"open-meteo\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"open-meteo-mcp-server\", \"open-meteo-mcp-server\"],\n      \"env\": {\n        \"OPEN_METEO_API_URL\": \"https://your-meteo-api.example.com\",\n        \"OPEN_METEO_AIR_QUALITY_API_URL\": \"https://air-quality-api.example.com\",\n        \"OPEN_METEO_MARINE_API_URL\": \"https://marine-api.example.com\",\n        \"OPEN_METEO_ARCHIVE_API_URL\": \"https://archive-api.example.com\",\n        \"OPEN_METEO_SEASONAL_API_URL\": \"https://seasonal-api.example.com\",\n        \"OPEN_METEO_ENSEMBLE_API_URL\": \"https://ensemble-api.example.com\",\n        \"OPEN_METEO_GEOCODING_API_URL\": \"https://geocoding-api.example.com\",\n        \"OPEN_METEO_FLOOD_API_URL\": \"https://flood-api.example.com\",\n        \"OPEN_METEO_CLIMATE_API_URL\": \"https://climate-api.example.com\"\n      }\n    }\n  }\n}\n```\n\n### Streamable HTTP Transport\n\nThe server also supports Streamable HTTP transport for remote deployments. Set the `TRANSPORT` environment variable to `http`:\n\n```bash\nTRANSPORT=http PORT=3000 npx open-meteo-mcp-server\n```\n\nThis starts an Express server on the specified port (default: 3000) with the MCP endpoint at `/mcp`. The HTTP transport supports session management with unique session IDs per client.\n\n> **The server binds to `127.0.0.1` by default**, so it is reachable only from the local machine. To accept connections from other hosts, set `HOST=0.0.0.0` explicitly. The Docker image already does this, so published ports work without extra configuration.\n\nFor production deployments, bind to a reachable interface and enable authentication and rate limiting:\n\n```bash\nHOST=0.0.0.0 API_KEY=your-secret-key RATE_LIMIT_RPM=60 TRANSPORT=http PORT=3000 npx open-meteo-mcp-server\n```\n\nIf a browser-based client connects to the server, list its origin in `ALLOWED_ORIGINS` — requests carrying an unlisted `Origin` header are rejected with `403` as DNS rebinding protection.\n\nClients must then include the key in every request:\n```\nAuthorization: Bearer your-secret-key\n# or\nX-API-Key: your-secret-key\n```\n\n#### Using npm scripts\n\n```bash\n# Start in HTTP mode (production)\nnpm run start:http\n\n# Development with auto-reload in HTTP mode\nnpm run dev:http\n```\n\n### Docker Deployment\n\nThe server can be easily deployed using Docker.\n\n#### Using Pre-built Image from GitHub Container Registry (Recommended)\n\nPull and run the official image:\n\n```bash\n# Pull the latest image\ndocker pull ghcr.io/cmer81/open-meteo-mcp:latest\n\n# Run the container\ndocker run -d \\\n  --name open-meteo-mcp \\\n  -p 3000:3000 \\\n  ghcr.io/cmer81/open-meteo-mcp:latest\n\n# Check health\ncurl http://localhost:3000/health\n```\n\nAvailable tags (no `v` prefix — the git tag `v2.0.0` publishes the image as `2.0.0`):\n- `latest` - Latest stable release\n- `2.0.0` - Specific version\n- `2.0` - Latest 2.0.x release\n- `2` - Latest 2.x.x release\n\n#### Using Docker Compose\n\nThe repository includes two Docker Compose configurations:\n\n**Production (uses pre-built image):**\n```bash\n# Start with pre-built image from GitHub Container Registry\ndocker compose up -d\n\n# View logs\ndocker compose logs -f\n\n# Stop the server\ndocker compose down\n```\n\n**Development (builds from source):**\n```bash\n# Build and start from local source\ndocker compose -f docker-compose.dev.yml up -d\n\n# Rebuild after code changes\ndocker compose -f docker-compose.dev.yml up -d --build\n```\n\n#### Building from Source\n\nIf you prefer to build the image yourself:\n\n```bash\n# Build the image\nnpm run docker:build\n# or\ndocker build -t open-meteo-mcp-server .\n\n# Run the container\nnpm run docker:run\n# or\ndocker run -p 3000:3000 open-meteo-mcp-server\n```\n\n#### Environment Configuration\n\nCopy `.env.example` to `.env` and customize as needed:\n\n```bash\ncp .env.example .env\n# Edit .env with your configuration\n```\n\nThen update `docker-compose.yml` to use the `.env` file or pass environment variables directly.\n\n#### Health Check\n\nThe HTTP server includes a health check endpoint:\n\n```bash\ncurl http://localhost:3000/health\n# Response: {\"status\":\"ok\"}\n```\n\nThis endpoint is used by Docker's `HEALTHCHECK` and can be integrated with container orchestration platforms (Kubernetes, Docker Swarm, etc.).\n\n### Environment Variables\n\nAll environment variables are optional and have sensible defaults:\n\n- `OPEN_METEO_API_URL` - Base URL for Open-Meteo forecast API (default: https://api.open-meteo.com)\n- `OPEN_METEO_AIR_QUALITY_API_URL` - Air quality API URL (default: https://air-quality-api.open-meteo.com)\n- `OPEN_METEO_MARINE_API_URL` - Marine weather API URL (default: https://marine-api.open-meteo.com)\n- `OPEN_METEO_ARCHIVE_API_URL` - Historical data API URL (default: https://archive-api.open-meteo.com)\n- `OPEN_METEO_SEASONAL_API_URL` - Seasonal forecast API URL (default: https://seasonal-api.open-meteo.com)\n- `OPEN_METEO_ENSEMBLE_API_URL` - Ensemble forecast API URL (default: https://ensemble-api.open-meteo.com)\n- `OPEN_METEO_GEOCODING_API_URL` - Geocoding API URL (default: https://geocoding-api.open-meteo.com)\n- `OPEN_METEO_FLOOD_API_URL` - Flood forecast API URL (default: https://flood-api.open-meteo.com)\n- `OPEN_METEO_CLIMATE_API_URL` - Climate projection API URL (default: https://climate-api.open-meteo.com)\n- `TRANSPORT` - Transport mode: `http` for Streamable HTTP, omit for stdio (default: stdio)\n- `PORT` - HTTP server port when using HTTP transport (default: 3000)\n- `HOST` - Interface the HTTP transport binds to (default: `127.0.0.1`, loopback only). Set to `0.0.0.0` to accept connections from other machines. The Docker image sets this to `0.0.0.0` already, so published ports work out of the box.\n\n#### HTTP Transport Security (optional)\n\n- `API_KEY` - When set, all requests to `/mcp` must include this key via `Authorization: Bearer <key>` or `X-API-Key: <key>`. Leave unset for open access (local/dev mode). Enforced on `GET`, `POST` and `DELETE` alike.\n- `RATE_LIMIT_RPM` - Maximum requests per minute per IP (default: `60`). HTTP transport only.\n- `TRUSTED_PROXIES` - Comma-separated list of trusted proxy IPs or CIDR ranges (e.g. `10.0.0.0/8,172.16.0.0/12`). When set, `X-Forwarded-For` is honoured only for requests originating from these addresses. Leave unset to always use the direct connection IP.\n- `ALLOWED_ORIGINS` - Comma-separated list of browser origins permitted to reach the server (e.g. `http://localhost:5173,https://app.example`). Protects against DNS rebinding: any request carrying an `Origin` header that is not listed is rejected with `403`. Requests without an `Origin` header — CLI clients and SDK transports — are unaffected. Empty by default.\n\n`/health` stays reachable without a key and without rate limiting, so container probes keep working.\n\n## Skills\n\nThe `skills/` directory contains SKILL.md files that help AI assistants use this MCP server effectively. They act as contextual guides — the AI reads the relevant skill to know which tool to call and how to use its parameters.\n\n### Available skills\n\n| Skill | File | Best for |\n|-------|------|----------|\n| `open-meteo` | `skills/open-meteo/SKILL.md` | Everyday weather: forecasts, historical data, air quality, marine conditions, elevation |\n| `open-meteo-advanced` | `skills/open-meteo-advanced/SKILL.md` | Specific models (ECMWF, GFS, DWD ICON…), ensemble uncertainty, seasonal outlooks, climate projections |\n\n### Using with Claude Code (CLI)\n\nCopy the skill(s) to your Claude skills directory:\n\n```bash\ncp -r skills/open-meteo ~/.claude/skills/\ncp -r skills/open-meteo-advanced ~/.claude/skills/\n```\n\nThis installs them at `~/.claude/skills/open-meteo/SKILL.md` and `~/.claude/skills/open-meteo-advanced/SKILL.md`. Claude Code will load the relevant skill automatically when you ask weather-related questions.\n\n### Using with Claude Desktop\n\nUpload the SKILL.md file directly as a document in your Claude Desktop conversation:\n- For everyday weather questions: upload `skills/open-meteo/SKILL.md`\n- For model selection, ensemble, or climate projections: upload `skills/open-meteo-advanced/SKILL.md`\n\nUpload one skill per conversation. The AI will use it as a reference guide throughout the session.\n\n## Usage Examples\n\n### Geocoding and Location Search\n```\nFind the coordinates for Paris, France\n```\n\n```\nSearch for locations named \"Berlin\" and return the top 5 results\n```\n\n```\nWhat are the coordinates for postal code 75001?\n```\n\n```\nSearch for \"Lyon\" in France only (countryCode: FR) with results in French (language: fr)\n```\n\n```\nFind all cities named \"London\" in the United Kingdom with English descriptions\n```\n\n### Basic Weather Forecast\n```\nCan you get me the weather forecast for Paris (48.8566, 2.3522) with temperature, humidity, and precipitation for the next 3 days?\n```\n\n### Historical Weather Data\n```\nWhat were the temperatures in London during January 2023?\n```\n\n### Air Quality Monitoring\n```\nWhat's the current air quality in Beijing with PM2.5 and ozone levels?\n```\n\n```\nGive me the current European AQI, UV index, and pollen levels (birch, grass, ragweed) in Paris.\n```\n\n### Marine Weather\n```\nGet me the wave height and sea surface temperature for coordinates 45.0, -125.0 for the next 5 days.\n```\n\n### Flood Monitoring\n```\nCheck the river discharge forecast for coordinates 52.5, 13.4 for the next 30 days.\n```\n\n### Seasonal Forecast\n```\nGive me the weekly and monthly temperature outlook for Madrid over the next 4 months.\n```\n\n### Ensemble Forecast\n```\nCompare the ICON and GFS ensemble forecasts for Berlin over the next 5 days and show the spread across members.\n```\n\n### Climate Projections\n```\nShow me temperature projections for New York from 2050 to 2070 using CMIP6 models.\n```\n\n## API Parameters\n\n### Required Parameters\n- `latitude` : Latitude in WGS84 coordinate system (-90 to 90)\n- `longitude` : Longitude in WGS84 coordinate system (-180 to 180)\n\n### Hourly Weather Variables\n- `temperature_2m` : Temperature at 2 meters\n- `relative_humidity_2m` : Relative humidity\n- `precipitation` : Precipitation\n- `wind_speed_10m` : Wind speed at 10 meters\n- `wind_direction_10m` : Wind direction\n- `pressure_msl` : Mean sea level pressure\n- `cloud_cover` : Cloud cover percentage\n- `weather_code` : Weather condition code\n- `visibility` : Visibility\n- `uv_index` : UV index\n- And many more...\n\n### Daily Weather Variables\n- `temperature_2m_max/min` : Maximum/minimum temperatures\n- `precipitation_sum` : Total precipitation\n- `wind_speed_10m_max` : Maximum wind speed\n- `sunrise/sunset` : Sunrise and sunset times\n- `weather_code` : Weather condition code\n- `uv_index_max` : Maximum UV index\n\n### Air Quality Variables\n- `pm10` : PM10 particles\n- `pm2_5` : PM2.5 particles\n- `carbon_monoxide` : Carbon monoxide\n- `nitrogen_dioxide` : Nitrogen dioxide\n- `ozone` : Ozone\n- `sulphur_dioxide` : Sulfur dioxide\n- `ammonia` : Ammonia\n- `dust` : Dust particles\n- `alder_pollen` : Alder pollen (Europe only)\n- `birch_pollen` : Birch pollen (Europe only)\n- `grass_pollen` : Grass pollen (Europe only)\n- `mugwort_pollen` : Mugwort pollen (Europe only)\n- `olive_pollen` : Olive pollen (Europe only)\n- `ragweed_pollen` : Ragweed pollen (Europe only)\n- `european_aqi` : European Air Quality Index\n- `european_aqi_pm2_5` : European AQI for PM2.5\n- `european_aqi_pm10` : European AQI for PM10\n- `european_aqi_nitrogen_dioxide` : European AQI for NO₂\n- `european_aqi_ozone` : European AQI for ozone\n- `european_aqi_sulphur_dioxide` : European AQI for SO₂\n- `us_aqi` : US Air Quality Index\n- `us_aqi_pm2_5` : US AQI for PM2.5\n- `us_aqi_pm10` : US AQI for PM10\n- `us_aqi_nitrogen_dioxide` : US AQI for NO₂\n- `us_aqi_ozone` : US AQI for ozone\n- `us_aqi_sulphur_dioxide` : US AQI for SO₂\n- `us_aqi_carbon_monoxide` : US AQI for CO\n- `uv_index` : UV index\n- `uv_index_clear_sky` : UV index under clear sky conditions\n\n### Marine Weather Variables\n- `wave_height` : Wave height\n- `wave_direction` : Wave direction\n- `wave_period` : Wave period\n- `wind_wave_height` : Wind wave height\n- `swell_wave_height` : Swell wave height\n- `sea_surface_temperature` : Sea surface temperature\n\n### Formatting Options\n- `temperature_unit` : `celsius`, `fahrenheit`\n- `wind_speed_unit` : `kmh`, `ms`, `mph`, `kn`\n- `precipitation_unit` : `mm`, `inch`\n- `timezone` : `Europe/Paris`, `America/New_York`, etc.\n\n### Time Range Options\n- `forecast_days` : Number of forecast days (varies by API)\n- `past_days` : Include past days data\n- `start_date` / `end_date` : Date range for historical data (YYYY-MM-DD format)\n\n## Development Scripts\n\n```bash\n# Development with auto-reload\nnpm run dev\n\n# Build TypeScript\nnpm run build\n\n# Start production server\nnpm start\n\n# Run tests\nnpm test\n\n# Type checking\nnpm run typecheck\n\n# Linting\nnpm run lint\n```\n\n## Evaluations\n\nThe `evals/` directory holds an LLM-usability benchmark for this server's tools — a different check than `npm test`. Unit tests verify the code is correct; this verifies that an LLM given *only* this server's tools (no other context) can actually complete realistic tasks with them.\n\n- `evals/evaluation.xml` — 10 independent, read-only question/answer pairs built on stable historical data (ERA5 archive, CMIP6 projections, geocoding, elevation), so the expected answers never change over time.\n- `evals/scripts/evaluation.py` — harness that launches the server, lets an agent answer each question using only its tools, and compares the answer against the expected one.\n\n### Running the evaluation\n\n```bash\nnpm run build\npip install -r evals/scripts/requirements.txt\nexport ANTHROPIC_API_KEY=your_api_key_here\n\nnpm run eval\n# or directly:\npython3 evals/scripts/evaluation.py -t stdio -c node -a dist/index.js evals/evaluation.xml\n```\n\nThis calls the real Anthropic API for every question, so it consumes tokens/credits — it's a manual quality check for tool design, not part of CI.\n\nWhen adding, removing, or renaming a tool, or materially changing a tool's description or schema, consider adding or updating a `qa_pair` in `evals/evaluation.xml` that exercises it.\n\n## Project Structure\n\n```\nsrc/\n├── index.ts          # MCP server entry point\n├── client.ts         # HTTP client for Open-Meteo API\n├── tools.ts          # MCP tool definitions\n├── types.ts          # Zod validation schemas\n├── truncation.ts     # Response size capping and serialization\n└── security.ts       # Auth, origin validation, rate limiter, IP extraction\n```\n\n## API Coverage\n\nThis server provides access to all major Open-Meteo endpoints:\n\n### Weather Data\n- Current weather conditions\n- Hourly forecasts (up to 16 days)\n- Daily forecasts (up to 16 days)\n- Historical weather data (1940-present)\n\n### Specialized Models\n- High-resolution regional models (DWD ICON, Météo-France AROME)\n- Global models (NOAA GFS, ECMWF)\n- Regional specialists (JMA for Asia, MET Norway for Nordics)\n\n### Environmental Data\n- Air quality forecasts\n- Marine and ocean conditions\n- River discharge and flood warnings\n- Climate change projections\n\n### Advanced Features\n- Ensemble forecasts for uncertainty quantification\n- Seasonal forecasts for long-term planning\n- Multiple model comparison\n- Customizable units and timezones\n\n## Error Handling\n\nThe server provides comprehensive error handling with detailed error messages for:\n- Invalid coordinates\n- Missing required parameters\n- API rate limits\n- Network connectivity issues\n- Invalid date ranges\n\n### Response Size Limits\n\nTool responses are capped at 25,000 characters so a single wide query cannot overflow an LLM's context. When a response exceeds the limit, the time-series arrays (`hourly`, `daily`, `minutely_15`) are shortened by an equal ratio — keeping every parallel series aligned on the same timestamps — and two fields are added:\n\n```json\n{\n  \"truncated\": true,\n  \"truncation_message\": \"Response truncated from 95538 characters to stay within the 25000-character limit. Narrow the request (start_date/end_date, forecast_days, past_days, or fewer variables) to retrieve the full data.\"\n}\n```\n\nTo get complete data, narrow the request: shorter date range, fewer `forecast_days`/`past_days`, or fewer variables.\n\n## Performance\n\n- Efficient HTTP client with connection pooling\n- Optimized data serialization\n- Minimal memory footprint\n\n## API Documentation\n\nFor detailed API documentation, refer to the `openapi.yml` file and the [Open-Meteo API documentation](https://open-meteo.com/en/docs).\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n### Development Setup\n\n1. Fork the repository\n2. Clone your fork: `git clone https://github.com/your-username/open-meteo-mcp.git`\n3. Install dependencies: `npm install`\n4. Create a feature branch: `git checkout -b feature/amazing-feature`\n5. Make your changes and add tests\n6. Run tests: `npm test`\n7. Commit your changes: `git commit -m 'Add amazing feature'`\n8. Push to the branch: `git push origin feature/amazing-feature`\n9. Open a Pull Request\n\n### Releasing\n\nThis project uses automated releases via GitHub Actions. To create a new release:\n\n```bash\n# For a patch release (1.0.0 -> 1.0.1)\nnpm run release:patch\n\n# For a minor release (1.0.0 -> 1.1.0)\nnpm run release:minor\n\n# For a major release (1.0.0 -> 2.0.0)\nnpm run release:major\n```\n\nThe GitHub Action will automatically:\n- Run tests and build the project\n- Publish to npm with provenance\n- Create a GitHub release\n- Update version badges\n\n## License\n\nMIT","readmeFilename":"README.md"}