{"_id":"@datablue/mcp","_rev":"9-0c97be0caed4eab2596000c15e5e66f4","name":"@datablue/mcp","dist-tags":{"latest":"1.5.2"},"versions":{"1.0.0":{"name":"@datablue/mcp","version":"1.0.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.0.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js"},"dist":{"shasum":"abd3f16e4eb2e76f1f1cee649667c062047add33","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.0.0.tgz","fileCount":43,"integrity":"sha512-uOqvBVdEeOM9JbHSITaNUTWFgfM9BgbWmt7VZdNUoMfat5BGyenJI5hfOigqq8O/26BDOadDo7cRjSkP49jjBw==","signatures":[{"sig":"MEQCIFbqMqxfyEdae9IRJvMtMcfbHJBmNBBZRrETuHBx7tpcAiBjIhkLWUT0y5LMVYcdTMxI5HyaNuAB5q92rfK94RazPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183721},"main":"./dist/index.js","type":"module","_from":"file:datablue-mcp-1.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"_resolved":"D:\\Github_repo\\WebHarvest\\sdk\\datablue-mcp\\datablue-mcp-1.0.0.tgz","overrides":{"esbuild":"0.28.1"},"_integrity":"sha512-uOqvBVdEeOM9JbHSITaNUTWFgfM9BgbWmt7VZdNUoMfat5BGyenJI5hfOigqq8O/26BDOadDo7cRjSkP49jjBw==","repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","@datablue/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","eslint":"^9.39.1","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.0_1783797713131_0.684626013918405","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@datablue/mcp","version":"1.0.1","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.0.1","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js"},"dist":{"shasum":"c5f63a6eb237c9b673c75875c44b38452882646a","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.0.1.tgz","fileCount":43,"integrity":"sha512-oXMgGeT7MhhNOG+6z+6LRyDXIZf0Ltg4Uou1UPTuN8mXOk+ZXONUe+Oo7LBaj3qD7s6vd1wODrXwXgGQ3FBFqw==","signatures":[{"sig":"MEQCIFlihguv8la+RZZauYs9bAgSlQ4SU28183qgNO4Wy+jVAiBaOYkyccyVIDMcACYDqA2RmTGeMUQRQIwAaPD7ciF15Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184247},"main":"./dist/index.js","type":"module","_from":"file:datablue-mcp-1.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"_resolved":"D:\\Github_repo\\WebHarvest\\sdk\\datablue-mcp\\datablue-mcp-1.0.1.tgz","overrides":{"esbuild":"0.28.1"},"_integrity":"sha512-oXMgGeT7MhhNOG+6z+6LRyDXIZf0Ltg4Uou1UPTuN8mXOk+ZXONUe+Oo7LBaj3qD7s6vd1wODrXwXgGQ3FBFqw==","repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","@datablue/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","eslint":"^9.39.1","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.1_1783798333675_0.08427358580012534","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@datablue/mcp","version":"1.1.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.1.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js"},"dist":{"shasum":"130ba60049b2f8b5115436bc5fc62813f4aaa35a","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.1.0.tgz","fileCount":43,"integrity":"sha512-MJYS8JSPOkeV788rysmiyHP2lwKWmUbL+Q6GANGefDcEN7wdZUleTQC4za2ryfNMpLBAYpe9nCiIfdlwMF5ZuA==","signatures":[{"sig":"MEQCIGSl/kMdV4zFUs/wQ4nvUaAfN7WlOkYfJfKPWmO+cJZDAiAKNo4o5QhhirVlFo7PKywQjzxOwZsOaM0hdd8P60pbKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197634},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"98ead6c335590f16163d9368c2e2c0891bd6b589","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","@datablue/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","eslint":"^9.39.1","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.1.0_1783802856354_0.2921657909018365","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@datablue/mcp","version":"1.2.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.2.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js"},"dist":{"shasum":"b19da91f09347d39d63d5c6bb982397862cbb10e","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.2.0.tgz","fileCount":51,"integrity":"sha512-dbJveQltccXgF16Wc99S6Qxd9ahY6dB1Rf7GFjyb7jFpk+TNm9RxMR7Jxr7X4LA0hRO4GNiMxuIVYQ18SF/dTw==","signatures":[{"sig":"MEUCIQCiM1U/7GO/w2fFw3Ju6mfb4xyASrgEnQtBuU48LjRWjwIgJRo+UvVCRF/bQ+QjF5Y7PeDHnBKXKHTWW8Jjqci1yzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2afc5ff84926d4c76447c6f02280db61b43867b5","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","@datablue/sdk":"^1.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","eslint":"^9.39.1","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.0_1784048998676_0.7629550659618471","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@datablue/mcp","version":"1.3.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.3.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js"},"dist":{"shasum":"33dc20df59241821251fe9dc1575a3ab3a024f46","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.3.0.tgz","fileCount":55,"integrity":"sha512-290LNXW10Ob7ryFkghBZn/0PDIFuFgFWKcaSnO/WrlB/CklF5ZSsQTr41bZ09XfTzMyLjzQx9mhjDSKBVjFwRw==","signatures":[{"sig":"MEYCIQDPk6m8HSyzkaZwZHe2RrVGtQQmKiSrjYWSGSvQ/SguCQIhAKQzIx0+hMQ+gX2+I+aVZ+wyCRkF2zhV0fAKMA4+WJmf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285819},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","@datablue/sdk":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","eslint":"^9.39.1","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.3.0_1787639668562_0.4693739206177463","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@datablue/mcp","version":"1.4.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.4.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js","datablue-mcp-remote":"dist/remote.js"},"dist":{"shasum":"f1aeb0f39753b356e79529ef70434cd5a8d2c593","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.4.0.tgz","fileCount":71,"integrity":"sha512-qeJkxNShoAU4Gv2bB3cGvVNUlPkfWG7vfZmiKjLUoTCxNoxtxj2zgBK/gguyATkp0uGhWHwla8rAgj43Irjcpw==","signatures":[{"sig":"MEUCIH34fEzZyVOuz5g+qmkJUYHYNrzH4Lp9vf8G+AOdFDuFAiEAiuDngSIoxODB0I8wYhtSXjKKLGHeS0xLis8u8Hmdblc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377921},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./remote":{"types":"./dist/remote.d.ts","import":"./dist/remote.js"}},"gitHead":"0286f5f87057e7f79670754df1d6ed9f5edc189c","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","redis":"5.11.0","express":"^5.2.1","@datablue/sdk":"^1.2.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vite":"6.4.3","eslint":"^9.39.1","semver":"7.8.5","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","@types/semver":"7.8.0","@types/express":"^5.0.6","typescript-eslint":"8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.4.0_1787722490712_0.8833136360016769","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@datablue/mcp","version":"1.5.0","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.5.0","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js","datablue-mcp-remote":"dist/remote.js"},"dist":{"shasum":"a59b342e01b36f694e42fef4bec9dd0adf47f077","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.5.0.tgz","fileCount":75,"integrity":"sha512-6hGJYZ2D75druXWm/N02kinP9SCQYoDShjb7taIZfsZDpMcWEe083s5ZD4bWtoFz0cB5QFmIdT3bdKmCs0qEdg==","signatures":[{"sig":"MEYCIQDDZyaxWYgACk7wNu3WyBZ7iD70BqFAFAUcZmpPI5XvwQIhALnIHUa4HVVwFde1b3IBw+ukLKaN4RH8ES5bUr05Utly","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408903},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./remote":{"types":"./dist/remote.d.ts","import":"./dist/remote.js"}},"gitHead":"1d1d2d78eff83fd1f6fb7c5b52a928ec7b6d2e26","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","redis":"5.11.0","express":"^5.2.1","@datablue/sdk":"^1.2.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vite":"6.4.3","eslint":"^9.39.1","semver":"7.8.5","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","@types/semver":"7.8.0","@types/express":"^5.0.6","typescript-eslint":"8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.5.0_1787739892488_0.9735817056335305","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@datablue/mcp","version":"1.5.1","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"license":"MIT","_id":"@datablue/mcp@1.5.1","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"bin":{"datablue-mcp":"dist/index.js","datablue-mcp-remote":"dist/remote.js"},"dist":{"shasum":"9579aabf78edfb7673affd7f2bb09a2fa87d2f9f","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.5.1.tgz","fileCount":75,"integrity":"sha512-eaDRfyM/3obyq+iRUQQOXYx84ehXr/8OwI5WJUY1nCuWzEbBwhYGAnrpuYj5XYaBP46+aJoiquHk9Y+CpW0zNQ==","signatures":[{"sig":"MEYCIQCL3ho9lwFK0N/r9ZDhkUakNLpL2SmYVOf/Ot40cXYt0gIhAM86IA5nHZqKPIyDD3dzGsUX3EuvPEnagEJwO6XVhbZU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421115},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./remote":{"types":"./dist/remote.d.ts","import":"./dist/remote.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -p tsconfig.build.json","verify":"npm run lint && npm run typecheck && npm test && npm run build","typecheck":"tsc --noEmit","catalog:sync":"tsx scripts/generate-catalog.ts","smoke:packed":"node scripts/smoke-packed.mjs","prepublishOnly":"npm run verify"},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/databluedev/webharvest.git","type":"git","directory":"sdk/datablue-mcp"},"_npmVersion":"11.6.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.25.76","redis":"5.11.0","express":"^5.2.1","@datablue/sdk":"^1.2.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vite":"6.4.3","eslint":"^9.39.1","semver":"7.8.5","vitest":"^3.2.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^20.19.25","@types/semver":"7.8.0","@types/express":"^5.0.6","typescript-eslint":"8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.5.1_1787993507226_0.680910561943284","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@datablue/mcp","version":"1.5.2","description":"Official MCP server for DataBlue web scraping and structured data APIs","type":"module","bin":{"datablue-mcp":"dist/index.js","datablue-mcp-remote":"dist/remote.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./remote":{"types":"./dist/remote.d.ts","import":"./dist/remote.js"}},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","catalog:sync":"tsx scripts/generate-catalog.ts","lint":"eslint src test","smoke:packed":"node scripts/smoke-packed.mjs","typecheck":"tsc --noEmit","test":"vitest run","verify":"npm run lint && npm run typecheck && npm test && npm run build","prepublishOnly":"npm run verify"},"keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/databluedev/webharvest.git","directory":"sdk/datablue-mcp"},"homepage":"https://www.datablue.dev","bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"publishConfig":{"access":"public"},"overrides":{"esbuild":"0.28.1"},"engines":{"node":">=18.18.0"},"license":"MIT","dependencies":{"@datablue/sdk":"^1.2.0","@modelcontextprotocol/sdk":"1.29.0","express":"^5.2.1","redis":"5.11.0","zod":"^3.25.76"},"devDependencies":{"@eslint/js":"^9.39.1","@types/express":"^5.0.6","@types/node":"^20.19.25","@types/semver":"7.8.0","eslint":"^9.39.1","semver":"7.8.5","tsx":"^4.20.6","typescript":"^5.9.3","typescript-eslint":"8.46.4","vite":"6.4.3","vitest":"^3.2.4"},"_id":"@datablue/mcp@1.5.2","_integrity":"sha512-ByBwTdsxaaLrL8osYBQcAsCry28k1Ch6XukcdKfug1CVeB0G5sgEvIBG0T4l2YRUI2pfFYePnJ2+K3jBIY91jg==","_resolved":"D:\\Github_repo\\WebHarvest\\.worktrees\\mcp-chatgpt-submission\\sdk\\datablue-mcp\\datablue-mcp-1.5.2.tgz","_from":"file:datablue-mcp-1.5.2.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-ByBwTdsxaaLrL8osYBQcAsCry28k1Ch6XukcdKfug1CVeB0G5sgEvIBG0T4l2YRUI2pfFYePnJ2+K3jBIY91jg==","shasum":"edcd171dcda8f971ee179c70614b383f8af1cd92","tarball":"https://registry.npmjs.org/@datablue/mcp/-/mcp-1.5.2.tgz","fileCount":75,"unpackedSize":421124,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICfGSZtCeITtU7PbFPFDrr5fp2t1BzqEpQw5bwew/SUuAiEA8TqryuTYutw92ZbRYXfAk5BVnnvm8VPKedFRJUA4x80="}]},"_npmUser":{"name":"datablue","email":"databluedev@gmail.com"},"directories":{},"maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_1.5.2_1788019861105_0.8497553289301039"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-11T19:21:52.896Z","modified":"2026-08-29T16:11:01.424Z","1.0.0":"2026-07-11T19:21:53.292Z","1.0.1":"2026-07-11T19:32:13.850Z","1.1.0":"2026-07-11T20:47:36.502Z","1.2.0":"2026-07-14T17:09:58.840Z","1.3.0":"2026-08-25T06:34:28.720Z","1.4.0":"2026-08-26T05:34:50.865Z","1.5.0":"2026-08-26T10:24:52.622Z","1.5.1":"2026-08-29T08:51:47.378Z","1.5.2":"2026-08-29T16:11:01.244Z"},"bugs":{"url":"https://github.com/databluedev/webharvest/issues"},"license":"MIT","homepage":"https://www.datablue.dev","keywords":["datablue","mcp","model-context-protocol","web-scraping","serp","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/databluedev/webharvest.git","directory":"sdk/datablue-mcp"},"description":"Official MCP server for DataBlue web scraping and structured data APIs","maintainers":[{"name":"datablue","email":"databluedev@gmail.com"}],"readme":"# DataBlue MCP\r\n\r\nOfficial Model Context Protocol server for [DataBlue](https://www.datablue.dev). It gives MCP-compatible agents a scraper-first toolset for search, scrape, batch scrape, crawl, extraction, and DataBlue's stable public Data APIs.\r\n\r\nHosted clients use DataBlue OAuth at this Streamable HTTP endpoint. The browser opens DataBlue sign-in and consent; no API key is copied into the client. Browser sign-in accepts a DataBlue company email and password, Google, or GitHub; a Google account is optional.\r\n\r\nYour ChatGPT, Claude, or Codex email can be different from your DataBlue email. The consent screen shows which DataBlue account will own usage, plan limits, and history.\r\n\r\n```text\r\nhttps://mcp.datablue.dev/mcp\r\n```\r\n\r\nThe delegated grant requests `mcp:tools` for tools and `usage:read` for account usage resources. Revoke it from **Dashboard -> Settings -> Connected apps**.\r\n\r\n## ChatGPT\r\n\r\nBefore public publication, enable **Developer mode** in **Settings -> Security and login**, open ChatGPT Plugins, select the plus button, and add `https://mcp.datablue.dev/mcp`. Review the discovered tools before testing prompts.\r\n\r\nAfter OpenAI review and a separate publisher action, public plugins appear in the universal Plugins Directory shared by ChatGPT and Codex. DataBlue is not claiming a public directory listing yet.\r\n\r\n## Claude\r\n\r\nOn an individual Pro or Max plan, open **Customize -> Connectors -> + -> Add custom connector**, then paste the hosted endpoint.\r\n\r\nOn Team or Enterprise, an Owner or Primary Owner first adds the connector under **Organization settings -> Connectors**. After that, members open **Customize -> Connectors**, find DataBlue, and select **Connect** to authenticate.\r\n\r\nFor Claude Code, run:\r\n\r\n```bash\r\nclaude mcp add --transport http datablue https://mcp.datablue.dev/mcp\r\nclaude mcp login datablue\r\n```\r\n\r\n## Codex\r\n\r\nThe ChatGPT desktop app and Codex IDE extension can add DataBlue from **Settings -> MCP servers -> Add server**. Choose **Streamable HTTP**, enter the hosted endpoint, save, restart, and authenticate. They share MCP configuration with the same Codex host.\r\n\r\nFor Codex CLI, run:\r\n\r\n```bash\r\ncodex mcp add datablue --url https://mcp.datablue.dev/mcp\r\ncodex mcp login datablue\r\n```\r\n\r\n## Remote API-key fallback\r\n\r\nOAuth is the recommended hosted connection. Automation that cannot complete an interactive OAuth flow may send an existing DataBlue API key as the HTTP `Authorization: Bearer <your-key>` credential to `https://mcp.datablue.dev/mcp`.\r\n\r\nKeep `DATABLUE_API_KEY` in the client's environment or secret store, never in source control or a tool argument. API-key fallback has the same DataBlue account permissions as that key and does not create a Connected apps grant.\r\n\r\n## Run locally over stdio\r\n\r\nLocal stdio mode requires Node.js 18.18 or newer and a DataBlue API key from the dashboard:\r\n\r\n```bash\r\nDATABLUE_API_KEY=\"<your-key>\" npx --yes --prefer-online @datablue/mcp@latest\r\n```\r\n\r\nKeep stdout reserved for MCP protocol messages. Restart the client after changing its configuration.\r\n\r\n## Standard MCP JSON Configuration\r\n\r\nClaude Desktop, Cursor, Windsurf-style clients, and other clients that use an `mcpServers` JSON file can configure DataBlue like this:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"datablue\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"--yes\", \"--prefer-online\", \"@datablue/mcp@latest\"],\r\n      \"env\": {\r\n        \"DATABLUE_API_KEY\": \"<your-key>\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nKeep the API key in the local client configuration or environment and never commit it to source control.\r\n\r\n### Codex local stdio\r\n\r\nAdd the server with the Codex CLI:\r\n\r\n```bash\r\ncodex mcp add datablue --env DATABLUE_API_KEY=<your-key> -- npx --yes --prefer-online @datablue/mcp@latest\r\n```\r\n\r\nEquivalent `~/.codex/config.toml` configuration:\r\n\r\n```toml\r\n[mcp_servers.datablue]\r\ncommand = \"npx\"\r\nargs = [\"--yes\", \"--prefer-online\", \"@datablue/mcp@latest\"]\r\n\r\n[mcp_servers.datablue.env]\r\nDATABLUE_API_KEY = \"<your-key>\"\r\n```\r\n\r\n### Claude Code local stdio\r\n\r\n```bash\r\nclaude mcp add --transport stdio datablue --env DATABLUE_API_KEY=<your-key> -- npx --yes --prefer-online @datablue/mcp@latest\r\n```\r\n\r\n## Tools\r\n\r\nCore tools:\r\n\r\n- `datablue_search_google`\r\n- `datablue_scrape_url`\r\n- `datablue_batch_scrape`\r\n- `datablue_extract`\r\n- `datablue_map_site`\r\n- `datablue_start_crawl`\r\n- `datablue_get_job_status`\r\n- `datablue_get_result_items`\r\n\r\nCatalog tools:\r\n\r\n- `datablue_list_data_apis`\r\n- `datablue_run_data_api`\r\n\r\nCall `datablue_list_data_apis` with no arguments for a compact index containing every current API ID, parameter name/type, and live credit weight. Call it again with `{ \"api\": \"zepto_products\" }` when the agent needs one API's full descriptions, example, and limits before using `datablue_run_data_api`. Catalog reads consume zero DataBlue credits.\r\n\r\nSome Data APIs return asynchronous job envelopes for heavy work. When a `datablue_run_data_api` response includes a `job_id` or `status_url`, poll it with `datablue_get_job_status` and `job_type: \"data\"`.\r\n\r\n`datablue_scrape_url`, `datablue_batch_scrape`, and known Data API results return through the standard MCP response envelope. The MCP server uses semantic agent views before raw full payloads: requested rows are preserved where practical, heavy fields are omitted, and `response.full_result.uri` begins at `datablue://results/{id}/0`. The first text block, `content[0].text`, contains the same bounded JSON envelope as `structuredContent`, so content-only and structured MCP clients can read the rows.\r\n\r\nFor an oversized result, call `datablue_get_result_items` with `response.full_result.id`. It reads logical rows from the authenticated user's stored result with `offset`, `limit`, optional `path`, and optional `fields`. Cached reads consume zero DataBlue credits and never rerun the original API. The raw resource remains available for lossless reconstruction: follow each `next_page_uri`, base64-decode `data_base64`, concatenate the bytes in page order, and parse the JSON. Unmatched small responses can still return as `response.mode: \"full\"`. Payloads above the hosted result-storage cap keep the bounded preview without a full-result link. Screenshot capture is exposed through scrape formats, for example `formats: [\"screenshot\"]` or an object format such as `{ \"type\": \"screenshot\", \"capture\": \"full_page\", \"full_page\": true }`.\r\n\r\n## Resources\r\n\r\n- `datablue://apis`\r\n- `datablue://pricing`\r\n- `datablue://usage`\r\n- `datablue://usage-summary`\r\n- `datablue://docs/scrape`\r\n- `datablue://docs/crawl`\r\n- `datablue://docs/google-serp`\r\n- `datablue://examples/batch-scrape`\r\n- `datablue://examples/research-company`\r\n- `datablue://results/{id}/{page}` for bounded pages of cached oversized tool results\r\n\r\nHosted remote results are isolated and quota-bounded by authenticated DataBlue user in Redis and expire after 30 minutes. Local stdio results remain in that local MCP process's bounded in-memory store for 30 minutes. `datablue_get_result_items` and raw resource reads use only that stored response and do not call DataBlue again.\r\n\r\n## Prompts\r\n\r\n- `research_company`\r\n- `competitor_serp_report`\r\n- `extract_products_from_url`\r\n- `find_leads_from_google`\r\n- `scrape_site_to_markdown`\r\n- `monitor_keyword`\r\n\r\n## Configuration\r\n\r\n| Variable | Default | Allowed |\r\n| --- | --- | --- |\r\n| `DATABLUE_API_KEY` | none | DataBlue API key; required for API actions |\r\n| `DATABLUE_BASE_URL` | `https://api.datablue.dev` | DataBlue API origin |\r\n| `DATABLUE_MCP_TIMEOUT_MS` | `60000` | `1000..300000` |\r\n| `DATABLUE_MCP_MAX_RESULTS` | `100` | `1..100` |\r\n| `DATABLUE_MCP_MAX_CRAWL_PAGES` | `100` | `1..1000` |\r\n| `DATABLUE_MCP_MAX_RESPONSE_BYTES` | `60000` | `2000..500000` |\r\n| `DATABLUE_MCP_MAX_ARRAY_ITEMS` | `10` | `1..100` |\r\n| `DATABLUE_MCP_ALLOW_FULL_RESPONSE` | `false` | `true` or `false` |\r\n\r\n`DATABLUE_MCP_MAX_RESPONSE_BYTES` bounds the complete serialized MCP tool result, including the JSON text block, matching `structuredContent`, and an optional resource link. The inline data budget is therefore smaller than the full wire budget. `DATABLUE_MCP_ALLOW_FULL_RESPONSE=true` deliberately bypasses that byte limit for successful tool calls; enable it only for a local client that can accept the duplicated full payload.\r\n\r\nHosted remote mode adds these limits:\r\n\r\n| Variable | Default | Purpose |\r\n| --- | --- | --- |\r\n| `DATABLUE_MCP_MAX_SESSIONS` | `100` | Global live-session cap |\r\n| `DATABLUE_MCP_MAX_SESSIONS_PER_PRINCIPAL` | `5` | Per-user live-session cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_REQUESTS` | `20` | Global authenticated request cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_REQUESTS_PER_PRINCIPAL` | `4` | Per-user request cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_STREAMS` | `100` | Global held GET/SSE stream cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_STREAMS_PER_PRINCIPAL` | `5` | Per-user held GET/SSE stream cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_AUTHENTICATIONS` | `40` | Global in-flight token-verification cap |\r\n| `DATABLUE_MCP_MAX_CONCURRENT_AUTHENTICATIONS_PER_IP` | `4` | Per-source-IP token-verification cap |\r\n| `DATABLUE_MCP_MAX_STORED_RESULT_BYTES` | `2000000` | Maximum serialized bytes for one cached result |\r\n| `DATABLUE_MCP_MAX_STORED_RESULT_BYTES_PER_PRINCIPAL` | `10000000` | Maximum cached bytes per user |\r\n| `DATABLUE_MCP_MAX_STORED_RESULTS_PER_PRINCIPAL` | `20` | Maximum cached results per user |\r\n\r\nEvery tool call also has one overall deadline equal to `DATABLUE_MCP_TIMEOUT_MS`; sequential batch work does not receive a fresh timeout for each item.\r\n\r\nThe API key is read only from the environment. It is not accepted as a tool parameter and is redacted from tool errors.\r\n\r\nWhen a request exceeds a configured MCP guard such as `DATABLUE_MCP_MAX_RESULTS` or `DATABLUE_MCP_MAX_CRAWL_PAGES`, the server rejects the call before contacting DataBlue. It does not silently lower requested result counts.\r\n\r\nMCP response shaping happens after DataBlue returns. Backend API calls are unchanged, so requested result counts are not silently reduced or rerun. Known DataBlue result types use `response.mode: \"agent_view\"` first, keeping useful rows inline when the complete MCP result fits while moving bulky fields to paged `response.full_result.uri` resources. Larger responses use `response.mode: \"preview\"` and retain a stored-result handle whenever storage succeeds. Shaped responses include `response.truncated`, `response.original_size_bytes`, `response.returned_size_bytes`, `response.omitted_paths`, and, when within the cache cap, `response.full_result.uri`.\r\n\r\nTool results put the same bounded agent-readable JSON in MCP `content[0].text` and `structuredContent`. This follows MCP compatibility guidance and lets Claude, Codex, ChatGPT, and other hosts read the result even when they expose only one result channel.\r\n\r\nFor hosted OAuth troubleshooting, reconnect the client and confirm the grant remains present under **Connected apps**. For local stdio troubleshooting, verify Node.js is 18.18 or newer, `DATABLUE_API_KEY` is available to the MCP process, and stdout is reserved for protocol messages.\r\n\r\n## Catalog Policy\r\n\r\nThe MCP catalog contains only endpoints published in DataBlue's docs-ready endpoint list. SDK-only helpers and APIs still under rollout are intentionally unavailable. Credit weights are fetched from DataBlue's live public weight catalog and are omitted when that catalog cannot be reached; stale weights are never hardcoded.\r\n\r\n## Development\r\n\r\n```bash\r\nnpm install\r\nnpm run catalog:sync\r\nnpm run verify\r\nnpm pack --dry-run\r\n```\r\n\r\n`npm run catalog:sync` regenerates the package catalog from `web/src/app/docs/docs-data.ts`. The contract test fails if the generated catalog and docs-ready endpoint list diverge.\r\n\r\n## Support and policies\r\n\r\n- Support: https://www.datablue.dev/contact\r\n- Privacy policy: https://www.datablue.dev/legal/privacy-policy\r\n- Terms of service: https://www.datablue.dev/legal/terms-of-service\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}