{"_id":"@tadmstr/searxng-mcp","_rev":"32-31d39d6cca10ed3544257b396d78be9c","name":"@tadmstr/searxng-mcp","dist-tags":{"latest":"3.30.0"},"versions":{"3.3.0":{"name":"@tadmstr/searxng-mcp","version":"3.3.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.3.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"decaa0a0fecef2055f6338654926903914fff126","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.3.0.tgz","fileCount":24,"integrity":"sha512-L/icFDEEddfkWdlx9vZVU2KOcmw2KPdREKCdcRp2cEvVsbmHw0vnSylWQqzLiomWpAK8eTJeZFizBdBXJUlQlw==","signatures":[{"sig":"MEUCIHHNIvADoH2Nv7p1wqaqMP3lCujxD/QyE2WLOohDeX72AiEAzAFB8ZtN2cYYgPAH2pv0+g5RKP1SulFbOfTA7ac6rnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60882},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.3.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.3.0.tgz","_integrity":"sha512-L/icFDEEddfkWdlx9vZVU2KOcmw2KPdREKCdcRp2cEvVsbmHw0vnSylWQqzLiomWpAK8eTJeZFizBdBXJUlQlw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.24.2","iovalkey":"^0.3.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.3.0_1776632705154_0.026564428915264227","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@tadmstr/searxng-mcp","version":"3.4.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.4.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"9214777aad47a27e755ed92db5e655c7ba9e5434","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.4.0.tgz","fileCount":24,"integrity":"sha512-9nrw3PeJRiVgZV8Vv3xsxpHvQJbeuELt7rhHpZOPipd7/m3wcConC77zoRt/NeRzI8YztpFU2udLzcq9vnFFqg==","signatures":[{"sig":"MEYCIQC3T4VStYA/qnoLEliVR0H1t2T2a6CAeaYqSZgRbVlVHwIhAP2mUbWb60azyR8n1ozSPNAwYJ41or5B+amNKKeu8iNT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66043},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.4.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.4.0.tgz","_integrity":"sha512-9nrw3PeJRiVgZV8Vv3xsxpHvQJbeuELt7rhHpZOPipd7/m3wcConC77zoRt/NeRzI8YztpFU2udLzcq9vnFFqg==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","iovalkey":"^0.3.3","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.4.0_1779017248829_0.19198967026650982","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@tadmstr/searxng-mcp","version":"3.5.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.5.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"e1d13942ec173be52db42e82afb12215fc40965e","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.5.0.tgz","fileCount":48,"integrity":"sha512-rw/jKIDc2bbmb6z96WJfVNfWhyzPzxWMR0LeCdegxEW4SqAy+dUbYJVxTW+V55Q2puFR9ym72jch5g+BrkHexQ==","signatures":[{"sig":"MEYCIQCpTiiqiEJA0Ns22q8mdH8ugWuR2iRviu5vlAr2Yh6K3QIhAJNoL+fj5YkT46lbb2ZB7IUZ2KpWEaOB0AEKvoj++UtT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135888},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.5.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.5.0.tgz","_integrity":"sha512-rw/jKIDc2bbmb6z96WJfVNfWhyzPzxWMR0LeCdegxEW4SqAy+dUbYJVxTW+V55Q2puFR9ym72jch5g+BrkHexQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.24.2","nats":"^2.29.3","jsdom":"^29.1.1","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.5.0_1779057199020_0.6712017369843659","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@tadmstr/searxng-mcp","version":"3.6.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.6.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"8e1a4ebe1bfd0920161ecde22563c86f6455a4f0","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.6.0.tgz","fileCount":60,"integrity":"sha512-3UTLaK2gIjiwKW5yvTNFWUPoPoQDM5j4TVnP2gcqNY61FKgBzfIG6QjC3MWNJFYzZTg2u184+CqHuiZmGmy0jw==","signatures":[{"sig":"MEYCIQDXEkZK7Rj8fS/BwcQCqdY1FCPTNMSr3HVYl6oU38cs9AIhAIBulqY07X/uY5L2FP/TdzCe9gkXk9TMIv86Fzmy/q5C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141134},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.6.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.6.0.tgz","_integrity":"sha512-3UTLaK2gIjiwKW5yvTNFWUPoPoQDM5j4TVnP2gcqNY61FKgBzfIG6QjC3MWNJFYzZTg2u184+CqHuiZmGmy0jw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.6.0_1779123698145_0.018628011488912133","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@tadmstr/searxng-mcp","version":"3.7.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.7.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"21f37b8ba0c0b271a66648f24e51fa4bf57b5aca","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.7.0.tgz","fileCount":62,"integrity":"sha512-kOXnCVaq9v6Vy8bdGLgdO8RmR5B+brnDScQRZ/MFg1wOJ4heukhKCAJgrRvp17UslUkV6tqyASAGdsWnx1ecdQ==","signatures":[{"sig":"MEQCICkDjILXM1mcX5g6BVRK7XwJwg59ZxnjJbJaEUbSczrAAiBkW0nAH3HXf6oDKXYdYPqw7PDPWEOpftZr7oixN1CYUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":148280},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.7.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.7.0.tgz","_integrity":"sha512-kOXnCVaq9v6Vy8bdGLgdO8RmR5B+brnDScQRZ/MFg1wOJ4heukhKCAJgrRvp17UslUkV6tqyASAGdsWnx1ecdQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.7.0_1779136109891_0.9085035961712116","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@tadmstr/searxng-mcp","version":"3.8.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.8.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"92195b3638e1e74c322024987b19076d06010635","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.8.0.tgz","fileCount":64,"integrity":"sha512-1V0Kp+gFhjnwK93v4T404+CG9LEQdngvYUi62kbYFHTDufUt70qQGdI/dQgH/AGLHOdTMeOEaDIB9Ukpb3A7mQ==","signatures":[{"sig":"MEQCICpxGNo4L6WVUj95IE0Dk4RjKrtW6tW55Ac6F6q/EmFLAiBlalBZeO/dYDSE+zcavtUT3egbnDxtA/9a2LMv7C3mrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":157712},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.8.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.8.0.tgz","_integrity":"sha512-1V0Kp+gFhjnwK93v4T404+CG9LEQdngvYUi62kbYFHTDufUt70qQGdI/dQgH/AGLHOdTMeOEaDIB9Ukpb3A7mQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.8.0_1780622622651_0.8333042868986065","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@tadmstr/searxng-mcp","version":"3.9.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.9.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"338fc63ec1378108c19c21548fe5c157fcc7c439","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.9.0.tgz","fileCount":64,"integrity":"sha512-hKXf4rapUbEFlnMRuUcKMCp7H7PR9WM988WVr9thF6cVQu3BDcZuiX6J8+IYD5wStBSI1Z4rSZGePFSTXeNbFg==","signatures":[{"sig":"MEQCIAXiIjkwa6qeN+UXU2N1HzKvsmsS+CDnf0KWwZH5ZcjwAiBdRuuhu+pnyOnY5RZLJd/1PzYZtBj/cOIcUySa5ZE1Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162944},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.9.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.9.0.tgz","_integrity":"sha512-hKXf4rapUbEFlnMRuUcKMCp7H7PR9WM988WVr9thF6cVQu3BDcZuiX6J8+IYD5wStBSI1Z4rSZGePFSTXeNbFg==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.9.0_1780656917298_0.2099258059944744","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"@tadmstr/searxng-mcp","version":"3.10.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.10.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"7dcf0cca061c98b294efa33999f1b94e175104be","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.10.0.tgz","fileCount":66,"integrity":"sha512-UN5FIM/YqGHLDG3tU15FuAoqffBv3FkmH3tek0TCn0huo36XKdesLbnCK1P2umMbZ3Sdi9rl82Eyn1cFOkOfKA==","signatures":[{"sig":"MEUCIQCDG5tUeFb0ies3Y5YapYJplYbETn3skIdvB12BoDz50AIgVThBSAb5AyeR+VQ1tLnXe7LzDDpBRztK48YU5Hgxrs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169057},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.10.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.10.0.tgz","_integrity":"sha512-UN5FIM/YqGHLDG3tU15FuAoqffBv3FkmH3tek0TCn0huo36XKdesLbnCK1P2umMbZ3Sdi9rl82Eyn1cFOkOfKA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","undici":"^7.0.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.10.0_1780664464294_0.7668342659232901","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@tadmstr/searxng-mcp","version":"3.11.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.11.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"d725b0595bae8c8cfbf9aa1fc62f10a4ddfd1907","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.11.0.tgz","fileCount":68,"integrity":"sha512-WB4qqwsjYuTv+ksIlmjXOQy4n8JBWsS5FRtPMP9IPE1zBlRCif++gGrO1wTanx+/B00aglDKzbJOdgX7vTIzdg==","signatures":[{"sig":"MEUCIElVn/4s1wRD/enRotz9sjwf+lVJ2SzZzYI8WuQn0RZ2AiEA8oDRCPQDs3Dm51j3r5/sSW5FeBgjxkIwWpZylKHRHA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194380},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.11.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.11.0.tgz","_integrity":"sha512-WB4qqwsjYuTv+ksIlmjXOQy4n8JBWsS5FRtPMP9IPE1zBlRCif++gGrO1wTanx+/B00aglDKzbJOdgX7vTIzdg==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","undici":"^7.0.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.8.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.11.0_1780703056320_0.46797744674494846","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"@tadmstr/searxng-mcp","version":"3.12.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.12.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"09063b11033460b1f55e8cd823a1bcb8c7d71252","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.12.0.tgz","fileCount":70,"integrity":"sha512-G+OXeoHvhXEUqmLxd9VsEuU0ummL4si9XC8uVBasIOUjAsMUbkogqt8dG5Hqzg7iGKKouG3EEbG92f+TOXR32Q==","signatures":[{"sig":"MEUCIQC0/zLKHm7F6nDdbZVSA6EumiJU4+YxRva5boLdvpQ+TwIgMmHBlesHNMvV5xrcm7A5kjYmgXPGm0mNyQdjNK287Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204272},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.12.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.12.0.tgz","_integrity":"sha512-G+OXeoHvhXEUqmLxd9VsEuU0ummL4si9XC8uVBasIOUjAsMUbkogqt8dG5Hqzg7iGKKouG3EEbG92f+TOXR32Q==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.24.2","jsdom":"^29.1.1","undici":"^7.0.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.8.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.218.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.12.0_1780838916550_0.07030950381402867","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"@tadmstr/searxng-mcp","version":"3.13.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.13.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"01efbc033542b23292bd20d426c4ad0490ca5337","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.13.0.tgz","fileCount":70,"integrity":"sha512-qD/JCI2w07xiF1bCq0YMRXvwNa+N6Eka9ov2yaGM2HyZ8BTQlLf5SpG4R0NP+ZRFLs4Uc6Kb6YswJDnYJcNR1g==","signatures":[{"sig":"MEQCIGMyBVP3p469doMiKb3mvrW75tSeoypixYxOAjGIR+K5AiB2a1DKrRSmJzwyMIWzXHtvUU8FHuSwdFWIHJqkcBlkpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220600},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.13.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.13.0.tgz","_integrity":"sha512-qD/JCI2w07xiF1bCq0YMRXvwNa+N6Eka9ov2yaGM2HyZ8BTQlLf5SpG4R0NP+ZRFLs4Uc6Kb6YswJDnYJcNR1g==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.13.0_1783812627794_0.23498327765615756","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"@tadmstr/searxng-mcp","version":"3.14.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.14.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"8b0b5a269d6ad97607c47a88238265c7901ca049","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.14.0.tgz","fileCount":78,"integrity":"sha512-WT2DLyk5WRckAmrp72TJKk1eDb1kKb2XknqaWePMJlxEIQiwTTj5BFqfQrcDctp4EtqQCXi2BXr8m8uXrGKZZw==","signatures":[{"sig":"MEYCIQDcJuCOv36L2jXq9LWoFHyKSlzsrmBHE4nNgEW8Kn9HvAIhAOg/TfNlUvkAraF3wD5gWIpfd9kU/emJGvLSbfCDqa77","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266749},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.14.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.14.0.tgz","_integrity":"sha512-WT2DLyk5WRckAmrp72TJKk1eDb1kKb2XknqaWePMJlxEIQiwTTj5BFqfQrcDctp4EtqQCXi2BXr8m8uXrGKZZw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.14.0_1783894435980_0.4173007239902937","host":"s3://npm-registry-packages-npm-production"}},"3.14.1":{"name":"@tadmstr/searxng-mcp","version":"3.14.1","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.14.1","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"b7a5a713d26feda15198d2b91cf89610ff86a101","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.14.1.tgz","fileCount":80,"integrity":"sha512-/rjD8QvpkXMdyh7IqzfkplmTskovg3BDMyvHMPperPs/e6wBpwkQIoE0ESuV3HhsUExBQj/UOtQ5wIJYMQBxqw==","signatures":[{"sig":"MEUCID3EmyJETxCM0posR7PmnnOhZry3NswCQLgC2ERWyktaAiEAy8r8jXRDHThIlDkrLIBptgms8KfYpITOn8fq2kcph8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270839},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.14.1.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.14.1.tgz","_integrity":"sha512-/rjD8QvpkXMdyh7IqzfkplmTskovg3BDMyvHMPperPs/e6wBpwkQIoE0ESuV3HhsUExBQj/UOtQ5wIJYMQBxqw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.14.1_1784216148390_0.7680941156686854","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"name":"@tadmstr/searxng-mcp","version":"3.15.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.15.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"7992c74e3ab076d74083e3b6a2d2a61f76249a4d","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.15.0.tgz","fileCount":86,"integrity":"sha512-nz6xF1zG33s/Q4F6wnTivrCUD0Tq1AkmFPbA+nzqc2EK5flz2A4pITpuzSlGQYviP0DzRAK4v7cXQ5NEgGGOYQ==","signatures":[{"sig":"MEUCIQDzaWDB0Wo+JnJc01lhTMir6qL+RwwOWib1HPi2Y7ZheQIgAw+anB19Ua0a+QLp3IO1SlpBGLPjB+i4shv5yB96F6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":324880},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.15.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.15.0.tgz","_integrity":"sha512-nz6xF1zG33s/Q4F6wnTivrCUD0Tq1AkmFPbA+nzqc2EK5flz2A4pITpuzSlGQYviP0DzRAK4v7cXQ5NEgGGOYQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.15.0_1784225262615_0.7328437647420745","host":"s3://npm-registry-packages-npm-production"}},"3.15.1":{"name":"@tadmstr/searxng-mcp","version":"3.15.1","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.15.1","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"676f9566b5b4676d1283462525a5c9ca3be16168","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.15.1.tgz","fileCount":86,"integrity":"sha512-jVdoojvSZrsotUoH13esyZ11D9KvY5Hzoy7zXtc5zIF6SsqqOs3GkpG8mtYgn66gTanzOV7twE+cj3YxXK/cWA==","signatures":[{"sig":"MEUCIBzJ0KPKiQqhjL5U9MijEPDEno3cwxMXwhm1jyiwiLjvAiEA3Wc+bMV5yHnkbNaaDcNbGCcSM1rfMoZWLw2aq6B1UJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325896},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.15.1.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.15.1.tgz","_integrity":"sha512-jVdoojvSZrsotUoH13esyZ11D9KvY5Hzoy7zXtc5zIF6SsqqOs3GkpG8mtYgn66gTanzOV7twE+cj3YxXK/cWA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.15.1_1784226747224_0.373703603363277","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"@tadmstr/searxng-mcp","version":"3.16.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.16.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"e37f5c8198fcada4f6ee48f2fbe182b0850189b1","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.16.0.tgz","fileCount":90,"integrity":"sha512-jAzBhBdEDOtrBYn7yoC+oxGStDhdTThZQYPL0ecFu5eV7nYsbbLV9gSUdpWgCEVU6YkQn3bwFQtDpoubJckNyw==","signatures":[{"sig":"MEUCIQCsr7IJ0TdObWqemAFvKn0Gsb9gNFREYZPcrAR6781vXwIgM/oGIiffSh+p9PyfYR+ZEUEiIW963xy1EINYcNa0dPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345413},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.16.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.16.0.tgz","_integrity":"sha512-jAzBhBdEDOtrBYn7yoC+oxGStDhdTThZQYPL0ecFu5eV7nYsbbLV9gSUdpWgCEVU6YkQn3bwFQtDpoubJckNyw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.16.0_1784851830816_0.4423077395785804","host":"s3://npm-registry-packages-npm-production"}},"3.17.0":{"name":"@tadmstr/searxng-mcp","version":"3.17.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.17.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"3674b07233cccc4558e758a187a67ab8276c7584","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.17.0.tgz","fileCount":92,"integrity":"sha512-q5Ono3ox9MDp0cZCYH0qHuYEUtgolucMzE6hlOMcyPLj766rAaZj8j920JaQ2IUoAYzviRsVyo5whTkWqSLa/g==","signatures":[{"sig":"MEYCIQD/G0UQxRsekLlWMwCZ80TZsG54V97YKH/Ju+unQ86mKQIhALtdN6gQvsbceUUTOxXththataEsKQgl6CcLdWsj9Bys","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376406},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.17.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.17.0.tgz","_integrity":"sha512-q5Ono3ox9MDp0cZCYH0qHuYEUtgolucMzE6hlOMcyPLj766rAaZj8j920JaQ2IUoAYzviRsVyo5whTkWqSLa/g==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.17.0_1787156187195_0.4918009514971611","host":"s3://npm-registry-packages-npm-production"}},"3.18.0":{"name":"@tadmstr/searxng-mcp","version":"3.18.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.18.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"dd88f04c6f6b731daa6de3d3e5bd01a9c5aa6fa1","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.18.0.tgz","fileCount":92,"integrity":"sha512-PrUYui2d+7i9k9ZC67VmGSxBfxRdId/xexHBck0kN07dihaZii/fFEifilAmNEY0g0SqHlGdIlWFKVMVMvL/0Q==","signatures":[{"sig":"MEUCIQDGRhoYHPI6pzd0LXVFaIjzaFs+ajqukqs2XG9M1OQ5JwIgaM+ZzxgJx+RjAhGtbkq+dQghQhXFc7AFmFatOZA9xnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":387315},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.18.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.18.0.tgz","_integrity":"sha512-PrUYui2d+7i9k9ZC67VmGSxBfxRdId/xexHBck0kN07dihaZii/fFEifilAmNEY0g0SqHlGdIlWFKVMVMvL/0Q==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.18.0_1787164178993_0.9969952399667539","host":"s3://npm-registry-packages-npm-production"}},"3.19.0":{"name":"@tadmstr/searxng-mcp","version":"3.19.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.19.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"2066316f1994fb299bb6fa20b5bbda7ed782e8d8","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.19.0.tgz","fileCount":96,"integrity":"sha512-jnRkaR/ALF+M42nP+XITJvdQIqDhNFTANtHuqGToBaXQr6KWv8dkZwDeRd/ZIi5cItz9CIamhGjMgHt8t7aWGw==","signatures":[{"sig":"MEYCIQCYgSzNJf01Z3FHblZU9RAgcLB5gkwhVi3bjyAUKKQbcQIhANtC+krjaNzkKGXsbOifyqP33mgO0PbBWJ7eu5HFH41U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422133},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.19.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.19.0.tgz","_integrity":"sha512-jnRkaR/ALF+M42nP+XITJvdQIqDhNFTANtHuqGToBaXQr6KWv8dkZwDeRd/ZIi5cItz9CIamhGjMgHt8t7aWGw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.28.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.10.0","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.19.0_1788393075797_0.35267264587989877","host":"s3://npm-registry-packages-npm-production"}},"3.19.1":{"name":"@tadmstr/searxng-mcp","version":"3.19.1","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.19.1","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"695a1c93ccbcea1c27c503aa933a0d4ed5051efb","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.19.1.tgz","fileCount":96,"integrity":"sha512-3yDu8oQu/5sAElOaofXRmGZTSPog2O2CE5LHnGMIsL1BNy2dmVUWDodpsaz9ce+/y2Yj37oYlR9AEUWEpbfcJQ==","signatures":[{"sig":"MEYCIQCKhx/FJBs9vFyjWoIADV4dhEEdOzfFg+7yJUCC4ru4ggIhAPrdwy0PkP5rEC4pTZR5XQ4uWIVjIdfZ8Z4BmZeoONcP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431490},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.19.1.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.19.1.tgz","_integrity":"sha512-3yDu8oQu/5sAElOaofXRmGZTSPog2O2CE5LHnGMIsL1BNy2dmVUWDodpsaz9ce+/y2Yj37oYlR9AEUWEpbfcJQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.19.1_1788432479503_0.10612170130001441","host":"s3://npm-registry-packages-npm-production"}},"3.20.0":{"name":"@tadmstr/searxng-mcp","version":"3.20.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.20.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"092d03df71968daa5fac8cdf26b9fe5fba601199","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.20.0.tgz","fileCount":98,"integrity":"sha512-RRLZvJGZI67yoSVGfx5aI/BpuHm5V26z6FBZz9Mg0uxW4qz0hXQjjoWFRU9dmoLVZT1MROmJK08Ea+TyrCt2RA==","signatures":[{"sig":"MEQCIF03fVtS0d6SIbkTHgq8U5jdrlaNHkktu5b0HSViC+UfAiA1D13/yHhqIVTN/DlkNb6f2K6uMbVReBuQytzVRFkevA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447522},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.20.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.20.0.tgz","_integrity":"sha512-RRLZvJGZI67yoSVGfx5aI/BpuHm5V26z6FBZz9Mg0uxW4qz0hXQjjoWFRU9dmoLVZT1MROmJK08Ea+TyrCt2RA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.20.0_1788438846407_0.2031954970439307","host":"s3://npm-registry-packages-npm-production"}},"3.21.0":{"name":"@tadmstr/searxng-mcp","version":"3.21.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.21.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"b03024018ba5440ac42c0597006c039deb40d6fc","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.21.0.tgz","fileCount":100,"integrity":"sha512-UX1+MSq1neXdyuMviqMUQEMlZZsse+cuiMlxTOe/y2vmOt5vdXRkEpKQUsXzfEQj8qKqFesmfO+mfvyTnOvokg==","signatures":[{"sig":"MEYCIQCk9jRiwf9eEpIRj4uJAMdghHlsFZnxRLJMhnk7PPptagIhAJrWpsI/ZZbE3I+hcE57/BEWnDe8zmJbHA2Tzm5YNHj1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517456},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.21.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.21.0.tgz","_integrity":"sha512-UX1+MSq1neXdyuMviqMUQEMlZZsse+cuiMlxTOe/y2vmOt5vdXRkEpKQUsXzfEQj8qKqFesmfO+mfvyTnOvokg==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.21.0_1788461140497_0.3158381230409233","host":"s3://npm-registry-packages-npm-production"}},"3.22.0":{"name":"@tadmstr/searxng-mcp","version":"3.22.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.22.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"d7a1ce9dee2f7239c78681605d9664dcc6b919df","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.22.0.tgz","fileCount":100,"integrity":"sha512-HkO4G4lZB1nsNG+E8UX1sU7gsfoFSm22saX8MvwSP/5csjQGzwq63kD+Xyex7MbAq57J3KgeiTp9Yv9cwboBCw==","signatures":[{"sig":"MEUCIQDSw4NIS0gSvQ6YCdwHUY1d3SWxnnkiG2BgCJc5Zh9PowIgYOzZStWGOkWyml7y0Swt4fuUrg3aR/emWsMUGg/gnBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":533420},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.22.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.22.0.tgz","_integrity":"sha512-HkO4G4lZB1nsNG+E8UX1sU7gsfoFSm22saX8MvwSP/5csjQGzwq63kD+Xyex7MbAq57J3KgeiTp9Yv9cwboBCw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.22.0_1788465860399_0.7010997833426398","host":"s3://npm-registry-packages-npm-production"}},"3.23.0":{"name":"@tadmstr/searxng-mcp","version":"3.23.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.23.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"a0dddbfb32af244ba2ae24ae71aea5b209ae1b2c","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.23.0.tgz","fileCount":102,"integrity":"sha512-PumqVJfgQZfLGvUkJ0zlC4sPuxdrHUuPGS4TAyc+ZH3EESAm+/8fhIT14c5lcb1QhrI569KRlpHNBkWBkdUBjA==","signatures":[{"sig":"MEYCIQC4fPQc1WigRDG5xj3dY9RwTzrsgw2Gu+ArPJ/3/zsTtwIhAO3vFPJQySh4cudYrBzTkxQnjJpIdJl0yuj5ZMyZg2n8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":559402},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.23.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.23.0.tgz","_integrity":"sha512-PumqVJfgQZfLGvUkJ0zlC4sPuxdrHUuPGS4TAyc+ZH3EESAm+/8fhIT14c5lcb1QhrI569KRlpHNBkWBkdUBjA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.23.0_1788560633670_0.32378417301777973","host":"s3://npm-registry-packages-npm-production"}},"3.24.0":{"name":"@tadmstr/searxng-mcp","version":"3.24.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.24.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"b7518cc2e1f5d0aeaa954249f6334e0f2317559d","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.24.0.tgz","fileCount":108,"integrity":"sha512-DSuMYTHZP5cKGgrzBjVy7b33H66bXQc0sznuPswyDiJRMZxmAbydmw6Fx+s6kuc7gzKK0SSANTu3k3KhQ39FDw==","signatures":[{"sig":"MEYCIQCddnDDRg2S+lDArvLUDQk4qeO5NdDStN7E6OuQ4sIENAIhAKvm7hPjXtOxUG7157jknkmJGR1ozXmOCdsRWisddS4N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592872},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.24.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.24.0.tgz","_integrity":"sha512-DSuMYTHZP5cKGgrzBjVy7b33H66bXQc0sznuPswyDiJRMZxmAbydmw6Fx+s6kuc7gzKK0SSANTu3k3KhQ39FDw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.24.0_1788693491121_0.8124805312839884","host":"s3://npm-registry-packages-npm-production"}},"3.25.0":{"name":"@tadmstr/searxng-mcp","version":"3.25.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.25.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"edcfb59d2faec34df275d3da011ada230a96e2cd","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.25.0.tgz","fileCount":108,"integrity":"sha512-srDoHFxgcTwDyHWaahXhUgQYZr3/d9EiDwn+0u/WQUVy8z8PkIx+eSyiRuSgAZB+6B7jeDKWB2Ydm+EFGLQLJA==","signatures":[{"sig":"MEUCICH4ym+uoGvtnn1hME8gYtnaB8Z4tg4xvoBs6H+rheOVAiEAlYA/wUGmgTlbNFOjtZgkZjpNpoO4Buzj+RF1C6q0mmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617370},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.25.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.25.0.tgz","_integrity":"sha512-srDoHFxgcTwDyHWaahXhUgQYZr3/d9EiDwn+0u/WQUVy8z8PkIx+eSyiRuSgAZB+6B7jeDKWB2Ydm+EFGLQLJA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.25.0_1788703119211_0.4840575188723537","host":"s3://npm-registry-packages-npm-production"}},"3.25.1":{"name":"@tadmstr/searxng-mcp","version":"3.25.1","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.25.1","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"d1d2fa7ca32a88744732c188df9b8e9db9b7187f","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.25.1.tgz","fileCount":108,"integrity":"sha512-yEsvXixpFKexe1dNYBT8WxqpYGbWT4Y3ipBCmmedvRGaQPuLBraRZPNtAyE7wA0adbhbykNogOC+DYiG7LVnnA==","signatures":[{"sig":"MEQCIGRH5CPqArXve9wP8+D/aZQhRl0ZOi8BbBB1+Dnav3c0AiBOHQZw3iDEItvtDps4YfxN+aQdd4qcAhjiEe2x6rffgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.25.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620022},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.25.1.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.25.1.tgz","_integrity":"sha512-yEsvXixpFKexe1dNYBT8WxqpYGbWT4Y3ipBCmmedvRGaQPuLBraRZPNtAyE7wA0adbhbykNogOC+DYiG7LVnnA==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.25.1_1788712256979_0.3033232185011747","host":"s3://npm-registry-packages-npm-production"}},"3.26.0":{"name":"@tadmstr/searxng-mcp","version":"3.26.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.26.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"fd1b17c05e0ea4672dce5f36b937578afb70dfe5","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.26.0.tgz","fileCount":110,"integrity":"sha512-Fihh+sE1RcdGFSYnPwarg8w8xafQtFwo6J2dti/umMlLCQ0Pc0F+/MfoPBPay5EgeO2ByT/FOPN7rqW24XXSsw==","signatures":[{"sig":"MEQCIC3S+CKyEDXoHcp6bE9FeKxRl8oZuFvIRdDCXW9svA7qAiAP3ev+xxwOTxqT2H64V6f+vHBhO5MghGUT5a8NQROIaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":672725},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.26.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.26.0.tgz","_integrity":"sha512-Fihh+sE1RcdGFSYnPwarg8w8xafQtFwo6J2dti/umMlLCQ0Pc0F+/MfoPBPay5EgeO2ByT/FOPN7rqW24XXSsw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.26.0_1788721896943_0.02875016633568972","host":"s3://npm-registry-packages-npm-production"}},"3.27.0":{"name":"@tadmstr/searxng-mcp","version":"3.27.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.27.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"bbbfb6e2308a6c08afa702f4d654be8e8be3365b","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.27.0.tgz","fileCount":110,"integrity":"sha512-ISxS95yGC1EPVka8AIKNYjOYw7m+FHeBT9kLYDy2KCZTd6lN9/0Lqtlm5hS7mkC/ZvboIdfFZyLnT4gw7dN1uw==","signatures":[{"sig":"MEYCIQCffHZLXDI7/ULE9f/2qdk4bePziO+2bTy3jKT2vOFMtgIhAPCffTCkAk+5lDB+X2NgaJi+6+Wq0jYEduz8VcHL6B1L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":686316},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.27.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.27.0.tgz","_integrity":"sha512-ISxS95yGC1EPVka8AIKNYjOYw7m+FHeBT9kLYDy2KCZTd6lN9/0Lqtlm5hS7mkC/ZvboIdfFZyLnT4gw7dN1uw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.27.0_1788740392505_0.28845170587948354","host":"s3://npm-registry-packages-npm-production"}},"3.28.0":{"name":"@tadmstr/searxng-mcp","version":"3.28.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.28.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"2d2faf5046f29bdfd1da41baf30edfa3992d6048","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.28.0.tgz","fileCount":112,"integrity":"sha512-I9sm5Ulw7sOKbLcaxW4XKW30TnW8JpiKQ6pBuAwxYZhkfP982HMoAKNLXwHDh5ACv4NpwxRq6C2aDMLux/k3nw==","signatures":[{"sig":"MEUCIFNu7t/5v5SsGWmSSO4MbcaJrgb1v9f1assa8U7g4gpnAiEAwWxhZXd76K1nV1CGVB1qp/qpSfBcCbq70k65OkK0kz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":721164},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.28.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.28.0.tgz","_integrity":"sha512-I9sm5Ulw7sOKbLcaxW4XKW30TnW8JpiKQ6pBuAwxYZhkfP982HMoAKNLXwHDh5ACv4NpwxRq6C2aDMLux/k3nw==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.3.3","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.220.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.10","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.28.0_1788792066846_0.16930734597617136","host":"s3://npm-registry-packages-npm-production"}},"3.29.0":{"name":"@tadmstr/searxng-mcp","version":"3.29.0","keywords":["searxng","mcp","search"],"author":{"name":"TadMSTR"},"license":"MIT","_id":"@tadmstr/searxng-mcp@3.29.0","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"bin":{"searxng-mcp":"build/src/index.js"},"dist":{"shasum":"70a05c567ecd97be8fa89f67838152dc402f99f2","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.29.0.tgz","fileCount":112,"integrity":"sha512-ube0BW6vG5IvFeyZGwMSyP7hijFEcf3DbYTHKlr0U2l9S/5GUhzBlbuHxRCyfZ2+TMZ/HudsfblQAXZSOJqCbQ==","signatures":[{"sig":"MEQCIHC1phZq6iFyp14eYrJPbe+z3ATHXSK68D7qDUtdhBwEAiA5ng1OBZ1ljk4FZsRosS4PjOco3rzbRJBULJxBCPN00w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":730024},"main":"build/src/index.js","type":"module","_from":"file:tadmstr-searxng-mcp-3.29.0.tgz","types":"./build/src/index.d.ts","engines":{"node":">=20"},"scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.29.0.tgz","_integrity":"sha512-ube0BW6vG5IvFeyZGwMSyP7hijFEcf3DbYTHKlr0U2l9S/5GUhzBlbuHxRCyfZ2+TMZ/HudsfblQAXZSOJqCbQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.4.0","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.222.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/searxng-mcp_3.29.0_1788800872110_0.691202212581526","host":"s3://npm-registry-packages-npm-production"}},"3.30.0":{"_id":"@tadmstr/searxng-mcp@3.30.0","bin":{"searxng-mcp":"build/src/index.js"},"bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"dist":{"shasum":"a5752c1ea5d32f77725fec83379b337fd02d60e9","tarball":"https://registry.npmjs.org/@tadmstr/searxng-mcp/-/searxng-mcp-3.30.0.tgz","fileCount":112,"integrity":"sha512-GySyURe/3qTDv+zaMddFDiAJ9x4I1W/5IW5RLzA6OK1uq6i01QTYq23Jjvivgx23bSHTTJpUvChy7Y5xFTI0TQ==","signatures":[{"sig":"MEUCIEzc2djDG39L+M2AbDb8RvgtuxxpRtx1DMA/1oBkF7knAiEAmDhVKHcz0aefIrmW9CjXoBKuDoTUOqcXUUxoUfpfzTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCWmyjRo2HK8TxpoyioMfL2o0WnA7352SFwlYLNJowQRQIgYuMPv4MNZbCpvxz6vv5V8FV2ImoPAGIf4AANTS5AJOY="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tadmstr%2fsearxng-mcp@3.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":760170},"main":"build/src/index.js","name":"@tadmstr/searxng-mcp","type":"module","_from":"file:tadmstr-searxng-mcp-3.30.0.tgz","types":"./build/src/index.d.ts","author":{"name":"TadMSTR"},"engines":{"node":">=20"},"license":"MIT","scripts":{"lint":"biome check src/ tests/","test":"vitest run --typecheck","build":"tsc && chmod 755 build/src/index.js","coverage":"vitest run --coverage","lint:fix":"biome check --write src/ tests/","test:watch":"vitest --typecheck","dump-domain":"node build/src/cli/dump-domain.js","restore-domain-db":"node build/src/cli/restore-domain-db.js","domain-db-maintenance":"node build/src/cli/domain-db-maintenance.js"},"version":"3.30.0","_npmUser":{"name":"tadmstr-npm","email":"TadMSTR@pm.me"},"homepage":"https://github.com/TadMSTR/searxng-mcp#readme","keywords":["searxng","mcp","search"],"_resolved":"/home/runner/work/searxng-mcp/searxng-mcp/tadmstr-searxng-mcp-3.30.0.tgz","_integrity":"sha512-GySyURe/3qTDv+zaMddFDiAJ9x4I1W/5IW5RLzA6OK1uq6i01QTYq23Jjvivgx23bSHTTJpUvChy7Y5xFTI0TQ==","repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for SearXNG — private web search for Claude Code","directories":{},"maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.76","jsdom":"^29.1.1","undici":"^7.29.0","iovalkey":"^0.4.0","robots-parser":"^3.0.1","fast-xml-parser":"^5.11.1","@nats-io/nats-core":"^3.4.0","@opentelemetry/api":"^1.9.1","@mozilla/readability":"^0.6.0","@nats-io/transport-node":"^3.4.0","@opentelemetry/sdk-node":"^0.222.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","vite":"^8.0.16","yaml":"^2.9.0","vitest":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^22.20.1","@types/jsdom":"^28.0.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/searxng-mcp_3.30.0_1789914672475_0.6834713975680247"}}},"time":{"created":"2026-04-19T21:05:05.068Z","modified":"2026-09-20T14:31:13.273Z","3.3.0":"2026-04-19T21:05:05.285Z","3.4.0":"2026-05-17T11:27:29.026Z","3.5.0":"2026-05-17T22:33:19.150Z","3.6.0":"2026-05-18T17:01:38.284Z","3.7.0":"2026-05-18T20:28:30.039Z","3.8.0":"2026-06-05T01:23:42.809Z","3.9.0":"2026-06-05T10:55:17.543Z","3.10.0":"2026-06-05T13:01:04.466Z","3.11.0":"2026-06-05T23:44:16.470Z","3.12.0":"2026-06-07T13:28:36.683Z","3.13.0":"2026-07-11T23:30:27.973Z","3.14.0":"2026-07-12T22:13:56.118Z","3.14.1":"2026-07-16T15:35:48.530Z","3.15.0":"2026-07-16T18:07:42.748Z","3.15.1":"2026-07-16T18:32:27.430Z","3.16.0":"2026-07-24T00:10:31.037Z","3.17.0":"2026-08-19T16:16:27.334Z","3.18.0":"2026-08-19T18:29:39.200Z","3.19.0":"2026-09-02T23:51:15.959Z","3.19.1":"2026-09-03T10:47:59.656Z","3.20.0":"2026-09-03T12:34:06.535Z","3.21.0":"2026-09-03T18:45:40.666Z","3.22.0":"2026-09-03T20:04:20.622Z","3.23.0":"2026-09-04T22:23:53.803Z","3.24.0":"2026-09-06T11:18:11.276Z","3.25.0":"2026-09-06T13:58:39.348Z","3.25.1":"2026-09-06T16:30:57.122Z","3.26.0":"2026-09-06T19:11:37.074Z","3.27.0":"2026-09-07T00:19:52.657Z","3.28.0":"2026-09-07T14:41:07.001Z","3.29.0":"2026-09-07T17:07:52.265Z","3.30.0":"2026-09-20T14:31:12.586Z"},"bugs":{"url":"https://github.com/TadMSTR/searxng-mcp/issues"},"author":{"name":"TadMSTR"},"license":"MIT","homepage":"https://github.com/TadMSTR/searxng-mcp#readme","keywords":["searxng","mcp","search"],"repository":{"url":"git+https://github.com/TadMSTR/searxng-mcp.git","type":"git"},"description":"MCP server for SearXNG — private web search for Claude Code","maintainers":[{"name":"tadmstr-npm","email":"TadMSTR@pm.me"}],"readme":"# searxng-mcp\n\n[![Built with Claude Code](https://img.shields.io/badge/Built_with-Claude_Code-6B57FF?logo=claude&logoColor=white)](https://claude.ai/code)\n[![CI](https://github.com/TadMSTR/searxng-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/TadMSTR/searxng-mcp/actions/workflows/ci.yml)\n[![npm](https://img.shields.io/npm/v/@tadmstr/searxng-mcp)](https://www.npmjs.com/package/@tadmstr/searxng-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAn MCP server for private web search via a self-hosted [SearXNG](https://github.com/searxng/searxng) instance. SearXNG is the only requirement; everything else is optional and layers on top — a local ML model reranks results, a three-tier cascade (Firecrawl, Crawl4AI, in-process raw fetch) retrieves full-page content, and an Ollama instance provides query expansion and LLM-synthesized summaries.\n\nDesigned for use with Claude Code and LibreChat agents that need web search without sending queries to a third-party search API.\n\nBuilt with [Claude Code](https://claude.ai/code) using the multi-agent workflow from [homelab-agent](https://github.com/TadMSTR/homelab-agent) — the same platform that uses searxng-mcp in production for AI-assisted research.\n\n## Quick Start\n\n**A running [SearXNG](https://github.com/searxng/searxng) instance is the only requirement.**\nEverything else is optional and improves a specific dimension — see [Prerequisites](docs/configuration.md#prerequisites-and-service-setup).\n\n**SearXNG only** — nothing else deployed:\n\n```bash\nSEARXNG_URL=http://localhost:8081 \\\n  FIRECRAWL_ENABLED=false CACHE_URL= RERANKER_URL= \\\n  npx @tadmstr/searxng-mcp\n```\n\nWhat works in this configuration: `search` returns ranked results, and `fetch_url` /\n`search_and_fetch` return extracted page content via tier 3 (raw HTTP fetch + Readability, wholly\nin-process). What does not: semantic reranking (results keep SearXNG's ordering), query expansion\nand `search_and_summarize` (no LLM), caching (every call is live), JS-heavy page rendering, and\noffline serving.\n\nThe startup capability line reports three states per capability, not two:\n`on` (self-contained — nothing remote has to work for it to be true), `unverified` (configured,\nbut this process has never contacted the backend), and `off` (not configured). Nothing probes at\nstartup, so `unverified` is not a health failure — it's the honest absence of a health claim, not\nan error. The command above prints exactly this:\n\n```\ncapabilities on=tier3 unverified=none off=tier1,tier2,cache,reranker,llm,kiwix,hister,solver,wayback,otel,nats\n```\n\n`tier3` is the only thing `on`, because it is the only capability that is true without anything\nremote working. `wayback` is `off` until you set `WAYBACK_ENABLED=true` — it is a feature flag,\nnot a default.\n\nThe three overrides are what make it a *clean* minimal run rather than merely a working one.\n`FIRECRAWL_URL`, `CACHE_URL` and `RERANKER_URL` all have non-empty defaults, so left alone the\nserver spends the whole run talking to services that were never deployed — every fetch first\nattempts a Firecrawl that is not there and books the failure into the domain capability\ndatabase, which then routes around a tier that was never broken, only absent.\n\n`FIRECRAWL_ENABLED=false` is a real kill switch. `CACHE_URL` and `RERANKER_URL` have none, so\nthe lever is an empty string.\n\n### The compose ladder\n\nFour compose files in [`examples/`](examples/), each a strict superset of the one above it. Start\nat the rung that matches what you are willing to run; every rung's header comment states what\nworks, what does not, and which environment variable moves you up.\n\n| Rung | File | Adds | Containers | RAM | Unlocks |\n|---|---|---|---|---|---|\n| 1 | [`compose.minimal.yml`](examples/compose.minimal.yml) | SearXNG + searxng-mcp | 2 | ~600 MB | The least you can run |\n| 2 | [`compose.crawl4ai.yml`](examples/compose.crawl4ai.yml) | cache, Crawl4AI | 4 | ~6 GB | JS rendering, real caching |\n| 3 | [`compose.reranker.yml`](examples/compose.reranker.yml) | reranker | 5 | ~8 GB | Relevance reranking, `min_score` |\n| 4 | [`compose.full.yml`](examples/compose.full.yml) | Firecrawl, Ollama, Kiwix, NATS, adblock | 12 | ~24 GB | Summarisation, PDFs, offline corpora |\n\n**Rung 2 is the recommended starting point** — the cache is the single largest latency win, and\nCrawl4AI gets you JavaScript rendering for one container instead of Firecrawl's three.\n\n```bash\ncd examples\nexport SEARXNG_SECRET=$(openssl rand -hex 32)\ndocker compose -f compose.crawl4ai.yml up -d\n```\n\nMoving up a rung is `docker compose -f compose.<next>.yml up -d` — all four share a compose\nproject name, so compose reconciles in place rather than starting a second copy of what you\nalready had.\n\n**As a container** — published to GHCR on every release:\n\n```bash\ndocker pull ghcr.io/tadmstr/searxng-mcp:latest\n```\n\nTags, uid, and provenance verification: [Deployment](docs/deployment.md#container-image).\n\nThe reranker ships in this repo — `cd docker/reranker && docker compose up`, or pull `ghcr.io/tadmstr/searxng-mcp-reranker`. It is CPU-only, needs no API key, and has the model baked in so there is no cold start. See [`docker/reranker/README.md`](docker/reranker/README.md).\n\nTwo adblocking sidecars are also published as images, one per fetch-tier group:\n\n- `ghcr.io/tadmstr/searxng-mcp-adblock-proxy` — ad/tracker filtering for tiers 2 and 3. It is an\n  **open forward proxy with no authentication**, so loopback or a private network only — see\n  [`docker/adblock-proxy/README.md`](docker/adblock-proxy/README.md) for placement. Its filter\n  lists are fetched at **runtime**, from `ADBLOCK_FILTERS_URL` (defaulted to EasyList +\n  EasyPrivacy) and reloaded on a schedule — the opposite approach from the playwright sidecar\n  below, deliberately: only that image sits in front of an SSRF guard.\n- `ghcr.io/tadmstr/searxng-mcp-playwright-adblock` — EasyList/EasyPrivacy filtering for\n  Firecrawl v2's renderer (tier 1). This is an **upgrade** of upstream's existing\n  `AD_SERVING_DOMAINS` token list, not a new capability — that list still applies underneath. It\n  targets the **v2** renderer only; `docker/puppeteer-adblock/` covers v1 and does nothing on a\n  v2 deployment. Note `FIRECRAWL_API_VERSION` defaults to **`v1`** in `src/config.ts`, so a stack\n  wiring the playwright sidecar must set it to `v2` explicitly or tier-1 adblocking silently does\n  nothing — `examples/compose.full.yml` sets it and says why. Its filter lists are vendored\n  **at build time** (`docker/playwright-adblock/lists/`, checksum-verified against `SHA256SUMS`\n  during the build) rather than downloaded from `easylist.to`, so the build no longer depends on\n  that host being reachable. Refresh with `node docker/playwright-adblock/fetch-lists.mjs`, or\n  let the weekly `adblock-lists-refresh.yml` workflow do it — it opens a PR that carries **no CI\n  checks** (GitHub does not trigger workflows for a PR opened with `GITHUB_TOKEN`), so review the\n  workflow run itself rather than looking for a green check; it verifies the lists before opening\n  the PR. `ADBLOCK_FILTERS_URL` still exists on this image too, as an opt-in runtime override —\n  unset by default, so the vendored lists are what ships. See\n  [`docker/playwright-adblock/README.md`](docker/playwright-adblock/README.md).\n\nFor a full local topology including Firecrawl, Crawl4AI, Ollama, Kiwix, the adblock proxy, and NATS, see rung 4 of the ladder above — [`examples/compose.full.yml`](examples/compose.full.yml).\n\n## Why searxng-mcp?\n\nThere are a number of SearXNG MCP servers. Most wrap the search endpoint and stop there. The\ndifferentiators here are in what happens *after* the search:\n\n| | searxng-mcp | Typical SearXNG MCP server |\n|---|---|---|\n| SearXNG search | yes | yes |\n| ML reranking of results | local cross-encoder, reorders by relevance — ships in [`docker/reranker/`](docker/reranker/) | SearXNG's own ordering |\n| Full-page content retrieval | three-tier cascade — Firecrawl, Crawl4AI, in-process raw fetch + Readability | none, or a single raw fetch |\n| Per-domain routing | domain capability database learns which tier works per domain and skips the ones that do not | none |\n| Summarisation | Ollama, with citations back to source URLs | none |\n| Site crawling | `crawl_site` — Firecrawl crawl, sitemap fallback, optional BFS | none |\n| Caching | persistent, shared across clients (Valkey/Redis) | in-process or none |\n| Challenge handling | detection-gated solver tier, plus a Wayback fallback | none |\n| Observability | OpenTelemetry traces and metrics, NATS events, structured logs | none |\n\n**Only SearXNG is required.** Everything in the table above degrades gracefully: with nothing\nelse deployed, `fetch_url` still returns extracted content from the in-process tier 3, and the\nstartup capability line tells you exactly what's configured, what's configured but not yet\nverified, and what's off — see [Quick Start](#quick-start) above.\n\n## Tools\n\n| Tool | What it does |\n|------|--------------|\n| `search` | Search via SearXNG with local ML reranking, plus SearXNG's own direct answers, infoboxes and suggestions. |\n| `search_and_fetch` | Search, rerank, then fetch full content of the top result(s) through the fetch cascade. |\n| `search_and_summarize` | Search, fetch, then synthesize a cited summary via Ollama. On failure, falls back to raw fetched content led by an explicit `summarization unavailable (<kind>: <detail>)` marker — no marker means a real synthesis. |\n| `fetch_url` | Fetch and extract readable markdown from any public URL, via fast paths or the fetch cascade. |\n| `crawl_site` | Crawl a site and return a URL/title/snippet manifest. Page content is cached, so follow-up `fetch_url` calls are free. |\n| `clear_cache` | Purge the search, fetch or crawl cache. |\n| `domain_stats` | Read-only view of the domain capability database — per-tier success rates, as structured output. |\n\nFull parameter reference: [`docs/tools.md`](docs/tools.md).\n\n## Resources\n\nTwo read-only MCP Resources, additive to the tools above.\n\n| URI | What it returns |\n|-----|-----------------|\n| `config://searxng-mcp` | Effective configuration and capability state — which backing services are wired, the three-state capability line, behaviour switches and tunables, and which credentials are configured. |\n| `stats://domains` | Aggregate view of the domain capability database, mirroring the aggregate mode of `domain_stats`. Reports `available: false` with a reason when the database cannot be read, which is **not** the same as it being empty. |\n\n`config://searxng-mcp` never includes a credential value. Secrets are reported as a\nboolean — configured or not — and every URL is stripped of inline userinfo before it is\nemitted, because Basic Auth in `SEARXNG_URL` and an inline password in `CACHE_URL` are both\nsupported. The payload is built from an allowlist rather than by dumping config and removing\nknown secrets, so a newly-added field cannot leak by default.\n\n**If you're behind an MCP proxy rather than talking to this server directly, verify it forwards\n`resources/*`.** Many proxies re-register upstream tools on their own server instead of\nforwarding the wire protocol generically, and drop Resources silently as a result — the tools\nstill work, only the Resources go missing. See\n[Deployment](docs/deployment.md#mcp-resources-through-a-proxy) for a worked example of checking\nthis.\n\n## Architecture\n\nThe fetch cascade, in full. Each stage is optional and skipped cleanly when unconfigured.\n\n```mermaid\nflowchart TD\n    entry[\"fetchPage(url)\"]\n    cache{\"Valkey cache hit?\"}\n    cached[\"→ return cached { title, url, text }\"]\n    github{\"GitHub host?\\ngithub.com · raw · api\"}\n    gh_fetch[\"GitHub API / raw.githubusercontent.com / api.github.com\\n→ return\"]\n    llms{\"llms.txt domain?\"}\n    llms_fetch[\"Probe /llms-full.txt\\nextract matching section\\n→ return\"]\n    kiwix{\"Kiwix host?\\nKIWIX_URL set\"}\n    kiwix_fetch[\"Local Kiwix ZIM\\nWikipedia · Stack Overflow · Arch Wiki\\n→ cache + return\"]\n    robots[\"robots.txt pre-check — tiers 1–3\\ndisallowed → RobotsDisallowedError (cached 24h)\"]\n    tier_skip([\"Per-domain tier skip\\nsuccess rate &lt;30% over ≥10 tries\\nor tier_skip operator override\"])\n    t1[\"Tier 1 — Firecrawl\\n$FIRECRAWL_URL\\nserves PDFs under FIRECRAWL_API_VERSION=v2\"]\n    t2[\"Tier 2 — Crawl4AI\\n$CRAWL4AI_URL · optional\\ndirect — no adblock proxy\"]\n    t3[\"Tier 3 — Raw HTTP + Readability\\nfallback: raw HTML slice\\nadblock proxy if $ADBLOCK_PROXY_URL\"]\n    challenge([\"Challenge detected\\non this URL, this request?\"])\n    solver[\"Solver — Byparr\\n$SOLVER_URL · opt-in, SOLVER_ENABLED=true\\nSSRF-guarded replay\"]\n    t4[\"Tier 4 — Wayback Machine CDX API\\narchived snapshot · WAYBACK_ENABLED=true\"]\n    post[\"Post-extraction\\nJSON-LD Article · title cascade\\nog:title → twitter:title → title → h1 → URL\"]\n    result[\"→ return { title, url, text }\"]\n\n    entry --> cache\n    cache -->|hit| cached\n    cache -->|miss| github\n    github -->|yes| gh_fetch\n    github -->|no| llms\n    llms -->|yes| llms_fetch\n    llms -->|no| kiwix\n    kiwix -->|yes| kiwix_fetch\n    kiwix -->|no| robots\n    robots --> tier_skip\n    tier_skip --> t1\n    t1 -->|success| post\n    t1 -->|\"empty / error\"| t2\n    t2 -->|success| post\n    t2 -->|\"empty / error\"| t3\n    t3 -->|success| post\n    t3 -->|\"empty / error\"| challenge\n    challenge -->|\"yes, SOLVER_ENABLED\"| solver\n    challenge -->|no| t4\n    solver -->|success| post\n    solver -->|\"miss / disabled\"| t4\n    t4 -->|success| result\n    post --> result\n\n    style entry fill:#ffffff,stroke:#333333,color:#000000\n    style cache fill:#ffffff,stroke:#333333,color:#000000\n    style cached fill:#ffffff,stroke:#333333,color:#000000\n    style github fill:#dae8fc,stroke:#6c8ebf,color:#000000\n    style gh_fetch fill:#dae8fc,stroke:#6c8ebf,color:#000000\n    style llms fill:#dae8fc,stroke:#6c8ebf,color:#000000\n    style llms_fetch fill:#dae8fc,stroke:#6c8ebf,color:#000000\n    style kiwix fill:#fff9c4,stroke:#b8860b,color:#000000\n    style kiwix_fetch fill:#fff9c4,stroke:#b8860b,color:#000000\n    style robots fill:#ffffff,stroke:#333333,color:#000000\n    style tier_skip fill:#f5f5f5,stroke:#666666,color:#000000\n    style t1 fill:#d5e8d4,stroke:#5a8a4a,color:#000000\n    style t2 fill:#d5e8d4,stroke:#5a8a4a,color:#000000\n    style t3 fill:#d5e8d4,stroke:#5a8a4a,color:#000000\n    style challenge fill:#f5f5f5,stroke:#666666,color:#000000\n    style solver fill:#d5e8d4,stroke:#5a8a4a,color:#000000\n    style t4 fill:#f8cecc,stroke:#a03030,color:#000000\n    style post fill:#e1d5e7,stroke:#7a5a8a,color:#000000\n    style result fill:#ffffff,stroke:#333333,color:#000000\n```\n\nRead the rest — tier semantics, the domain capability database, adblocking, every fast path,\nresilience and observability — in [`docs/architecture.md`](docs/architecture.md).\n\n## Documentation\n\n| | |\n|---|---|\n| [Configuration](docs/configuration.md) | Every environment variable, and setup for each optional backing service. |\n| [Tools](docs/tools.md) | Full per-tool parameter reference. |\n| [Deployment](docs/deployment.md) | Install, transports, HTTP auth, and MCP client recipes. |\n| [Architecture](docs/architecture.md) | Fetch cascade, tier semantics, domain capability database. |\n| [Security](docs/security.md) | SSRF, redirects, transport exposure, bounded reads, credentials. |\n\nIndex: [`docs/index.md`](docs/index.md).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions, commit conventions, and the PR process.\n\n### Integration tests\n\nA real-Valkey integration suite covering domain-DB concurrency is gated on `VALKEY_TEST_URL` and skipped entirely when it's unset, so a plain `pnpm test` still works with no Valkey present:\n\n```bash\nVALKEY_TEST_URL=redis://:<password>@<host>:<port>/<scratch-db> pnpm test\n```\n\nUse a **scratch database index** — the suite writes and deletes `domain:*` keys and refuses to run against index `0` or `1` as a safety guard.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}