{"_id":"brave-search-mcp","_rev":"15-e884972994fd5a8f2af9471d01f2bbc1","name":"brave-search-mcp","dist-tags":{"latest":"2.1.0"},"versions":{"0.6.0":{"name":"brave-search-mcp","version":"0.6.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.6.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"c78c5f2be78ace46300d8ace11509ecb4e357c7a","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.6.0.tgz","fileCount":12,"integrity":"sha512-+PZ7mUJ7u99X9VVEfTd+du0fJDsoBVME7Cul70MXE6hzd6OW994Ut5PBRG26MM0B3Bn6L82YX1oxSCSHLC+T7g==","signatures":[{"sig":"MEUCIAGrWAyoEw4D+j7vGHgM9tsZTFF4qsT8H50vkKzQCm+8AiEArTf60j7j7Jd+as3BTKG+2LSkPN8VZN+T4/u+PpotQSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64790},"main":"dist/index.js","type":"module","gitHead":"f53f617b711794547f1cc299a0fac8e43a72a0e6","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","prepare":"npm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","axios":"^1.8.4","express":"^5.1.0","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.6.0_1745095876481_0.13220851500120756","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"brave-search-mcp","version":"0.6.1","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.6.1","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"86f82e5a8fc17697c71174c6fe364ec26c796d3c","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.6.1.tgz","fileCount":12,"integrity":"sha512-K1Hf3xiuM/jL1TNtKkHXsabnr6qiEpxGvM5sEflWQHk+hn5F9RxTRufmSG0uZHAHj9LZHS6vLFGmuAXbpo3sQg==","signatures":[{"sig":"MEYCIQDoKzb4F3r/OLqesKMjQgx4rmdd2wSk0o5tJfVZAMTSfwIhAIK6+DLqm7nEwVcwnhvJV3BtGf91kev7+4C8S3tCnO4O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66653},"main":"dist/index.js","type":"module","gitHead":"e966b6e52eb4e7dfba6931c0aa6a1add86e8ed3a","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","prepare":"npm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","express":"^5.1.0","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.6.1_1745274472648_0.5209184146146943","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"brave-search-mcp","version":"0.6.2","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.6.2","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"b44f371fc076db783eba0b49e10011ba1277c5de","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.6.2.tgz","fileCount":12,"integrity":"sha512-7euV6K47sz+j8GNvTCxpOsUw0q3a6WT2J2Jc+I11iT+g8LSqRgqtXvagB3tsGTQEFaK3294RsG22UYMKOX/pAQ==","signatures":[{"sig":"MEUCIQC+xxOsL5oDOBnqDimmtL/we6lO+1BEPg6lQLogAuTnPgIgXxPdttVeAmayWrdXNdphDI2Ob5NT6LIcmyK49LTkNC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65854},"main":"dist/index.js","type":"module","gitHead":"06295df864f40609cbdfb7af6272dc07abaa3407","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","prepare":"npm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.6.2_1745356141209_0.7994340196841683","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"brave-search-mcp","version":"0.7.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.7.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"c84ca19d31058549e1fb41db66c8b7ba010ac612","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.7.0.tgz","fileCount":12,"integrity":"sha512-j2doKyFs6FDHkgXpBZx2XMYwt5lVFHt44bB1FwkLeieXRiwigvRKEBzfVEKQ8I9+D+BFNtJgrwYF2CEDpV/ACw==","signatures":[{"sig":"MEYCIQCPCqJB7mJnnHi2fh+1KLsMRO0fOLA0ip0G9x64X06pOgIhAOSBW/G2Mv12C6p/t49yegipv/WkZEdhR4MK8wRT5//K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68140},"main":"dist/index.js","type":"module","gitHead":"a9a0cc4f72699729ce8a5ddd1a9aadb9df4cfebe","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","prepare":"npm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.7.0_1748297219008_0.4708753344784955","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"brave-search-mcp","version":"0.7.5","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.7.5","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"5d8af4b653fe402d0c5cb8005ec47ca2803fc4e6","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.7.5.tgz","fileCount":12,"integrity":"sha512-mJwy9zCHcDujyYxpgxUbGHGK98Ut/2EZyg2GqjD/d00fRLbHSqkS35twjzM+1gbPNuM2Ao20ic81oGeNVGfE0w==","signatures":[{"sig":"MEUCIQDCyzwrzyCQ6dF5L88YiY3T4glAP4QM/ZOx1x2IOCuYbwIgdqwvGscwRffGTMOPeYBIQ1PeQmEveb20q2Pn/yb/Zuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69061},"main":"dist/index.js","type":"module","gitHead":"95c83ee6df1ddb145ff234885782dd04534939b7","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","prepare":"npm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.7.5_1749841478847_0.899954535198765","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"brave-search-mcp","version":"0.8.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.8.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"3f3ea0bcbeac6d9252e221e0c604cd9676000d25","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.8.0.tgz","fileCount":12,"integrity":"sha512-/8whGrm+h9eI9UmQb/fyjNA7V0P8w3okFBBH9mR4XaQ/cUs9itA3UUoS9Jqb/AHZLUVznFaFVqCJRT6Kdzh+zQ==","signatures":[{"sig":"MEUCICTSmsf/ifZmxin+c4+A+qdHi3Ms7cOjOMvXi1ZOmXnhAiEA+qI0d1vc96aQksG6vOs5Fpy1zujOYrXrC2gArS7py7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67584},"main":"dist/index.js","type":"module","gitHead":"d60ae665bb823a82e816db4396edded124aa033f","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w"},"_npmUser":{"name":"mchao1","actor":{"name":"mchao1","type":"user","email":"mike.chao.one@gmail.com"},"email":"mike.chao.one@gmail.com"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.23.0","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@antfu/eslint-config":"^4.11.0","eslint-plugin-format":"^1.0.1","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.14.1"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.8.0_1751492768288_0.5517813095820474","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"brave-search-mcp","version":"0.9.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@0.9.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"5c2a021476a0ba14fed1d178a1b564fe298a6ee4","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-0.9.0.tgz","fileCount":12,"integrity":"sha512-QJqmwkziVDFS99DjE3iLvcd6ZVeAKyy3WYJjYhWPZ5YogoYs9aNdb3y9ApWYrI1hVcHMSEthPjwgSjR4odMrVA==","signatures":[{"sig":"MEYCIQClZK6YH+UKRikvnFcwSy13u4nSOqlb7TPeDmpqiE4rYAIhAN4BSDpy30W8PCS2NH1tSHqRJ4ZIps+ASwVEqVqAlfiu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68301},"main":"dist/index.js","type":"module","gitHead":"06a2c598632b28956982261f437d1c69c75f67d5","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"npm run clean && tsc && shx chmod +x dist/*.js","check":"npm run lint:check && npm run typecheck","clean":"shx rm -rf dist && shx mkdir dist","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsc --sourceMap -p tsconfig.json -w","changeset:version":"changeset version && node scripts/sync-manifest-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7592aaae-9174-4b9f-b981-87fd3aad0fd7"}},"overrides":{"axios":"^1.13.2","js-yaml":"^4.1.1","form-data":"^4.0.4"},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.3","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^9.39.2","typescript":"^5.8.2","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_0.9.0_1767660228478_0.41778684167582125","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"brave-search-mcp","version":"1.0.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@1.0.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"68294e97a3465621fffc7504a119e19386617741","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-1.0.0.tgz","fileCount":5,"integrity":"sha512-q5v1YFXWAhYbbaJ3r03SM4t5C++0PaMprhQJoXecaM+uyO5ukB9FeLtXg+xdU8YcfN4LxSj8LLUCFKPeHOP3fw==","signatures":[{"sig":"MEUCIE4ChcUsF+SnppCemIjvHSkxVp9un2X2Jks01rjIedoIAiEA1NtbfnTGwYedUH6IPhQa1/7xwJj6CTblryQAYFCW4fM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1347851},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d8cd6619e572cfca835fdacbed381f3c721b6023","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","changeset:version":"changeset version && node scripts/sync-manifest-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.3","cors":"^2.8.5","express":"^5.2.1","brave-search":"workspace:*","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","eslint":"^9.39.2","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_1.0.0_1768250364010_0.5158958472335098","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"brave-search-mcp","version":"2.0.0","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@2.0.0","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"6c2107cf61bd22ca8166fb03db592557029fddfc","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-2.0.0.tgz","fileCount":5,"integrity":"sha512-sD1+p98fvq167VXpm0prNOYKE9+yecbTV7bMwEoy8r8F4TFGbSfTT1bGtX6Ap3fWW7Ls0EBUJgAc8z4sVhN7sw==","signatures":[{"sig":"MEUCIDpCKqs30OLTtbgg0OcVZW+h0+OynXKxKuORWy65c8GWAiEAyMnaIWJ3C+wdco3hXyAfuQMU+tLYX2/LVYGWvQCj7gI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1347851},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"200d3bdec0aa60715d7701c26f0388ab73249f54","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","changeset:version":"changeset version && node scripts/sync-manifest-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.3","cors":"^2.8.5","express":"^5.2.1","brave-search":"workspace:*","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","eslint":"^9.39.2","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_2.0.0_1768251790911_0.33619288077688503","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"brave-search-mcp","version":"1.0.1","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@1.0.1","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"046cf84fc44c08829e6a55cc986f9402ee8fed0f","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-1.0.1.tgz","fileCount":5,"integrity":"sha512-gnfGalCul6ZeNhMcI3qvItYRADBiSg6nl+pCQZBtn/jQgaJUd33oXKlGCYRk7g/+/F+XFBljc1cy7hzOzOC2yg==","signatures":[{"sig":"MEUCID7QgfEiccKtGGGAcgEiAmcQczwukMEF1BIk59VFow0EAiEAiVQQDR15D7bpm8MVf+oWgQzGEcPbGKAPR2comzBa0mE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5885699},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"f8ae76abd498a2c0be016cf9d61da3cff001a265","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","changeset:version":"changeset version && node scripts/sync-manifest-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.3","cors":"^2.8.5","express":"^5.2.1","brave-search":"workspace:*","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","eslint":"^9.39.2","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_1.0.1_1768257389413_0.891060303413592","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"brave-search-mcp","version":"1.0.2","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@1.0.2","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"98946afee36e4882149dd3e7417323acefcddb67","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-1.0.2.tgz","fileCount":5,"integrity":"sha512-LoQdYqRKzKWf8P7+6fXndRXFP8TOQCwrY0PL4o2vquuiVe8A1lxrHsqDEyIEnUQ8qMnEBr/qtBC/wy5Gg99lXw==","signatures":[{"sig":"MEUCIF2cstnGSx67we10L4ACNqNePCQtXRczIxcdvM1/v7WBAiEA99xPxCbFZMpwfyja7PbFjDZxcaXEr+vTlnZHLYuXPAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5885699},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"1e472993577c1ee0fe7e5b745f4c68abafe6ce51","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","changeset:version":"changeset version && node scripts/sync-manifest-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.3","cors":"^2.8.5","express":"^5.2.1","brave-search":"workspace:*","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","eslint":"^9.39.2","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_1.0.2_1768257939234_0.9175310828970686","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"brave-search-mcp","version":"1.0.3","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@1.0.3","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"5a70d012245f9830dfb1e15bd1ba3c530baf7a3a","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-1.0.3.tgz","fileCount":5,"integrity":"sha512-/ZMhdUM/yalpSn+evKfuty0osy0Tgd7mA0yufxt2Uk+UKllhgVyGejmBU3PsxEYO62gdm13Y5ChLwU1xSr68Sg==","signatures":[{"sig":"MEYCIQDMKnxyd1lqv+8M2c/i2sUIS08glAKIvmXdOK6Bv6xuUAIhANJ06bLbiZ3EXLkkkf6ULJZOhWGuQT7iR7/9JP22EuEA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5885732},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ccd4d143c524a6ee5f40e8d9c132c62b67a6b26f","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","changeset:version":"changeset version && node scripts/sync-manifest-version.js && node scripts/cleanup-changesets.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.3","cors":"^2.8.5","express":"^5.2.1","brave-search":"^0.9.0","image-to-base64":"^2.2.0","@modelcontextprotocol/sdk":"^1.25.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","eslint":"^9.39.2","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","@types/express":"^5.0.1","@changesets/cli":"^2.28.1","@antfu/eslint-config":"^6.7.3","eslint-plugin-format":"^1.1.0","@types/image-to-base64":"^2.1.2","@modelcontextprotocol/inspector":"^0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_1.0.3_1768261323527_0.009289068240307286","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"brave-search-mcp","version":"2.0.1","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","_id":"brave-search-mcp@2.0.1","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"homepage":"https://github.com/mikechao/brave-search-mcp","bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"bin":{"brave-search-mcp":"dist/index.js"},"dist":{"shasum":"31bb1b154812806492d5f311bfa754c6aa4489df","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-2.0.1.tgz","fileCount":15,"integrity":"sha512-6d0XBzt15VrnAuFPOcbXkkBhOShfaP/X1aXur+4AwSaW+aN+mYwy7MnVy6bnHkfa4dEq1u487iTFmighVIREow==","signatures":[{"sig":"MEYCIQCmlXfwA+7m+JD8sHs8+L4jNumAOx+OGUcKfIlO6iaURQIhAPQokfpMO98NUYlYwqE0qFKXW9MJAJbU38gzITvm8TSM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15757389},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"eb4c069ae3c4496f1fb21d85cf22adaf1d1628f0","scripts":{"lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","build":"tsup && pnpm run build:ui:image && pnpm run build:ui:image:chatgpt && pnpm run build:ui:news && pnpm run build:ui:news:chatgpt && pnpm run build:ui:video && pnpm run build:ui:video:chatgpt && pnpm run build:ui:web && pnpm run build:ui:web:chatgpt && pnpm run build:ui:local && pnpm run build:ui:local:chatgpt && shx chmod +x dist/*.js","check":"pnpm run lint:check && pnpm run typecheck","clean":"shx rm -rf dist","build:all":"pnpm run typecheck && pnpm run build","typecheck":"tsc --noEmit && tsc --noEmit -p ui/tsconfig.json","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","build:watch":"tsup --watch","build:ui:web":"INPUT=src/lib/web/mcp-app.html vite build --config ui/vite.config.ts","build:ui:news":"INPUT=src/lib/news/mcp-app.html vite build --config ui/vite.config.ts","build:ui:image":"INPUT=src/lib/image/mcp-app.html vite build --config ui/vite.config.ts","build:ui:local":"INPUT=src/lib/local/mcp-app.html vite build --config ui/vite.config.ts","build:ui:video":"INPUT=src/lib/video/mcp-app.html vite build --config ui/vite.config.ts","changeset:version":"changeset version && node scripts/sync-manifest-version.js && node scripts/cleanup-changesets.js","build:ui:web:chatgpt":"INPUT=src/lib/web/chatgpt-app.html vite build --config ui/vite.config.ts","build:ui:news:chatgpt":"INPUT=src/lib/news/chatgpt-app.html vite build --config ui/vite.config.ts","build:ui:image:chatgpt":"INPUT=src/lib/image/chatgpt-app.html vite build --config ui/vite.config.ts","build:ui:local:chatgpt":"INPUT=src/lib/local/chatgpt-app.html vite build --config ui/vite.config.ts","build:ui:video:chatgpt":"INPUT=src/lib/video/chatgpt-app.html vite build --config ui/vite.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"repository":{"url":"git+https://github.com/mikechao/brave-search-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","react":"^19.2.3","express":"^5.2.1","leaflet":"^1.9.4","dompurify":"^3.3.1","react-dom":"^19.2.3","brave-search":"^0.9.0","react-leaflet":"^5.0.0","react-markdown":"^10.1.0","@openai/apps-sdk-ui":"^0.2.1","tailwindcss-animate":"^1.0.7","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/ext-apps":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","tsup":"^8.0.1","vite":"^7.3.1","eslint":"^9.39.2","postcss":"^8.5.6","typescript":"^5.8.2","@types/cors":"^2.8.19","@types/node":"^22.13.14","tailwindcss":"^4.1.18","@types/react":"^19.2.0","autoprefixer":"^10.4.23","@types/express":"^5.0.1","@types/leaflet":"^1.9.21","@changesets/cli":"^2.28.1","@types/dompurify":"^3.2.0","@types/react-dom":"^19.2.0","@antfu/eslint-config":"^7.2.0","@tailwindcss/postcss":"^4.1.18","eslint-plugin-format":"^1.1.0","@unocss/eslint-plugin":"^66.6.0","vite-plugin-singlefile":"^2.1.0","@vitejs/plugin-react-swc":"^4.2.2","eslint-plugin-react-hooks":"^7.0.1","@eslint-react/eslint-plugin":"^2.7.2","eslint-plugin-react-refresh":"^0.4.26"},"_npmOperationalInternal":{"tmp":"tmp/brave-search-mcp_2.0.1_1770244916523_0.44587770872536603","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"brave-search-mcp","type":"module","version":"2.1.0","description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","homepage":"https://github.com/mikechao/brave-search-mcp","repository":{"type":"git","url":"git+https://github.com/mikechao/brave-search-mcp.git"},"bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"main":"dist/index.js","bin":{"brave-search-mcp":"dist/index.js"},"publishConfig":{"access":"public"},"engines":{"node":">=20"},"scripts":{"clean":"shx rm -rf dist build-reports","prebuild":"pnpm run clean","build":"pnpm run build:server && pnpm run build:ui && pnpm run build:analyze:ui && shx chmod +x dist/*.js","build:all":"pnpm run typecheck && pnpm run build","build:server":"tsup --metafile && pnpm run build:analyze","build:analyze":"node scripts/analyze-bundle-metafile.js","build:analyze:ui":"node scripts/analyze-ui-build.js","build:watch":"tsup --watch","build:ui":"node scripts/build-ui.js","lint":"eslint . --ext .ts,.js,.mjs,.cjs --fix","lint:check":"eslint . --ext .ts,.js,.mjs,.cjs","typecheck":"tsc --noEmit && tsc --noEmit -p ui/tsconfig.json && tsc --noEmit -p test/tsconfig.json","check":"pnpm run lint:check && pnpm run typecheck","build:test-server":"tsup test/test-server.ts --format esm --target node20 --outDir .test-build --no-splitting --shims","test":"pnpm run test:unit && pnpm run test:integration","test:unit":"vitest run test/unit","test:unit:watch":"vitest test/unit","test:integration":"pnpm run build:test-server && vitest run test/integration","test:integration:watch":"pnpm run build:test-server && vitest test/integration","test:eval":"pnpm run build:test-server && vitest run test/eval","test:eval:smoke":"pnpm run build:test-server && EVAL_ITERATIONS=1 EVAL_MULTI_TURN_ITERATIONS=1 EVAL_MIN_ACCURACY=0 vitest run test/eval","test:eval:watch":"pnpm run build:test-server && vitest test/eval","test:coverage":"shx rm -rf coverage && vitest run test/unit --coverage","changeset:version":"changeset version && node scripts/sync-manifest-version.js && node scripts/cleanup-changesets.js"},"dependencies":{"@hono/node-server":"^1.19.0","@modelcontextprotocol/ext-apps":"^1.1.0","@modelcontextprotocol/sdk":"^1.27.1","@openai/apps-sdk-ui":"^0.2.1","brave-search":"^0.9.0","hono":"^4.7.0","pigeon-maps":"^0.22.1","preact":"^10.28.4","snarkdown":"^2.0.0","zod":"^4.3.6"},"devDependencies":{"@antfu/eslint-config":"^7.4.3","@changesets/cli":"^2.28.1","@eslint-react/eslint-plugin":"^2.13.0","@mcpjam/sdk":"^0.8.2","@preact/preset-vite":"^2.10.3","@tailwindcss/postcss":"^4.1.18","@types/node":"^22.13.14","@types/react":"^19.2.0","@types/react-dom":"^19.2.0","@unocss/eslint-plugin":"^66.6.0","@vitest/coverage-v8":"^4.0.18","autoprefixer":"^10.4.23","eslint":"^9.39.2","eslint-plugin-format":"^1.1.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.1","postcss":"^8.5.6","react":"^19.2.3","react-dom":"^19.2.3","shx":"^0.4.0","tailwindcss":"^4.1.18","terser":"^5.16.0","tsup":"^8.0.1","typescript":"^5.8.2","vite":"^7.3.1","vite-plugin-singlefile":"^2.1.0","vitest":"^4.0.18"},"gitHead":"709ced26a4e143dbac65f2fe5db2e0d4c72c4790","_id":"brave-search-mcp@2.1.0","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-GoEfIa+jOIYQNvctyA67qRx4mX2ocdty0OYRsAoBvDpnX3wEqnscRumCkhOfdSOfwSjrw+Exo1BRCwZrVSLjNA==","shasum":"69417b58f5d7d7803377d02043dfee07d4983d99","tarball":"https://registry.npmjs.org/brave-search-mcp/-/brave-search-mcp-2.1.0.tgz","fileCount":14,"unpackedSize":3655739,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brave-search-mcp@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEPCRdwGHah8h4EwRymN+GyDWtFeqyQ+pNTlfzz30uR9AiAIfg0WY1drqSGWmB8cSjdQbdiY3ZbFLlUUB1glZWI+Aw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a693cb0a-58b8-4111-b561-fdd8a53ed973"}},"directories":{},"maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brave-search-mcp_2.1.0_1772481059390_0.21104599387036305"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-19T20:51:16.480Z","modified":"2026-03-02T19:51:00.051Z","0.6.0":"2025-04-19T20:51:16.655Z","0.6.1":"2025-04-21T22:27:52.859Z","0.6.2":"2025-04-22T21:09:01.455Z","0.7.0":"2025-05-26T22:06:59.236Z","0.7.5":"2025-06-13T19:04:39.036Z","0.8.0":"2025-07-02T21:46:08.463Z","0.9.0":"2026-01-06T00:43:48.618Z","1.0.0":"2026-01-12T20:39:24.185Z","2.0.0":"2026-01-12T21:03:11.100Z","1.0.1":"2026-01-12T22:36:29.603Z","1.0.2":"2026-01-12T22:45:39.474Z","1.0.3":"2026-01-12T23:42:03.737Z","2.0.1":"2026-02-04T22:41:56.863Z","2.1.0":"2026-03-02T19:50:59.706Z"},"bugs":{"url":"https://github.com/mikechao/brave-search-mcp/issues"},"author":{"name":"mike.chao.one@gmail.com"},"license":"GPL-3.0-or-later","homepage":"https://github.com/mikechao/brave-search-mcp","keywords":["brave","mcp","web-search","image-search","news-search","brave-search-api","brave-search","brave-search-mcp"],"repository":{"type":"git","url":"git+https://github.com/mikechao/brave-search-mcp.git"},"description":"MCP Server that uses Brave Search API to search for images, general web search, video, news and points of interest.","maintainers":[{"name":"mchao1","email":"mike.chao.one@gmail.com"}],"readme":"# Brave Search MCP Server\n\nAn MCP Server implementation that integrates the [Brave Search API](https://brave.com/search/api/), providing, Web Search, Local Points of Interest Search, Video Search, Image Search, News Search and LLM Context Search capabilities\n\n<a href=\"https://glama.ai/mcp/servers/@mikechao/brave-search-mcp\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@mikechao/brave-search-mcp/badge\" alt=\"Brave Search MCP server\" />\n</a>\n\n## Features\n\n- **Web Search**: Perform a regular search on the web\n- **Image Search**: Search the web for images.\n- **News Search**: Search the web for news\n- **Video Search**: Search the web for videos\n- **Local Points of Interest Search**: Search for local physical locations, businesses, restaurants, services, etc\n- **LLM Context Search**: Fetch and extract full web page content optimized for reading and synthesizing sources\n\n## Tools\n\n- **brave_web_search**\n  - Execute web searches using Brave's API\n  - Inputs:\n    - `query` (string): The term to search the internet for\n    - `count` (number, optional): The number of results to return (max 20, default 10)\n    - `offset` (number, optional, default 0): The offset for pagination\n    - `freshness` (enum, optional): Filters search results by when they were discovered\n      - The following values are supported\n        - pd: Discovered within the last 24 hours.\n        - pw: Discovered within the last 7 Days.\n        - pm: Discovered within the last 31 Days.\n        - py: Discovered within the last 365 Days\n        - YYYY-MM-DDtoYYYY-MM-DD: Custom date range (e.g., 2022-04-01to2022-07-30)\n\n- **brave_image_search**\n  - Get images from the web relevant to the query\n  - Inputs:\n    - `query` (string): The term to search the internet for images of\n    - `count` (number, optional): The number of images to return (max 50, default 10)\n\n- **brave_news_search**\n  - Searches the web for news\n  - Inputs:\n    - `query` (string): The term to search the internet for news articles, trending topics, or recent events\n    - `count` (number, optional): The number of results to return (max 20, default 10)\n    - `offset` (number, optional, default 0): The zero-based offset for pagination (max 9)\n    - `freshness` (enum, optional): Filters search results by when they were discovered\n      - The following values are supported\n        - pd: Discovered within the last 24 hours.\n        - pw: Discovered within the last 7 Days.\n        - pm: Discovered within the last 31 Days.\n        - py: Discovered within the last 365 Days\n        - YYYY-MM-DDtoYYYY-MM-DD: Custom date range (e.g., 2022-04-01to2022-07-30)\n\n- **brave_local_search**\n  - Search for local businesses, services and points of interest\n  - Falls back to brave_web_search if no location results are found\n  - Inputs:\n    - `query` (string): Local search term\n    - `count` (number, optional): The number of results to return (max 20, default 5)\n    - `offset` (number, optional, default 0): The zero-based offset for pagination (max 9)\n\n- **brave_video_search**\n  - Search the web for videos\n  - Inputs:\n    - `query`: (string): The term to search for videos\n    - `count`: (number, optional): The number of videos to return (max 20, default 10)\n    - `offset` (number, optional, default 0): The zero-based offset for pagination (max 9)\n    - `freshness` (enum, optional): Filters search results by when they were discovered\n      - The following values are supported\n        - pd: Discovered within the last 24 hours.\n        - pw: Discovered within the last 7 Days.\n        - pm: Discovered within the last 31 Days.\n        - py: Discovered within the last 365 Days\n        - YYYY-MM-DDtoYYYY-MM-DD: Custom date range (e.g., 2022-04-01to2022-07-30)\n\n- **brave_llm_context_search**\n  - Pre-extracted web content optimized for AI agents, LLM grounding, and RAG pipelines.\n  - Inputs:\n    - `query` (string): The search query. Maximum 400 characters and 50 words.\n    - `url` (string, optional): Optional URL to target. When provided, query and URL are combined for retrieval and only snippets from this exact URL are returned.\n    - `count` (number, optional, default 8): The maximum number of search results considered. Minimum 1, maximum 50.\n    - `maximumNumberOfUrls` (number, optional, default 8): The maximum number of URLs to include in the response. Minimum 1, maximum 50.\n    - `maximumNumberOfTokens` (number, optional, default 2048): The approximate maximum number of tokens in the returned context. Minimum 1024, maximum 32768.\n    - `maximumNumberOfSnippets` (number, optional, default 16): The maximum number of snippets across all URLs. Minimum 1, maximum 100.\n    - `maximumNumberOfTokensPerUrl` (number, optional, default 512): The maximum number of tokens per URL. Minimum 512, maximum 8192.\n    - `maximumNumberOfSnippetsPerUrl` (number, optional, default 2): The maximum number of snippets per URL. Minimum 1, maximum 100.\n    - `contextThresholdMode` (enum, optional): Controls relevance filtering. Supported values: `disabled`, `strict`, `lenient`, `balanced`. Defaults to `strict` in compact mode.\n    - `responseMode` (enum, optional, default `compact`): `compact` returns filtered/truncated context optimized for model consumption. `full` returns all raw snippets without filtering or truncation.\n    - `maxSnippetChars` (number, optional, default 400): Maximum characters per snippet in compact mode. Minimum 80, maximum 4000.\n    - `maxOutputChars` (number, optional, default 8000): Approximate maximum serialized response size in compact mode. Minimum 1000, maximum 100000.\n\n## OpenAI Apps & MCP Apps Support\n\n<p align=\"center\">\n  <a href=\"https://www.youtube.com/watch?v=Z5KiC00gBVE\">\n    <img src=\"https://img.youtube.com/vi/Z5KiC00gBVE/maxresdefault.jpg\" alt=\"Watch the demo\" width=\"80%\">\n  </a>\n  <br>\n  <a href=\"https://www.youtube.com/watch?v=Z5KiC00gBVE\"><em>▶️ Click to watch the demo video</em></a>\n</p>\n\nThere is now support for [OpenAI Apps](https://developers.openai.com/apps-sdk/) and [MCP Apps](https://modelcontextprotocol.io/docs/extensions/apps) in this MCP Server. When UI mode is enabled for each tool there is a corresponding UI widget that let's you control what gets added to the model's context. See the directions in [usage with ChatGPT section](#usage-with-chatgpt).\n\n## Configuration\n\n### Getting an API Key\n\n1. Sign up for a [Brave Search API account](https://brave.com/search/api/)\n2. Choose a plan\n3. Generate your API key [from the developer dashboard](https://api.search.brave.com/app/keys)\n\n### Streamable HTTP mode\n\nBy default the MCP server runs in stdio mode.\n\n```bash\nBRAVE_API_KEY=\"your_key_here\" npx -y brave-search-mcp\n```\n\nTo enable Streamable HTTP mode:\n\n```bash\nBRAVE_API_KEY=\"your_key_here\" npx -y brave-search-mcp --http\n```\n\nBy default the server listens on port 3001.\nThe URL is:\n\n```\nhttp://0.0.0.0:3001/mcp\n```\n\n### Environment variables\n\nWhen running in HTTP mode, the following environment variables are supported:\n\n- `BRAVE_API_KEY` (required): Brave Search API key.\n- `PORT` (optional): HTTP port (default: `3001`).\n- `HOST` (optional): Interface to bind to (default: `0.0.0.0`).\n- `ALLOWED_HOSTS` (optional): Comma-separated list of allowed hostnames for Host header validation.\n  - Example: `ALLOWED_HOSTS=localhost,127.0.0.1,my-app.ngrok-free.app`\n  - Use hostnames only (no scheme/path), e.g. `my-app.ngrok-free.app` not `https://my-app.ngrok-free.app/mcp`\n\nExamples:\n\n```bash\n# Local only\nHOST=127.0.0.1 ALLOWED_HOSTS=localhost,127.0.0.1 BRAVE_API_KEY=\"your_key_here\" npx -y brave-search-mcp --http\n```\n\n```bash\n# Local with ngrok tunnel\nHOST=127.0.0.1 ALLOWED_HOSTS=localhost,127.0.0.1,my-app.ngrok-free.app BRAVE_API_KEY=\"your_key_here\" npx -y brave-search-mcp --http --ui\n```\n\n### Usage with ChatGPT\n\nThe Brave Search MCP Server can be used with the web UI of ChatGPT. It takes a few steps.\n\n#### 1. Enable Developer Mode in ChatGPT\n\nSettings → Apps → Advanced settings → Developer mode\n\nAdditional instructions [here](https://platform.openai.com/docs/guides/developer-mode)\n\n#### 2. Run the Brave Search MCP in HTTP mode and UI mode\n\n```bash\nBRAVE_API_KEY=\"your_key_here\" npx -y brave-search-mcp --http --ui\n```\n\n#### 3. Create a local tunnel to expose the MCP Server to ChatGPT\n\nSign up and configure [ngrok](https://ngrok.com/), the free plan works.\n\n```bash\nngrok http 3001\n```\n\nTake note of the forwarding URL.\n\n```bash\n...\nForwarding                    https://john-joe-asdf.ngrok-free.dev -> http://localhost:3001\n...\n```\n\n#### 4. Add Brave Search MCP as a Connector to ChatGPT\n\nOpen [ChatGPT Apps settings](https://chatgpt.com/#settings/Connectors)\n\nClick Apps\n\nClick Create Apps\n\nFill out the form using the URL from step 3 as the MCP Server URL, but add `/mcp`.\n\n```\nhttps://john-joe-asdf.ngrok-free.dev/mcp\n```\n\nFor Authentication, select 'No Auth'\n\nTick the checkbox for 'I understand and want to continue'\n\nThen click Create.\n\n#### 5. Using the Brave Search MCP Server\n\nIn the ChatGPT UI, click the '+' button, scroll to '...more', select the newly created Brave Search app, and enter your query.\n\n### Usage with Claude Code\n\nFor [Claude Code](https://claude.ai/code) users, run this command:\n\n**Windows:**\n\n```bash\nclaude mcp add-json brave-search '{\"command\":\"cmd\",\"args\":[\"/c\",\"npx\",\"-y\",\"brave-search-mcp\"],\"env\":{\"BRAVE_API_KEY\":\"YOUR_API_KEY_HERE\"}}'\n```\n\n**Linux/macOS:**\n\n```bash\nclaude mcp add-json brave-search '{\"command\":\"npx\",\"args\":[\"-y\",\"brave-search-mcp\"],\"env\":{\"BRAVE_API_KEY\":\"YOUR_API_KEY_HERE\"}}'\n```\n\nReplace `YOUR_API_KEY_HERE` with your actual Brave Search API key.\n\n### Usage with Claude Desktop\n\n#### MCP Bundle (MCPB)\n\n1. Download the `mcpb` file from the [Releases](https://github.com/mikechao/brave-search-mcp/releases)\n2. Open it with Claude Desktop\n   or\n   Go to File -> Settings -> Extensions and drag the .mcpb file to the window to install it\n\n#### Docker\n\n1. Clone the repo\n2. Docker build\n\n```bash\ndocker build -t brave-search-mcp:latest -f ./Dockerfile .\n```\n\n3. Add this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcp-servers\": {\n    \"brave-search\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"BRAVE_API_KEY\",\n        \"brave-search-mcp\"\n      ],\n      \"env\": {\n        \"BRAVE_API_KEY\": \"YOUR API KEY HERE\"\n      }\n    }\n  }\n}\n```\n\n#### NPX\n\nAdd this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcp-servers\": {\n    \"brave-search\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"brave-search-mcp\"\n      ],\n      \"env\": {\n        \"BRAVE_API_KEY\": \"YOUR API KEY HERE\"\n      }\n    }\n  }\n}\n```\n\n### Usage with LibreChat\n\nAdd this to librechat.yaml\n\n```yaml\nbrave-search:\n  command: sh\n  args:\n    - -c\n    - BRAVE_API_KEY=API KEY npx -y brave-search-mcp\n```\n\n## Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, monorepo structure, and release instructions.\nFor UI build workflow details, including the entrypoint orchestrator, see [UI Build Orchestrator](CONTRIBUTING.md#ui-build-orchestrator).\n\n## Disclaimer\n\nThis library is not officially associated with Brave Software. It is a third-party implementation of the Brave Search API with a MCP Server.\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}