{"_id":"@cyanheads/usgs-water-mcp-server","_rev":"21-70d9d0d14bf9251008c5ffbcf4d209cb","name":"@cyanheads/usgs-water-mcp-server","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.1":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.1","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"da43819f5138df64c59df5607d5c83e858ceea27","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.1.tgz","fileCount":73,"integrity":"sha512-UQQmzlOlLWSmeaDf7W0m0UiXnOVzV8dOX59VaMX2qQ/ivzpQEck3rtA8eHSyubrQI/WMZ13KorUpxnIxtO242g==","signatures":[{"sig":"MEQCIQCWgN6oH0cFCM61S+c/BaWqBvHeqjyvLnI5xjlX+tvegQIffG3gcrq3U3e0CBX52OKie2gXCtQPezJyIOC3YxPadg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236911},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"da43819f5138df64c59df5607d5c83e858ceea27","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-UQQmzlOlLWSmeaDf7W0m0UiXnOVzV8dOX59VaMX2qQ/ivzpQEck3rtA8eHSyubrQI/WMZ13KorUpxnIxtO242g==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.1_1780663093278_0.7552387074407907","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.2","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"73ffced2b8468e711f271c62e41969ffab413315","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.2.tgz","fileCount":74,"integrity":"sha512-eK+QpNnmTEae0CjEUN18XsYcVkJBS6dup94e+YQOP541dncD/+iW02kJX0t0m1A44goXPcmuytlNtfq3XUi9cw==","signatures":[{"sig":"MEQCIA9uK4uiHnjsa029n+KhWo9639ZknI92Zqdz2PmILkbvAiBWoWjl/s63Kix7nMu3hHe7TYxhLF0sVFyaI4Gd6Je5BQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237944},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"73ffced2b8468e711f271c62e41969ffab413315","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-eK+QpNnmTEae0CjEUN18XsYcVkJBS6dup94e+YQOP541dncD/+iW02kJX0t0m1A44goXPcmuytlNtfq3XUi9cw==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.2_1780783815412_0.043419255103208876","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.3","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"3b55a04c248919ec6928fbdca34ef866f5bc1c5d","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.3.tgz","fileCount":75,"integrity":"sha512-1AmproPnLgZ5o01mYHdzTbriSgD2Y5Wks85vBFoXU/zTQQf4YggV0uxF1wPN05F8keuG2stY4WJim238w/Hh0A==","signatures":[{"sig":"MEYCIQDg3IkuaoMADYWQ8+lzaiT5BWmWWLUbt9XilMxZG5C9lQIhAPh+A/2Kk8AreHC7rL/+QFWl5UIu/Rd6NjNL/aaZHIfT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251150},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3b55a04c248919ec6928fbdca34ef866f5bc1c5d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1AmproPnLgZ5o01mYHdzTbriSgD2Y5Wks85vBFoXU/zTQQf4YggV0uxF1wPN05F8keuG2stY4WJim238w/Hh0A==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.3_1780815031713_0.25142108704526356","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.4","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"27ea786d428ff6e89a19162031b63e0e7e46bba4","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.4.tgz","fileCount":76,"integrity":"sha512-9CPQEN+UkXMvd+PJjfb5H8RzVb/PhW/u4e86648dX0mZxj6L0q8m3oGNWro2ALNj/F3hv6GENEhOOhkD00LMDg==","signatures":[{"sig":"MEUCIF+q5ljzMOpSSvrPzZyUZwmNqBQtRmOLmCFRvAEmMx8/AiEAil6ojGs6T9B3jcem8cs/IGPIZdyBC4NJlhs49rTtWTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258444},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"27ea786d428ff6e89a19162031b63e0e7e46bba4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-9CPQEN+UkXMvd+PJjfb5H8RzVb/PhW/u4e86648dX0mZxj6L0q8m3oGNWro2ALNj/F3hv6GENEhOOhkD00LMDg==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.4_1780922745466_0.4123127218200364","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.5","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"800580f803d58fa1152574cf213f5e3a41f1a488","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.5.tgz","fileCount":77,"integrity":"sha512-KwObg0xQa87h7ZEh5Y5ENUQ0H53jPbrZ9Ap05Xhvman7WBGPDGUVPi/Au3H5pGrXhaQu7A0vR61djDk4V4ev2Q==","signatures":[{"sig":"MEUCIHfgk0cavz+XSljE2sVIyhoQT2WB+tvYcTFdoXtIkgjlAiEAxQXmrj28LS+fNDr6gQ19ODAh1wumyqKJfaR0Y0hLU6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261309},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"800580f803d58fa1152574cf213f5e3a41f1a488","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-KwObg0xQa87h7ZEh5Y5ENUQ0H53jPbrZ9Ap05Xhvman7WBGPDGUVPi/Au3H5pGrXhaQu7A0vR61djDk4V4ev2Q==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.3-r.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.5_1781322424359_0.264335819198388","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.6","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"edaf8a2171fb1a4d5f9fdb81c3dc444aea0b05bb","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.6.tgz","fileCount":78,"integrity":"sha512-Me9swMZSjINwVHMrV6kFnAw4LFKK0YlvhUR8LBO749yGW//MgAsF/HBjVziNJRNcSmxQeAeB+3u/Vt4GqRQvMA==","signatures":[{"sig":"MEUCIHvCcNSIrcA18BDTlJawVJRe4Zd0GrcgshJpkpyDf5AEAiEAi41BaVdixJUO8Du9dQQWWmPA9YxnsVkjTgvDZ5Wr32E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264495},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"edaf8a2171fb1a4d5f9fdb81c3dc444aea0b05bb","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Me9swMZSjINwVHMrV6kFnAw4LFKK0YlvhUR8LBO749yGW//MgAsF/HBjVziNJRNcSmxQeAeB+3u/Vt4GqRQvMA==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.6_1781980112065_0.9024307012993094","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.7","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/usgs-water-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"064513ced42e99bf9b36bf37ae065b715267cb89","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.7.tgz","fileCount":79,"integrity":"sha512-Ga/5O3aPKd7xyFph53hwJZRIGu1BNji9Zap1/DnA1nlR62SoLnPtu6tOZgK0I60yiyRInefnC1O36w12N1xu0g==","signatures":[{"sig":"MEQCIHkrgrbokEtff0tShcGuEwDPZoHilb1XBdSxC1jTfin8AiATi5LyppArvD76ssyMLoLOpO9aaDCNRzJIVwv14SUapQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266113},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"064513ced42e99bf9b36bf37ae065b715267cb89","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Ga/5O3aPKd7xyFph53hwJZRIGu1BNji9Zap1/DnA1nlR62SoLnPtu6tOZgK0I60yiyRInefnC1O36w12N1xu0g==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.7_1782098791078_0.10609670682589778","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.8","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"87bc63f04d50887a89cfd91f36cc117333594d89","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.8.tgz","fileCount":84,"integrity":"sha512-pc48O0XNL2QsVSyCly9DgkWna+2+dHVDuM4pLkl62WHH2lTKAygJF3MZ1hVm6fdKm7TNpFntwUK5q2ykIt5ytA==","signatures":[{"sig":"MEUCIQCUxb5SeXUQCMzjMoFrOoatXsvczF0yRGjFkU0fubjlYQIgOCx//wpY9ynZRejGHvrmgTnxv8qPOLJIhvvbh1PE3/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286135},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"87bc63f04d50887a89cfd91f36cc117333594d89","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-pc48O0XNL2QsVSyCly9DgkWna+2+dHVDuM4pLkl62WHH2lTKAygJF3MZ1hVm6fdKm7TNpFntwUK5q2ykIt5ytA==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.8_1784166942868_0.04313560949421147","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.9","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"7d19f2742ece114fb5ed51ac7375e4f66cc3e302","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.9.tgz","fileCount":85,"integrity":"sha512-cu51vvnYXglk9Qf8nCKVGyxYJYDmred/FaSasp9jJAb5GYOJwzmd3tiq3ACzLjsrcYTxwK33rG5w/C+fpIzxRw==","signatures":[{"sig":"MEUCIESlt3L5TmlE3EexOXDjhfSr7uD4dBN2+dK8reD1A/RnAiEAqiTjVlz3c6NYTzc+xtfikfkoc1jIcpziDGc98jAhQMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292480},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7d19f2742ece114fb5ed51ac7375e4f66cc3e302","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-cu51vvnYXglk9Qf8nCKVGyxYJYDmred/FaSasp9jJAb5GYOJwzmd3tiq3ACzLjsrcYTxwK33rG5w/C+fpIzxRw==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.9_1784168819959_0.09573030943489758","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.10","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"adf69fc6d46b09073980de31841d3bd64a2d2d21","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.10.tgz","fileCount":86,"integrity":"sha512-kQu4UolgXj3IWZ9+Kpi/vBZMh89xoH0o5Irtah98t+UjL3uvhTLWXLb/aWhB4oIPfnhcaG0h+bD7i/no+v1ImA==","signatures":[{"sig":"MEUCIDv42+UrJx9HpkEzFYsO2RQgk7WoYzGs0HjU/SSZUCgJAiEA8JAMHImy9tNMGy7P3ZxWK1HDFYybCDlhHQ9WMPkEx6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303398},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"adf69fc6d46b09073980de31841d3bd64a2d2d21","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-kQu4UolgXj3IWZ9+Kpi/vBZMh89xoH0o5Irtah98t+UjL3uvhTLWXLb/aWhB4oIPfnhcaG0h+bD7i/no+v1ImA==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.10_1784248362186_0.03180829210295366","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.11","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"3513dd46067efd4bac72feaf1f1ae140081eb2de","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.11.tgz","fileCount":87,"integrity":"sha512-SV4kLuyFQet8nUSMbbNrdUF9xtXPIfRwRYR7bebBKWWVyrZzh7ArJzyeDlOTa/hkiV/cD4Gg4Yv8MCRDQaXUPQ==","signatures":[{"sig":"MEUCIQDemKpLSMsmaqr3vMD523QZTl3QYzO5JvCUFi9296T0vgIgPzds9cHh1qBiG3LEQXUzpriVRGJEWZTUpDBs/ny+DLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309104},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3513dd46067efd4bac72feaf1f1ae140081eb2de","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-SV4kLuyFQet8nUSMbbNrdUF9xtXPIfRwRYR7bebBKWWVyrZzh7ArJzyeDlOTa/hkiV/cD4Gg4Yv8MCRDQaXUPQ==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.11_1784252180101_0.3071218929463415","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.12","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"a4b2c53c1e24c178c99db439f7d2dd23dcc011c8","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.12.tgz","fileCount":88,"integrity":"sha512-hiy4TNjCVAZaW+iGOIwB6drRkzorY2t/QEu1azNX4BRtL1g3iLF+SeI3GEmhikV7s7mCndgcMg8kLl5HuD4ICA==","signatures":[{"sig":"MEQCIHu5RRZ1JaPcrglmeR+aop6e7xKldQlkjSGISwqtGe+nAiBKJmAoaz+x9H1P0eMVHE21f7DN6JNULoubb/3UW0CvvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318716},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a4b2c53c1e24c178c99db439f7d2dd23dcc011c8","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-hiy4TNjCVAZaW+iGOIwB6drRkzorY2t/QEu1azNX4BRtL1g3iLF+SeI3GEmhikV7s7mCndgcMg8kLl5HuD4ICA==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.12_1784265703996_0.9699718070298293","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.1.13","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.1.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"3707211997a786fcca34cfbcef3ee435e78e8cff","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.1.13.tgz","fileCount":89,"integrity":"sha512-9N1ORGD79WDOhoneKcwJ7u90Es94qnqgYYAlnUm6RzyS23kEcDawEE37TIab2vR8wfLFAWjdSpaerCcuQ1Jf8Q==","signatures":[{"sig":"MEUCIQCo7tYn2TtotR6A8f7LnHUEc7WQoXxV/rgpJPAmXx13awIgL162iHD3CZswWAnrNDZirR+yFOwgxe+834hyZkTc2xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322291},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3707211997a786fcca34cfbcef3ee435e78e8cff","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-9N1ORGD79WDOhoneKcwJ7u90Es94qnqgYYAlnUm6RzyS23kEcDawEE37TIab2vR8wfLFAWjdSpaerCcuQ1Jf8Q==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.1.13_1784269455309_0.5971672009843523","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.0","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"5747a500be83c05165d2cfbeb404d4eb8a69d60a","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.0.tgz","fileCount":90,"integrity":"sha512-wciO56EopV/rYgRJsvrdr41aB62lw2vsRHhwoN/WQJC3g9S1J+cqwMpKC3z6GtbXbScJ69kd3DeaFHlS+aMxhw==","signatures":[{"sig":"MEUCIQDJxPMJ19lhvA2oWi3ViuT7ncBexhuaoNAJt0Gmr8uO0wIgXFZaio1IdNp9sH9eGlU4EDDCAfTP7Ziqk+Hk1i9uDGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325334},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5747a500be83c05165d2cfbeb404d4eb8a69d60a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-wciO56EopV/rYgRJsvrdr41aB62lw2vsRHhwoN/WQJC3g9S1J+cqwMpKC3z6GtbXbScJ69kd3DeaFHlS+aMxhw==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.0_1784272332402_0.6889527181009085","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.1","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"92edfaf578f179e04ab80bbd934bdb4fecad6883","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.1.tgz","fileCount":91,"integrity":"sha512-ffizrLZ9J291C1kdv5zq84iyFM5zup+L8XjE8n3XmkXqzf/9RA3pj1ccyhsdfSfrwLhKnvRkApgJmR4z5hebfw==","signatures":[{"sig":"MEQCIBrLSJzudvIR3II3nWWVEk8Tbz/MsD1otSKwZd/KBO+HAiAr/LPVZC9oFzSmzlqaOSmourUafIOTrcvrWAffEHxbNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323942},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"92edfaf578f179e04ab80bbd934bdb4fecad6883","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ffizrLZ9J291C1kdv5zq84iyFM5zup+L8XjE8n3XmkXqzf/9RA3pj1ccyhsdfSfrwLhKnvRkApgJmR4z5hebfw==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.4","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.1_1784458797702_0.471275152427173","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.2","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"f50f9db93922d324cb4c8c958c20cf099c39bbf3","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.2.tgz","fileCount":92,"integrity":"sha512-1/RjVkHz3bOEQP9hW1qKdtP2no+AH0t1WyBnFVEmdZROXJpxLU7fkdRmZql1vbdQScXrLq2imPexvfsWz3pZ0g==","signatures":[{"sig":"MEQCIGbBygG1EjS/ollnMJwmy6IUpYZsZ4TLCXL/+806WJNbAiBptTmT0/sJHe13BBywpgBu2Bg2j2G91S9rkTu+fDzC2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333633},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f50f9db93922d324cb4c8c958c20cf099c39bbf3","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1/RjVkHz3bOEQP9hW1qKdtP2no+AH0t1WyBnFVEmdZROXJpxLU7fkdRmZql1vbdQScXrLq2imPexvfsWz3pZ0g==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.4-r.1","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.2_1784463007210_0.8694932609528598","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.3","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"b93abad243d4bce19d580c749a8844ec60e5db8d","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.3.tgz","fileCount":93,"integrity":"sha512-S4b+80SykxxTtIFPz3sf4TBF12AAGiYSV4lZwFjrj4GMGefX9HDRpzzF2zcEgP8f3e/cDRmPriSnVWnYh1YsDQ==","signatures":[{"sig":"MEUCIQC2RHsfkUH2lCFAvB+EedIMzwewWuifYeQs77V5NhMD5QIgaYZMCC0Dt/WACnncgXN0gx/v09i7D7Q3IjDMo0TWusc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338876},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b93abad243d4bce19d580c749a8844ec60e5db8d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-S4b+80SykxxTtIFPz3sf4TBF12AAGiYSV4lZwFjrj4GMGefX9HDRpzzF2zcEgP8f3e/cDRmPriSnVWnYh1YsDQ==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.4","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.3_1787435477213_0.31459273898958573","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.4","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"17348af2836bebc2e9b83213ca692226f002a7c2","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.4.tgz","fileCount":94,"integrity":"sha512-DyqavKjM9uOdZ28op3olc2bls8fTpix1H8/1jeoXnP1nq7SFx4GGw2xCckcWhc9NRmj8bOpb584+/8xVHFYF3Q==","signatures":[{"sig":"MEYCIQDVtIfG3lGuki0ytvIx1/TWPaW1g7ZbhTJaR7MiE6ljaQIhAPQBEwVTZ/WVKpVZp/NGG8Rlsquy/vyZO0ROtPAfj+nN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDzLv/zVzi9wfId0kJKlN3S9qmvbtfpvV21M0mfCTSSRAIgRM8cKlbgvHmuMa+4SXpcLVxM7IkuONuXxhKbZSBopzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346568},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"17348af2836bebc2e9b83213ca692226f002a7c2","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-DyqavKjM9uOdZ28op3olc2bls8fTpix1H8/1jeoXnP1nq7SFx4GGw2xCckcWhc9NRmj8bOpb584+/8xVHFYF3Q==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.5","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.4_1789851502109_0.1754378864379207","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.5","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"07dd9bf7e4bc78b89767a4287bc44371fbd8faaa","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.5.tgz","fileCount":99,"integrity":"sha512-7RSjRc0DtScitSSc1NYpM1Uw9CVFm48j2ifdqvts8s+/5dVx4kFtDTu89/4Lx5E6HwQtC0PFojVahBwUS90k/A==","signatures":[{"sig":"MEQCICN5X1xeQosqY2ivtM7NsWpGiIRQElZiqGz1JZplnyzhAiA0Sk4hQx7kEu/QHlDCD5DgHW9BfD3vbncI3QCI3p9SMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrqdw3pObR2+Vjer5ucl1LE4dElJ2uib68CRL/KVeMOwIgWCLZcxq/68TG0TlBePyJrr7ak/bBxmC8ymO57YxOdMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379881},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"07dd9bf7e4bc78b89767a4287bc44371fbd8faaa","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-7RSjRc0DtScitSSc1NYpM1Uw9CVFm48j2ifdqvts8s+/5dVx4kFtDTu89/4Lx5E6HwQtC0PFojVahBwUS90k/A==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.5","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.5_1790097876892_0.08151160237581534","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/usgs-water-mcp-server","version":"0.2.6","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/usgs-water-mcp-server@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"bin":{"usgs-water-mcp-server":"dist/index.js"},"dist":{"shasum":"4c2a5472286e81c0e963778ff3ff332e7520fae6","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.2.6.tgz","fileCount":112,"integrity":"sha512-88sE2kruxSX2JyS/IsksxEdfmRpixVdgLnXIVZ7BKBUtXAGeJg0/HX7LEfl9QX8IeVjf3arpHm50pU9cRgpidg==","signatures":[{"sig":"MEYCIQC71UHm2/oRjReJvamVIHMalTWAG5LpWZcOZzaRzyCpQgIhAJKaKzW3NW+gUVBkg67Ae1zBIF8upzJPyjOF1l1oDyuM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC6D8ZtMJz7mGP8Ck2vA2w582lOl2v4WNKlOQgCNn7xQQIgWPcCdfBW+Jf1fSxJNLDzjp1Gm0/wkvEvvas2N4czpSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473750},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"4c2a5472286e81c0e963778ff3ff332e7520fae6","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-88sE2kruxSX2JyS/IsksxEdfmRpixVdgLnXIVZ7BKBUtXAGeJg0/HX7LEfl9QX8IeVjf3arpHm50pU9cRgpidg==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.5-r.5","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.3"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/usgs-water-mcp-server_0.2.6_1790325160829_0.5317004092366744","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@cyanheads/usgs-water-mcp-server@0.3.0","bin":{"usgs-water-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"dist":{"shasum":"c1fe384e4faed21a8121ad01022bee8271df0bb8","tarball":"https://registry.npmjs.org/@cyanheads/usgs-water-mcp-server/-/usgs-water-mcp-server-0.3.0.tgz","fileCount":117,"integrity":"sha512-J6H4Mgdyl0pVRkSfViSFODquJ5rTS1qAbJq0jOybxA4eM4pfMT5pmlft2oyInDpMpaoU+NyFWRaS7YQ5UlmOtw==","signatures":[{"sig":"MEQCIEiJwXMTmxpU9OZE2JwsDKS26mCko2aIQYK8PGIjshysAiBZydZiQJx9uLv4ph5tiUHGk8oLfIdUqLCiTIvBo4HArQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDJZ0to92ODYf67hCLglEWtQb4d21VdgHt2BxTPVNn8RAIgRsaSdWPxnoIE+VzAe4bTVdyfuLmKfOBJe4hIBiWtPCU="}],"unpackedSize":496869},"main":"dist/index.js","name":"@cyanheads/usgs-water-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"c1fe384e4faed21a8121ad01022bee8271df0bb8","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/usgs-water-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/usgs-water-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/usgs-water-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"version":"0.3.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"_integrity":"sha512-J6H4Mgdyl0pVRkSfViSFODquJ5rTS1qAbJq0jOybxA4eM4pfMT5pmlft2oyInDpMpaoU+NyFWRaS7YQ5UlmOtw==","repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@duckdb/node-api":"^1.5.6-r.1","@cyanheads/mcp-ts-core":"^0.13.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"ignore":"^7.0.11","vitest":"^5.0.3","depcheck":"^1.4.7","tsc-alias":"^1.9.7","typescript":"^7.0.2","@types/node":"^26.6.3","@biomejs/biome":"^2.5.15","@socketsecurity/bun-security-scanner":"^1.1.3"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/usgs-water-mcp-server_0.3.0_1791098215568_0.4030974711898314"}}},"time":{"created":"2026-06-05T12:38:13.085Z","modified":"2026-10-04T07:16:55.805Z","0.1.1":"2026-06-05T12:38:13.435Z","0.1.2":"2026-06-06T22:10:15.604Z","0.1.3":"2026-06-07T06:50:31.893Z","0.1.4":"2026-06-08T12:45:45.620Z","0.1.5":"2026-06-13T03:47:04.534Z","0.1.6":"2026-06-20T18:28:32.205Z","0.1.7":"2026-06-22T03:26:31.224Z","0.1.8":"2026-07-16T01:55:43.009Z","0.1.9":"2026-07-16T02:27:00.113Z","0.1.10":"2026-07-17T00:32:42.351Z","0.1.11":"2026-07-17T01:36:20.246Z","0.1.12":"2026-07-17T05:21:44.151Z","0.1.13":"2026-07-17T06:24:15.482Z","0.2.0":"2026-07-17T07:12:12.556Z","0.2.1":"2026-07-19T10:59:57.839Z","0.2.2":"2026-07-19T12:10:07.375Z","0.2.3":"2026-08-22T21:51:17.370Z","0.2.4":"2026-09-19T20:58:22.194Z","0.2.5":"2026-09-22T17:24:36.989Z","0.2.6":"2026-09-25T08:32:40.912Z","0.3.0":"2026-10-04T07:16:55.655Z"},"bugs":{"url":"https://github.com/cyanheads/usgs-water-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/usgs-water-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent","usgs","water-data","hydrology","nwis","stream-gage","groundwater","streamflow","water-quality","real-time-data","environmental-data"],"repository":{"url":"git+https://github.com/cyanheads/usgs-water-mcp-server.git","type":"git"},"description":"Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/usgs-water-mcp-server</h1>\n  <p><b>Query real-time and historical water data from ~8,000 USGS stream gages and groundwater wells via MCP. STDIO or Streamable HTTP.</b>\n  <div>8 Tools • 2 Resources</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.3.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/usgs-water-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.2.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/usgs-water-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/usgs-water-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.2-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/usgs-water-mcp-server/releases/latest/download/usgs-water-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=usgs-water-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvdXNncy13YXRlci1tY3Atc2VydmVyIl19) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22usgs-water-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fusgs-water-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://usgs-water.caseyjhand.com/mcp](https://usgs-water.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nUSGS NWIS water data — ~8,000 active stream gages and groundwater wells across the US and territories. Find monitoring sites, pull the latest readings or a historical time series, and rank current conditions against decades of percentile records from any MCP client. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:-----|:------------|\n| `water_list_parameters` | List well-known USGS parameter codes with names, units, and domain (no network call), or search the full ~19,600-code USGS catalog by name or description. |\n| `water_find_sites` | Find USGS monitoring sites by bounding box, state, county, or HUC watershed. Filter by site type and parameter availability. Large match sets spill to DataCanvas. |\n| `water_get_readings` | Get the latest instantaneous values (~15 min real-time) for up to 100 USGS sites. |\n| `water_get_series` | Get a time series of daily or instantaneous values for a site over a date range. Large ranges spill to DataCanvas. |\n| `water_get_conditions` | Get current hydrologic conditions ranked against the full period-of-record percentile statistics. |\n| `water_dataframe_describe` | List tables and columns staged on a DataCanvas by `water_get_series` or `water_find_sites`. |\n| `water_dataframe_query` | Run a read-only SQL SELECT against the time-series and site tables staged by `water_get_series` and `water_find_sites`. |\n| `water_dataframe_drop` | Drop one staged table from a DataCanvas, leaving the canvas and its other tables in place. Opt-in via `WATER_DATAFRAME_DROP_ENABLED`. |\n\n### Resources\n\n| Resource | Description |\n|:---|:---|\n| `usgs-water://site/{siteId}` | Site metadata: name, coordinates, type, HUC, state, county, drainage area, and altitude |\n| `usgs-water://parameters` | Curated well-known parameter codes (the list `water_list_parameters` returns without a query) |\n\nAll resource data is also reachable via tools. Use `water_find_sites` for geographic site discovery.\n\n## Capability reference\n\n### `water_list_parameters` <sub>tool</sub>\n\n- Without `query`: the curated, built-in list — no network call — of codes like `00060` (Discharge, ft³/s), `00065` (Gage height, ft), and `72019` (Depth to water level, ft), filtered by `group` (`streamflow`, `groundwater`, `temperature`, `meteorological`, `water-quality`, or `all`, the default)\n- With `query`: searches the full ~19,600-code USGS catalog by name or description (a bare 5-digit code returns that code) and returns at most 25 entries, each naming its `source` (`curated` or `usgs-catalog`), with `total` and `truncated` covering the full match set. `query` can't be combined with a `group` other than `all`\n- The catalog is fetched on the first query and cached for 24 hours; a failed fetch fails as a retryable `upstream_error`\n\n---\n\n### `water_find_sites` <sub>tool</sub>\n\n- Exactly one geographic scope per call — `bbox` (`\"west,south,east,north\"`), 2-letter `stateCd`, up to 20 comma-separated 5-digit FIPS `countyCd` codes, or a 2- or 8-digit `huc` — narrowed by `siteType` (`ST`, `GW`, `LK`, `SP`, …), `parameterCd`, and `hasDataTypeCd` (`iv` / `dv` / `gw`). A missing or doubled scope fails as `missing_major_filter` / `conflicting_major_filters` before any NWIS call\n- `limit` (1–500, default 500) and `offset` page through the match set, with `truncated` and `upstreamTotal` describing what lies outside the window; `siteOutput: expanded` adds drainage and contributing area\n- With `CANVAS_PROVIDER_TYPE=duckdb`, a match set over 500 sites also stages in full to a canvas (`canvas_id` / `table_name`) for `water_dataframe_query`\n\n---\n\n### `water_get_readings` <sub>tool</sub>\n\n- Up to 100 `sites` per call, an optional `parameterCd` filter, and a `period` lookback (ISO 8601, default `PT2H`); returns one series per site, parameter, and sensor method (`methodId` / `methodDescription`), capped at 100 series per call (kept round-robin across sites) and the 10 most recent records per series, with `totalSeries`, `totalValues`, and `truncated` reporting what the caps held back\n- Every value carries its qualifier codes (`P` provisional, `A` approved), and sites NWIS returned nothing for are named in `missingSites`\n\n---\n\n### `water_get_series` <sub>tool</sub>\n\n- One `site` and `parameterCd` per call over a `startDate`–`endDate` range; `seriesType` is `daily` (one value per day, the default) or `instantaneous` (~15 min). The most recent 500 records return inline, with `totalRecords` and `truncated` reporting the rest\n- Returns one named series — by default the daily mean and the sensor method with the most records; `statCd` (`00003` mean, `00001` maximum, `00002` minimum; daily only) and `methodId` select another, and `otherSeries` lists every alternative with its record count\n- With `CANVAS_PROVIDER_TYPE=duckdb`, a range over 500 records spills the complete series to a canvas (`canvas_id` / `table_name`); pass a prior `canvas_id` to add the table to an existing canvas\n\n---\n\n### `water_get_conditions` <sub>tool</sub>\n\n- One `site` and `parameterCd`; ranks the current instantaneous reading against the period-of-record daily-mean percentiles for its calendar day as a `percentileClass` — `record-high` (≥p95), `above-normal`, `normal`, `below-normal`, `low`, `record-low` (<p05), or `unknown` for a no-data reading — with `percentileLabel` stating the threshold in plain language and `comparisonBasis` noting that the ranking is approximate, not a flood-stage or drought determination\n- When percentiles can't be applied, the reading still returns with `historicalContext: null` and a `historicalContextStatus` of `no_record`, `no_matching_day`, `no_matching_method`, or `unavailable` (a transient stat-service failure); on a multi-sensor site, `methodId` and `methodMatched` name the sensor read and whether the percentiles came from its own series\n\n---\n\n### `water_dataframe_describe` <sub>tool</sub>\n\n- Lists the tables staged on a canvas by `water_get_series` or `water_find_sites`, with each column's name, DuckDB type, and nullability — call it before `water_dataframe_query` or `water_dataframe_drop` to confirm the exact names\n- `row_count` is a DuckDB estimate and may differ from the exact count\n\n---\n\n### `water_dataframe_query` <sub>tool</sub>\n\n- A single read-only `SELECT` against the staged tables; other statements and system-catalog access (`information_schema`, `pg_catalog`, `duckdb_*`) are rejected\n- Capped at 10,000 rows per query; `truncated: true` signals more matched — narrow with `WHERE`/`LIMIT`, or run `SELECT COUNT(*)` for the true total\n\n---\n\n### `water_dataframe_drop` <sub>tool</sub>\n\n- Removes one staged table by `table_name` (matched case-insensitively) from the canvas named by `canvas_id`; the canvas and its other tables stay, and the response reports the dropped table's `row_count` and the `remaining_tables`\n- A name not staged on the canvas fails as `table_not_found` and changes nothing, so a repeated drop is safe\n- Opt-in: callable only with `WATER_DATAFRAME_DROP_ENABLED=true`; otherwise it appears on the landing page as a disabled tool and is absent from `tools/list`. Like the other dataframe tools, it needs `CANVAS_PROVIDER_TYPE=duckdb`\n\n---\n\n### `usgs-water://site/{siteId}` <sub>resource</sub>\n\n- Returns `application/json` site metadata: name, coordinates, type, HUC watershed code, state, county, drainage area, and altitude\n- `siteId` is an 8–15 digit USGS site number — discover one via `water_find_sites`\n\n---\n\n### `usgs-water://parameters` <sub>resource</sub>\n\n- The curated table of well-known parameter codes as `application/json` — the list `water_list_parameters` returns without a query\n- Takes no parameters; a curated subset of the USGS catalog — search the rest with `water_list_parameters` `query`\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.\n\nUSGS Water-specific:\n\n- Wraps NWIS IV (instantaneous), DV (daily), site, and stat endpoints plus the USGS Water Data parameter-code catalog — no API key required, fully public\n- Input formats are checked at the edge against what NWIS actually accepts — site numbers, parameter codes, ISO 8601 periods, HUC, FIPS county, state, and bbox each carry a validated pattern advertised in the tool's JSON Schema\n- HTML error detection: NWIS returns 400 with an HTML body for bad input, and the service layer extracts NWIS's own message and maps it to a typed failure\n- DataCanvas spillover: `water_get_series` (long date ranges) and `water_find_sites` (match sets past the 500-site cap) stage the full result as a DuckDB-backed table, queryable via `water_dataframe_query`; the spillover and the dataframe tools require `CANVAS_PROVIDER_TYPE=duckdb`, and `water_dataframe_drop` also needs `WATER_DATAFRAME_DROP_ENABLED=true`\n- No-data readings stay no-data: a value NWIS reports as `-999999` (a seasonal, discontinued, dry, or malfunctioning gage) returns as an empty `value` with qualifiers naming why (`Ssn`, `Dis`, `Dry`, `Eqp`) — never as a magnitude — and stages as `NULL` on a canvas\n- Groundwater depth reads through the standard IV service via parameter `72019` — the legacy `gwlevels` endpoint was decommissioned November 2025\n\nAgent-friendly output:\n\n- Percentile classification: `water_get_conditions` returns a `percentileClass` callers can act on directly, paired with a `percentileLabel` that states the threshold in plain language\n- Partial success over hard failure: `water_get_readings` returns the series it got and names the rest in `missingSites`; `water_get_conditions` separates an empty stat table (`no_record` / `no_matching_day`) from a failed stat call (`unavailable`, transient) instead of collapsing both into one error\n- Truncation signals: every capped response (`water_get_series`, `water_find_sites`, `water_get_readings`) reports its own count and a `truncated` flag, plus `canvas_id` / `table_name` when the rest is retrievable via SQL\n- Structured content and rendered text agree — every cap and count a tool applies appears identically in `structuredContent` and in the markdown\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://usgs-water.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"usgs-water-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://usgs-water.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"usgs-water-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/usgs-water-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"usgs-water-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/usgs-water-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"usgs-water-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"ghcr.io/cyanheads/usgs-water-mcp-server:latest\"\n      ]\n    }\n  }\n}\n```\n\nTo enable DataCanvas for SQL analytics over large result sets (time series and site match sets), add `CANVAS_PROVIDER_TYPE=duckdb` to the `env` block in any of the configs above.\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- No API key required — USGS NWIS is a free, public API.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/usgs-water-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd usgs-water-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# Edit .env to set any optional overrides\n```\n\n## Configuration\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `CANVAS_PROVIDER_TYPE` | Set to `duckdb` to enable DataCanvas spillover for large results from `water_get_series` and `water_find_sites`. | — |\n| `USGS_USER_AGENT` | Custom User-Agent string sent to USGS — NWIS and the parameter-code catalog. USGS requests a descriptive User-Agent per their terms. | `usgs-water-mcp-server/0.3.0 (contact: https://github.com/cyanheads/usgs-water-mcp-server)` |\n| `USGS_REQUEST_TIMEOUT_MS` | HTTP request timeout in milliseconds for USGS calls — NWIS and the parameter-code catalog. | `30000` |\n| `WATER_DATAFRAME_DROP_ENABLED` | Set to `true` to make `water_dataframe_drop` callable. Off, the tool is listed as disabled. Needs `CANVAS_PROVIDER_TYPE=duckdb` to have anything to drop. | `false` |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |\n| `MCP_SESSION_MODE` | HTTP session mode. The server declares `stateless` in code, matching `.env.example` and the Docker runtime; setting this overrides that, and `auto` resolves to `stateful`. | `stateless` |\n| `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_LOG_LEVEL` | Log level (RFC 5424). | `info` |\n| `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |\n| `LOG_TOOL_FAILURE_PAYLOADS` | Log each failed tool call's arguments and result, redacted by key name and capped at `LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES` (default `16384`). A secret inside a free-form value is not redacted. | `false` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry instrumentation](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry) (spans, metrics, completion logs). | `false` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t usgs-water-mcp-server .\ndocker run --rm -p 3010:3010 usgs-water-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/usgs-water-mcp-server`. OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n## Project structure\n\n| Directory | Purpose |\n|:----------|:--------|\n| `src/index.ts` | `createApp()` entry point — registers tools/resources and inits services. |\n| `src/config` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). |\n| `src/mcp-server/resources` | Resource definitions (`*.resource.ts`). |\n| `src/services/nwis` | NWIS HTTP client — IV, DV, site, and stat endpoints with HTML error detection. |\n| `src/services/waterdata` | USGS Water Data parameter-code catalog reader (24-hour cache) and the curated parameter table. |\n| `src/services/canvas` | DataCanvas accessor, caller-supplied `canvas_id` resolution, and deterministic table names for DuckDB-backed spillover. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools and resources via the barrels in `src/mcp-server/*/definitions/index.ts`\n- Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}