{"_id":"smart-web-mcp","_rev":"129-aa9f76f97f62602e19d46d21f4c25eb9","name":"smart-web-mcp","dist-tags":{"latest":"0.44.0"},"versions":{"0.1.0":{"name":"smart-web-mcp","version":"0.1.0","keywords":["mcp","web-search","web-fetch","claude-code","opencode","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.1.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"0d75e3330c5d135909b4f6ddb67eb35f02990cbe","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.1.0.tgz","fileCount":18,"integrity":"sha512-81UfrhfcRXBAd+8VL2OuGEbyw0VVFLMI3SaJT5vfdNbnD6Qt/5mse4JxTFY/KyqlhTlLxqeLU0vh3BVHh4GYYQ==","signatures":[{"sig":"MEUCIQDjxZDaWuWef4MphI9aUhsP3YaTyiuW6iinTZyg5fYAzwIgc5sKdYNB0l6eM0sGHocnw7AKA6G9jcc4iux6x8E/fMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115201},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"50337c9f63d060f74910f37ae093cfefc830d705","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.9.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","@modelcontextprotocol/sdk":"^1.18.1","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^24.7.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.1.0_1774069749905_0.23081942893116203","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"smart-web-mcp","version":"0.2.0","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.2.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"6293e65a1d6caa1940d7c0dd87a50468ad79ba1e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.2.0.tgz","fileCount":46,"integrity":"sha512-Vi5+VhhTHyatL7r//NJByMeO5KdHFBVQqKVTESiU/8mi4vhC7lf4gLmK5HWruBXE9N4naoVrJglV1CdNfhNsBA==","signatures":[{"sig":"MEYCIQDlQ+jCL+b9ozBoMrB8ukQeTE4YANJ6Wc2xWTZiPOFvFAIhALC4xwfeOPSSDpfNTA82L2zNQLq/8cxu4Dsp2TFEK8BY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140818},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"68dd0749734b74dbcd2c29b3f505b56a5d24f06d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.9.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^24.7.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.2.0_1774076188373_0.3015883808764295","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"smart-web-mcp","version":"0.3.0","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.3.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"9256ac41b6cdfa1ccf129468a47f2c46b7c2ba1b","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.3.0.tgz","fileCount":49,"integrity":"sha512-pSOPWSogkwTyUoHKU4R2YS4vdFgckfodLpV7IdHxcj+xUiBUThedIvJ7JQCEc2gIe5Fa5agFi2P3JC5f56+w0A==","signatures":[{"sig":"MEUCIAly/ukgaYN4A1AhEk4gInhXtGFGLT+ML8COl7T5D6KZAiEA6fbTKvwrHgGzBcKZxsbiBglLkLicLCPjACBJ/tLH+TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153856},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"daf640317ea2e7e54175195998530b2eac703a61","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.9.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^24.7.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.3.0_1774076768924_0.9762467413317939","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"smart-web-mcp","version":"0.4.0","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.4.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"e08a7c1167c447f78eea63a6359fac6168c3ab60","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.4.0.tgz","fileCount":58,"integrity":"sha512-fjWThm9eHAJ0LzNm+AvR60X4NnR7rn72Qi9ltvthJgSiayXuoDh4TLTLkpBsZ+duh9EEm+VNgSmZnm3r3YEQkQ==","signatures":[{"sig":"MEQCIAXyWA8yuxXcLIlvD8mh4jqwcooaK7U6p3Dyk7GAFTYTAiAz+pH8eStUM1I3PLae4U9CYO3om83G9rTSRlO13wEa0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161782},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"df64db30f2b91acd5c435ca581fd984720742cf1","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.9.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^24.7.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.4.0_1774077391176_0.3326775402562767","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"smart-web-mcp","version":"0.4.1","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.4.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8e488b7df838a83a932021fb47be4abe2a2bbb4f","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.4.1.tgz","fileCount":58,"integrity":"sha512-36gYpYBcAUvwlUDEtpixoDWGZ3toXQaGPVnnVzlZLCh6Rp3Rplwr9nwTuLCHwm8DXEBFd0B8dnQXZN7uaofwiw==","signatures":[{"sig":"MEUCIQCvIDRLLk1EdZopkN8DiZdcWnlC4cNXgX4rCasNHlq1fQIgF1TwzU6hNAB/IXjkuLgbWn8e+fiXkX1CXAo2c2Xs+y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164509},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1178727af474f59156559bf4c1f0cf8671c398a5","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.9.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^24.7.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.4.1_1774078080482_0.035399487897813664","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"smart-web-mcp","version":"0.4.2","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.4.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"ed8c2eab444425a5c33050ce7aae50649883c57e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.4.2.tgz","fileCount":58,"integrity":"sha512-Cgx0yRHI9WbSVN1M16+UMf4ia7VNWsSqXG1e2TzYh+LDORmh4ZtQsV90HUVZrNfeUnZoVv9IQIyhABBWtgvZsw==","signatures":[{"sig":"MEUCIB3roV63ADZhlFPvUUa25mtcGl47S9uVJZeZISa4H2yUAiEAjcQ8sFGdVzt05lxbsozO1qrCgHAj3/kUFAdUovVyUk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168626},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"897e8ef61e324cf3ce9dc6fffbf5115d6d50a2dd","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.4.2_1774078992849_0.1366850317662196","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"smart-web-mcp","version":"0.4.3","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.4.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"03bf6ea74eb1f2f9ed9260b26a530f5b01a23999","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.4.3.tgz","fileCount":58,"integrity":"sha512-cpvGDi8Xfr/A5RJc/4TzBHUddk/nM9E26Zi29LEqPPBaaezNZt8X8aFLs5yfPqYRrEGdCnspNMGJ69Q/PTAsAw==","signatures":[{"sig":"MEYCIQDz0r+0EAW9cwSuOkrqic8lWvlWpvrvdlJ1GZaRWWF+XQIhAOK16fnDPiyfwxpTbFd+q+S5quDFz6TXnFuYyICn/sUk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178498},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"66201b6e26d685da98e81ce7aeee0e8027d5317b","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.4.3_1774079726584_0.26178492106925866","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"smart-web-mcp","version":"0.4.4","keywords":["mcp","web-search","web-fetch","claude-code","opencode","youtube","smartfetch","smartsearch"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.4.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"5e7c988a301ef641271057e0409ecb6aaa2ba225","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.4.4.tgz","fileCount":61,"integrity":"sha512-ekrtwwzPNdxoNW1GG7k/M9stw36DsaFHd/7UT6Du3Ne74xQVf21S0IFas1/lqN19L1uJnvPlqCmdpofjWVVMJg==","signatures":[{"sig":"MEYCIQCM5Lb4m4LjL535aGzpBSaKE6q1In32LaT2vabCTkwuuAIhAJg1sSfvIdJkUQlWgU2Cr1HIDhpAfObsJ1A9rJi07y8k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207035},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"dac0ab6e4e2a2ce53c526d5dc250a1279dc55fbc","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build","check:meta":"node scripts/check-metadata.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server that provides smart web search and browser-aware fetch tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.4.4_1774090236454_0.5698755256891674","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"smart-web-mcp","version":"0.5.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"c47ad7aea04167ca902093454337250aef723331","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.0.tgz","fileCount":67,"integrity":"sha512-CB3+jV/cJk0Vpk00sGQptrAS1MhFhHqvohqdLoOYLpAgWxsX8oSBpS6B5jJ4iqWyUVm/NU60HK7MXQ0NYnqwMw==","signatures":[{"sig":"MEYCIQDo3rwYtaC9nDyEm5iEkFAfKEmVbWoVcUwL8UuEO+GiIAIhAOAAXKjH43kHYMQhRrZWlX9pFuV+aDbP7k7BaHA/NQZt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286022},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"010ecb7330242c77f080afe644b76388e3735351","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.0_1774232114269_0.6473558175364491","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"smart-web-mcp","version":"0.5.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"ec812bf060ede44f471aa433348393ba13c0dd33","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.1.tgz","fileCount":76,"integrity":"sha512-QsmmfsSx3YNBZXcV+yj45fcbnFTX/83mBoG21EnZY1XYNrB1C/9oarPNUkEx7q4AEPPYuQ5iceYIrWkCwy55fA==","signatures":[{"sig":"MEUCIFImkakdO0uKF5AjrOXwwEWDpPqFA3xN119zo42lXmLAAiEAiMuEp5q6cQd46mT5DEmp7UuemGaOb9Ep/PFfjMI8Gu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328133},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"6f4e07575cffca58e8f75af353a93059cbe36264","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.1_1774361065899_0.3675298064954431","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"smart-web-mcp","version":"0.5.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a80da9e54f29d93f21dd23093665bc143c7c9534","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.2.tgz","fileCount":76,"integrity":"sha512-pxg6voyVjra6iTH6FtS8s+qdpQ7pcWmFXlWgEiml8XH8dIREux4qMk4CxwBfwhlWZzi7/WQGs50HONIhCAB+5A==","signatures":[{"sig":"MEUCIEB/p+m8ArLH2thMRRLWWEDcwOAJl0B3p/W9UQItkmmMAiEAgygpPxfSaNG9z5/45FjIp3qChnHRt3i14RvDo7AtMoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329500},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"e4c65fb8d2e9f54bf9d745ac644f9450ca80859e","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.2_1774362440917_0.8754451073751639","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"smart-web-mcp","version":"0.5.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"10c7dac949a62b68147a3ef5867fc61c88070db5","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.3.tgz","fileCount":82,"integrity":"sha512-b+59pUHzVfI4Tftec1ydEV6y7KoUtZ+fPvEOzEh5ZMbmhH8nxPB0Fsjifp1zXSSG8u0KIjNmvAfTdm9A1kxwEg==","signatures":[{"sig":"MEUCIBSPkD0r/emxnnBWZUKHhB86mksxyBavizXuoWHerHdlAiEAtwn2zyRl/B1w6luNqqVeeLP/TpzG7gn8zIZ0i/A9HRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362042},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"9b537458f01691a8b539349ea58ccf49d7e6df3e","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.3_1774411500080_0.46282686325183375","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"smart-web-mcp","version":"0.5.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"776b5008ef50e69e7d6c03552fd64340d755841f","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.4.tgz","fileCount":82,"integrity":"sha512-X+4b2wLwflsyrsDLSsP8vTT7QSQX0B5gHEqd/RWYfP5+i0HxFfnO2f3BetE0YQ+QmBC5Es/ljvcecKElD4Ld0Q==","signatures":[{"sig":"MEQCICnKkOdsqwKcreLZjrE8rh1z+JqU15jLOrR5iXZ1O9YFAiAyVDWAqFIXrkYxG1D4UMN4XgipQj+DnuSXG3bOmUJPlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362130},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"81c92f9d29d7bb997367503f2d2e412becea87c1","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.4_1774510433289_0.5675225870080001","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"smart-web-mcp","version":"0.5.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"f8a0bc513b74b5a12cdb9f25308b3e8da7e6987b","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.5.tgz","fileCount":82,"integrity":"sha512-AStk6L+mOiWCVx1YQa6QGmHpdW0fCB4KjM0soDulVP52mx3jqdUmsNZIh67vW/srQVJ7BD+TiSkK58lphgOl4g==","signatures":[{"sig":"MEYCIQCuOuB+BCrrBpaOCpwbHqeryGJAGtPKXOGBHlpbzBLA4AIhANqcNUyUI6op9wpH2ajPb2ga8/3g1TI45EL5mMeDRTUe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372713},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"ba4a96d99e4b7194577029978dca6a42daed30ed","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.5_1774523855143_0.13666280962464983","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"smart-web-mcp","version":"0.5.6","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.6","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a98b5222f1a78cabe366abd4ca900c9100c1cce4","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.6.tgz","fileCount":88,"integrity":"sha512-1zhbdYsqqVVwcm6E6D0ToQGYz0LKA1teYyRYC55QXxuXxOLoWQbK79TNUxXUn34yUPPO61/Wx1NoT4IkS9rJ5Q==","signatures":[{"sig":"MEQCIB+ghjHvwlIA4SPX7J1/yErQGm037euHbnN4SxqcuKNxAiBDmoAw7sksUoTPXvlBCH6vTlMi4EWCMTc7bZ8XVcuf6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383598},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"cf78b09f5ac2fa601f7036f0bc6d8decd2531c37","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.6_1774534341793_0.10821244005872921","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"smart-web-mcp","version":"0.5.7","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.7","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"15ec896371e260d60f04dd44f2d98be556e261a3","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.7.tgz","fileCount":91,"integrity":"sha512-EQuxX5h51J7/F7NPLuBQHz/1DShgTlwZ1RNJf2N8/QuBnXWtK3TBTHxlTxCP+MQVA7sHFcOrHrenuzIsBhiuSA==","signatures":[{"sig":"MEQCIEOG9RXJKaCYFmIQVWZDkdVQVRWddglK9ZDp8MmlkkrVAiAD83vM6latJNSXCzWRjETVH5lVlzDEzedEMd534NBHLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397979},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"d55b224fc2ab92fcbec3bf381a731c0ff2ce428a","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.7_1774537882956_0.08158925680054585","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"smart-web-mcp","version":"0.5.8","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.8","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"54bf1c5f671ffe5b3ec7a9184393b074a5ae55f0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.8.tgz","fileCount":94,"integrity":"sha512-K3I8pGHesuUqpRKXGCdilwDRSP2EAsZA0Y8vxT0PiXYj7mZTxuwGFDM4wEEPMeAPulXcm0Sa2YGp+VB+rFvKNg==","signatures":[{"sig":"MEUCIFa44vdMJ16npFokAe8gJvqROXG8seeVmj1uvSC+SHWaAiEA23IY+1QwUIuN2wFw+Q9/GTensxSO92sIC5NpneXSKyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408143},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"31fe55ffe2e33db5f40a0102601b497bb15ed88d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.8_1774539541674_0.0556106793280251","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"smart-web-mcp","version":"0.5.9","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.9","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"4b66f1853247b5998fd75761faca8830880d04a7","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.9.tgz","fileCount":94,"integrity":"sha512-E3Qx9NK5QutrEst6Nhg8F/5UN+DkXCuWzsfQlId8eA5//gnyN6uNFIxz7IFRA7remZrMU14VbNKbmORVv7JYlQ==","signatures":[{"sig":"MEUCIC9FDN4tMvvJOHQnTk9FNXRY10HQEv2YZ03PWSJMTwapAiEAyE0+9SiFXZSjGheB0y4nA8T3qweDLT0+0Fag+R2qAkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408828},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"b009d4296f6f17de459931b3744efc4529367a9d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server that provides smart web search, fetch, and crawl tools.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.9_1774540135862_0.11738745019449581","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"smart-web-mcp","version":"0.5.11","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.11","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"dc87a1fc5b69adc1406b9836ad4e0b7e75101cea","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.11.tgz","fileCount":94,"integrity":"sha512-0VoWJLaH69yQ1DY4WnNhL5ALkv9ZXUqmI3iKBpJKC+mYIVCG2XHsX5iNdNvD9U2N7yDPJsUH0t0RxfgwY4SugQ==","signatures":[{"sig":"MEUCIHsaupsGbfRJVFU4IERshn4O4wuXL0Gm4CiUKQtw1IsKAiEA0uk0k3GbjTOvIn1b4dvjv5Ic4SEY85zQdxgWz8h3sfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":412613},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"cef2f8dc7db6c717476ecdcc4122961b851fa880","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, and site crawling.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.11_1774556881184_0.4621144201664589","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"smart-web-mcp","version":"0.5.12","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.12","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"010a53ee25d768170be0de3a2a0108d11fc89edf","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.12.tgz","fileCount":94,"integrity":"sha512-EHRRht3LeOrKiz4KTIg7hB0Mi//qftb/YvK7jzrzaxqgyJ/shKGrxkERVqHbed4VYiGMkdeiW5pGfQ8jVAyPMg==","signatures":[{"sig":"MEUCIQDObi8oKtN1ypXyTMtZObTKTKg4eUbgkosH2aOcceeVQwIgAxi2b1WmK3ohVpbFTk5aEKtW4novwnjpuGEWh5PEs/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":412824},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"41cd5c726b10a0188ec3e844ec6f6be42ba9f4de","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, and site crawling.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.12_1774557314076_0.9359331779102913","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"smart-web-mcp","version":"0.5.13","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.13","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"bd69edcc43439e1c1b2d6eb1bb17d7218d53b1eb","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.13.tgz","fileCount":94,"integrity":"sha512-p5la4zYrUk1UpZaR7B3Cyx5aOYvWxuuhhtbSpICCJ9NvtVUD1lX44HCb4/kp8CmFU/PzCNH2jy5jK3d8CDeAQw==","signatures":[{"sig":"MEUCIBn4ZOPmGSgP1NKB8xgY0ajJDNNrElxLwtHwfAnR2xlMAiEAm8m5pVwnj+OxofKKDl+bWnd57VQ/eYY+P/Yq9hWql/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417235},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"95a0309c172bc8e7931048a44574a00867529cd3","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, and site crawling.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.13_1774560890080_0.9111184584392613","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"smart-web-mcp","version":"0.5.14","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.14","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b48c60fd2d2f14d36227e75c94169ac4b6125664","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.14.tgz","fileCount":94,"integrity":"sha512-pJ4CX8wOg/CCgAej9LPO68TUS5Wp1lavY7IODJ1FtuBxzsEbkaEeBOsNs6b0mlQt8z+nghX5aKSJ59sGCQ0wJw==","signatures":[{"sig":"MEQCIHkmNEJlTHiye9uI612I1ovUIm0iHZMQ9hb1yPovMUHkAiBdhrRL27JrnwcyeYVhWCqq+Y0ZsJkWsZR1kGbUtO26hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418067},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"12eaad7fb389a5d047e0144350ddb49370ebc7c6","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, and site crawling.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.14_1774590516319_0.7313503377858419","host":"s3://npm-registry-packages-npm-production"}},"0.5.18":{"name":"smart-web-mcp","version":"0.5.18","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.18","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b058498a6acd0f99c2e4cad47f27a9b37a294e63","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.18.tgz","fileCount":97,"integrity":"sha512-6YdeFgZbF2WpuXegs9875rWXkvhHqhvAIypTyOdQ2gpuLMljrPVqQV6rAKPQgQcytq6z0YKaafJoztlQxXakkA==","signatures":[{"sig":"MEQCIHu7ihdS5wU5WsaMEZY28dRvk2eUBABGxoAcJEWrqDcMAiBWYtD99FXoGzuqh8QCTX63TXGXX+XSUpqzBq6j04C1Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471340},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"ecb350257f325e4e6204caaafb983376c8a7d5ba","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.18_1774598934470_0.13473394890209045","host":"s3://npm-registry-packages-npm-production"}},"0.5.19":{"name":"smart-web-mcp","version":"0.5.19","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.19","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"599963e137f153997b785b5c7a89493d21fa8410","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.19.tgz","fileCount":97,"integrity":"sha512-Dq5mbiQWsPKcFueAdN77nhxpemt98h2k79F2/n7k3+g0dHeZGWPX9kzwnZ5bMoc4LS5n2CW7ZWDJVsraGUqzoQ==","signatures":[{"sig":"MEUCIQD8/4mUlhyBgMgkr0FaCkgbqkO3keb905Sh2WDqtQLTewIgGiZ+E6fucBtRElXYkNd/1Qr2qdgmUtWWidQ662In4Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474351},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"7f62e3a1671b85a36e41d128abff0df719bfc27b","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.19_1774601620624_0.6395381269024345","host":"s3://npm-registry-packages-npm-production"}},"0.5.20":{"name":"smart-web-mcp","version":"0.5.20","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.20","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"d67bf7249ac436991636541611f33037e6e53619","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.20.tgz","fileCount":103,"integrity":"sha512-5xTmqS5VUDIZbC9MBh2zpuSd8s1VbpTB+0XG4jzsX3LwYDFiSl8JJ/ZVcNk31ZNFNN6VxP56nJIXr1B7KcxYEw==","signatures":[{"sig":"MEQCIBdnBBJ/a1o3CAE538m+OwZszrrI2N4wMy1VpV6I59ByAiABsfv4/JelF4zodSS5+mamWRpjSSq84/NlFWzS+tiogw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526781},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"c182ecf326e620ba2b40edcb39ea64eb5d6ce0da","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.20_1774607103689_0.620940658591661","host":"s3://npm-registry-packages-npm-production"}},"0.5.21":{"name":"smart-web-mcp","version":"0.5.21","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.21","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"3bac3296bfbb0866173cb0a882a7d9e2e8acfcb2","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.21.tgz","fileCount":105,"integrity":"sha512-XdoyU6t2sUDo450iA2woLECtm9nGVt4URUQBol+TkO/PTgKLci/kVwxRDlRVgmwgr8KE/umw9Q5A9Rmk1y2I4w==","signatures":[{"sig":"MEUCIQCVKQUTMgQXK3nBnjh1ZwbI/eVCXsIqUnKksAJ3/dUo7QIgBamrBeKI/r+yANrEAkZPeYMhsNRPFOxm0QpPCesu+A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561757},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"637c25296bf07fceabbe49c4eb0344d7dcf8740d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.21_1774610865167_0.9194751683096465","host":"s3://npm-registry-packages-npm-production"}},"0.5.22":{"name":"smart-web-mcp","version":"0.5.22","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.22","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-mcp":"dist/index.js"},"dist":{"shasum":"d0b67471a6298207b2fc22107215ff6726200a7a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.22.tgz","fileCount":105,"integrity":"sha512-bBGIhOWofHQ8ftum9sHksD1l2ZLfY4K86xhBvHyMl4DsCrIShp3LybvQ4YSlFRI4tadmDTrRmUxFpWerv82GAg==","signatures":[{"sig":"MEQCIC3SOv38sCByp0ELRhzXlRl04A0hOFOCprEq7ghyDH+iAiBd9VqJZ2mIQy39kjJB5wwjQPnOdHXimUPmNl7vXFWAZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569666},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"a7b4649ba0287e211b40faa483f967b2bf970719","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","prepare":"npm run build && npm run hooks:install","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.22_1774613552939_0.6679446269257794","host":"s3://npm-registry-packages-npm-production"}},"0.5.23":{"name":"smart-web-mcp","version":"0.5.23","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.23","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"4d0aa3e1d110c2c00b3e1363f7e767a64840464a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.23.tgz","fileCount":114,"integrity":"sha512-JEOiYWOwS6Mv3d829Jm+DWpv/NbHZtnHxX5AcJOuFEm49RsElAQVyWUTLDlugKMVWm+v0Yf3qeuWtZS4ims4zw==","signatures":[{"sig":"MEUCIQD++sMyuZMgBfTN/gIbe9ZVcBWMFDWmgRLO/cLcjHvsvAIgTL6cXmiOSO/tL5wrumZGUMsAAhyyJWDECXya33FkXqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":583039},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"9e9b88f49869946d66a5096e9dea4ee56d6081af","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.23_1774615011763_0.5506251605911217","host":"s3://npm-registry-packages-npm-production"}},"0.5.25":{"name":"smart-web-mcp","version":"0.5.25","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","smartdocscrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.5.25","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"63a624858bc3f48bcf349aba6f93f3dde5a99e24","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.5.25.tgz","fileCount":114,"integrity":"sha512-Uk4mYCxKjC8Xk/hVojTWiTYjsE9ThJga0v2MsU5tYvuLPsdI5MsKdC9ol50ITutD/CP97uXEGx529godz/6GoQ==","signatures":[{"sig":"MEUCIHguVJ7W0LQS/oV9aakOZdCMs3GVhf54kZi6xjPHVBZgAiEA37gjZcTadrrN8om0NqiF1fwkb/wnfzreivD2VeH04Ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590233},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./smartdocscrawl":"./dist/smartdocscrawl.js"},"gitHead":"285a66dee87802c349d39890aa3cf816654bf3e6","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.5.25_1774629474995_0.7878556272940016","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"smart-web-mcp","version":"0.6.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.6.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a29455481941565b1fdd881ffe4781365a81d951","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.6.1.tgz","fileCount":114,"integrity":"sha512-mpECDX7FsmPgiSLzweqbw6T0QIMvnorCtpC3ku2T7WVDaAaUj6E/yj/s3UhImgAPdevb41Ts+PRimj+X5iBNNA==","signatures":[{"sig":"MEQCIFHRYEAMdxup6wLkJShreiEIW9JbdOIlw/hXYUPvVPycAiBvn0iy8ITYB8/0VNxTx94vMEgWFSMX7DnI8g6W47afiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":583692},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"7dbb9087435a464108b2bd73d1aef811a90732a3","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.6.1_1774633425789_0.6622692572486051","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"smart-web-mcp","version":"0.6.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.6.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b97f418806860991921b63b30567f8bbe1b312cd","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.6.3.tgz","fileCount":114,"integrity":"sha512-k0Sf88a8nj/xuSSFsELXt+R8+VNh/+H1vG0cipDEfo82aMQ7m8sqq2fV/6yJok9bnb4Sq1pURP++/oyI2FK3Eg==","signatures":[{"sig":"MEQCIHhgNeLhsi9+ZPYTS1kiX3Kw+RYLQWhZqRzZre4aqYxaAiAoTTCDEm0777zkKZNU2rejz1IoqpTffouOJR2/YJFY7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":585018},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"d6160084d3f3cc58c139f6dcdce2d98363bd056d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.6.3_1774635991149_0.1729682101403105","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"smart-web-mcp","version":"0.7.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"af3392ca564d1a76f7aa204caab4a431d0d3159d","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.0.tgz","fileCount":126,"integrity":"sha512-XMQITbUX3dgT8kybjnCx6x1WJz7ts8ZofBYzXA5tWFxxHfG75rzXaMUdqHZbqL6oIbcSMp45BA9qJ0+yKFJGAw==","signatures":[{"sig":"MEQCIBnfIfrFhw+FHZCYmlIH9cZB2EWsVkb+6/0w+PnqSJEnAiBfsw9kiRW5/Z5HeBWz4IJW/+eT/UwhfEaPj4qAgHsCTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646097},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"da719057de11cd391d56451dc2ba67dc20e77378","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.0_1774717985833_0.34806718675188963","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"smart-web-mcp","version":"0.7.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"cf37008c18d062660d9ae74ff79c99053969ef1a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.1.tgz","fileCount":126,"integrity":"sha512-0CIE+CRL8bH9ZOcwAQTDxuM1i4UXNALpLIqmbkldx6utMxW6vo5pRmH4G+Cgwd1CROV3icWjVANC/kLA7pCsTg==","signatures":[{"sig":"MEYCIQCsHIEattTHu0w4r2AWvm5hx3uKdCRfsA0mTVVZQVqKsgIhAJi0zTegwuNIImFWi0kuKEz5AMkbLF8KOvO4QQanM4yj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646844},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"9a628637f245c819d12def918a236dcc0903fb7d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.1_1774718952648_0.028430388979162613","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"smart-web-mcp","version":"0.7.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"9ddffa3e76a9250e5eb9247e875bcb754ae546e6","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.2.tgz","fileCount":135,"integrity":"sha512-7n2Gvxxj73zavvl/XSwma24bO4PqHWuGIt0tzn50VuQnJJHQx8r72qL0lJ16kcw9ZRHDE1ZzkJiUIMDZ+Wc2SQ==","signatures":[{"sig":"MEQCIB1TqgpMQPcl+JMWeFDQVD8REuIEKj60ktHn2qIyHb+OAiBdOue76vi0rUyKczTSqm2Wj1JuFNOBEPf7hi0w/gmRHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674074},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"28d6c3bf992a6be3f7496e2dcd0c2f050068885c","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.2_1774722487743_0.35794917841367213","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"smart-web-mcp","version":"0.7.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"cef4e39a5111823b6674f64ed0a272423dc5d19e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.3.tgz","fileCount":135,"integrity":"sha512-1RXTZBvUHG0+eZzz3N8yjGQXt+nMlnE6R6cGYDCTZ1dbJ3eDxVaabZlqANDSDgxaG27deXWxr0CrdwP96gX97Q==","signatures":[{"sig":"MEYCIQCsfZb6Wt9XuIORsvYiDC9T+GNOAVOE9/VwBOCZG+vLqQIhAM4HY578DUeu2MYur9i/WJOx0Hd+LaybajuLLRgxCudS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676002},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"277d25a331e17244c24c6edd94b807ba7acef4ff","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.3_1774724441539_0.7276858379218474","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"smart-web-mcp","version":"0.7.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"0506d6628a66cef6a19bbe214188bd15bcd30945","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.4.tgz","fileCount":138,"integrity":"sha512-Cjd0uqji8MmidLzYfamL4i1XbdP5grBCD4o9kNQmoMKZUkB2h8Qds33FwRn+g9tsupIwWSIAZSMSTMwKszotIQ==","signatures":[{"sig":"MEQCIHSA29WOxQQhm7tJGMoVGzGsg7Kiof88nNxNYF09C0w7AiBBJz6akmBt/+8X7fmyQHhATqgcow0vJZQ0cLjdrfToIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681853},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"a2d4e84c89f1273432e53513e7cb70802d1537a4","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.4_1774767681966_0.8972635605667194","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"smart-web-mcp","version":"0.7.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"52a4a20990dd48aed9c1fb4215cf5ea20c917915","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.5.tgz","fileCount":138,"integrity":"sha512-BEo8ReaY4TNDtECB98fL0H6tPyZqM0sKY3TNnCdwReliaV9pflH1XaQuG9kAKsgNBV4W34ysuZsDcnYOvbwhjQ==","signatures":[{"sig":"MEYCIQDsXDR+LS2yGSSmAKtlAZ4t16ZOBJlyJje+J7N2zwP59wIhALf55tzKNKdfhU/D4011zWiKldG7KtTnBrwp85XHwiwW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":702376},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"070b002d23ff713a2df587ee0cf43dd535325de9","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.5_1774771853528_0.9065642449190934","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"smart-web-mcp","version":"0.7.6","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.6","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"0f515721a68f495982cb2c1caf0723e6f6ea1ceb","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.6.tgz","fileCount":144,"integrity":"sha512-r6DL3RUXbsDmCavyXOqfSGUgNb8BPXgIinJP8D8uSgTf0Ce6MXh+Ciwar7HbUWsGRqkpLGHV0ANyYCxxuiHzVg==","signatures":[{"sig":"MEUCIG6R97sTSCwN/6cKJO8dY6J6QzIvu/RH3GKgKngPgH6zAiEAyAvTnSbA5nQgZtG34Mw/KpE764VlO+xtMj/Neo8gBnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730587},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8e6fa3ecbad9a8eb822ea28623a6457203da05bd","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.6_1774772926930_0.27435226318787587","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"smart-web-mcp","version":"0.7.7","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.7","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a3b1206ccf5e1f3b46057e59d214bf7360e65efc","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.7.tgz","fileCount":144,"integrity":"sha512-+Kabadp1uNjeygTkRN/4MkcdwHIfK9PCr5SJmloykQscZu2hyaZHh3EoNl/IcK3/OBw4yaswGOdMzt/KrCCKGw==","signatures":[{"sig":"MEUCIFdx5HP2QOMBny0ToNZemWCOhA0zdgHA6lH2xAUT/JrGAiEAg1u4yUDT2eY4NNB4Hfzp5mH24796aMh60xYx4kjPz2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727052},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1ecd9629677f72e7bcd5c5b32683ba831a0eb56f","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.7_1774773464491_0.6861791356941973","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"smart-web-mcp","version":"0.7.8","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.8","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"9e223783b1a4edc9891ea293fa2969ed1f55bfc0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.8.tgz","fileCount":144,"integrity":"sha512-AypdFVR+kmdhjTSLKXuDQvsYjHopsBJeTRCjrM+G+k6/pO/WahdVNf0oDiQjqI0nKT02sPHTqk0p+ARWTuqgCQ==","signatures":[{"sig":"MEUCIFfLpl7R12DPu2TjpAefFQdFWCf9xZ2T80oeQ3rpbLqjAiEAgYMmCXEsimakJvN+6L4+/doM84stbbSfj2brJJ6HiPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730576},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"965898e70494d9268dec4a1bca8b109cbb29425a","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.8_1774847294673_0.3137896861234992","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"smart-web-mcp","version":"0.7.9","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.9","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"bd95bfaa565c5a0ce4aa26e08468ac99565fe93c","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.9.tgz","fileCount":144,"integrity":"sha512-hbOdaU4LHBOMA5P7dOg50Ru+KvNni9a1JcSBgj5lkgAjwusbzKIXQpnsyShUjgwRcHCcNk1Pisnzvyx4gyNrvg==","signatures":[{"sig":"MEUCIAsULsxNaqCHjfu2kGIoM+VyHhtvGFWjHftoqgCO/TQPAiEA4Z9RrXA3f4gkvUYbagFfH/cBwhHgwZ6Bhn6nuFesviE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":731785},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"585dddcc93e1db4ed30c17414877277d37f05255","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.9_1774948994262_0.23469602143784307","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"smart-web-mcp","version":"0.7.10","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.10","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"0bd3335f400f972bbdf62821b35591bd327280e6","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.10.tgz","fileCount":147,"integrity":"sha512-SASKWjkeLHb8+ulWAf8GSqpKd9VdcBC41WjKzjpwfe2Ih2IdCOP0kpIkq4iUzI2JOhaqJfqlrRL+YyMkVEgRsQ==","signatures":[{"sig":"MEUCIQCsExO5KQU7b/93PBjfbcWWvhfuICTCC9YUCTpz+O39CwIgG0ROFBZrqTLguObeK5QvWLrDLRWQsIhRlQqsjs8zhZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":742316},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"3c5638ccbfca1d1b3bc53c19b66979601e9e5eac","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.11.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.10_1775046488603_0.45388981450658705","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"smart-web-mcp","version":"0.7.11","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.11","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"78fa31eefa2bcd6ad42d6f46f364b65edd497b96","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.11.tgz","fileCount":147,"integrity":"sha512-IxogVEr5GpqPnUSKzXfFuxvbWxQcwFTwX+HovmtYF1yRuMth8u5cbfYR+te8ZFVZIAoDqOr5QwuoTTAeIqFGfQ==","signatures":[{"sig":"MEUCIQDuVhb0LRaaA2QFPFjSYndHg/SghjXUFRlau8K/zmyD8wIgJHYe0cNKuwMGRNAmd+9xbwMoao0SoUvW8KX1+OhpjEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":743374},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"f6f44c39978eb0008df6a2520f5f52f6b413f259","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.11_1775048608715_0.6676309067812278","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"smart-web-mcp","version":"0.7.12","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.12","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"89bc2d1c4a6cb7f10b1ea96459b75e31efb7e1dc","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.12.tgz","fileCount":147,"integrity":"sha512-v+wKwYXDAfNyem78IywU2HXE2LJ8PtLpB7jYntE0waJrPzaGEXz4ZmnXWqctxWtcMbudy3XR7xgCzioPo3PdmQ==","signatures":[{"sig":"MEUCIQC/n+Bk9YYP00yg7/0lVfvBv2MdRj/grhqyNYqNJEuNVAIgLXYZG8VStb0QCkWWfbsZRdbd7WEYTUTo5lO2+A38GvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":760090},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"07cc6c6f8de1b9325a7e106d690f68923809fcb9","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"node scripts/install-git-hooks.mjs","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.2","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@10.8.2","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.12_1775120772743_0.25189309597717013","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"smart-web-mcp","version":"0.7.13","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.7.13","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"372916c58da5b7700356dcaf3d3d930ae9f10d44","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.7.13.tgz","fileCount":153,"integrity":"sha512-lqCDzHqt/H6Xpt/kOE9bgCOnVmc6ecq8+HqoIi6CLHikRYpnM5qGoSZA6ooKxVmmEEvqXCSDm7dAC69zMXzsdA==","signatures":[{"sig":"MEUCIBEqUiaW6013HBt3sZzXe8SePPr45ncxkOdgfyo1l3gOAiEA9wOdcRgw/kQqNJ0PJ2CP6YUBotfzrCyu9J3iK5ZUDEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":817943},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"4e9f7d2e93d5d49af76de7a49cdff8e27a60504d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.7.13_1775369485299_0.18969779234212503","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"smart-web-mcp","version":"0.8.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.8.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"aa5e9941978dc2fec4493805c35da09a1c68efc1","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.8.0.tgz","fileCount":156,"integrity":"sha512-5DIq7am14SJX3Xjxna64/6er5sZvg1S2VTEwS2QArPgmxrAX767FqlOmDBw5cilAWqFDsO6psjvBG0qWlGL33w==","signatures":[{"sig":"MEYCIQClkiL8JOUY3UFSDVBoxGQ4yCy0OZPLXNB4y+kKaTlciAIhAJ1EILRoZZRuGL6T1FmKcjue/ZYqLvB5Nev1V1Or/Nxs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833228},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"eddb0dc03e0008cc45c49572d9155e7b6d0d237d","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"10.8.2","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.8.0_1775444293614_0.1457825508472026","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"smart-web-mcp","version":"0.8.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.8.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"00ad1e2ae57d06b44ba918354a6077bc7a76aaf1","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.8.2.tgz","fileCount":159,"integrity":"sha512-BaSMoozw566vUyOxTB4N+x9CUmIe+mNPfrTJ3QowvCNie/T1ZvvM6ArSlwF17u1PD60/vPqWTsz5vFo6bByxqw==","signatures":[{"sig":"MEQCIGU3sqf087a1L9FzxcuB6nbB7hASRqpfUwPcgrY2yqkwAiAL1HCChnsz48wkIwu0LTb4GzX6HTooPhvgRmbmQyR2SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":844677},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"164bc39109cb663ff4b7b0eb019e1aca3cad4ef4","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.8.2_1775710099019_0.06777485591907562","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"smart-web-mcp","version":"0.8.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.8.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"44767291d5952ee7766e0888a84bb9da2b9d6e1b","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.8.3.tgz","fileCount":159,"integrity":"sha512-Y2lyD6tPqat2hr0M7g7a8PyMpBnRpDt+bi9RE/jUIwNec45Yz1ylFnvof0KrNXfDTjPBdRNe0pSJgucO0A3g6g==","signatures":[{"sig":"MEYCIQCTzdImR831HUHGb6dEEEgGAUfT8APw/qa3HE5nXhD20gIhAKrOGziLu+Sw86Q/mWJaeyixTDWcj5AimvrDN+LxkVrK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":849453},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"06481f32fb2264f2b5b7bb0230429f470d721a83","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.8.3_1775711068972_0.27310468032038826","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"smart-web-mcp","version":"0.8.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.8.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/rich-jojo/smart-web","bugs":{"url":"https://github.com/rich-jojo/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"d65ab52c929153f2774c71f8a9c82ad59879716e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.8.4.tgz","fileCount":159,"integrity":"sha512-7oGpHD6cKTjLjniFPf+QYy+U84tTAV16pnOIkmWifbmPI8G1L2KzTUTksMz23qmrz8+POtdWWyZEUeNI4PBsPA==","signatures":[{"sig":"MEYCIQCjYeCuZMDNX3/sIwroJCInOr8luAHBrjB9dOofgsMfxgIhANFQ8zkqctsV+HKKkIOacPLtBI/MxgdW/Khb7+yXmEmn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873334},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"31eb2f112fe7607c1e50bbd8e66be7037f30d542","mcpName":"io.github.rich-jojo/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/rich-jojo/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.8.4_1775712791228_0.16216389764056616","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"smart-web-mcp","version":"0.8.8","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"rich-jojo"},"license":"MIT","_id":"smart-web-mcp@0.8.8","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"2c3b0d5fe7bafe3fa113aa996adb059c74094da0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.8.8.tgz","fileCount":159,"integrity":"sha512-5gtwwyveH08lFR2rCglsWIYJj8NvdXeYwff6Xz09F7I9HtlWu60B7iTt+c2czognBCdg8EdRAgsf0tTxTqdkDg==","signatures":[{"sig":"MEUCIAwr7665pZ7ziJGFKVOMOxU5uxq56vuG7ifFRXMX9y7TAiEAu9lnbqltLWYsOUcLjM96wx4Kmyl+91SeQSvHVks6UI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":877474},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"5318efa9fe9ff112cb70e55d457ca5e8263173d9","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test","dev:mcp":"node dist/dev.js","prepare":"npm run build && npm run hooks:install","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","hooks:install":"git rev-parse --is-inside-work-tree > /dev/null 2>&1 && git config core.hooksPath .githooks || true","release:notes":"node scripts/extract-changelog-section.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.8.8_1776056077281_0.17120286836403298","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"smart-web-mcp","version":"0.9.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.9.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"ac1963af759023098f4bd8fe4c4f499831f1a878","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.9.0.tgz","fileCount":198,"integrity":"sha512-Ihid+6CP5Y0KONprVmEwhx94HwrgU4sHsznYD2Rtcl7xYcn/qdcZAwzOFaj2XGlm/SuDnOSWGIT2WsD7pISCUg==","signatures":[{"sig":"MEQCIAIBEeIkQAWtJrSp+mpX8SaAQSENtsQUdCJllLfYoHKPAiAI8nfGBJ1mlFT8t3Fs6PBn9riORLGt9aCWacgjqELsCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1140387},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"b77809636f612183913fe65c78fe96ccf3fde1f4","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.9.0_1777018598613_0.04307331370916945","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"smart-web-mcp","version":"0.9.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.9.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"242460f334b674a481b7e141125950b34a55e9b7","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.9.1.tgz","fileCount":198,"integrity":"sha512-lT+EhtV40sGHDzHaR3A/6BHaqU/zkTCaH19n1ii/SoZj2GP4XwvyOIf3af5D69xy5taovljUZfXUxBZ1HgxlVg==","signatures":[{"sig":"MEUCIHA9+c/TcoTT4WKJ2g1KG2WvVgLVjKCSDxsin5pPDDBQAiEAjohLTtn9jL0dQzISwDHQiV5sHhgb9wfat1DZrIgQ8NQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1140696},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1b77961f912dbae80dc588539da59ff99a749349","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.9.1_1777114659189_0.7116320403733536","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"smart-web-mcp","version":"0.9.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.9.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"4800fc94041e0130846b300cf17fbbae563f5f24","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.9.2.tgz","fileCount":198,"integrity":"sha512-jIiR3Of3zleedH1G4EuitW6/Ll/VR4ZCX++ptzTnMWlo82I1japbGZvqb+wqB9L6NO7e7S059DWH0EmS2Ww0Lw==","signatures":[{"sig":"MEUCIQCRTKeqnO2bCeBxx0keWGOTEqavim3OoSnqd8quodV9pwIge6+kptZqMcezRVyAbRuHf+iKTSUMk1yvipvT/r8FhwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1141009},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"884eaf6b8fc0432c81eed8d78f63f3ec907746a5","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.9.2_1777122401737_0.9215494710794878","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"smart-web-mcp","version":"0.10.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.10.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"506aea5a09f02069caede2afd93cb99ecfdea795","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.10.0.tgz","fileCount":252,"integrity":"sha512-Iynw+8Q7nqXSYxv2vkyiuT509QFeqREaHo0CdaYqLCu/Vm8GI5cHjZItRcjMtxIX5sojLQzzVElyf47YViBjUw==","signatures":[{"sig":"MEQCIHb/zyRc7GkJltwB6doH9+vMPNi5CK0tqaQIbdYkH7IeAiALUwqKFI3hFjVaxQhr3ak3jrilB+NTSx6cMDS4L9BhmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1352451},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"9eeb16c19a4f068fe46bb5b224b377bfa96ae82e","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.10.0_1777148423395_0.1295544511028952","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"smart-web-mcp","version":"0.11.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"97f2bd6ae9f23ac99cffde9d16c5eff651f7ccf0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.0.tgz","fileCount":252,"integrity":"sha512-fFpSBlIZnS7sUD9AR0Ii/0xCG+wpW/AWenNX1ekPy4P6f4IV7GGmJbLPciyEXUfN5SkF8wO42Q80wWYcHgDlag==","signatures":[{"sig":"MEUCIQDDccr6PX1e/rjKqHNWmagjHlbh8khXHNh2Vdt+tVbEFAIgV9z/fMcNQ7P8jBElaypnU27Dn+M1i6VogS4t8Oj6+Z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1366403},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"539e70ffd4f60f07d0ac6e0f689d6c6b71780aca","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.0_1777175707683_0.4073229325838583","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"smart-web-mcp","version":"0.11.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"6e3563836759b0e182dc9f64204538d99692b392","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.1.tgz","fileCount":252,"integrity":"sha512-HrEPfbGHWN5C4LbFKmFF16352XvHG0QsU+ED2QpSgsiDkYJZI1nX4yV8OkVYEsCfWsOLVCl9cmDEHKfVwzOk6Q==","signatures":[{"sig":"MEUCIHWdAhY5Z/EHuDTDFUYMijTDXMR41d2fd4fdXiSN1u1sAiEA2PoQHvZUxMTiG8T4M4QYiKh9W5K28bcaZdkMubsbgi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1390854},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"2bf3e7225cba9d3384781bddcbb421f810f51753","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.1_1777193525948_0.6128036277152413","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"smart-web-mcp","version":"0.11.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"91304ddf0d57ad8db1b8eed5a0932298e6cd1b65","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.2.tgz","fileCount":252,"integrity":"sha512-pFuyAJhB8vB5HZlUggj+Vh3dhKy6FRLgINIRXZWLm7IjsPKlyF/UzH+cxg9aNV5Io6GrkjmnD7AvEyyV4wbvUg==","signatures":[{"sig":"MEUCIQCStSmBqIMVFeGP8ZwJaBlJYzzxRSl1vmiqRUpwKZwbgQIgdWZWy39A64/eTDb2zeG3tlcaqmb77ikN5u+l96S1KiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1395186},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"74e423b023d7d3c4813398879101844acc7af6ac","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.2_1777194114348_0.3712849601604302","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"smart-web-mcp","version":"0.11.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"964707b591fcb522556c81d13240f9d7e933cc76","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.3.tgz","fileCount":252,"integrity":"sha512-Aomd1gDXRg6zJYDA56ua+SCwsOEHgOyKkbCB9AUfmnqua1Q5Umh6fVsAUTA2RiC/WRXOsXStqfVpom5G+PSSVg==","signatures":[{"sig":"MEUCIHdBIlEIQEjmuAVC1DHQ/WNlhRzt6uELsOVPL35QKn9SAiEA485+9pyghMvQka4f+ZUDtvVi7Rkcc0adQfBoajW01f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1399595},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"02b820c7b5df162ef341b9163c6458f7b946eaf0","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.3_1777194504211_0.2985656275318571","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"smart-web-mcp","version":"0.11.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"54e342d3f7b41f28fffb644eb5a22d1790cec935","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.4.tgz","fileCount":252,"integrity":"sha512-280TmCUI2lLmAir7tHuULYe9CWEq5AGwQGt9qn8skWpEzOiX3mvKPRSSIO0jqX6OlMwSt0TITVOdHTmGt+DApQ==","signatures":[{"sig":"MEQCIEDMGgob4XqBauz6xoli+Uhe5whnGYn5zQ5oeaXzVpmzAiAZkm5QBI4GDvnWPWR1fD84QwkFBMzGB8xk9yj/hFbJGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1408218},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"4b7a1c14ab1f93cb39811399a4372458541e6108","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.4_1777194913597_0.22691167849553784","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"smart-web-mcp","version":"0.11.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"f2ded0f3ca460fa5cfc1dce8c70c2d06fcf4887a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.5.tgz","fileCount":252,"integrity":"sha512-qzLhrlXmCNaYrHtdK1EupFgX26fxCvQ38ZebfNNcrGdLMErqKBBQOkEOgDgLncNcBcmq/sjgAmlIOS9U2YBUcw==","signatures":[{"sig":"MEQCIF6lgnif4dzG5AQ5Wh9f4UEjazoqD8QecWsRSL3QZMlLAiABNVYX9HeWZVRyJbh8HbpJElBkMw3AGLgo8ddmftCmig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1409807},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"66fd223f6b4c46c4a74cbe94029fc2066d214b5a","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.5_1777195202288_0.028958238014916038","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"smart-web-mcp","version":"0.11.6","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.6","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"5bb66ee31bdd1cf8f7b3de859298777306221fea","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.6.tgz","fileCount":252,"integrity":"sha512-CB1BvbQzHXMxkzAPOFI+6teSY6LVhtjRRHVBmQhFqvBp8MTVP3W5IWsg5XfyVNqaGQRFPggu6NBAFNBmxgBFVA==","signatures":[{"sig":"MEYCIQD7kVUf3Smrq/Ko2LayDO7jMsJAwqohAeKkG+zMc6aGkAIhALTYN9CgI++5Zu2+XPoihCZ7g0UK7u8aRwKeIDyhrbzl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410734},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"2674bbfc25a161873ceeea5c92a6eaa2f32c878d","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.6_1777195545267_0.9241260995156517","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"smart-web-mcp","version":"0.11.7","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"MIT","_id":"smart-web-mcp@0.11.7","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"fef9a1ee9428a6158656300cb9e1cc808aad63a3","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.11.7.tgz","fileCount":252,"integrity":"sha512-yw7GUc5L00ozxCPctqZ0vxwYLp2kt8Pj0GeGD5XRK6OM+3XsTMnQhDlyiOmnSt4Vp0qmj8qEPwfyTbCl6c88kA==","signatures":[{"sig":"MEQCIGSuKAXRtakD1B5r9fjzCkW16p+sNfPgu71HumZd+AXqAiBQYORP2327sip1ZSHKINX2WwDTbbXpsVnwpgoDqHi65g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1411850},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"6d900eb505e89f4edea44be57efbdc5509786fa1","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.11.7_1777195870439_0.9978935895822167","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"smart-web-mcp","version":"0.12.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.12.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"07b1d76abeb94d880560d063c7424385d3971f39","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.12.0.tgz","fileCount":252,"integrity":"sha512-nKlaNMuVe9+GZQ3T14uZrvsBC/WUyuZHK0Hi3z09i5J226ZeS+noreG4RW1NHYVQgAlAuoblXyDJuG/UGQDzxQ==","signatures":[{"sig":"MEYCIQD3goxrhltc1qYdgllOEoaR4olZO0OT+fOTTjWmkGlfaAIhAIef5s7oWGpSGgjG8jpllqSGpqf626LoEoXaapVyoJAA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1424249},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"a4d8ed6178ac07dffa7cf6a31238ba8a937ae3f2","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.12.0_1777329550706_0.6327098984381323","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"smart-web-mcp","version":"0.13.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.13.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"e7804fc4ead666fb9561e11e3d633a63b1db2288","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.13.0.tgz","fileCount":252,"integrity":"sha512-Gx54UfJaoNPx7uFbqmj33ZU79dX3vzpbbq9aGqWgcjG5Bt7KYC16+82uh+rpf/5815u3YmPyuglkr3odBhP17Q==","signatures":[{"sig":"MEQCICdyq9R5jFI7r6gYZ36BO8+wc2vVvKlYemlmBTA3/OjtAiB7BLR3vvQm2mae0p4B58XSr/Lftvo87r+0Ps8nQvdz4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1436135},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"060d86f5ecad0dcf9a5b14e241cee3a7e1d7115f","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.13.0_1777632394659_0.26551370161089394","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"smart-web-mcp","version":"0.14.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.14.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"1641ac53955956045b75fd9cc4179423d2881132","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.14.0.tgz","fileCount":258,"integrity":"sha512-JGFXxfC3qQUK/WjcYXRNRn+ZRcqqclvU4Xn3rAv/KJ+xsAsXxeVNsA5mW7dBKeSUxHwAl+tGZh5nKCh5FZ9UvA==","signatures":[{"sig":"MEQCIE6ghRvuR4nzxDhK56qcCP3nHHC5dM6VnUl0XN5k3rUWAiBYpvdT7Y+VIW1DmwhtjYrST62XLl4Dx5EEcgYBhN6euQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1458565},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"cb54bc3c297c08c7f5894f07f9c3026ae89dd810","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.13.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.14.0_1779094683967_0.2443909692252153","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"smart-web-mcp","version":"0.15.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"27b520003011f34a572057105db9d0c4ba03fe05","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.0.tgz","fileCount":270,"integrity":"sha512-NDWBu+YNTfkY2jsAZVtZ3SPa/G6zoDeyhF/BpI2dSWYpgkbWfYOIXPOb4mdPqpTfcXnb7nym2KBzhOSQ5zK/+Q==","signatures":[{"sig":"MEUCIQCSqP8j63BeNeANYvOzYDPkla8cVaB7q3eFfiV9apaBQgIgFLplYOLh3xkq+igjKrsyFZzNvABJdVwVVBg3dsfaXyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1515314},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"781b2107dfb50b8e567200188ebe51ea7364ad49","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.0_1779962140629_0.1376490314875347","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"smart-web-mcp","version":"0.15.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"3ae511a93061adb93c7955915ce6885ae9592733","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.1.tgz","fileCount":270,"integrity":"sha512-8oa8D8bqSfZLqZ1MNRiRyA2LBLZdR2U/7cwGyJqwPrLP1eH76BZzJOvXjmcHg3G6weIYh4TxfAyTJSQscNvkPw==","signatures":[{"sig":"MEUCIDG/wBOJhQximHvvK+oLdmiEkLu2xcYhcDqNvWYxYXDkAiEAnbZ7ndd5q4vjM5XRsHE8RqIYgT7L5TOVn0o2TZs3VN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1516520},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8b9bf7681ecb4a8fbb63db09b59fbe2ba8afb064","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.1_1779991531766_0.29117413799631664","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"smart-web-mcp","version":"0.15.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"47f48e5218c9ab0df81cc793b8f509c4e59a8960","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.2.tgz","fileCount":270,"integrity":"sha512-07/KHWgXKUjYERR4cTVGnIcQ+1/EimvY3NFTouVC722zXDD7/6MseWGoRsGJP1Dw7gHFAzgk90AeI9Vqa0rDBQ==","signatures":[{"sig":"MEUCIGxiBStp0n9EyiVEu1ZO27X6ajHSwYC6Oen4+F15efjlAiEA1tv+iC+ghbUjxHGGEoc+6YngDfNpkeecCI4s2PWXxkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1529133},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1c9048f0c112927242a3d0bb8c020c7f9fe969ed","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.2_1780044856461_0.19300332023891453","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"smart-web-mcp","version":"0.15.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7c2599514829b3c59440f174b7437f89aa20b8cc","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.3.tgz","fileCount":273,"integrity":"sha512-9hIKu0FMdKixybdrFBwM9ITf8YhGhy8u2UiseKeGUebjzOjU5KJMaQtUlPEf8cyaQCon2GxXjjZpXODGRgV6KQ==","signatures":[{"sig":"MEYCIQDzEdAM1nX9BwDYgkRqRg8DUDQmuVOqf0M8MD1yXkCeAAIhAJ+AKr1Ow76JT6LCIXyojfJNOMGRJ8MicnwLjqSaKPCK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1541002},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"14cc1c6125f9d47e8581ae001ddb96022ef086a4","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.0","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.3_1781198713776_0.46042107653832187","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"smart-web-mcp","version":"0.15.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8e6260c5a0e22476ee917200e7617480c8de3a77","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.4.tgz","fileCount":273,"integrity":"sha512-oHg+u7pd2HqmNXyf7qqf9HkpKCgDnGNHT8SbMpIDgWARehct17/VRdSLlkidP0RCuc7edvQ9eMlJekblSDErUw==","signatures":[{"sig":"MEUCIHrwCIcq2YAUo0GBC9ljLr/3Eblu42CGfj3pR7wcjRJ7AiEAyeLcN82csJZbVud25ZgO+Ro30tixGVDbtNffIhvZzl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543522},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8a9643f86a84251902d99881eb874f17a2b801ca","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.4_1781199911656_0.8148093301484898","host":"s3://npm-registry-packages-npm-production"}},"0.15.5":{"name":"smart-web-mcp","version":"0.15.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.15.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"168256cfa7ae096afda3192ce482a67e6d77a9c5","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.15.5.tgz","fileCount":273,"integrity":"sha512-4/NXiALiLh5kyh/wFYRsYVtpy4PKiZnGX8JnllL83wd8XrPYWjD/qL/gthHm/eZr4QgUKqbA+RURnC/HjF+P4w==","signatures":[{"sig":"MEUCIF9oGCKDdRa3c425FOaYVsEDAH1O+n0SacXCMgBh9JbVAiEAgFBzyxIx7fI/Qs0OqVrxTy1DarGv2DI547Ex3wEksY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1547703},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"4c164dd05b81f61226035212da2de69fccb25235","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.15.5_1781668706904_0.8190146301115764","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"smart-web-mcp","version":"0.16.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.16.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8e0ec307a99708fff143352760f3e7ab9798fbd0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.16.0.tgz","fileCount":273,"integrity":"sha512-EkVrB8Xw2fhKjv5kE3cyFSVRry+E/Wx0h40Lr+fvY7ckjvgElfNNZ+H/k0H3dwqQ4pfGwBDQJZuShQ79edCDMQ==","signatures":[{"sig":"MEUCIQCD+hv6Gn1xxdfLlI1kZfYD5dCKpQU8958TqEzS0T4ODwIgTDaph48FEIdycy9Draz94cdeoAnFI1qk//h19KN4coc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549944},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"f0bc4e3233022940e69b607ea7bb408f6a809a6e","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.16.0_1781689082993_0.02870013635265667","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"smart-web-mcp","version":"0.17.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.17.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"db7731d02cc676806aa82964dd959b690c17dab9","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.17.0.tgz","fileCount":273,"integrity":"sha512-8yGS6eTh3Ht5KHvwU34tYS9xXHKrDgZw82Qu8M0RWV/PG6zWYtR0aS8uahN1m7P+BNjNywnM4pbdMPnq4TUFBg==","signatures":[{"sig":"MEQCIHUEDF9tsqxw3UCmVTZ0/cZ4f6J1SOdxFdvPGf9VwWeMAiAklTdrmPZtxmiVnaKl2DD4Iz7N7WvgzpcDj+Y7EwbBJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1556520},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"f737feda50b1b92ee13321504aaf52bca05c0d13","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.17.0_1781691819376_0.929048168749449","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"smart-web-mcp","version":"0.18.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.18.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"c97238cd3e13de7faf7500b945abb6bab08beba5","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.18.0.tgz","fileCount":273,"integrity":"sha512-uVHt35OcFPNVTrwa3KVXf6b3lSBljRT35rX0dL8ZAq9nAg6qrP611MTWu0XyOyTIjjxIsQVXDwkSot+Dj3I90A==","signatures":[{"sig":"MEUCIQCGrDaP0Nh4+SY8LIgl+9k+rcmzSmzdfrvFI9zxDUgwcAIgVwa7tHDkru5+y8efS7uU0+1tL9bENeH3M1Hhk7+ZBNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1558334},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"977f6e3213a5d997ffea1f0034d5fafbd9b4359d","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.18.0_1781708445441_0.7664902996570915","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"smart-web-mcp","version":"0.19.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.19.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"10b93575fea5e2e6f5d4ed2485747f156ac6b083","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.19.0.tgz","fileCount":273,"integrity":"sha512-71DZu0IXmI2fgWbcNNxsddKfnyaUjaQsabb6sYjQ1lxTXNwvCQEVURwwwyQ7DlQg+9Z5OXYN2kDCxOrrqNPqtw==","signatures":[{"sig":"MEYCIQCHjbYLxJbZ2eMB0g4G5Qtf7bBdwey0Zejp5s/P4OBe7wIhAN5D6bfPkLtzwiKHzA4JUZsMXeM7XIocaNQJT0zn3zB/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1562303},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"5a09aec15bc044b35dadb6e0760e06465b91b3e0","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.19.0_1781985525392_0.021600098706997084","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"smart-web-mcp","version":"0.20.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"72c590743b67856ead9e2c9e5bad8b0cd657d912","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.0.tgz","fileCount":273,"integrity":"sha512-4L2V8Li45XHe8vJrfiv5ao3HbIdkS54VKYIOyHX1kOk66zHWR2YFkkHJ/lWQuxfKAV+l3ywy+C+hnt1pND/ozw==","signatures":[{"sig":"MEQCIDRWz7Uy4RS67PVvYXDtcTCTwoaOKF37RQiOsqb5PLWXAiAVK6gqG+KCoxo5oSGGQ15KXy4pueTTv06jZD5eByiHww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1637430},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"66cfb0a601694663b9ad557797f385863605f3b3","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.0_1781986344986_0.45266164026033606","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"smart-web-mcp","version":"0.20.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"12b0b9710edcc4894742178aa6563dd36b53aacb","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.1.tgz","fileCount":273,"integrity":"sha512-NnC7wQUVamyoGgS6fYoNcQJrSr6JuCKaf0JCa3vEDGl/eVgcT1aTM6UZsrYpi4/TtiPUrCSY6rfrf/+C70JvKA==","signatures":[{"sig":"MEQCIG0rwJu+cCkOPxY+tcFsU1aJjny+dJjA4wwrZPs39Ts/AiAPSekj5c14LpVwx6ldc0a3V8E5d4L9BWFS2XNilLNUWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1682153},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"9ab17508bcd3aa6dc900978ef19f114480871500","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.1_1781999174915_0.9510958889036403","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"smart-web-mcp","version":"0.20.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"62fde7d73829ed5e70b2f3c374c69e32603cde99","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.2.tgz","fileCount":273,"integrity":"sha512-xpf45XlS9oX7kWH2YpipA9i81UaHcsJAi9zl5vENS7rg+ObeqVHGUwj9EAnp89mV39BDkZr4YR4xTVwgtegLUQ==","signatures":[{"sig":"MEYCIQCZA9tsmCbJQsvlwu2qOrZ//koEN9e7BuJCLfywOikmLQIhAKysADJKsquE3DCUQFMijJMSdDSkFRP+QWpGa80Sc7v+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1684965},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"d046022fec87b68a88c903ea73f729a79250e41c","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.2_1782000609413_0.5189967661352899","host":"s3://npm-registry-packages-npm-production"}},"0.20.3":{"name":"smart-web-mcp","version":"0.20.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"cae1f1e8c72e9708d68b44a379683a5d823c171e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.3.tgz","fileCount":273,"integrity":"sha512-Vcxn6SM4xqnI05dmn+gBAuh2NgTOjjp7SnXxJU9xUk+pF4XwSZPF/dBfENCWHHelB/zY57u5HO1ETVxp48rKnA==","signatures":[{"sig":"MEUCIQDNbZ8mpF85Rqnqw/hGnfHHoTgSmfu2C1pYlWe38H5hRAIgBfGGNGp+/omcUfgIoPmgos8kC6qEM5UKLZaCjSCpTjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1685455},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1290ea494f41018fba290ba17d62ddac299f9c13","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.3_1782001903045_0.24917351367680585","host":"s3://npm-registry-packages-npm-production"}},"0.20.4":{"name":"smart-web-mcp","version":"0.20.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7bc5fe5fade9eefbde8f0ef634a252c7531bad2d","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.4.tgz","fileCount":273,"integrity":"sha512-G6F/SaA/WJhXge+Q4wYrabDKFzUNuWRGRcokvEj/9tTYWO4emoCzrjrZcfBdfkuDVcat0yJs7vPUNMozGCSgEA==","signatures":[{"sig":"MEYCIQDI4oaWZuSwyr5KGy6qyHlh7yAk7Q93r0ox5bKmgHceEwIhAKikIM3a0iDYKiO8SIDT8oQCrtnZmlwwnnXBj5z1WBgA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1689017},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"bf7271cf7860ee6837749e2cfbabe6d6d4c11496","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.4_1782003616437_0.9003870788641288","host":"s3://npm-registry-packages-npm-production"}},"0.20.5":{"name":"smart-web-mcp","version":"0.20.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"0efc3160d6d908eeecd61b8e6aec9a634f75df94","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.5.tgz","fileCount":273,"integrity":"sha512-SR5nBCJo8h9P0DTKIUY+7IVDTcEk3xFBWe4MM+1lfHVnJ0Ai6sTGhTNMQYu5ACLyJQ2XTShgw6nPzelWRZUcWg==","signatures":[{"sig":"MEUCIH1MHCZ6vX+rOX8PYF93rkxaK6PQUDNbffWXIVBsFffLAiEA/saJVT0Hqn0/d509y65U19z/8gjOmPBURmcon9yxeoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1689458},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"4841372eb54d9d4ec1b4e89a579aab833a3311c5","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.5_1782004777793_0.2939755464537068","host":"s3://npm-registry-packages-npm-production"}},"0.20.6":{"name":"smart-web-mcp","version":"0.20.6","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.6","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7dc67ff4a99ac63bb58fc8119324695ef0e11529","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.6.tgz","fileCount":273,"integrity":"sha512-2K6hMIDmcG82ULQ8sPyk44AiBVdgr9Iamg86tgYTX2O0yH4qPC17lO75v66XydFsz1Pac/+pezuxPYEKPBC/OQ==","signatures":[{"sig":"MEUCIQDylPspIevLG1ghofzzQofGY5nti9aLMEyfCjnABzxRWAIgFfitDQtKR61kPp1Yk5ysU8rDPaeziVOUJQW5PS2fAaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1690102},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"99afa48047a7176533914eadcba90dfb932ec1d9","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.6_1782006059678_0.6402712013855796","host":"s3://npm-registry-packages-npm-production"}},"0.20.7":{"name":"smart-web-mcp","version":"0.20.7","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.7","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b0e3461c2c8539a5cb664e247e2174433295d27d","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.7.tgz","fileCount":276,"integrity":"sha512-5Qc8bgga9N7E2q94S25iTAbKRppkcTZe352PcqScQVnZw2CvVfewujYeSDreWB7Nb8x36gvkuEuh3MGPAw4S9g==","signatures":[{"sig":"MEUCIQC+heLZ0o5CNZ4t2B2IVBvmCuAYtAHXy43UtCnu2WxMbAIgLAnNou7fydvMRCJBVWKRvCC1jlgO7DPHRDmiaCAiTyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1696147},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"e8b7476f8cd642312146cc32403ed3ce61d956e5","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.7_1782019421389_0.990345740402697","host":"s3://npm-registry-packages-npm-production"}},"0.20.8":{"name":"smart-web-mcp","version":"0.20.8","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.20.8","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8eb2e65faba46e497da8e299219ab193a9daba74","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.20.8.tgz","fileCount":276,"integrity":"sha512-s0GZl0ndMmR1rH30MChY3BreDBgR5VPW250yx1sfYFkLB7ntE/ryMFPNbVg7wweLAgDGK0dbPB02fx5D2fWpPw==","signatures":[{"sig":"MEQCIFZQ/UG2dh8TMM18gW19Om/EY4gAaplEGE2isplWfmEFAiAIC03wZKxupDoUkL4iV/Y2oDBP0v0cHWGuKLlt/7//pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1700596},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"ef3cc59636222d2b84b6822c0ad5e80ea252dc2f","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.20.8_1782027854671_0.7954368327774166","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"smart-web-mcp","version":"0.21.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.21.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"374c2fdb8545615c8eb5b8a6f6f7411cdc70cd46","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.21.0.tgz","fileCount":276,"integrity":"sha512-fKHYpsVVFhzAar1Am+xkC9/Ex9l1+4nlNqyC2nGkjRHMmU4jq34AMHOhJsXFP75UYsQQjZx0qB3+KKRJr4SSRw==","signatures":[{"sig":"MEUCIQDLvzjHWtnJHvN5VA6OzvghxS5Gx2BuuCvtL+Le6WV6VAIgVO+0rMPSHykLBqZHID3CWKZfwS5O6jbocSr5C+WnvtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1703140},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"585dd77a01321ff289a40b8e58c160c74ec03b12","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.21.0_1782029020755_0.8707408052372705","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"smart-web-mcp","version":"0.22.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.22.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"fa6723e1502d32b218d9ec3ed2a693ff905ecb92","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.22.0.tgz","fileCount":276,"integrity":"sha512-83M7wgrzuPy3NZwt+lcfVQOO2Dpgmkg2qVkBqw+fXYBZLmLvDV9UcL1o/lqYbjG5pdwIvISICGve7A1fFpsHfA==","signatures":[{"sig":"MEUCIB7WaZW0Fp3gMUolVPUTOfLzfKi8xBz+mxFkqfN+SQnGAiEAo7WOnH+vkPMrc72F+AgfG3G+FHg9V/pmh/MGpp8KJ6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1705742},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8cdbfd9115193f780dd85317fd7018f647476c13","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.22.0_1782029963223_0.6708754807962924","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"smart-web-mcp","version":"0.23.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.23.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"4362b6af2655522c9b0e21a0adeb8064fb26ea63","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.23.0.tgz","fileCount":276,"integrity":"sha512-SRJhTvKCvabll74Q/YhVzInvXjnAUt6rG6TM0g0GibdnHFEhpxWcyldizmBr1pm/Ymq43DsUA8+NNv1VnsT9Yw==","signatures":[{"sig":"MEUCIQCXXpr43w332q6FgQnWd/m/92J/d2lzIi+aR6/BsvzlHAIgO9bp+tADV7sgUgnqMV1O0I7r/ZekiPir7rS9EonpEPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1706434},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"e6913ab94baec9e3d216615896ed1b7d6fcd6b11","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.23.0_1782031232119_0.9657274890216376","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"smart-web-mcp","version":"0.24.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.24.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"64376b1a1ea5a374ae2922a8f0f4b84883aeac26","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.24.0.tgz","fileCount":276,"integrity":"sha512-ygcVcaQgPwJzDgbm37ZAUxOk1Hj+UP5xE3YvxKTDkQk0pOXC1IysBcVrxix1qhgTk9QkxF0POrnIFswpgzLBLg==","signatures":[{"sig":"MEYCIQC7EOawG56VBBdnX/E9Ze3aorSLMl1+lxRAXHySLrlHSwIhAP9wUj061YmABjii5P2xrJ32aTIsHMAj+wpqkqLK8Wnd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1707161},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"cdae594c60352b82fb2dee70316c6ed052fe87c9","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.24.0_1782032255618_0.7626044207238243","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"smart-web-mcp","version":"0.24.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.24.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"e40c35fbd1b2a6f0db2bbb62c7a56022ca0ea2fe","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.24.1.tgz","fileCount":276,"integrity":"sha512-MojLBa/DjbXD+FI4hraIcmUIoo5siyjIM6xApcYqPZfAxvJoCNOdcQ/wjKfMUIVqrBCUb+K85fWtEoPhpqtMsw==","signatures":[{"sig":"MEYCIQDC0TJ1CXMzS6iThQOnKbTkJa+lCylod4dUh0iNd8WWKwIhAOntqM8bKiXgbEonk6gXPGm9bhTRnp58vWsD1dxSLLu6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1708603},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"3d4135276d232f17e754aa57481733772368fdcf","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.24.1_1782033329357_0.5781742895636179","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"smart-web-mcp","version":"0.25.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"eb3d57846def37b16adcdf3a028e6d2d38d0fe62","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.0.tgz","fileCount":276,"integrity":"sha512-TO4iMmsawCqQGq/HhO3lUwL9ywkztC30dO6GZThJBYC23NeTAw1szLxTBe0ssYs6yHOawPL5jzaVX92P/OGOwg==","signatures":[{"sig":"MEUCIDo6scqBSkZdGbctLcr0DbFgjl6A4yP6ZEJaPnKyqciuAiEAyX8dWSmskMWPTZitu5RLAWm033ExeYHPLff3qQy5PWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1709498},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8e3fc058e959a56618917502a4c943cff0f8eef5","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.0_1782034407581_0.36394754319469014","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"smart-web-mcp","version":"0.25.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7fe6cc901417009fc50b09ad9428e75239ace24a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.1.tgz","fileCount":276,"integrity":"sha512-j3XGvFeZKMV48neda84SyS/aKBvaVbEArp1XbLpvSc2rhhX/W0PncHSzXuJYOBF5HLhM++mtwbNvHxVzC7LRWg==","signatures":[{"sig":"MEQCICWjlgqEIDk+AV1ESODWt2XCpmgSbRy3st2GchwldE85AiBOb8x8ngbxNE2PMQr6DKYfA7Jj01Dx86N4OjhnPEOv3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1711495},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"c2fb803e4100f418a3cdb925167b23a54c8ed037","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.1_1782038102023_0.5642706982104377","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"smart-web-mcp","version":"0.25.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"f6de2b1fa9b18492fbb7962aaebcef0a4c70414c","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.2.tgz","fileCount":276,"integrity":"sha512-ijjbEHWKyuvLJnFxU9x2bokuXvD0RTztGP962CEa9sXnyp/2w79VP6APz2JJUMJ4NEnovpQhw0L16KtH+msWJQ==","signatures":[{"sig":"MEYCIQCkHobAGgxSi8g/goznWj4syZwrfqPuFtBrBilGKim1owIhAIegfeG53RTEIf37lodOkuPI1tqvMVgjxZzb+d2CAZh5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1715958},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"3f9ce5fe74e009d9fa8cdba00953eb0735e97622","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.2_1782041482458_0.8412602564616312","host":"s3://npm-registry-packages-npm-production"}},"0.25.3":{"name":"smart-web-mcp","version":"0.25.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"54d13871dc66ed4dcacc44c38b18acd67d726db7","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.3.tgz","fileCount":276,"integrity":"sha512-NNSXbtEfW9IA4RfZ5tjQZjA1GOn2G120DZdXDj3v+oarIpLuOgS/zbRNd9a2TUfXHr0NAvv4Jz9vyy8n5IFAeA==","signatures":[{"sig":"MEUCIQCCRNDakqxCtgCXpvyHYtEXPKt8efQTS0GTNrJKAM5WTAIgLFPdjms0C9NaUp7wrdsd3EEyuohJVi0Ct5LMo4KdZrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1717619},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"e55fb4c7e3e84cb3f4189e95e09185f0d57eb033","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.3_1782042924212_0.7872645971544217","host":"s3://npm-registry-packages-npm-production"}},"0.25.4":{"name":"smart-web-mcp","version":"0.25.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"316e66f5e2c95dc8ea9d1061c14594dfe114dfa0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.4.tgz","fileCount":276,"integrity":"sha512-Zw8IcQtThmHYjnTT+pZKSIefcAjgaA4aeGRLRj/UtsKBIvnnOs+7trfpeVImLIkZfEM/CMdYUDQJon2oPbwJww==","signatures":[{"sig":"MEYCIQC9VXSEhIy6wPwCx6gb0ilEssf31xSpKZSDDSdsACxLHgIhALyfkoy5oXZjtAu/3+l1fM5qq+ej6c1uFAQt0d/xgSiS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1721135},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"5cd285cffd1cee447f1aaba8dd034a3661e2d6cc","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.4_1782044630585_0.9747021389496504","host":"s3://npm-registry-packages-npm-production"}},"0.25.5":{"name":"smart-web-mcp","version":"0.25.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.25.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"4c61aeb654970273e59e07818fe1e9669e917ef5","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.25.5.tgz","fileCount":276,"integrity":"sha512-3aYpjRrl8JxWfxIDPn3nXpwsr68TenNEzFC5WsWvUoxQr00FsNrbSJmlITXFonn+kZzP4DYI4y2jmIhupjqaKQ==","signatures":[{"sig":"MEQCIEEMHU/i1XbxcHPcU5hQ+HT4Kij6gYhhDlNnCwv9ZZFfAiBD5tmK7vDxkgjlYGmvdATyPe89jqg6drA1nlHh1X5+Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1721674},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"c24d702e7f825b5056aa6874d08766d3d1049530","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.25.5_1782045943256_0.45572569570853605","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"smart-web-mcp","version":"0.26.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.26.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a814105ea05953a0c98990b3f0b5978a7a036d8d","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.26.0.tgz","fileCount":276,"integrity":"sha512-3X3fl4vedkZJ3InN+4ezkyUY/Gfl3hzePogWUcOyX9lPZU4JqWSx7PR2j8UEHITagX7LcfWb4V6LDF485/+7fg==","signatures":[{"sig":"MEYCIQD04yqS+61kCISp+ax2fyYffL9aLHChz6Xf7qUzFCWzNwIhAN9ac5+00WhyE8LfOltXi9BiEJDgw4DKS5BuquTv1pnE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1723162},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"ae126ad0bcb1c5dabd085c6b7bd0ebeacaf7443f","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.26.0_1782047106061_0.056368354011561816","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"smart-web-mcp","version":"0.26.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.26.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"03ea0df5bb9d88d582ab8939eb43edfa2aef8b31","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.26.1.tgz","fileCount":276,"integrity":"sha512-D05MPWlKGXA1tu3e/6wag3dfJHGGJfx4sQFhW8PbB/UVO8TAHIa21u1s97vITHo0KliRSHe+9ZFFhAjmH4SRMw==","signatures":[{"sig":"MEQCIGT/9NfdwJBOQ4J9F2M+SQGXMmQfzgWLjP00yU0WDbSFAiAdlt6ewZap2xf/o8VrbLafssq7Onh3R6omRDaX+8XEsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1726921},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"61e2d1a676f025bed8334c62275ec9ccd0aa02b6","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.26.1_1782048783632_0.14237139089238737","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"smart-web-mcp","version":"0.27.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.27.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"f87b8ba2c6ceccb12f6ae37c8f652eb5013fb8a2","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.27.0.tgz","fileCount":276,"integrity":"sha512-olPLiq6H4WQ2N3804d8wvojbblFxTOaDYkPvcfd1yF2mEtDgIpsjDAKJgNrCpIHUZqqR1SODcQXTUKwrSH93HA==","signatures":[{"sig":"MEQCIFOKWWU2mUpET5TipN/82eEUh2te06Ti83VALNKMHVFnAiAx6lmMYPjuDmVCSEFgSW91Bm2sF7On0eFv9xOVARCjAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1728540},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"7c12ef46f00e2be6688fbfe19f906e82d9faad71","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.27.0_1782050690801_0.08095855425556642","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"smart-web-mcp","version":"0.28.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.28.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8da1be44fa507d4c8dd3a213f2125868190a2a21","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.28.0.tgz","fileCount":276,"integrity":"sha512-K+G7hiWUBDT3LSS6Z6Da9syzPsTHCLlNVKhaHZXLjU6YuaqezKWybJA1qFrVgSIyjvDuONj1gcHCfo2l94wk1w==","signatures":[{"sig":"MEUCIQChqDvTTO9FdLglJq7nJ+hSrbdtGgflrWMqTvbRkAQcRwIgPM2OkOU7Ik0KrdAgy7ZkVeDFj7MI1RkHeX9Uf4x9YsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1729334},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"16db622c08030cb734d01e9beb1eb04edb92b967","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.28.0_1782051654242_0.6346422599447827","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"smart-web-mcp","version":"0.29.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.29.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8d0c89ddaef649618ad9290e7b917d1a7da5b483","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.29.0.tgz","fileCount":276,"integrity":"sha512-8PAdCPzc3hKUxi0p1gQmIshB3J3/Z1B9MAa6TPGzre8lF6ePB8L4ytjO7T57VTFvXi4Hs7DSLV54roBM0wZjgA==","signatures":[{"sig":"MEQCICNt+j0x2R9APsrPKavmcHsmuGTTsK3BMHCpCyDCE18YAiBk7XLqQk9ogv3agmnmKlfp8tyoqURzM+L9YM8Q+SBvAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1746501},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"40c32ba6797259b30f15afbd24fa0e7ee06e6e65","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:providers:live:external-search":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.29.0_1782053365655_0.6502303234512143","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"smart-web-mcp","version":"0.29.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.29.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a5ad1d2f0ebcb74749252de1aa05358fdabfe222","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.29.1.tgz","fileCount":273,"integrity":"sha512-iBgsOmSJIJEtwdunLdOA1sk2OWuKHf/7BoIjLbEtQ1aJUjuRBVEWzrlbDPWcwjNYLj8S3njsg84WLYUcq7Fblg==","signatures":[{"sig":"MEQCIGVITBjRZR+PkL/rXBr22zuUeaiIy5SZEH/xf1ZOGVQ6AiAPAgfRtx0rFBEMDY21i0Og4hOStr8nqkCKAhVX8HiwWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1722601},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"5be0d4460bab28468a141f9a4714d9cad5dcf843","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.29.1_1782115929243_0.6063738995623786","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"smart-web-mcp","version":"0.30.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.30.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b794e7e15a3b0c60902d734ad9b6a104879e2c70","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.30.0.tgz","fileCount":273,"integrity":"sha512-S5sul7uS4JKZcLck665og1TAH2qdHe3banuCkqPvK7R4IkX4QrMCOZzNHgHMdDZjliAY9U3SS1wMUKDwD6aAIg==","signatures":[{"sig":"MEQCIGBSRxopgTdjG/jo/9CYbFG4eGIyCyP+0f78BUyzVgj1AiBmsS5WeOM62IDeEM7gvmTLJi0MUn1MXU2vv7hKYPn6rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1738819},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"f68c15cc7f1c6e69719e74afb4f6c70443459726","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.30.0_1782123048501_0.8931185197270941","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"smart-web-mcp","version":"0.30.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.30.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7a9d8329717086da4e85c56ba26b18cfd30383db","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.30.1.tgz","fileCount":273,"integrity":"sha512-RmGHS/Jt8w/H2s30WERoKPQ7/kmCz3azNX9+uColw90KXwOn3Bsw9SJrjYzk+cJVkJ1KCVAGZxthK0fGA0i8tQ==","signatures":[{"sig":"MEUCIELRAlSosomBT92pzmDEkOcUtzwpNeh1lan2AOWiM5yhAiEArsdGY+Nwove9GvoZeH4uqf9aCv8QSv68j2hBhdnYy4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740584},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"74c0f25e21f8093f331dc2a862dba232b6ff0e90","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.30.1_1782123450387_0.1995055555961338","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"smart-web-mcp","version":"0.31.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.31.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"85833ee2ebbce5b893477203e320c6230008be16","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.31.0.tgz","fileCount":273,"integrity":"sha512-XWsh5aezYAEbNI2hgTXPF00vT45G1HF3qOxczkgz7PNLUEoCcyEyRBRV8TZLJ0dpjTO9BTitV9gPpBBTouj2+Q==","signatures":[{"sig":"MEQCIDZRpISBUdGqB5MrshRhB28tBSTDScgLxXni4T+E9KwvAiAJXSaKcVtbBSgCY3QSYcu/x1hfmEi3gL+T9kp6ZJH3xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1754906},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8e466dd1e6f7d0c15c442f20f9e568b10909124a","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.31.0_1782125728715_0.2437749995946954","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"smart-web-mcp","version":"0.32.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.32.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"e886a1cc93cf447f232a9f6007588f47b702bf75","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.32.0.tgz","fileCount":273,"integrity":"sha512-cc+SFqVyZPVJMHuAakzol4lABJFgmArLgBxYEsDpHcRD0NozBokGFhgJSz+A+9TdHvfk6t5czRTatebviWcxiw==","signatures":[{"sig":"MEYCIQCfBMhIAt//sSUjRaG78/iVc0Ts8ar1QN8VO6OmmowT0gIhAKWYhcvNt2aiptH2ihDZ6lE0cTmxdYLPiEoMN525CP+Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1763357},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"66b449c86496b19a1c4a9b795a4bf5ce09d30630","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.32.0_1782126156560_0.5876376903912295","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"smart-web-mcp","version":"0.33.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.33.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"93011896fb385041f2db7ed5f1e0ced4824ca6be","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.33.0.tgz","fileCount":273,"integrity":"sha512-cRqv50D0fUTQ2VgO6CJhcO4B2pZyX0LdoTY+sHt92JjBOuFCe9A+BvA/M+jUgERMnjwQeqZnCquXIiVxYIwp/g==","signatures":[{"sig":"MEYCIQCGh4/B0NijisyFwGBf1T9ruJDftn3Q1CW0C/hZRM7V6QIhALfWgHHKAGemc8szpw7/0a6ZnuqHi6kKuCtGqgTRCsx5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1765654},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"6222f064d240a0f671da02d78319e4bfa754798b","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.33.0_1782126735652_0.9251284232951376","host":"s3://npm-registry-packages-npm-production"}},"0.33.1":{"name":"smart-web-mcp","version":"0.33.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.33.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"10b992e5984c331f8f429b6654e538baee80c354","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.33.1.tgz","fileCount":273,"integrity":"sha512-y3PZLc0cqXXq6yhu1oYSIxXS84kWtNxU2P79bMovpMAmur4cLDBV5Tt8zZiFTB0gQqUsU1Zx/QXMxp9/LHUqKw==","signatures":[{"sig":"MEYCIQDWYrbquooHXcjUCJKa/khxDcO5Rjj02sgryZk4k2hNFAIhAOuHrhyyUhgvuGELsmMLn4kkH6/j7DpnU9pQYUjF+pcc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1765964},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"f242c991a67ddb683bdf1e4cbf643cd151828959","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.33.1_1782127529821_0.9339600676393314","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"smart-web-mcp","version":"0.34.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.34.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"2c59bf6bc50a7d7cb809f94f63830dc05acd27b1","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.34.0.tgz","fileCount":273,"integrity":"sha512-uaGR8zo0SldTwCFvjSaCEhnUHN+NEbbJw6Iv1sE7ABM8z6tekOPesHFErdzd0wpVU8aNvgVBpNIs/S+eQCTiGw==","signatures":[{"sig":"MEUCIQDv2EBuKGTuVixhoA4cP2HY7WEe13ajnu2HZ6FHQCzH3AIgTcwwj6VzAuPTYjcAKUG1ceLKFGPaPu0cV7+2Qk3LLrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1791981},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"25fc7ace9b993342e3540adb1ba07ac335f91ce8","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.34.0_1782129515969_0.44621946588708283","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"smart-web-mcp","version":"0.35.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.35.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"2489c818fe35f0ac70724b60e2fbe02bcbbe1d28","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.35.0.tgz","fileCount":273,"integrity":"sha512-L8YREyegnSheGWZxn0LbuL1NuQz78zPaSlYVGgNm+ILAUP89eFzLEvkbEIxNh2EIf/6sOlUwCTa7gGpRMLsLlA==","signatures":[{"sig":"MEUCIEm8w/RfV/CkgPoj3GNGlDmb9uhiSs3r6M8dSma7xS1gAiEAvzTtj8TSUfMm821ehCZdGQU2lUyRQOtjkJp6IS1pT+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1806799},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8dc713da93c535e7b49c1ebe79c67222c9b505fa","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.35.0_1782290807086_0.27377340789322213","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"smart-web-mcp","version":"0.35.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.35.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"ce65467f2acce7a6356aa21ac6a1939bbbb032dc","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.35.1.tgz","fileCount":273,"integrity":"sha512-vfbmBGANCnuCrDdnzhtEJi8fQYbhTvhYKZN34/WeODupSmjyGF7CYS+SNg3eXe90kHDpvdQ6h3me2XSHtjB+KQ==","signatures":[{"sig":"MEQCIBywYVzb/UooAUPq38jMkX32KrL4qBDCKYn5HO80L4aeAiBcZsTzdhiECyA0u2BXil1xulIQlKPlgfaryIyKA9Tdzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1813653},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"9498148a2a57555c746e6716a3f5b06a35c29da7","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.35.1_1782293470798_0.9402204286520719","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"smart-web-mcp","version":"0.36.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.36.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"6ab643d315310f089914f8bfd1fcc862f267d768","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.36.0.tgz","fileCount":276,"integrity":"sha512-UPI7otNNNbM0gCL4QvqGafwR9zxlXuVxHtsx/LWIHy/ZIkLev5tnWqdYxfOerWWUUenPUJssDp40c6F7qrVhzg==","signatures":[{"sig":"MEUCIBPZxOW5vj14hCrQJmqPUQcHRrQlPaSktWsfTAT7SrEeAiEA4DRH3gKqJ3ewKQVN8nFg2sU1igMJnj/GDMy55asYtxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1827101},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"e0e8635cd11eefb562afeb3ea6ed99c823772373","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.36.0_1782380485271_0.42591798029968464","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"smart-web-mcp","version":"0.37.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.37.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"9449494fecb9c9d93ad4ff72468c3c898ae45fe0","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.37.0.tgz","fileCount":279,"integrity":"sha512-DC5j5m+rd/B1TxHHFXX6FsLysFapjpywUHsqIwilFf6SklwnADhkpajBZsgNcrAY9aIcHiBkZWnJpJ8t2fEYJw==","signatures":[{"sig":"MEUCIF26Ze0It0djAAipaKT/5SDxLg7mgQJ38EQF21GP8qSgAiEAyHFDyjH2FgkbGx/zNmXA+0L9fx7ZXnthpsgsHqDNaCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1889068},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"d7575a2d56d3903c3d44402a360a031e9b40ef37","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.37.0_1782560451860_0.27984129607190633","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"smart-web-mcp","version":"0.38.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.38.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"ebdb418209e7de8722a816adffb89ec95d4be84f","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.38.0.tgz","fileCount":282,"integrity":"sha512-Y3Qtake2+Neyu12mpBExLfgRz+0sanMWgtDNiddYrB8IR+ROJzRK1xPJRitOLn3v5b2SLukL4Kkt2pvHa5O+HQ==","signatures":[{"sig":"MEUCIAxzGYPaAZdHmxMMs5y4lFC05tXFWrw8/wmJyLl6ruEiAiEA+QwHZPwILHqv3CKBoXOufKHgAv/Gi3Dh4Wn1LVy6+rA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1917325},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1a411971b8a3cc37a4391c3e1ec8c286e78d8881","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.38.0_1783048192326_0.552373766910091","host":"s3://npm-registry-packages-npm-production"}},"0.38.1":{"name":"smart-web-mcp","version":"0.38.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.38.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"b541515ba188492f0de25cc0d92b64241a2715a5","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.38.1.tgz","fileCount":282,"integrity":"sha512-pkAmVY72uLWNMSEInTifa0H+9AtU1jsq9CppwLdmAF0JutL8JWVuNysL4Q3qrQkMbhkV/lF37PGdMaiyrT1Phg==","signatures":[{"sig":"MEUCIFB7+o0oEmdn6KebkXPq6/zMoXcT5UXjo92UIGEqey5OAiEAqoFy/HGnhvLyvZrdktCDNfpQg2IBwwmC+6QRakyNafs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1918370},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"0c721ebe40df8c33d488b9186fd630530f24facd","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.38.1_1783049009212_0.24379924410322795","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"smart-web-mcp","version":"0.39.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.39.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"f07763b4abb4d47fa30e900bafe31582a65c3933","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.39.0.tgz","fileCount":282,"integrity":"sha512-KR/oOC5FCUFEIVWZNo4IGqrRoRJaueYqPyCcw4MybnkXYqzawM4OhbiRPE5jMUKN1HEMuc6XhtEI3c8tO7bDVw==","signatures":[{"sig":"MEYCIQCoaHnKYIf3evtQMV9RKUW1rgV0IpHnwV0A9X56mMolVwIhAK87A/bqVYKUYPhuDQnHGpeAnukHwBCfVa0GC2HrQfR8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1930546},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"b7bbda967e4975a38d39823af771dfebae221ac7","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.39.0_1783063698879_0.6652482106086608","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"smart-web-mcp","version":"0.40.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.40.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"2fcd72085aaa118c9995a0b4fa0aa8a6fe9b3b3c","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.40.0.tgz","fileCount":285,"integrity":"sha512-Q6elasdjPpyE5RXua1Dw8WHkQD59e+ZPZ6HzCwE83e8nJD7v6p7wI4FG/0zk6ardXgrBqteRde8JQYZzMFQayQ==","signatures":[{"sig":"MEYCIQD4mtTNzobcvNGnKcfjF53J03M0rYKejmCo2GbjODpz1QIhANaX4W2hB06USPBdReNUstJUUVgugyswWsfXDg22MrOH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1919186},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"a8eee1d70669126fb168c251c4e3c37295d7badc","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.40.0_1783079892265_0.19564923400744716","host":"s3://npm-registry-packages-npm-production"}},"0.40.1":{"name":"smart-web-mcp","version":"0.40.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.40.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"6fa0bb6e7ade09f8cf90e889d86b4df1df15e079","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.40.1.tgz","fileCount":285,"integrity":"sha512-4zx5vuZOI4Uo4fbDT30UBRV91bNgQh+wNAzZaj937FUS7jz+UsE4GaXfY/SIsUhScjbyMnpxEVxMCBD53EO5rg==","signatures":[{"sig":"MEQCIHJ2VA8p91xCJvPCl4aP5iT6ejIm/t0naB2XmthZ/QH/AiBh2KOikLkCo6Mp+ITQU78ikeQznyKhc3z5rSUZKDlL4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1928978},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"fd0bbb4d4cbe170b479053b78851f64644623b1f","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.40.1_1783685833805_0.18872450619304693","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"smart-web-mcp","version":"0.41.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.41.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8b9527326dce4fb47374f26b2e1243f4d12e7a84","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.41.0.tgz","fileCount":285,"integrity":"sha512-VUlrRVdKwvDTgzhvtZVgvDmALt4xUXNJ+ubHFYGPoCtyQQyaOOq2kwshds1fmukpb5Fsyhdz6kXQ0QNfdui0bw==","signatures":[{"sig":"MEUCIQCKZG1siD96qy1iibABuyOmDXS6uqCGxmo1wDCANkTeQwIgCcHkCTlGdKuXSk5DTOn1djRUMIJNgNp+ZiHbBenQTvU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1938097},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"a69547f489835ff4e1471ae309db886d8bde03ff","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.41.0_1783687108819_0.35998685598426783","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"name":"smart-web-mcp","version":"0.42.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.42.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a68074292ee11b1b9ee5a5f5e4d1321fe58e8dae","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.42.0.tgz","fileCount":285,"integrity":"sha512-RjRKyalWZZc5AnvLIUbd47qOy30z/JAeBRKQFBKPBECFBOOcvDiKL2mXPHGocyBZEXu0QYOLrgR4lPyN4aSYmA==","signatures":[{"sig":"MEYCIQCpT2EX72lZTRTa83fO74sfPdol6ruon8uhIIpEEwL1cwIhANCB4H9G9EPhvo/DlcFIUSgldnGTMIZCMNqL6p0tjYdj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1949817},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"45d5da2a8cd15caf307548fded7ddd2a443954d3","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.42.0_1783687596778_0.43325471400426396","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"smart-web-mcp","version":"0.43.0","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.0","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"de55ad02f49eb6fdf95cb7e2303559028d551b96","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.0.tgz","fileCount":285,"integrity":"sha512-NYoRholXONKPDevR/IMUfUvv8zAn7wFt0D9xQAIlzvAkOvWJ9yXU77CTGi46E2YUpsl6bUhHyg1VvI1r9bD87A==","signatures":[{"sig":"MEQCIDr+F3dVbsAKyBAfcSc+/Ux9gaaXXqQUpspzU1yILaRUAiAeUiayQ194pPGndb661ihHTranZqhI3gttn8BE0GFryA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1956584},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1f2a3847e406bced4704031caf7f2a0c49905b0e","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.0_1783853012014_0.5381857154530603","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"smart-web-mcp","version":"0.43.1","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.1","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"cbbd3b8feff5ff5fc70e67829a2711f572349461","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.1.tgz","fileCount":285,"integrity":"sha512-i/N8ni6UjhjItNyJ7LfGPE8P7mQfzcvtEfeWzh7+bOJfMYbSpvLSc6B6dgY3I+Q6xKh4+VCs7eY6ZsQXWR4h+g==","signatures":[{"sig":"MEUCIFN1P4bMgce4b/Cf3MLaLCJ3ScBG5W1k6JG/0XNjgyNjAiEAzqfU/gP0ZAH3kbSpR2anZWJhbQtut7Lx/JmOSVRTHiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1957133},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"23179cd24b94a762af5d7682bd97cb86781742b6","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.1_1783905199293_0.9783855613384904","host":"s3://npm-registry-packages-npm-production"}},"0.43.2":{"name":"smart-web-mcp","version":"0.43.2","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.2","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"36aac242d8babc3cc435c931c127ebcd0dabc659","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.2.tgz","fileCount":285,"integrity":"sha512-u7TaBoc2ejkE2pHx5AGYHSulWG5K30rpec3bfyGrvg5Frigj9vk5Das8jNUUvVO8KbTMBUbpNqXWaccjkAvaPw==","signatures":[{"sig":"MEUCIFal36PxlapOJNOD8A7JW7h8H4x8mi5m88bDp8BLUsH0AiEA++yEGzEynmPrZXs3LvBm0nwnV0ThLBGcL92DLCoBafA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1959587},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"70021f7a13bd79a30e334d3b36367660e2795a33","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.2_1785114955974_0.10973466858972336","host":"s3://npm-registry-packages-npm-production"}},"0.43.3":{"name":"smart-web-mcp","version":"0.43.3","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.3","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"7326773807adc5c59bbdafc9125b7655cf729a3c","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.3.tgz","fileCount":285,"integrity":"sha512-7Bfff5RUhvOGGiiScBV6TFOxoMd9wLHdc0BsOULKuP/6fG1m3FLmAUZ4rZzBh1vTYhMN2jjYjSFj+NpNcGuT4g==","signatures":[{"sig":"MEUCIE7QX0g7cjtMtTS14ruojcXX31xUGwOZ7eHW2JWkdWq6AiEA5yirFnxRn1khTzKGAtlVe367vsRkCgf4YaDPdFrOYWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1980890},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"1596d66646386608e35f497923431ca56ad59f4c","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.3_1785227109899_0.9037263234540982","host":"s3://npm-registry-packages-npm-production"}},"0.43.4":{"name":"smart-web-mcp","version":"0.43.4","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.4","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"a33610c92474761be4e763cb5f3d29372c7fbd3e","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.4.tgz","fileCount":285,"integrity":"sha512-6pJGqJQZVUp4ENiFMXL3AMPWFCzsjfiNRhUvLbv8Jg0aDjB0I3TxdQrDbIfpGUtMfNjpigIfYZeRnhb71cDU0w==","signatures":[{"sig":"MEQCIE1TZTJXvsQJ9+Kf9Zw63kCuOtJf0wm5VvMoOCAeHjSBAiA7AjzLr9QnXnkknGN20LmsH3inNnhT0537SkSnTc7DvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1982276},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"01d57f901c455ba269537971fbbe32ab2f60c169","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.4_1785228500150_0.36343710194674794","host":"s3://npm-registry-packages-npm-production"}},"0.43.5":{"name":"smart-web-mcp","version":"0.43.5","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.5","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"8d1e6dd0d5ca9c1dc8a8ce3e4801993a45deac5c","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.5.tgz","fileCount":285,"integrity":"sha512-oouDqu54uh6HyAhELisiQXYWZK3Gw4fhGFEWHM/fxlqIqwaQlCDUS2caAyCffbL4450Awq4MXjH+qddYfs23NQ==","signatures":[{"sig":"MEYCIQDC/cINVe3JPwH8hv5N+IuSmwH/3W+8p7ieSQFozldPGQIhAKvB3mIQ3xff81jCKLyzGIkIc57WP5OEPbY93wVxnC5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1987256},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"7cae4148392b6f071158243771d98d33aea0e14d","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.5_1785230192192_0.8234102922541702","host":"s3://npm-registry-packages-npm-production"}},"0.43.6":{"name":"smart-web-mcp","version":"0.43.6","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.6","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"588c5510ebe426c16e9aa83327b5caf3d841bf2a","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.6.tgz","fileCount":285,"integrity":"sha512-qaJff4Q0yvVTL90cV5NG2llRsphs6IoPSNpQCoHjvQU4jAqS5fpiHqUeBdFa8bXkQqA/e/HjeAf8i1dim3qjVw==","signatures":[{"sig":"MEUCIQCDwYDIpDCrydvNwnE6GxLEOesU1nJVXIA18GgQdmPo3AIgd50Qcq/VTsmDk5ZRusthVH/SDhGJ+nu/AVCrOCfQ+0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1996150},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"8ceb359a1e7c1b03fd3cee4438bfa9c5e7848636","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.6_1785720249889_0.126515913038719","host":"s3://npm-registry-packages-npm-production"}},"0.43.7":{"name":"smart-web-mcp","version":"0.43.7","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.7","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"39f3b229eaa44343914801b8a2f0cbb17c0738cf","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.7.tgz","fileCount":285,"integrity":"sha512-QXVSyK5KaterZSVmT1VLgYWHmOxVM+0DN9NgpInchii5iL/OnbsXDpTsm8r/ExwrRLJFR9SQHDiauI2g0CcXhA==","signatures":[{"sig":"MEYCIQCpIE0xSEjecaDRJ/AURqOhedCii1qq5yMCreOMZOvWngIhAKTii5fwU+wKEZqRfYwIOAHXtYvfxT7X7cjeeFxWSDRy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2004302},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"55a3533a76e14d9b670f1c975a7e4c348aa5fb5b","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^7.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.7_1786325115291_0.18605322992614526","host":"s3://npm-registry-packages-npm-production"}},"0.43.8":{"name":"smart-web-mcp","version":"0.43.8","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","_id":"smart-web-mcp@0.43.8","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"bin":{"smart-web":"dist/cli.js","smart-web-dev":"dist/dev.js","smart-web-mcp":"dist/index.js"},"dist":{"shasum":"97e838aca29a1aae846abbcd3ed795e89f4f4212","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.43.8.tgz","fileCount":285,"integrity":"sha512-+UDXN3AWwGPt0QRbOnpVKRCviAx0PspBP+um3aVtO5hK4x46nbRq2I/PWbLRTjnLivKd3ExSJo8EsWPaakpKPQ==","signatures":[{"sig":"MEUCIEVVxvklw/DzDD06KP+qR35r8Em0505fBudXSWcZk6ogAiEA5tBuJSDgsJQfppfurRLXulYNY6ldafGG5IiNwLoGSZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2016609},"type":"module","engines":{"node":">=24 <25"},"exports":{".":"./dist/lib.js","./shared":"./dist/shared.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js"},"gitHead":"369a5489b1548b0154a92c498160de43361bacd8","mcpName":"io.github.jojo-labs/smart-web","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","dev:mcp":"node dist/dev.js","prepare":"npm run build","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","test:file":"node --import tsx --test","typecheck":"tsc -p tsconfig.json --noEmit","check:meta":"node scripts/check-metadata.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","release:notes":"node scripts/build-github-release-body.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","changelog:generate":"node scripts/generate-changelog-entry.mjs","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json"},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"repository":{"url":"git+https://github.com/jojo-labs/smart-web.git","type":"git"},"_npmVersion":"11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.12","impit":"^0.14.0","turndown":"7.2.4","playwright":"^1.58.2","playwright-extra":"^4.3.6","youtube-transcript":"^1.3.1","turndown-plugin-gfm":"1.0.2","@modelcontextprotocol/sdk":"^1.18.1","@extractus/article-extractor":"^8.0.20","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"packageManager":"npm@11.9.0","devDependencies":{"tsx":"^4.20.6","typescript":"^7.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/smart-web-mcp_0.43.8_1786929563111_0.8582535270905358","host":"s3://npm-registry-packages-npm-production"}},"0.44.0":{"name":"smart-web-mcp","mcpName":"io.github.jojo-labs/smart-web","version":"0.44.0","packageManager":"npm@11.9.0","description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","homepage":"https://github.com/jojo-labs/smart-web","bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"repository":{"type":"git","url":"git+https://github.com/jojo-labs/smart-web.git"},"type":"module","exports":{".":"./dist/lib.js","./smartcrawl":"./dist/smartcrawl.js","./smartfetch":"./dist/smartfetch.js","./smartsearch":"./dist/smartsearch.js","./shared":"./dist/shared.js"},"bin":{"smart-web-mcp":"dist/index.js","smart-web-dev":"dist/dev.js","smart-web":"dist/cli.js"},"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs","benchmark:providers":"node scripts/provider-benchmark.mjs","benchmark:providers:measure":"node scripts/provider-benchmark.mjs --run-measurements","benchmark:providers:compare":"node scripts/provider-benchmark.mjs --run-measurements --compare-external","benchmark:providers:json":"node scripts/provider-benchmark.mjs --run-measurements --json","benchmark:providers:json-file":"node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json","benchmark:providers:report":"node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md","benchmark:providers:gaps":"node scripts/provider-benchmark.mjs --run-measurements --gap-file reports/provider-benchmark-gaps.json","benchmark:providers:live":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --json-file reports/provider-benchmark-live.json --report-file reports/provider-benchmark-live.md","benchmark:providers:live:jina":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --json-file reports/provider-benchmark-live-jina.json --report-file reports/provider-benchmark-live-jina.md","benchmark:providers:live:cp":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --json-file reports/provider-benchmark-live-cp.json --report-file reports/provider-benchmark-live-cp.md","benchmark:providers:live:browser":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --json-file reports/provider-benchmark-live-browser.json --report-file reports/provider-benchmark-live-browser.md","benchmark:providers:live:youtube":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --json-file reports/provider-benchmark-live-youtube.json --report-file reports/provider-benchmark-live-youtube.md","benchmark:providers:live:blocked":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --json-file reports/provider-benchmark-live-blocked.json --report-file reports/provider-benchmark-live-blocked.md","benchmark:providers:live:naver-blog":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md","benchmark:providers:live:naver-map":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md","benchmark:providers:live:naver-cafe":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md","benchmark:providers:live:x-twitter":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md","benchmark:providers:live:no-secret":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md","benchmark:providers:live:no-secret:gaps":"node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json","benchmark:smartsearch":"node --import tsx scripts/smartsearch-quality-benchmark.mjs","benchmark:smartsearch:json":"node --import tsx scripts/smartsearch-quality-benchmark.mjs --json","watchdog:no-secret":"node scripts/no-secret-surface-watchdog.mjs --json","watchdog:no-secret:live":"npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret","watchdog:partial-handoff":"npm run build && node scripts/partial-handoff-watchdog.mjs --json","benchmark:providers:trend":"node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson","changelog:generate":"node scripts/generate-changelog-entry.mjs","release:notes":"node scripts/build-github-release-body.mjs","dev":"tsx src/index.ts","dev:mcp":"node dist/dev.js","dev:watch":"tsc -p tsconfig.json --watch --preserveWatchOutput","typecheck":"tsc -p tsconfig.json --noEmit","test":"node --import tsx --test src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts","test:e2e":"node --import tsx --test src/packaged-mcp.test.ts","test:file":"node --import tsx --test","check:meta":"node scripts/check-metadata.mjs","check:workflow":"node scripts/verify-release-workflow.mjs","check:smoke":"npm run typecheck && npm run check:meta && npm run check:workflow","check":"npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e","prepare":"npm run build"},"keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","engines":{"node":">=24 <25"},"dependencies":{"@extractus/article-extractor":"^8.0.20","@modelcontextprotocol/sdk":"^1.18.1","impit":"^0.14.0","playwright":"^1.58.2","playwright-extra":"^4.3.6","puppeteer-extra-plugin-stealth":"^2.11.2","turndown":"7.2.4","turndown-plugin-gfm":"1.0.2","youtube-transcript":"^1.3.1","zod":"^4.1.12"},"devDependencies":{"@types/node":"^26.0.0","tsx":"^4.20.6","typescript":"^7.0.2"},"gitHead":"dda1cff051c2e687fd52391d0ff18e6fa0b1d564","_id":"smart-web-mcp@0.44.0","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-V5fj23Gbswqm5rOTNixVokrsVxR5gNHiX3Hm0WdrDyS+jVJe6PwxLNOSwN7+c2ZmUJzAFZLayWgGIDBY6hnL1g==","shasum":"32328ddddacdca10e0bc8e57301ca243680b7002","tarball":"https://registry.npmjs.org/smart-web-mcp/-/smart-web-mcp-0.44.0.tgz","fileCount":285,"unpackedSize":2020713,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA00Cl5jpDJP82SGCn06CjkNnXRF6klHYRuzkb0BvyrgAiEAhKcyjx1fEAdbt1kXPe0uCZcBvwIiCNTQhJqcy9qM4Vw="}]},"_npmUser":{"name":"richjojo","email":"richjojo1206@gmail.com"},"directories":{},"maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smart-web-mcp_0.44.0_1787534235365_0.7705899860728955"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T05:09:09.845Z","modified":"2026-08-24T01:17:15.685Z","0.1.0":"2026-03-21T05:09:10.049Z","0.2.0":"2026-03-21T06:56:28.519Z","0.3.0":"2026-03-21T07:06:09.081Z","0.4.0":"2026-03-21T07:16:31.328Z","0.4.1":"2026-03-21T07:28:00.636Z","0.4.2":"2026-03-21T07:43:12.997Z","0.4.3":"2026-03-21T07:55:26.751Z","0.4.4":"2026-03-21T10:50:36.600Z","0.5.0":"2026-03-23T02:15:14.423Z","0.5.1":"2026-03-24T14:04:26.051Z","0.5.2":"2026-03-24T14:27:21.081Z","0.5.3":"2026-03-25T04:05:00.247Z","0.5.4":"2026-03-26T07:33:53.429Z","0.5.5":"2026-03-26T11:17:35.302Z","0.5.6":"2026-03-26T14:12:21.977Z","0.5.7":"2026-03-26T15:11:23.107Z","0.5.8":"2026-03-26T15:39:01.843Z","0.5.9":"2026-03-26T15:48:56.108Z","0.5.11":"2026-03-26T20:28:01.340Z","0.5.12":"2026-03-26T20:35:14.280Z","0.5.13":"2026-03-26T21:34:50.303Z","0.5.14":"2026-03-27T05:48:36.463Z","0.5.18":"2026-03-27T08:08:54.627Z","0.5.19":"2026-03-27T08:53:40.783Z","0.5.20":"2026-03-27T10:25:03.832Z","0.5.21":"2026-03-27T11:27:45.328Z","0.5.22":"2026-03-27T12:12:33.182Z","0.5.23":"2026-03-27T12:36:51.909Z","0.5.25":"2026-03-27T16:37:55.172Z","0.6.1":"2026-03-27T17:43:45.946Z","0.6.3":"2026-03-27T18:26:31.331Z","0.7.0":"2026-03-28T17:13:05.992Z","0.7.1":"2026-03-28T17:29:12.814Z","0.7.2":"2026-03-28T18:28:07.934Z","0.7.3":"2026-03-28T19:00:41.698Z","0.7.4":"2026-03-29T07:01:22.182Z","0.7.5":"2026-03-29T08:10:53.713Z","0.7.6":"2026-03-29T08:28:47.106Z","0.7.7":"2026-03-29T08:37:44.644Z","0.7.8":"2026-03-30T05:08:14.867Z","0.7.9":"2026-03-31T09:23:14.441Z","0.7.10":"2026-04-01T12:28:08.807Z","0.7.11":"2026-04-01T13:03:28.949Z","0.7.12":"2026-04-02T09:06:12.979Z","0.7.13":"2026-04-05T06:11:25.556Z","0.8.0":"2026-04-06T02:58:13.807Z","0.8.2":"2026-04-09T04:48:19.194Z","0.8.3":"2026-04-09T05:04:29.228Z","0.8.4":"2026-04-09T05:33:11.412Z","0.8.8":"2026-04-13T04:54:37.454Z","0.9.0":"2026-04-24T08:16:38.767Z","0.9.1":"2026-04-25T10:57:39.403Z","0.9.2":"2026-04-25T13:06:41.894Z","0.10.0":"2026-04-25T20:20:23.546Z","0.11.0":"2026-04-26T03:55:07.850Z","0.11.1":"2026-04-26T08:52:06.105Z","0.11.2":"2026-04-26T09:01:54.501Z","0.11.3":"2026-04-26T09:08:24.368Z","0.11.4":"2026-04-26T09:15:13.765Z","0.11.5":"2026-04-26T09:20:02.447Z","0.11.6":"2026-04-26T09:25:45.478Z","0.11.7":"2026-04-26T09:31:10.639Z","0.12.0":"2026-04-27T22:39:10.937Z","0.13.0":"2026-05-01T10:46:34.889Z","0.14.0":"2026-05-18T08:58:04.118Z","0.15.0":"2026-05-28T09:55:40.762Z","0.15.1":"2026-05-28T18:05:31.988Z","0.15.2":"2026-05-29T08:54:16.631Z","0.15.3":"2026-06-11T17:25:13.949Z","0.15.4":"2026-06-11T17:45:11.817Z","0.15.5":"2026-06-17T03:58:27.119Z","0.16.0":"2026-06-17T09:38:03.148Z","0.17.0":"2026-06-17T10:23:39.558Z","0.18.0":"2026-06-17T15:00:45.606Z","0.19.0":"2026-06-20T19:58:45.533Z","0.20.0":"2026-06-20T20:12:25.168Z","0.20.1":"2026-06-20T23:46:15.083Z","0.20.2":"2026-06-21T00:10:09.719Z","0.20.3":"2026-06-21T00:31:43.301Z","0.20.4":"2026-06-21T01:00:16.607Z","0.20.5":"2026-06-21T01:19:37.994Z","0.20.6":"2026-06-21T01:40:59.841Z","0.20.7":"2026-06-21T05:23:41.592Z","0.20.8":"2026-06-21T07:44:14.825Z","0.21.0":"2026-06-21T08:03:40.976Z","0.22.0":"2026-06-21T08:19:23.387Z","0.23.0":"2026-06-21T08:40:32.291Z","0.24.0":"2026-06-21T08:57:35.775Z","0.24.1":"2026-06-21T09:15:29.495Z","0.25.0":"2026-06-21T09:33:27.743Z","0.25.1":"2026-06-21T10:35:02.243Z","0.25.2":"2026-06-21T11:31:22.611Z","0.25.3":"2026-06-21T11:55:24.423Z","0.25.4":"2026-06-21T12:23:50.742Z","0.25.5":"2026-06-21T12:45:43.412Z","0.26.0":"2026-06-21T13:05:06.228Z","0.26.1":"2026-06-21T13:33:03.808Z","0.27.0":"2026-06-21T14:04:51.022Z","0.28.0":"2026-06-21T14:20:54.400Z","0.29.0":"2026-06-21T14:49:25.834Z","0.29.1":"2026-06-22T08:12:09.449Z","0.30.0":"2026-06-22T10:10:48.683Z","0.30.1":"2026-06-22T10:17:30.555Z","0.31.0":"2026-06-22T10:55:28.877Z","0.32.0":"2026-06-22T11:02:36.734Z","0.33.0":"2026-06-22T11:12:15.874Z","0.33.1":"2026-06-22T11:25:30.006Z","0.34.0":"2026-06-22T11:58:36.213Z","0.35.0":"2026-06-24T08:46:47.309Z","0.35.1":"2026-06-24T09:31:10.953Z","0.36.0":"2026-06-25T09:41:25.430Z","0.37.0":"2026-06-27T11:40:52.050Z","0.38.0":"2026-07-03T03:09:52.496Z","0.38.1":"2026-07-03T03:23:29.402Z","0.39.0":"2026-07-03T07:28:19.060Z","0.40.0":"2026-07-03T11:58:12.447Z","0.40.1":"2026-07-10T12:17:13.986Z","0.41.0":"2026-07-10T12:38:28.967Z","0.42.0":"2026-07-10T12:46:36.956Z","0.43.0":"2026-07-12T10:43:32.173Z","0.43.1":"2026-07-13T01:13:19.461Z","0.43.2":"2026-07-27T01:15:56.168Z","0.43.3":"2026-07-28T08:25:10.049Z","0.43.4":"2026-07-28T08:48:20.322Z","0.43.5":"2026-07-28T09:16:32.368Z","0.43.6":"2026-08-03T01:24:10.050Z","0.43.7":"2026-08-10T01:25:15.546Z","0.43.8":"2026-08-17T01:19:23.272Z","0.44.0":"2026-08-24T01:17:15.529Z"},"bugs":{"url":"https://github.com/jojo-labs/smart-web/issues"},"author":{"name":"jojo-labs"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/jojo-labs/smart-web","keywords":["mcp","web-search","web-fetch","web-crawl","claude-code","opencode","youtube","crawler","smartfetch","smartsearch","smartcrawl","docs-export"],"repository":{"type":"git","url":"git+https://github.com/jojo-labs/smart-web.git"},"description":"Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.","maintainers":[{"name":"richjojo","email":"richjojo1206@gmail.com"}],"readme":"<!-- mcp-name: io.github.jojo-labs/smart-web -->\n\n# smart-web\n\nLocal MCP for agentic web retrieval.\n\n`smart-web` bundles four public tools in one stdio server:\n\n- `smartfetch` for direct URLs\n- `smartsearch` for discovery\n- `smartcrawl` for same-site multi-page traversal\n- `smartvertical` for Korean/local structured vertical data such as places, weather, transit, finance, law, commerce, and safety lookups\n\nIt is designed for **agents and MCP hosts**, not for manual browser automation. The job is to return structured retrieval output first, then signal when a browser-task runtime would be a better next step.\n\nIf a page is login-gated, keep the login UI, session persistence, and capture flow in a companion runtime instead of moving that stateful behavior into the `smart-web` core.\n\n- npm: <https://www.npmjs.com/package/smart-web-mcp>\n- MCP Registry: `io.github.jojo-labs/smart-web`\n- Issues: <https://github.com/jojo-labs/smart-web/issues>\n\nIf `smart-web` returns reproducible incorrect or misleading output, open a GitHub issue with the exact input, tool arguments, observed output, expected behavior, and version. Skip obvious transient network, auth, or rate-limit failures unless the smart-web classification itself looks wrong.\n\n## Highlights\n\n- one local MCP instead of separate search, fetch, crawl, and Korean vertical-data servers\n- explicit routing: URL → `smartfetch`, query → `smartsearch`, known site → `smartcrawl`\n- up-front smartfetch acquisition lanes instead of broad direct → browser retry chains, with `pipeline.acquire.attempt_map` showing seed/direct/relay/archive/browser phases and skip/failure reasons\n- optional Jina Reader relay for weak generic/article fetches when you explicitly enable it, with JSON mode and alternate-link preservation\n- shared document extraction for article-like pages keeps browser primary content separate from raw shell HTML, preserving headings, links, blocks, and Markdown when requested\n- docs export manifests are versioned and include per-document SHA-256 hashes plus resource-handle manifests for stable local Markdown mirrors; resource-handle manifests include both exported documents and metadata handles for the summary/manifest files, and successful export `structuredContent` embeds the same handle manifest for host follow-up calls\n- budgeted `smartfetch` projection records explicit truncation metadata instead of scattering silent hardcoded caps; MCP calls default to the compact preset for token-sensitive agent hosts\n- weak generic pages can recover through JSON-LD or Next.js payload extraction and same-origin RSS/Atom feed discovery before falling back to a handoff\n- optional local adaptive scraper fallback can call a Scrapling-compatible `scrapling` command for AI-targeted extraction on weak JavaScript shells before spending a full Playwright browser pass\n- paywalled article pages prefer lawful archive recovery and search-indexed reference previews before telling the host to escalate elsewhere\n- LinkedIn authwall handling prefers compliant public fallbacks such as archives and search-indexed reference metadata before giving up\n- legal paper fallback for academic URLs: DOI-aware OpenAlex, Unpaywall, Semantic Scholar, CORE discovery, and Europe PMC enrichment plus bioRxiv/medRxiv API fallback when a direct paper page is thin or blocked\n- site-native public search fallbacks cover Reddit (Arctic Shift, live RSS, PullPush, then JSON), GitHub repository discovery/repo-docs queries, npm search/exact packages, Hacker News, Stack Exchange, Wikipedia, Velog, MDN, and crates.io when a matching `site:` query is available\n- YouTube watch, shorts, embed, live, and youtu.be video URLs get best-effort public caption enrichment by default while non-video YouTube pages stay on the generic fetch path\n- structured output with `assessment`, `pipeline`, and partial-result `research_handoff` fields for host-side decision making\n- local-first defaults with privacy-aware search/fetch behavior\n- useful normalization for common public surfaces instead of raw HTML dumps\n- social unavailable shells such as Threads generic join/login pages stay partial and chrome-free instead of masquerading as verified post content\n- blocked commerce URLs can accept up to five contextual `reference_queries`; public catalog metadata is returned only when the resolved product, item, and vendor identifiers all match, so a title hint cannot silently select a different listing\n\n## Tool routing\n\n- `smartfetch` first when the user already gave a URL or shortlink\n- `smartsearch` when the user gave a topic, keywords, or a `site:` query\n- `smartcrawl` when you already know the site and need multiple relevant pages\n\n| Situation                                         | Tool            |\n| ------------------------------------------------- | --------------- |\n| User already gave a URL or shortlink              | `smartfetch`    |\n| User gave a topic, keywords, or `site:` query     | `smartsearch`   |\n| You already know the site and need multiple pages | `smartcrawl`    |\n| User needs Korean/local structured data           | `smartvertical` |\n\n`smart-web` is a retrieval layer. It is not a general-purpose click/type/form-fill browser agent.[^1]\n\n## What the tools return\n\nAll public tools are shaped for agent consumption. Common high-signal fields include:\n\n- `assessment`: confidence, block/auth hints, recommended handoff\n- `pipeline`: resolve/acquire/normalize/assess stages, plus policy metadata for relay-style usage and authwall likelihood; `pipeline.acquire.attempt_map` describes the default seed, direct/impit, Jina Reader, archive, and browser phases as succeeded, failed, or skipped\n- `research_handoff`: compact metadata on blocked or partial `smartfetch` results telling downstream research workers and editable report renderers which evidence fields to consume\n- `budget`: output projection metadata showing which fields were truncated and by how much, plus final MCP `response_chars` counts for compact-JSON `structuredContent` and rendered text; use `smartfetch`/`smartsearch`/`smartcrawl`/`smartvertical` `output_budget: \"compact\"` for token-sensitive MCP hosts, `preferred_budget_chars` for host-budget-aware routing, and `\"full\"` when larger structured payloads are explicitly needed\n- `evidence.selected_output_budget*`: the selected `smartfetch` budget preset, winning control, and resolver reason so hosts can see which v0.x compatibility hint actually took effect\n- `errors`: structured failure reasons\n- `post`, `thread`, `comments`: normalized content surfaces\n- `assets` and `download`: file-like outputs when present\n\nThis lets hosts decide whether deterministic retrieval was good enough or whether they should escalate to an auth-aware companion flow or a broader browser-task runtime.[^2]\n\nFor `smartfetch`, MCP `structuredContent` always carries the projected JSON result. MCP calls default to `output_budget: \"compact\"` so agent hosts do not ingest large page/thread/link payloads unless they ask for them. The projection caps known body/list fields plus arbitrary provider record width, nesting, and aggregate string content, so unknown `post`, thread, or comment fields cannot bypass the preset; `budget.fields` reports omitted nested paths and primary URL/title/author/status/body fields are prioritized. The human-readable `content[0].text` defaults to compact text instead of duplicating that JSON payload, with separate caps for long body text, result, comment, link, and asset sections. Omitted counts are reported in the text view while the projected fields remain available through `structuredContent`; set `format: \"json\"` only when a host needs JSON repeated in the text channel. Set `output_budget: \"balanced\"` or `\"full\"` only for follow-up calls that explicitly need more structured content. For host-side integration, prefer `preferred_budget_chars`; use `context_mode` only as a backward-compatible coarse alias when numeric hints are not supplied. If neither is present, `headroom_tokens` keeps compact output by default and uses `balanced` only when there is enough room. `format: \"markdown\"` keeps the compact response shape and requests Markdown extraction when available.\n\nWhen a `smartfetch` result is blocked, partial, or low-confidence, `structuredContent.research_handoff` stays small and metadata-only. It points downstream tools at the source URL and the projected evidence bundle: `pipeline`, `assessment`, `errors`, `assets`, `outbound_links`, and the full projected `structuredContent`. Heavy research agents or editable report/rendering tools can consume that bundle downstream, but `smart-web` itself remains the unified retrieval kernel and does not spawn those tools.\n\nFor `smartsearch`, MCP calls now project both `structuredContent` and rendered text through the same compact/balanced/full budget controls. Compact search keeps enough ranked links for first-pass discovery while capping every normalized string field, including query/engine metadata, result titles and URLs, snippets, notes, assessment, and search-to-crawl handoff guidance; `contextMaxCharacters` remains a final text-channel cap for legacy hosts. Each shortened field is recorded under `budget.fields`. Use `output_budget: \"full\"` only for a known follow-up when the host really wants every returned snippet/result in `structuredContent`.\n\nFor `smartcrawl`, MCP summary calls now project both `structuredContent` and rendered text through compact/balanced/full budget controls, so broad docs/forum crawls do not flood agent context with every page, candidate, note, or error by default. Summary projection caps all normalized titles, URLs, discovery/page metadata, notes, errors, assessment, and handoff strings and records each omission under `budget.fields`. `output_dir` export mode remains handle-first: successful export responses embed `resource_handle_manifest` in `structuredContent`, and export summaries include file:// re-open guidance for the summary, manifest, resource-handle JSON, and first Markdown document so agent hosts can resume from handles without parsing the full JSON first. The resource-handle manifest also carries ordered `recommended_resources` for hosts that need a ready-to-open summary, manifest, and first document without inferring role priority. Blocked exports label those paths as planned/unwritten and include retry guidance instead of presenting false file handles. Set `format: \"json\"` only for hosts that cannot consume `structuredContent` and intentionally need JSON repeated in the text channel.\n\nFor `smartvertical`, MCP calls use the same budget-control precedence as the web tools. Compact mode caps rendered text plus arbitrary structured `result` arrays and long nested strings, and `structuredContent.budget.fields` reports exactly which vertical fields were shortened. Use `output_budget: \"balanced\"` or a larger `preferred_budget_chars` value when a Korean/local lookup needs more rows or full legal/safety record text.\n\nUse budget presets this way:\n\n- `compact`: default first pass for agent hosts, link triage, social/thread previews, and \"is this page enough?\" checks.\n- `balanced`: follow-up when the first pass found the right page but omitted useful body, result, comment, or link detail.\n- `full`: explicit retrieval pass for a known relevant URL when the host can afford the larger `structuredContent` payload.\n\nWhen compact output omits needed content, make a follow-up call for the same URL/query/start site with a larger budget control instead of asking the model to infer from the compact text. Prefer `preferred_budget_chars` when the host knows its available response budget, or use `output_budget: \"balanced\"` / `\"full\"` for manual retries.\n\n## Supported high-signal surfaces\n\n- communities: Reddit, DCInside, LinkedIn public posts with public fallback recovery, Algumon\n- search-native surfaces: Reddit, GitHub repository discovery and repo-docs path scopes, npm search and exact package path scopes, Hacker News, Stack Exchange, Wikipedia, Velog, MDN, crates.io\n- competitive-programming surfaces: solved.ac problem/search/profile routes, BOJ problem/workbook/user pages, Codeforces problem/profile pages, AtCoder task/contest pages, QOJ problem pages, Jungol problem pages\n- local map place pages: Naver Map, Kakao Map, and redirected `naver.me` place-share links\n- reference/article pages: NamuWiki, Wikipedia, Naver Blog, Tistory, Velog\n- media/social: YouTube video URLs with best-effort public transcripts, X, Threads, Instagram, Telegram\n- commerce pages: Amazon, Coupang, Danawa, Aladin, AliExpress\n- archives/reference wrappers: Wayback snapshots, archive.md lookup pages, arXiv abstract pages with direct paper links\n- academic paper surfaces: arXiv, PubMed, PMC, bioRxiv, medRxiv, plus legal DOI-linked OA copies surfaced from OpenAlex, Unpaywall, Semantic Scholar, CORE, and Europe PMC when a publisher page is thin or paywalled\n\nWhen a source stays blocked or under-specified, `smart-web` prefers partial but honest output over pretending to have verified content.\n\n## Install\n\n```bash\nnpx -y smart-web-mcp\n```\n\nWhen `smartfetch` or `smartcrawl` needs Playwright-backed page loading, `smart-web` checks whether the bundled Chromium revision is available. If the local Playwright browser cache is missing or outdated, `smart-web` warns at startup and will try `npx playwright install chromium` automatically on first browser use before surfacing a structured error.\n\n## Host setup\n\n### Claude Code\n\n```bash\nclaude mcp add smart-web -- npx -y smart-web-mcp\n```\n\nSuggested tool-use profile: default to `smartfetch` without `format` and without a budget control for compact first-pass retrieval; retry with `output_budget: \"balanced\"` or `\"full\"` only when the user asks for deeper extraction. If Claude Code exposes a host response budget, send it as `preferred_budget_chars`.\n\n### Codex\n\n```bash\ncodex mcp add smart-web -- npx -y smart-web-mcp\n```\n\nOr via `~/.codex/config.toml` (or project-scoped `.codex/config.toml`):\n\n```toml\n[mcp_servers.smart-web]\ncommand = \"npx\"\nargs = [\"-y\", \"smart-web-mcp\"]\n```\n\nSuggested tool-use profile: keep default compact text for normal browsing. For targeted follow-up retrieval, pass `preferred_budget_chars` from the remaining response/tool budget when available; otherwise pass one explicit `output_budget` preset.\n\n### OpenCode\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"smart-web\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"smart-web-mcp\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\nSuggested tool-use profile: call `smartfetch` with no `format` for normal retrieval, `format: \"markdown\"` only when Markdown extraction is useful, and `format: \"json\"` only for hosts that intentionally require the full JSON duplicated into `content[0].text`.\n\n### Hermes/Raon\n\nFor Hermes/Raon-style hosts, keep the MCP server command standard and set budget controls per tool call:\n\n```json\n{\n  \"tool\": \"smartfetch\",\n  \"arguments\": {\n    \"url\": \"https://example.com/post\",\n    \"preferred_budget_chars\": 40000\n  }\n}\n```\n\nUse `preferred_budget_chars` as the primary host-profile control when Hermes/Raon knows the response budget. Use `headroom_tokens` only when the host has token headroom but no character budget, and use `context_mode` only for older integrations that cannot send numeric budget metadata.\n\nBudget-control precedence is deterministic:\n\n1. `output_budget`\n2. `preferred_budget_chars`\n3. `headroom_tokens`\n4. `context_mode`\n5. compact default\n\nSend only one control when possible. If older host profiles send more than one, `evidence.selected_output_budget_source` reports which control won.\n\n### Custom settings file\n\nTo use a non-default settings path, append `--settings-file` to the command:\n\n```bash\nnpx -y smart-web-mcp --settings-file /absolute/path/to/smart-web.settings.json\n```\n\nFor Claude Code:\n\n```bash\nclaude mcp add smart-web -- npx -y smart-web-mcp --settings-file /absolute/path/to/smart-web.settings.json\n```\n\nFor OpenCode, add `\"args\"` after `\"command\"`:\n\n```json\n{\n  \"mcp\": {\n    \"smart-web\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"smart-web-mcp\", \"--settings-file\", \"/absolute/path/to/smart-web.settings.json\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\n## Configuration\n\n### Settings path\n\nDefault: `~/.config/smart-web/settings.json`\n\nPrint a template:\n\n```bash\nnpx -y smart-web-mcp --print-settings-example\n```\n\nInitialize the default file:\n\n```bash\nnpx -y smart-web-mcp --init-settings\n```\n\n`smart-web` treats the settings file as the single runtime config surface.\n\n### Full settings reference\n\n```jsonc\n{\n  // \"balanced\" (default) or \"private\"\n  // \"private\" disables relay-style providers and public search helpers\n  \"profile\": \"balanced\",\n\n  \"runtime\": {\n    // Optional override for staging/export temp files\n    // Default: platform cache root (e.g. ~/.cache/smart-web/tmp)\n    \"tempDir\": \"\"\n  },\n\n  \"search\": {\n    // Self-hosted SearXNG instance URL\n    \"searxngBaseUrl\": \"\",\n    \"enableSearxng\": true\n  },\n\n  \"fetch\": {\n    // Browser overrides — most users leave these empty\n    \"chromeChannel\": \"\",\n    \"chromePath\": \"\",\n    // Auto-install Playwright Chromium when missing (default: true)\n    \"autoInstallPlaywright\": true,\n    // Jina Reader relay — opt-in third-party path for weak article pages\n    \"enableJinaReader\": false,\n    \"jinaReaderBaseUrl\": \"https://r.jina.ai/\",\n    // Academic fallback — legal OA enrichment for paper URLs\n    \"enableAcademicFallback\": true,\n    \"enableOpenAlex\": true,\n    \"enableEuropePmc\": true,\n    \"enableBiorxivApi\": true,\n    // Unpaywall — requires a contact email\n    \"enableUnpaywall\": true,\n    \"unpaywallEmail\": \"\",\n    // Semantic Scholar — optional API key for higher-rate access\n    \"enableSemanticScholar\": true,\n    \"semanticScholarApiKey\": \"\",\n    // CORE — optional API key for richer search-backed enrichment\n    \"enableCoreDiscovery\": true,\n    \"coreApiKey\": \"\",\n    // FxTwitter — transparent x.com → fxtwitter redirect\n    \"enableFxTwitter\": true,\n    // Undetected-chromedriver — optional Python Selenium fallback for tough anti-bot pages\n    \"enableUndetectedChromedriver\": true,\n    \"undetectedChromedriverPython\": \"python3\",\n    // Reddit personal retrieval chain (legacy key name retained for compatibility)\n    \"enableRedditJson\": true,\n    // YouTube video transcript enrichment for public captions (default: true)\n    \"enableYoutubeTranscript\": true,\n    // Archive fallback — Wayback and archive.md recovery\n    \"enableArchiveFallback\": true,\n    \"enableWayback\": true,\n    \"enableArchiveMd\": true,\n    // Optional local adaptive scraper fallback. This is disabled by default;\n    // install Scrapling separately and opt in only on deployments that want an\n    // extra no-secret local shell/bot-challenge extraction attempt before the\n    // built-in Playwright fallback.\n    \"enableAdaptiveScraper\": false,\n    \"adaptiveScraperCommand\": \"scrapling\",\n    \"adaptiveScraperTimeoutMs\": 20000,\n    // Output projection budget for smartfetch responses. MCP calls use compact\n    // by default unless the caller passes a budget control explicitly; this setting\n    // controls core/CLI defaults and custom deployments.\n    // preset: \"compact\" | \"balanced\" | \"full\"; numeric fields override the preset.\n    \"outputBudget\": {\n      \"preset\": \"balanced\",\n      \"maxPostTextChars\": 8000,\n      \"maxPostMarkdownChars\": 10000,\n      \"maxThreadItems\": 10,\n      \"maxCommentItems\": 10,\n      \"maxOutboundLinks\": 60,\n      \"maxAssets\": 15,\n      \"maxBlocks\": 20,\n      \"maxBlockTextChars\": 500,\n      \"maxItemTextChars\": 500\n    },\n    // Optional default named browser profile for authenticated smartfetch calls.\n    // Names are 1-64 characters: letters, numbers, dots, underscores, or hyphens;\n    // they must start with a letter or number and cannot end with a dot.\n    \"browserProfile\": \"\"\n  },\n\n  \"network\": {\n    // Allow localhost/private/reserved fetch targets (default: false)\n    // Applies to smartfetch, smartcrawl, and Korean public API helpers.\n    \"allowPrivateHosts\": false\n  }\n}\n```\n\n### Common setups\n\n#### Default — no config file needed\n\nOut of the box `smart-web` works with sensible defaults. Create a settings file only when you need to change something.\n\n#### Minimal: profile only\n\n```json\n{\n  \"profile\": \"balanced\"\n}\n```\n\n#### Private / local-first\n\n```json\n{\n  \"profile\": \"private\",\n  \"search\": {\n    \"searxngBaseUrl\": \"http://localhost:8080\"\n  }\n}\n```\n\nIn `private` mode, relay-style provider requests are blocked, public no-key search fallbacks are disabled, and SearXNG bases must resolve to localhost or private addresses. Hosted API-key search providers such as Exa, Tavily, and Brave Search are intentionally not part of the default smartsearch runtime; use local/site-native search, DuckDuckGo/Brave HTML fallbacks, or self-hosted SearXNG instead.\n\n#### Disable Playwright auto-install\n\n```json\n{\n  \"fetch\": {\n    \"autoInstallPlaywright\": false\n  }\n}\n```\n\nThe server will return an actionable `playwright_browsers_missing` or `playwright_browsers_outdated` error instead.\n\n#### Opt in to Jina Reader for weak generic article pages\n\n```json\n{\n  \"fetch\": {\n    \"enableJinaReader\": true\n  }\n}\n```\n\nThis stays opt-in because it is a third-party relay path. When enabled, it only applies to weak generic/article direct fetches and prefers Jina JSON mode when that improves the page. `profile: \"private\"` hard-disables relay-style providers.\n\nRelay eligibility is provider-policy based. Generic and document-like providers can opt in, while browser/auth/social/commerce providers stay off unless their provider declares support. `pipeline.policy.relay_style_allowed` and `pipeline.policy.relay_style_used` tell hosts whether a relay path was allowed and whether it was used.\n\n#### Opt in to a local adaptive scraper command\n\n```json\n{\n  \"fetch\": {\n    \"enableAdaptiveScraper\": true,\n    \"adaptiveScraperCommand\": \"scrapling\",\n    \"adaptiveScraperTimeoutMs\": 20000\n  }\n}\n```\n\nThis lane is for local, no-secret deployments that install Scrapling or a compatible CLI themselves. It runs only after direct retrieval still looks weak, blocked, or shell-like and before the built-in browser fallback. The attempt is recorded as `adaptive_scraper` in `pipeline.acquire.attempt_map`; if the command is missing, times out, returns empty text, or does not improve the active result, smartfetch keeps the existing result and continues through the normal fallback chain.\n\n#### Tune smartfetch output budgets\n\n```json\n{\n  \"fetch\": {\n    \"outputBudget\": {\n      \"maxPostTextChars\": 16000,\n      \"maxThreadItems\": 25,\n      \"maxOutboundLinks\": 80\n    }\n  }\n}\n```\n\nExtraction runs before budgeting so providers can work from complete page content. The budget applies to returned `smartfetch` projections and records truncation under `budget.fields`.\n\n#### Force archive fallback off\n\n```json\n{\n  \"fetch\": {\n    \"enableArchiveFallback\": false\n  }\n}\n```\n\n#### Legal OA DOI recovery for paywalled paper pages\n\n```json\n{\n  \"fetch\": {\n    \"enableUnpaywall\": true,\n    \"unpaywallEmail\": \"research@example.com\",\n    \"enableSemanticScholar\": true,\n    \"enableCoreDiscovery\": true\n  }\n}\n```\n\n#### Enable undetected-chromedriver from a dedicated virtualenv\n\n```json\n{\n  \"fetch\": {\n    \"enableUndetectedChromedriver\": true,\n    \"undetectedChromedriverPython\": \"/absolute/path/to/venv/bin/python\"\n  }\n}\n```\n\nThis helper is optional. `smart-web` still works without it, but when installed and reachable it can act as a second browser engine for stubborn pages where Playwright alone is not enough.\n\n#### Custom temp directory\n\n```json\n{\n  \"runtime\": {\n    \"tempDir\": \"/absolute/path/to/smart-web-tmp\"\n  }\n}\n```\n\n### Advanced overrides\n\nThese keys live inside `settings.json` when you need to force one provider on or off:\n\n**Search**\n\n- `search.enableSearxng`\n- `search.enableDuckDuckGo`\n- `search.enableBraveHtml`\n\n**Fetch**\n\n- `fetch.enableFxTwitter`\n- `fetch.enableXOembed`\n- `fetch.autoInstallPlaywright`\n- `fetch.enableJinaReader`\n- `fetch.jinaReaderBaseUrl`\n- `fetch.enableAcademicFallback`\n- `fetch.enableOpenAlex`\n- `fetch.enableEuropePmc`\n- `fetch.enableBiorxivApi`\n- `fetch.enableUnpaywall`\n- `fetch.unpaywallEmail`\n- `fetch.enableSemanticScholar`\n- `fetch.semanticScholarApiKey`\n- `fetch.enableCoreDiscovery`\n- `fetch.coreApiKey`\n- `fetch.enableUndetectedChromedriver`\n- `fetch.undetectedChromedriverPython`\n- `fetch.enableRedditJson`\n- `fetch.enableYoutubeTranscript`\n- `fetch.enableArchiveFallback`\n- `fetch.enableWayback`\n- `fetch.enableArchiveMd`\n- `fetch.outputBudget.maxPostTextChars`\n- `fetch.outputBudget.maxPostMarkdownChars`\n- `fetch.outputBudget.maxThreadItems`\n- `fetch.outputBudget.maxCommentItems`\n- `fetch.outputBudget.maxOutboundLinks`\n- `fetch.outputBudget.maxAssets`\n- `fetch.outputBudget.maxBlocks`\n- `fetch.outputBudget.maxBlockTextChars`\n- `fetch.outputBudget.maxItemTextChars`\n- `fetch.outputBudget.maxEnvelopeArrayItems`\n- `fetch.outputBudget.maxAssessmentSignals`\n- `fetch.outputBudget.maxTotalEnvelopeEntries`\n- `fetch.outputBudget.maxTotalEnvelopeStringChars`\n\n**Compatibility**\n\n- `network.localOnly`: advanced override that forces local-only behavior regardless of profile\n\n## Provider benchmark\n\nUse the provider benchmark when deciding whether to build, wrap, or replace retrieval lanes:\n\n```bash\nnpm run benchmark:providers\nnpm run benchmark:providers:measure\nnpm run benchmark:providers:compare\nnpm run --silent benchmark:providers:json\nnpm run benchmark:providers:json-file\nnpm run benchmark:providers:report\nnpm run benchmark:providers:gaps\nnpm run benchmark:providers:live\nnpm run benchmark:providers:live:jina\nnpm run benchmark:providers:live:cp\nnpm run benchmark:providers:live:browser\nnpm run benchmark:providers:live:youtube\nnpm run benchmark:providers:live:blocked\nnpm run benchmark:providers:live:naver-blog\nnpm run benchmark:providers:live:naver-map\nnpm run benchmark:providers:live:naver-cafe\nnpm run benchmark:providers:live:x-twitter\nnpm run benchmark:providers:live:no-secret\nnpm run benchmark:providers:live:no-secret:gaps\nnpm run watchdog:no-secret:live\nnpm run benchmark:providers:trend\nnpm run benchmark:smartsearch\nnpm run --silent benchmark:smartsearch:json\nnpm run watchdog:no-secret\nnpm run watchdog:partial-handoff\n```\n\nThe default report is availability-only and safe for CI. `--run-measurements` (`npm run benchmark:providers:measure`) adds deterministic fixture records for available local/core and optional no-key lanes: success, useful character counts, projected/text character counts, useful-to-projected and useful-to-text yield ratios, latency, extractor/provider id, confidence, partial status, error class, lane label/family/category metadata, provider-family/category lane-status rollups, surface coverage, and recommendation sections grouped by lane, case, and surface.\n\nUse `--compare-external` (`npm run benchmark:providers:compare`) to add an `externalComparisons` section that compares current smart-web fixture evidence against optional no-secret/local candidates. The comparison includes the local Crawl4AI command lane, the public Jina Reader relay fixture, and available direct/Playwright baselines. If `crawl4ai` is not installed, the Crawl4AI row is `skipped` with `action: \"install-local-prerequisite\"` and `prerequisite.command: \"crawl4ai\"`; this is an expected setup signal, not a benchmark failure or required dependency.\n\nReports carry the `provider-benchmark.v1` schema version plus non-fatal git and runtime metadata so archived JSON, Markdown, and NDJSON trend artifacts are parseable, traceable, and comparable as the harness evolves. Markdown, text, JSON, and NDJSON outputs include aggregate fixture yield averages, compact yield rollups by provider family/category/lane, and a best-current-evidence surface table that ranks measured/skipped candidates so review jobs can compare token efficiency and build-vs-wrap posture between core, browser, relay, and specialist paths without reprocessing the full measurement table.\n\nMeasurement artifacts also include a live-readiness manifest listing each lane's env/command/settings prerequisites, a deterministic fixture smoke, a safe MCP live-smoke candidate, and surfaces that still lack live evidence. `--run-live-smokes` (`npm run benchmark:providers:live`) is an explicit gated mode that runs only no-secret, core-surface live checks for static articles, long docs/Wikipedia, Hacker News, and docs export; optional no-secret lanes remain gated until explicitly allowlisted: `--allow-jina-live-smoke` (`npm run benchmark:providers:live:jina`) exercises the public Jina Reader relay with a secret-stripped settings file, `--allow-competitive-programming-live-smoke` (`npm run benchmark:providers:live:cp`) adds a public BOJ/Codeforces representative smoke for the competitive-programming specialist surface, `--allow-browser-live-smoke` (`npm run benchmark:providers:live:browser`) runs a Playwright `--force-dynamic` smoke for the JS-rendered article surface only when the local browser lane is available, `--allow-youtube-live-smoke` (`npm run benchmark:providers:live:youtube`) adds the public YouTube seed-lane representative smoke, `--allow-blocked-authwall-live-smoke` (`npm run benchmark:providers:live:blocked`) adds a deterministic HTTP Basic Auth challenge smoke that treats honest blocked/error/handoff signals as positive calibration without private credentials, `--allow-naver-blog-live-smoke` (`npm run benchmark:providers:live:naver-blog`) adds a stable public Naver Blog representative smoke for Korean specialist-lane calibration, `--allow-naver-map-live-smoke` (`npm run benchmark:providers:live:naver-map`) adds a stable public Naver Map place smoke with browser-preflight diagnostics, `--allow-naver-cafe-live-smoke` (`npm run benchmark:providers:live:naver-cafe`) adds a stable public Naver Cafe shared-link smoke that treats useful no-credential partial output as honest calibration, and `--allow-x-twitter-live-smoke` (`npm run benchmark:providers:live:x-twitter`) adds a public X/Twitter post smoke that keeps no-secret social-provider drift visible without private cookies. `--allow-all-no-secret-live-smokes` (`npm run benchmark:providers:live:no-secret`) enables every no-secret gate in one run; hosted API-key search lanes are excluded from the benchmark surface by product policy.\n\nLive smoke artifacts record per-case `present`/`missing`/`skipped` evidence next to fixture evidence without printing secret values. When fixture rows exist but all are skipped by missing local commands, comparison and gap artifacts report fixture evidence as `skipped` with a `fixture-skipped-*` comparison instead of implying the fixture rows are absent. Browser-lane live smoke rows also include a secret-safe Playwright preflight diagnostic with executable path, launch timing, `domcontentloaded` navigation timing, HTTP status/final URL, and truncated failure reason so runtime/cache/network failures can be separated from smartfetch normalization failures.\n\nThe same JSON, text, Markdown, and NDJSON outputs include a compact live-vs-fixture comparison rollup so replacement reviews can distinguish calibrated surfaces from fixture-only, skipped-live, live-disagreeing, and fixture-skipped-by-prerequisite surfaces. Secret-safe provider diagnostics list prerequisite names with satisfied/missing status and never print env values. Use `npm run benchmark:providers:json-file` or add `--json-file <path>` to write the full JSON artifact without relying on stdout capture. Use `npm run benchmark:providers:report` or add `--report-file <path>` with measurement mode to write a Markdown review artifact containing lane availability, diagnostics, surface/corpus coverage, measurement highlights, yield comparisons, per-surface evidence, live readiness, live-smoke diagnostics, and build-vs-wrap recommendations without changing stdout or JSON behavior. Use `npm run benchmark:providers:gaps` or add `--gap-file <path>` with measurement mode to write a compact `provider-benchmark-gaps.v1` JSON artifact containing only the ranked provider evidence gap queue, summary counts, git/runtime metadata, and safe smoke candidates. Use `npm run benchmark:providers:trend` or add `--trend-file <path>` with measurement mode to append compact NDJSON trend records with aggregate lane, prerequisite, measurement, recommendation, surface-evidence, and fixture-yield counts. Unknown `--flag` options fail fast so typoed benchmark jobs do not produce misleading artifacts. The corpus covers static articles, JS-rendered articles, blocked/authwall-like pages, long docs/Wikipedia pages, Naver Blog/Cafe/Map, Hacker News, YouTube, X/Twitter, BOJ/Codeforces, relay, and docs export surfaces. Optional local/no-secret lanes without commands remain explicit skips instead of silently failing; API-key provider candidates are excluded from the default corpus and reports by product policy.\n\nProvider benchmark reports also include `providerEvidenceGaps`: a ranked next-action queue built from the live-vs-fixture rollup. Each gap records the surface, priority score, selected and candidate lanes, follow-up action, unlock prerequisites, fixture/live useful chars, fixture skipped-case lanes/reasons, live-smoke failure error classes/reasons, and safe live smoke candidate so replacement reviews can pick the next provider experiment without scanning every measurement row or re-running a timed live calibration. Use `npm run benchmark:providers:live:no-secret:gaps` to refresh only the compact all-no-secret gap artifact at `reports/provider-benchmark-live-no-secret-gaps.json`. When fixture rows exist but were skipped by missing local commands, the live-vs-fixture and gap actions are `unlock-skipped-fixture-prerequisites` rather than fixture-creation actions.\n\n`npm run benchmark:smartsearch` is the deterministic quality gate for site-native smartsearch routing. It patches `fetch`, disables generic web-search fallbacks with a temporary settings file, and exercises representative `site:` queries for Reddit, GitHub repo discovery, GitHub repo docs, npm, Hacker News, Stack Exchange, Wikipedia, Velog, MDN, and crates.io without live network access. The human report is compact; `npm run --silent benchmark:smartsearch:json` emits `smartsearch-quality-benchmark.v1` JSON with expected engine, top URL, URL-substring checks, actual engine, top URL, notes, and pass/fail status per case.\n\nSee `reports/README.md` for the curated report archive index. It identifies `provider-benchmark-live-no-secret.{json,md}` and `provider-benchmark-live-no-secret-gaps.json` as the current maintenance artifacts, and labels older cumulative live-smoke reports as historical calibration snapshots.\n\n`npm run watchdog:no-secret` is the deterministic current-surface gate for no-secret maintenance. It fails when `reports/provider-benchmark-live-no-secret-gaps.json` contains current gaps, when runtime/docs/examples/scripts reintroduce hosted API-key provider markers for Exa, Tavily, Firecrawl, Browserless, or Brave Search API, or when the partial/handoff watchdog no longer has a compact text ceiling. It intentionally ignores historical `CHANGELOG.md` entries and archived `reports/` output, and does not run live network smokes.\n\n`npm run watchdog:no-secret:live` is the live regression gate for no-secret maintenance. It first refreshes `reports/provider-benchmark-live-no-secret-gaps.json` with `npm run benchmark:providers:live:no-secret:gaps`, then runs `npm run watchdog:no-secret` so non-empty live provider gaps fail locally or in CI. The scheduled/manual GitHub Actions workflow `.github/workflows/no-secret-live-watchdog.yml` runs the same alias weekly with read-only permissions, no secrets, and a short-retention gap artifact.\n\n`npm run watchdog:partial-handoff` builds the package and runs a compact no-secret drift watchdog over representative partial/blocked/handoff `smartfetch` outputs (httpbin authwall, LinkedIn profile authwall, Naver Blog unavailable/deleted posts, Threads unavailable/join-login output, DCInside unavailable/deleted posts, Telegram missing/private posts, a non-existent Wikidocs article, Naver Cafe, Naver Map search, and BOJ unavailable/shutdown output). It exits non-zero when expected handoff cases are silently reclassified as non-partial, when partial/handoff `content[0].text` grows beyond the compact watchdog ceiling, or when compact text or structured links/assets leak chrome URLs, script globals, or style-shell tokens, and prints a `partial-handoff-watchdog.v1` JSON report without raw page dumps or credentials. For runner artifacts without JSON stdout, run `node scripts/partial-handoff-watchdog.mjs --report-file <path>` after `npm run build`; the command keeps stdout human-readable and writes the full JSON report to the requested path. Fixture cases can set `expectPartialHandoff: true` to make classifier drift fail even if the output would otherwise be skipped.\n\n## Quick verification\n\nSanity-check the server with a few real calls:\n\n- `smartfetch` on a normal article URL\n- `smartfetch` on a Medium or other member-only article URL — confirm it returns either archive-backed content or an honest `reference_only` preview\n- `smartfetch` on a Naver Map, Kakao Map, or `naver.me` place-share URL\n- `smartfetch` on an arXiv abstract URL\n- `smartfetch` on a PubMed, PMC, or bioRxiv/medRxiv paper URL\n- `smartfetch` on a known product URL\n- `smartsearch` on a `site:` query\n- `smartcrawl` on a docs site or board you actually use\n\n## Reporting issues\n\nIf `smart-web` returns reproducible incorrect or misleading output, open a GitHub issue with:\n\n- exact input and tool arguments\n- observed output\n- expected behavior\n- `smart-web-mcp` version\n\nSkip obvious transient network, auth, or rate-limit failures unless the classification itself looks wrong.\n\n## License\n\nAll rights reserved. See [LICENSE](LICENSE) for terms.\n\nThis software is licensed under a proprietary license that permits installation and use as a local MCP server but prohibits modification, redistribution, reverse engineering, or use in competing products.\n\n## References\n\n[^1]: Model Context Protocol, \"Tools\" specification — MCP tools are a retrieval and integration surface, not a requirement to emulate full browser-automation flows inside one tool.\n\n[^2]: Model Context Protocol Blog, \"Tool Annotations as Risk Vocabulary: What Hints Can and Can't Do\" (2026-03-16) — structured tool output and accurate hints improve host-side routing and escalation decisions.\n","readmeFilename":"README.md"}