{"_id":"@claude-code-best/mcp-chrome-bridge","_rev":"11-f88a1f5df5c4029bc82e8db8d7ac76af","name":"@claude-code-best/mcp-chrome-bridge","dist-tags":{"latest":"3.0.2"},"versions":{"2.0.0":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.0","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.0","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"ceefdb4a87913a8970dcf7a898304c55a31cb9c8","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.0.tgz","fileCount":59,"integrity":"sha512-W7nb85MXKQGe6ImhdzIOlOf068Z/4B9nRqybUUpMeinW5Jc806utle127mUnnyFnUlmm+InxvhWRFxYhzJMuOw==","signatures":[{"sig":"MEYCIQDqKb4/ghYPqgqnZm24WFpLKonEV9cLWFcp+EWqE62ofAIhAOQ3rdZ7i3NMYICPvgVJpGNDcR4N3HicHQf0B8cvT/JM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275303},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"04fc54061abdbb8fa041d3920d4d8dcdb4340e0a","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"ts-node src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","is-admin":"^4.0.0","commander":"^13.1.0","chrome-mcp-shared":"workspace:*","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.0_1776046306088_0.13482594983281793","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.1","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.1","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"61308f53913f4c2afc26e65dbf0c512e217c0ac1","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.1.tgz","fileCount":59,"integrity":"sha512-Dt16WErd2Vc9Qu+UqrloQ0Hp2kTv7e/YITiqA8GompPh5vj+M8pFuUZVfBxV4QJGQIzTidSdspXAq0N426ojmQ==","signatures":[{"sig":"MEYCIQClF1gOX9dRUHodkIk6475MGtNiWPhoGppCTd4KrhzDKQIhAO8jAZsZKx0jWTt8BsvSQhSGYfQre7s3zS1zbcIcFWC6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275298},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"04fc54061abdbb8fa041d3920d4d8dcdb4340e0a","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"ts-node src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","is-admin":"^4.0.0","commander":"^13.1.0","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.1_1776046396142_0.9475434705420651","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.3","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.3","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"9ed7bcd9fa98c682af27510d26029de321bf8566","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.3.tgz","fileCount":59,"integrity":"sha512-kqj96qsZQdSJdG58Cw9IikzJlWyEA1JVsIks1Qtz5yhpLfrNNjyhincq/lR/TX6ANBR+0/2pjj9mGPBjLgdWLg==","signatures":[{"sig":"MEYCIQC/E9JS2yQPQPUASBYVZ8s1w9dTFvlhyxDqM4WQq/BTkAIhAKj+TyjZ6pu0gq/lTPIPYZWQKHtaM85jSTga7ptsnGvJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275695},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"04fc54061abdbb8fa041d3920d4d8dcdb4340e0a","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"ts-node src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","is-admin":"^4.0.0","commander":"^13.1.0","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.3_1776066448807_0.5020060912686337","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.4","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.4","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"1e3f3a5184f8d534ff2fb0581b32fe31a615ae52","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.4.tgz","fileCount":59,"integrity":"sha512-y0kpOG4LqFoj/KuYxw0PC2tvEKcRNoX79JWFbYN5kPtxDoGnm/yHqOYLxWzedCzwFSlZbmA2MLoQeSEqejGZ9g==","signatures":[{"sig":"MEUCIBNENb1PztrelC0KF5MYWtAjdUeMVm1NQMPdzAa87hZ+AiEArnDn852Zg2bBg6t5ujnCCK/ElNlfkBqOxvie0eVNHDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267580},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"04fc54061abdbb8fa041d3920d4d8dcdb4340e0a","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"ts-node src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","is-admin":"^4.0.0","commander":"^13.1.0","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.4_1776067234462_0.09349534936964776","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.6","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.6","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"99e8f905d7ad379109f7fc5668e98689677f612b","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.6.tgz","fileCount":68,"integrity":"sha512-eKHXl+prvuNgU6NFti9qpYD1/jnddNiNjNSyLhcvsNhBIn695cZn3KJG65yV+e8OXbjYIf9DeIMGYGVwqrClqA==","signatures":[{"sig":"MEQCIHSSjVkGf9jdoOxa8+hU+oQDmiGGaMIK/dGwW8K7FgJdAiADGS/otYs0Q6d1djSpQqO4flFaTOx6vrZrN8BmqM2rTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308961},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","gitHead":"7e0efdecb6d1dbec37be321d74dd4fe6948d915f","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","fastify":"^5.3.2","is-admin":"^4.0.0","commander":"^13.1.0","@fastify/cors":"^11.0.1","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.6_1776072550777_0.7316422513393446","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.7","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.7","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"6b89272202c90f6374863c840a9ac0f24c2ac05b","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.7.tgz","fileCount":68,"integrity":"sha512-gb64+Ga6li3A8Ll9NKV+ePBn5/U0fccCdrH43tGYveLKZIZxURz8cbY+Z3BdbTdYSPVdFXtfUlp3TMxu4OT5gg==","signatures":[{"sig":"MEYCIQCqnmUZ/Czi4SccCw1h9AwDVD709vr0desGkzHiQdkjBAIhALowQ65qcTKPtFy3TcQI6ShCkQGEbvfLoohFP51R37/f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311871},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","gitHead":"3a14905102b1dac1c661133c0791ae0a631c1285","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","fastify":"^5.3.2","is-admin":"^4.0.0","commander":"^13.1.0","@fastify/cors":"^11.0.1","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.7_1776084677110_0.6494962682569527","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.8","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.8","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"30a2b9d89f6a4f7c5654dfb41525b184f0c9ec9f","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.8.tgz","fileCount":68,"integrity":"sha512-f7J1e4PQ6qxXzdHwL7QRrMZ4lPfD/L1MWxWDbyHmHY7jaW2GL6WcArKpk/fApg3V/q0racqUWzXHQdpE/HJZqg==","signatures":[{"sig":"MEQCIE/8MIU/Mieb6jM0R6pdASn2ourNmh5EencIdCY7t2REAiAzLDRUf5UAigPbIg/+xS3bWFhym/U1+DOAjrZnDn1KJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311871},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","gitHead":"f92aa27f6ef498a59d4f0b8de02793e5d390e27b","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","fastify":"^5.3.2","is-admin":"^4.0.0","commander":"^13.1.0","@fastify/cors":"^11.0.1","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.8_1776394282530_0.8809676906252697","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@claude-code-best/mcp-chrome-bridge","version":"2.0.9","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@2.0.9","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"a3718d5061cac1d60ad070b498c5dfd2d6b469a9","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-2.0.9.tgz","fileCount":68,"integrity":"sha512-X10wK1sI3jFI8MlcG17jQVGgZo7TpasI911GtXGOXHWbbofFHJ+V0NScbJ6sy8XK0miJecD3OhUvG1uqvsKJwQ==","signatures":[{"sig":"MEQCIEe/PK4sI30231kA9CS5vJxRhpLUKEKiNYWHqYpmtRSnAiBjyXPlhZ5nufMmncyBG12FH6E/JFBD4xM03X5jay69tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312700},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","gitHead":"39e48c4d4fea6a6d7529649865cefc0889ff3003","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"pino":"^9.6.0","uuid":"^11.1.0","chalk":"^5.4.1","fastify":"^5.3.2","is-admin":"^4.0.0","commander":"^13.1.0","@fastify/cors":"^11.0.1","chrome-mcp-shared":"^1.0.2","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","pino-pretty":"^13.0.0","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_2.0.9_1776739931453_0.7016114589322282","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@claude-code-best/mcp-chrome-bridge","version":"3.0.0","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@3.0.0","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"66da175070bbf21541c7666a92d254baa711c5f7","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-3.0.0.tgz","fileCount":17,"integrity":"sha512-NoHWV1FPGSGS2pGkAqgrQhlVUwiG2te0iBjuIh9Iea3fPwnaEkGXf1qlDyElEleDAIvsMIyRFPQQuPsQVypLUg==","signatures":[{"sig":"MEYCIQCdCGYMRsnym/uAGSez9iKa2x6/Klq/izM2ceYWcXNZ4QIhAP4lSZCFSaJPpQDxMatXPw2V+htgPEXy2tKMxiS5x0mG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777034},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"b7c47410839cb272e2230129c1be461a75e474e1","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"hono":"^4.12.12","is-admin":"^4.0.0","commander":"^13.1.0","@hono/node-server":"^1.19.13","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","chrome-mcp-shared":"^1.0.2","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_3.0.0_1776743796912_0.6638216428609456","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@claude-code-best/mcp-chrome-bridge","version":"3.0.1","keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","_id":"@claude-code-best/mcp-chrome-bridge@3.0.1","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"bin":{"mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js","mcp-chrome-bridge":"dist/cli.js"},"dist":{"shasum":"e631c0b57139c8fa27cee9fdb8d8a9ed182e6493","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-3.0.1.tgz","fileCount":17,"integrity":"sha512-ozeLHVOdckTUsWKJneJAL+CclrUlwVyBpfzFxgsrSL9f0LvjlJXE7+VcF5OmjDPwmZy6QNorvtg3/8NT2cIlzA==","signatures":[{"sig":"MEYCIQDS3oVDqDupIwMKbuhHzib9UOi1AEmAtsFWI5UbSDhs3wIhALUPwqgT2Zrh9F0Xd4ABao5JmBGW5k0vKrN0+qOZoWOt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":780904},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"b7f78163283f7a39190d0232e7290818f8535ea2","scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","lint":"eslint 'src/**/*.{js,ts}'","test":"jest","build":"bun run  src/scripts/build.ts","format":"prettier --write 'src/**/*.{js,ts,json}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","test:watch":"jest --watch","postinstall":"node dist/scripts/postinstall.js","register:dev":"node dist/scripts/register-dev.js"},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"_npmVersion":"10.9.3","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","directories":{},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.20.0","dependencies":{"hono":"^4.12.12","is-admin":"^4.0.0","commander":"^13.1.0","@hono/node-server":"^1.19.13","@modelcontextprotocol/sdk":"^1.11.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","cross-env":"^7.0.3","typescript":"^5.9.3","@types/jest":"^29.5.14","@types/node":"^22.19.17","lint-staged":"^15.5.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.318","chrome-mcp-shared":"^1.0.2","@typescript-eslint/parser":"^8.31.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-chrome-bridge_3.0.1_1776744254715_0.420671480178066","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@claude-code-best/mcp-chrome-bridge","version":"3.0.2","description":"Chrome Native-Messaging host (Node) — MCP + message bridge","main":"dist/index.js","bin":{"mcp-chrome-bridge":"dist/cli.js","mcp-chrome-stdio":"dist/mcp/mcp-server-stdio.js"},"scripts":{"dev":"nodemon --watch src --ext ts,js,json --ignore dist/ --exec \"npm run build && npm run register:dev\"","build":"bun run  src/scripts/build.ts","test":"jest","test:watch":"jest --watch","lint":"eslint 'src/**/*.{js,ts}'","lint:fix":"eslint 'src/**/*.{js,ts}' --fix","format":"prettier --write 'src/**/*.{js,ts,json}'","register:dev":"node dist/scripts/register-dev.js","postinstall":"node dist/scripts/postinstall.js"},"preferGlobal":true,"keywords":["mcp","chrome","browser"],"author":{"name":"hangye"},"license":"MIT","dependencies":{"@hono/node-server":"^1.19.13","@modelcontextprotocol/sdk":"^1.11.0","commander":"^13.1.0","hono":"^4.12.12"},"devDependencies":{"@jest/globals":"^29.7.0","chrome-mcp-shared":"^1.0.2","@types/chrome":"^0.0.318","@types/jest":"^29.5.14","@types/node":"^22.19.17","@typescript-eslint/parser":"^8.31.1","cross-env":"^7.0.3","husky":"^9.1.7","jest":"^29.7.0","lint-staged":"^15.5.1","nodemon":"^3.1.10","rimraf":"^6.0.1","ts-jest":"^29.3.2","ts-node":"^10.9.2","typescript":"^5.9.3"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{js,ts}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_id":"@claude-code-best/mcp-chrome-bridge@3.0.2","gitHead":"b7f78163283f7a39190d0232e7290818f8535ea2","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-pTa0XiHmkJId7IE+t6sT1/tAfnHl2v2DPVOS+G54kgHzYhNLB4/GdhwbRTFWrxCEsvVhi1zqo4TUlky+vgkvOg==","shasum":"8a7d706a492abe43fea87e77a46d9746026a4977","tarball":"https://registry.npmjs.org/@claude-code-best/mcp-chrome-bridge/-/mcp-chrome-bridge-3.0.2.tgz","fileCount":17,"unpackedSize":782631,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEKwWdXUQSy27aTxClvcvMVOVjppkSTmqkTfGE11cUn3AiA1bG7Isg0E2CgeK8aKKvqCD3puMe8I4ZTHAmbEJSi+ZA=="}]},"_npmUser":{"name":"konghayao","email":"3446798488@qq.com"},"directories":{},"maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-chrome-bridge_3.0.2_1777726957381_0.5597770699749207"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T02:11:45.980Z","modified":"2026-05-02T13:02:37.740Z","2.0.0":"2026-04-13T02:11:46.313Z","2.0.1":"2026-04-13T02:13:16.294Z","2.0.3":"2026-04-13T07:47:28.942Z","2.0.4":"2026-04-13T08:00:34.631Z","2.0.6":"2026-04-13T09:29:10.929Z","2.0.7":"2026-04-13T12:51:17.274Z","2.0.8":"2026-04-17T02:51:22.705Z","2.0.9":"2026-04-21T02:52:11.603Z","3.0.0":"2026-04-21T03:56:37.127Z","3.0.1":"2026-04-21T04:04:14.875Z","3.0.2":"2026-05-02T13:02:37.615Z"},"author":{"name":"hangye"},"license":"MIT","keywords":["mcp","chrome","browser"],"description":"Chrome Native-Messaging host (Node) — MCP + message bridge","maintainers":[{"name":"konghayao","email":"3446798488@qq.com"}],"readme":"# Fastify Chrome Native Messaging服务\n\n这是一个基于Fastify的TypeScript项目，用于与Chrome扩展进行原生通信。\n\n## 功能特性\n\n- 通过Chrome Native Messaging协议与Chrome扩展进行双向通信\n- **支持多浏览器**: Chrome 和 Chromium (包括 Linux、macOS 和 Windows)\n- 提供RESTful API服务\n- 完全使用TypeScript开发\n- 包含完整的测试套件\n- 遵循代码质量最佳实践\n\n## 开发环境设置\n\n### 前置条件\n\n- Node.js 20+\n- npm 8+ 或 pnpm 8+\n\n### 安装\n\n```bash\ngit clone https://github.com/your-username/fastify-chrome-native.git\ncd fastify-chrome-native\nnpm install\n```\n\n### 开发\n\n1. 本地构建注册native server\n\n```bash\ncd app/native-server\nnpm run dev\n```\n\n2. 启动chrome extension\n\n```bash\ncd app/chrome-extension\nnpm run dev\n```\n\n### 构建\n\n```bash\nnpm run build\n```\n\n### 注册Native Messaging主机\n\n#### 自动检测并注册所有已安装的浏览器\n\n```bash\nmcp-chrome-bridge register --detect\n```\n\n#### 注册特定浏览器\n\n```bash\n# 仅注册 Chrome\nmcp-chrome-bridge register --browser chrome\n\n# 仅注册 Chromium\nmcp-chrome-bridge register --browser chromium\n\n# 注册所有支持的浏览器\nmcp-chrome-bridge register --browser all\n```\n\n#### 全局安装（会自动注册检测到的浏览器）\n\n```bash\nnpm i -g @claude-code-best/mcp-chrome-bridge\n```\n\n#### 浏览器支持\n\n| 浏览器        | Linux | macOS | Windows |\n| ------------- | ----- | ----- | ------- |\n| Google Chrome | ✓     | ✓     | ✓       |\n| Chromium      | ✓     | ✓     | ✓       |\n\n注册位置：\n\n- **Linux**: `~/.config/[browser-name]/NativeMessagingHosts/`\n- **macOS**: `~/Library/Application Support/[Browser]/NativeMessagingHosts/`\n- **Windows**: `%APPDATA%\\[Browser]\\NativeMessagingHosts\\`\n\n### 与Chrome扩展集成\n\n以下是Chrome扩展中如何使用此服务的简单示例：\n\n```javascript\n// background.js\nlet nativePort = null;\nlet serverRunning = false;\n\n// 启动Native Messaging服务\nfunction startServer() {\n  if (nativePort) {\n    console.log('已连接到Native Messaging主机');\n    return;\n  }\n\n  try {\n    nativePort = chrome.runtime.connectNative('com.yourcompany.fastify_native_host');\n\n    nativePort.onMessage.addListener((message) => {\n      console.log('收到Native消息:', message);\n\n      if (message.type === 'started') {\n        serverRunning = true;\n        console.log(`服务已启动，端口: ${message.payload.port}`);\n      } else if (message.type === 'stopped') {\n        serverRunning = false;\n        console.log('服务已停止');\n      } else if (message.type === 'error') {\n        console.error('Native错误:', message.payload.message);\n      }\n    });\n\n    nativePort.onDisconnect.addListener(() => {\n      console.log('Native连接断开:', chrome.runtime.lastError);\n      nativePort = null;\n      serverRunning = false;\n    });\n\n    // 启动服务器\n    nativePort.postMessage({ type: 'start', payload: { port: 3000 } });\n  } catch (error) {\n    console.error('启动Native Messaging时出错:', error);\n  }\n}\n\n// 停止服务器\nfunction stopServer() {\n  if (nativePort && serverRunning) {\n    nativePort.postMessage({ type: 'stop' });\n  }\n}\n\n// 测试与服务器的通信\nasync function testPing() {\n  try {\n    const response = await fetch('http://localhost:3000/ping');\n    const data = await response.json();\n    console.log('Ping响应:', data);\n    return data;\n  } catch (error) {\n    console.error('Ping失败:', error);\n    return null;\n  }\n}\n\n// 在扩展启动时连接Native主机\nchrome.runtime.onStartup.addListener(startServer);\n\n// 导出供popup或内容脚本使用的API\nchrome.runtime.onMessage.addListener((message, sender, sendResponse) => {\n  if (message.action === 'startServer') {\n    startServer();\n    sendResponse({ success: true });\n  } else if (message.action === 'stopServer') {\n    stopServer();\n    sendResponse({ success: true });\n  } else if (message.action === 'testPing') {\n    testPing().then(sendResponse);\n    return true; // 指示我们将异步发送响应\n  }\n});\n```\n\n### 测试\n\n```bash\nnpm run test\n```\n\n### 许可证\n\nMIT\n","readmeFilename":"README.md"}