{"_id":"@amplify-studio/open-mcp","_rev":"9-13f597bd12ccb354fa7426bc8c95743b","name":"@amplify-studio/open-mcp","dist-tags":{"latest":"0.10.5"},"versions":{"0.8.0":{"name":"@amplify-studio/open-mcp","version":"0.8.0","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.8.0","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"7c6420d27e06713eaec936abf773140097d7441c","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.8.0.tgz","fileCount":23,"integrity":"sha512-sJT8SQqfINcgKvKnvHbGv++1lvg3XbpnPCjI4RnP7u8neWXk8FLm2yC1wl2ixA5VcK/ym7yvoI5qmHEj7kKZyQ==","signatures":[{"sig":"MEQCIH1RSENIt9TR+Bj8+H5C5flZBRoL7mLoCrfo3uWqVhz2AiByf1groDEHBsXRnhIosdTf2YXjEkPXAiZMcJvTEJpplQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63263},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a6baed0a03b77c72dd699d77dc3d5b893b7ddc0a","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.8.0_1768225526363_0.9091915359246301","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@amplify-studio/open-mcp","version":"0.8.1","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.8.1","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"b7977446d552980a81fbac083cda440fcbc28453","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.8.1.tgz","fileCount":23,"integrity":"sha512-mvmZctktK7QWBUS8PmLNd7p5yyDSyLGVMkcQmhjANtOZ78k5pngXRUCPN3sAQq0qcv+HOc+s8wxduBghQLTKVg==","signatures":[{"sig":"MEUCIH6kFiPtmZeqEW1u38Z/N5myKlV7tSPSi/9h38oJY9JpAiEA0jNh4sEGuT++xB1kMXfI6vM0pzVKp8vDdw5g1b+GHFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63263},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a6baed0a03b77c72dd699d77dc3d5b893b7ddc0a","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.8.1_1768225636219_0.5854638680244366","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@amplify-studio/open-mcp","version":"0.8.2","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.8.2","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"e3ee5f099dc29536c82870e701b9602f3c662255","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.8.2.tgz","fileCount":23,"integrity":"sha512-hjHxHq8ePqWwvD7LKgYGhcV/d0XnFpqM4Napi/F/BQDTVzTtkv0QFtlKcQFi6AVlN7wMB85h2Tle7re+sot3xA==","signatures":[{"sig":"MEUCIGwd9Z7GNSvhbGKjubEkWuil+djYyZ+YtR6sImaC58tmAiEArVfHqj38kfjs8x1gJfwGrHEgkrMHqiBDLNF9DMnhe+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63753},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a6baed0a03b77c72dd699d77dc3d5b893b7ddc0a","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.8.2_1768226908009_0.3600500046517636","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@amplify-studio/open-mcp","version":"0.9.0","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.9.0","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"71be884df93561e5fcb559206249db2b12fcc485","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.9.0.tgz","fileCount":23,"integrity":"sha512-xRcDyX39bK+ZLqcugo9OuEOPjHK1WcYouwMUG9GvH+VYIMqqaA0wD46CkGpZXvT9WcgcA5JcYM0M8ABXguMGtw==","signatures":[{"sig":"MEQCID39RxZYVP1n1hdvSjP+CgzRbwJverDnPoLVey543S/SAiAq7Ofka1amVWXWmePjzyGHwy9iGwdUq6T3mGG3AC3S+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69005},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ddf702d568cc14afaaabaa5d5ff317e39f76fa20","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.9.0_1768574288418_0.8986217043851361","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@amplify-studio/open-mcp","version":"0.10.0","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.10.0","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"80f018fec66bec533d86b73422aa6c607a263946","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.10.0.tgz","fileCount":33,"integrity":"sha512-5OXTekkUIlC5iMQQyouzyd4aRcHhm2k2mJbK1kb3OIJAFBeAgbi3Barvta97WU0xXRnz3wAWDk62RyAyGWfJcg==","signatures":[{"sig":"MEUCIBtZjV1PTJzXgG9baltaCtD4lzY72WhoiX/StrbmaGEqAiEAktgJVHWfrPn7CG+JwKw14YjW/xb2GO70CRw0ST0gbtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88401},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"5b827ca4f0621bf022e3356fc810b9522507be15","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true GATEWAY_URL=http://localhost:80 npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.10.0_1770115422284_0.6456373473277695","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@amplify-studio/open-mcp","version":"0.10.1","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.10.1","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"dist/index.js"},"dist":{"shasum":"02693ddd851aa22687a7fb96966c118b3c306c6c","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.10.1.tgz","fileCount":33,"integrity":"sha512-CP+JTgtbl899p0qyLRzdCFeZfjNfdnMPofqrZnFm1tPf7Oqg32y4MGH7IgD2wC26ISkKALj7TBw3fNtUXFlf6g==","signatures":[{"sig":"MEQCIDEypB6QiLoP01dkAGE/rJAXju3TUdF2rE7KyuxKRdy+AiBriHcov3sVtCU4GAb3qecRe9TDJrPoCgYkq+VJw1yoPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88401},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"92ef17d04b13c6193c8d496833cd613283127841","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true GATEWAY_URL=http://localhost:80 npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.10.1_1770127480339_0.19850930283527246","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@amplify-studio/open-mcp","version":"0.10.2","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.10.2","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"bin/open-mcp.js"},"dist":{"shasum":"3acca2ee91f17d43da76b16bfb885511ce71f902","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.10.2.tgz","fileCount":34,"integrity":"sha512-A18VM0zHYmpBXxlq64WyvhfijF89Sqk5My9mzAELHMs66r2M90tVBpto3p7FVV2lyeFmsnNBzzXr4LH8eU9rMw==","signatures":[{"sig":"MEYCIQDrnIl8ge89mNqRHBkKXUIoAoDBfYerhNV2SY4x4/z8YAIhAOvtiAFTAFEuf75SOvBS6rJdykqfXSymRAoNZGwOlYwx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89978},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"9601e576bc869e27632768c9e3df31cb08d35d68","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true GATEWAY_URL=http://localhost:80 npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.10.2_1770128938936_0.8628443213387527","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@amplify-studio/open-mcp","version":"0.10.4","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"author":{"url":"https://github.com/amplify-studio","name":"Amplify Studio"},"license":"MIT","_id":"@amplify-studio/open-mcp@0.10.4","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"bin":{"open-mcp":"bin/open-mcp.js"},"dist":{"shasum":"b78c1164412170aab259b73b291fdf8f9cd26807","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.10.4.tgz","fileCount":34,"integrity":"sha512-z6/Rcgn8d1Zc8G+W0c9AoGw8IJEzOpcwEldTyTbv36quECABB5sPJzx9EZN0xbC3JREH+hlQqU6Emj2oLDr7bw==","signatures":[{"sig":"MEYCIQDlel8SfnVbBr6hXT70Q+Pjp/Hs6VSHrRhkC4QX9pt3+gIhAPiE9/PhOyPtNaqeEZZ7COGYVoGHV+Bmh4uf8YqB6b63","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89978},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"beb967d8d827994775397349325cff2a33550788","scripts":{"test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true GATEWAY_URL=http://localhost:80 npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts"},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"repository":{"url":"git+https://github.com/amplify-studio/open-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"Open MCP server for web search and URL reading via Gateway API","directories":{},"_nodeVersion":"24.4.0","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","undici":"^6.20.1","express":"^5.1.0","@types/cors":"^2.8.19","@types/express":"^5.0.3","node-html-markdown":"^1.3.0","@modelcontextprotocol/sdk":"1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","shx":"^0.4.0","tsx":"^4.20.5","mcp-evals":"^1.0.18","supertest":"^7.1.4","typescript":"^5.8.3","@types/node":"^22.17.2","@types/supertest":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/open-mcp_0.10.4_1770203869618_0.5692270797756747","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@amplify-studio/open-mcp","version":"0.10.5","description":"Open MCP server for web search and URL reading via Gateway API","license":"MIT","author":{"name":"Amplify Studio","url":"https://github.com/amplify-studio"},"homepage":"https://github.com/amplify-studio/open-mcp","bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"repository":{"type":"git","url":"git+https://github.com/amplify-studio/open-mcp.git"},"keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"type":"module","bin":{"open-mcp":"bin/open-mcp.js"},"main":"dist/index.js","engines":{"node":">=20"},"scripts":{"build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","test":"SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts","test:coverage":"SEARXNG_URL=https://test-searx.example.com c8 --reporter=text tsx __tests__/run-all.ts","bootstrap":"npm install && npm run build","inspector":"DANGEROUSLY_OMIT_AUTH=true GATEWAY_URL=http://localhost:80 npx @modelcontextprotocol/inspector node dist/index.js","postversion":"TAG=$(node scripts/update-version.js | tail -1) && git add src/index.ts && git commit --amend --no-edit && git tag -f $TAG"},"dependencies":{"@modelcontextprotocol/sdk":"1.17.4","@types/cors":"^2.8.19","@types/express":"^5.0.3","cors":"^2.8.5","dotenv":"^17.2.3","express":"^5.1.0","node-html-markdown":"^1.3.0","undici":"^6.20.1"},"devDependencies":{"@types/node":"^22.17.2","@types/supertest":"^6.0.3","c8":"^10.1.3","mcp-evals":"^1.0.18","shx":"^0.4.0","supertest":"^7.1.4","tsx":"^4.20.5","typescript":"^5.8.3"},"_id":"@amplify-studio/open-mcp@0.10.5","gitHead":"55a039523679e197b6e239707ea372decd275dde","types":"./dist/index.d.ts","_nodeVersion":"24.4.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-ig9I4FT3bss7vMJ/p1xAHEdRC5dagI+kuHo+xHi4Z9MT0IfTIJmMc1P5cJyM+M8s/9VIEYtmu6r4ol0ChK2CfA==","shasum":"63e0655a78d648a56f9d270a78c4105d17c2b6ac","tarball":"https://registry.npmjs.org/@amplify-studio/open-mcp/-/open-mcp-0.10.5.tgz","fileCount":34,"unpackedSize":90383,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDtU7LiZpP4Yj7tYpL/luVmuPzaBU+6UghZjlkOvkNn6gIhAIY+EtP/xALDRaMGu1iLlySeo8onPoliDgruP+BuULT3"}]},"_npmUser":{"name":"dustyposa","email":"zmzposa@outlook.com"},"directories":{},"maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/open-mcp_0.10.5_1770203952945_0.13899049620116988"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T13:45:26.293Z","modified":"2026-02-04T11:19:13.201Z","0.8.0":"2026-01-12T13:45:26.491Z","0.8.1":"2026-01-12T13:47:16.359Z","0.8.2":"2026-01-12T14:08:28.146Z","0.9.0":"2026-01-16T14:38:08.544Z","0.10.0":"2026-02-03T10:43:42.445Z","0.10.1":"2026-02-03T14:04:40.493Z","0.10.2":"2026-02-03T14:28:59.080Z","0.10.4":"2026-02-04T11:17:49.759Z","0.10.5":"2026-02-04T11:19:13.076Z"},"bugs":{"url":"https://github.com/amplify-studio/open-mcp/issues"},"author":{"name":"Amplify Studio","url":"https://github.com/amplify-studio"},"license":"MIT","homepage":"https://github.com/amplify-studio/open-mcp","keywords":["mcp","modelcontextprotocol","searxng","search","web-search","claude","ai","pagination","smithery","url-reader"],"repository":{"type":"git","url":"git+https://github.com/amplify-studio/open-mcp.git"},"description":"Open MCP server for web search and URL reading via Gateway API","maintainers":[{"name":"dustyposa","email":"zmzposa@outlook.com"}],"readme":"# Open MCP Search Server\n\n[![npm version](https://badge.fury.io/js/%40amplify-studio%2Fopen-mcp.svg)](https://www.npmjs.com/package/@amplify-studio/open-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/@amplify-studio/open-mcp)](https://www.npmjs.com/package/@amplify-studio/open-mcp)\n[![Docker pulls](https://img.shields.io/docker/pulls/amplifystudio/open-mcp)](https://hub.docker.com/r/amplifystudio/open-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub stars](https://img.shields.io/github/stars/amplify-studio/open-mcp?style=social)](https://github.com/amplify-studio/open-mcp)\n\nLooking for free web search and page reading services? Want better MCP integration? Try this project!\n\n**Doc Language:** [English](README.md) | [中文](readme/zh-CN.md)\n\nDeploy your own local web search and page reading service in one click. Powered by SearXNG and Firecrawl, integrated with Claude via MCP protocol.\n\n## Features\n\n### MCP Tools\n\nTools provided to AI assistants via MCP protocol:\n\n- 🔍 **Web Search** - Search the web with pagination, time filtering, and language options\n- 📄 **URL Reading** - Extract web page content as markdown with advanced filtering\n- 🎨 **Image Understanding** - Analyze images, videos, and documents using Zhipu AI\n- 🖼️ **Image Generation** - Generate images from text using Zhipu AI\n\n### Server Features\n\nInfrastructure capabilities for deployment and performance:\n\n- 💾 **Smart Caching** - Automatic caching with TTL to improve performance\n- 🔄 **Dual Transport** - STDIO or HTTP modes for flexible deployment\n- ⏱️ **Auto Cleanup** - Automatic shutdown after 3min of inactivity\n\n---\n\n## Compatible Clients\n\nWorks with any MCP client:\n\n- **Claude Desktop** / **Claude Code** / **Cursor** / **Cline**\n- **Continue.dev**\n- **HTTP Mode** (for remote deployment)\n\n---\n\n## Quick Start\n\nThe quickest way to get started is using the `claude mcp add` command - npx automatically handles downloading and running the server.\n\n### Prerequisites & Setup\n\nChoose your usage mode and follow the corresponding setup:\n\n#### Mode 1: AI-Only (No Docker Required)\n\n**Prerequisites:** None beyond installation\n\n**Setup:**\n```bash\nclaude mcp add-json -s user open-mcp '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n  \"env\": {\n    \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n  }\n}'\n```\n\n**Available Tools:** `image_understand`, `image_generate`\n\n#### Mode 2: Search & URL Reading\n\n**Prerequisites:** Running Gateway API instance\n\n**Setup Gateway:**\n```bash\n# Clone the repository\ngit clone https://github.com/amplify-studio/open-mcp.git\ncd open-mcp\n\n# Start the Gateway services\ndocker compose --env-file .env up -d\n\n# Verify it's running\ncurl http://localhost:80/health\n```\n\n**Setup MCP:**\n```bash\nclaude mcp add-json -s user open-mcp '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n  \"env\": {\n    \"GATEWAY_URL\": \"http://127.0.0.1:80\"\n  }\n}'\n```\n\n**Available Tools:** `searxng_web_search`, `web_url_read`\n\n#### Mode 3: Full Features (Search + AI)\n\n**Prerequisites:** Running Gateway + Zhipu AI API Key\n\n**Setup:**\n```bash\nclaude mcp add-json -s user open-mcp '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n  \"env\": {\n    \"GATEWAY_URL\": \"http://127.0.0.1:80\",\n    \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n  }\n}'\n```\n\n**Available Tools:** All 4 tools\n\n**Gateway Services:**\n\n| Service | Purpose | Port |\n|---------|---------|------|\n| **SearXNG** | Privacy-respecting metasearch engine | 8888 (internal) |\n| **Firecrawl API** | Web scraping and crawling | 3002 (internal) |\n| **Playwright** | Browser automation | 3000 (internal) |\n| **Reader Adapter** | Jina Reader compatible API | 8082 (internal) |\n| **Redis** | Rate limiting and caching | 6379 (internal) |\n| **PostgreSQL** | Data persistence | 5432 (internal) |\n| **Nginx** | API gateway (public endpoint) | **80** |\n\n**API Endpoints (via Nginx on port 80):**\n- 🔍 **Search:** `http://localhost:80/api/search/`\n- 📄 **Read URL:** `http://localhost:80/api/read/<url>`\n- 📊 **Status:** `http://localhost:80/api/status`\n\n**Management:**\n```bash\n# View logs\ndocker compose logs -f\n\n# Stop services\ndocker compose down\n\n# Restart services\ndocker compose restart\n```\n\n### Basic Usage (Configuration File)\n\nFor Claude Desktop, add to your configuration file (`claude_desktop_config.json`):\n\n**AI-Only Mode:**\n```json\n{\n  \"mcpServers\": {\n    \"open-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n      \"env\": {\n        \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n      }\n    }\n  }\n}\n```\n\n**Full Mode:**\n```json\n{\n  \"mcpServers\": {\n    \"open-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n      \"env\": {\n        \"GATEWAY_URL\": \"http://your-gateway.com:80\",\n        \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Usage\n\n### Web Search Tool\n\n**Tool Name:** `searxng_web_search`\n\n**Parameters:**\n- `query` (string, required): The search query\n- `limit` (number, optional): Maximum results (1-100, default: 10)\n\n**Example:**\n\n```json\n{\n  \"query\": \"Model Context Protocol\",\n  \"limit\": 5\n}\n```\n\n**Response:**\n\n```json\n{\n  \"query\": \"Model Context Protocol\",\n  \"results\": [\n    {\n      \"title\": \"Result Title\",\n      \"content\": \"Description or snippet...\",\n      \"url\": \"https://example.com\"\n    }\n  ],\n  \"totalCount\": 5,\n  \"duration\": \"234ms\"\n}\n```\n\n### URL Reading Tool\n\n**Tool Name:** `web_url_read`\n\n**Parameters:**\n- `url` (string, required): The URL to fetch\n- `startChar` (number, optional): Starting character position (default: 0)\n- `maxLength` (number, optional): Maximum characters to return\n- `section` (string, optional): Extract content under specific heading\n- `paragraphRange` (string, optional): Paragraph range like '1-5', '3', '10-'\n- `readHeadings` (boolean, optional): Return only headings (default: false)\n\n**Example:**\n\n```json\n{\n  \"url\": \"https://example.com/article\",\n  \"maxLength\": 5000,\n  \"section\": \"Introduction\"\n}\n```\n\n**Response:**\n\n```json\n{\n  \"url\": \"https://example.com/article\",\n  \"content\": \"# Article Content\\n\\n...\",\n  \"charCount\": 1500,\n  \"duration\": \"456ms\",\n  \"cached\": false\n}\n```\n\n### Image Understanding Tool\n\n**Tool Name:** `image_understand`\n\n**Parameters:**\n- `files` (array, required): File paths, URLs, or base64 data\n- `prompt` (string, required): Question or instruction\n- `thinking` (boolean, optional): Enable deep thinking mode\n\n**Example:**\n\n```json\n{\n  \"files\": [\"/path/to/image.png\"],\n  \"prompt\": \"What objects are in this image?\",\n  \"thinking\": false\n}\n```\n\n**Response:** Text description or answer\n\n### Image Generation Tool\n\n**Tool Name:** `image_generate`\n\n**Parameters:**\n- `prompt` (string, required): Image description\n- `size` (string, optional): Image size (default: \"1024x1024\")\n\n**Example:**\n\n```json\n{\n  \"prompt\": \"A beautiful sunset over mountains\",\n  \"size\": \"1024x1024\"\n}\n```\n\n**Response:** Image URL\n\n---\n\n## Feature Showcase\n\n### Image Understanding Example\n\nOur image understanding feature is powered by Zhipu AI GLM-4.6V-Flash, capable of accurately analyzing images, videos, and documents.\n\n**Original Image:**\n\n![Image to understand](./docs/assets/images/image-to-understand.png)\n\n**AI Understanding Result:**\n\n![Image understanding result](./docs/assets/images/image-understand-result.png)\n\nFor more details about image features, see [Image AI Tools Documentation](./docs/features/image-ai-tools.md)\n\n---\n\n## Configuration\n\n### Flexible Configuration\n\nThe MCP server automatically detects which features are enabled based on your environment variables. You only need to configure what you use!\n\n#### Configuration Modes\n\n| Mode | Environment Variables | Available Tools | Docker Required |\n|------|----------------------|-----------------|-----------------|\n| **AI-Only** | `ZHIPUAI_API_KEY` only | `image_understand`, `image_generate` | ❌ No |\n| **Search-Only** | `GATEWAY_URL` only | `searxng_web_search`, `web_url_read` | ✅ Yes |\n| **Full Mode** | Both variables | All 4 tools | ✅ Yes |\n\n#### Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `GATEWAY_URL` | Optional | Your Gateway API URL (e.g., `http://your-gateway.com:80`). Required for search and URL reading features. |\n| `ZHIPUAI_API_KEY` | Optional | Your Zhipu AI API key. Required for image understanding and generation features. |\n\n**Note:** Neither variable is strictly required. The server will automatically enable only the tools for which you've configured dependencies.\n\n**Need advanced configuration?** See [Advanced Setup Guide](docs/advanced-setup.md) for proxy, authentication, and HTTP transport options.\n\n### Getting Zhipu AI API Key\n\nTo use image understanding and generation features, you need a free API key from Zhipu AI:\n\n1. **Register with Invite Link**: [https://www.bigmodel.cn/invite?icode=yn2yXKXS+Ba1UqrD19VwPwZ3c5owLmCCcMQXWcJRS8E=](https://www.bigmodel.cn/invite?icode=yn2yXKXS+Ba1UqrD19VwPwZ3c5owLmCCcMQXWcJRS8E=)\n   - Use the invite link for better benefits\n\n2. **Get API Key**:\n   - After registration, visit [API Keys page](https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys)\n   - Click \"生成新的 API Key\" (Generate new API key)\n   - Copy the generated key (format: `id.secret`)\n\n3. **Free Tier Benefits**:\n   - GLM-4.6V-Flash: Free for vision understanding\n   - Cogview-3-Flash: Free for image generation\n   - No credit card required for basic usage\n\n4. **Set Environment Variable**:\n   ```bash\n   export ZHIPUAI_API_KEY=\"your-api-key-here\"\n   ```\n\n**Note**: The API key is optional. Only required if you want to use image understanding or generation features.\n\n---\n\n## HTTP Transport Mode\n\nThe server supports HTTP transport for remote deployment. See [Advanced Setup Guide](docs/advanced-setup.md#http-transport-mode) for detailed instructions.\n\n**Quick Start**:\n```bash\nMCP_HTTP_PORT=3333 GATEWAY_URL=http://your-gateway.com:80 npx @amplify-studio/open-mcp@latest\n```\n\nThen connect from Claude Code:\n```bash\nclaude mcp add --transport http open-mcp http://localhost:3333/mcp\n```\n\n## Development\n\n### Setup\n\n```bash\n# Install dependencies\nnpm install\n\n# Development mode with file watching\nnpm run watch\n\n# Run tests\nnpm test\n\n# Generate coverage report\nnpm run test:coverage\n\n# Test with MCP Inspector\nnpm run inspector\n\n# Build for production\nnpm run build\n```\n\n### Testing\n\n```bash\n# Run all tests\nnpm test\n\n# Run coverage report\nnpm run test:coverage\n\n# Test specific file\nnpx tsx __tests__/unit/search.test.ts\n```\n\n## Updating\n\n### Using Claude CLI\n\n```bash\n# Remove old version\nclaude mcp remove open-mcp\n\n# Install latest version\nclaude mcp add-json -s user open-mcp '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n  \"env\": {\n    \"GATEWAY_URL\": \"https://your-gateway-instance.com\",\n    \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n  }\n}'\n```\n\n### Clear npx Cache\n\nIf you encounter issues after updating:\n\n```bash\nnpm cache clean --force\nclaude mcp remove open-mcp\nclaude mcp add-json -s user open-mcp '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@amplify-studio/open-mcp@latest\"],\n  \"env\": {\n    \"GATEWAY_URL\": \"https://your-gateway-instance.com\",\n    \"ZHIPUAI_API_KEY\": \"your-zhipu-api-key\"\n  }\n}'\n```\n\n## Contributing\n\nWe welcome contributions! Please follow these guidelines:\n\n- Fork the repository\n- Create a feature branch\n- Make your changes\n- Submit a pull request\n\n### Coding Standards\n\n- Use TypeScript with strict type safety\n- Follow existing error handling patterns\n- Write concise, informative error messages\n- Include unit tests for new functionality\n- Maintain 90%+ test coverage\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Credits & Acknowledgments\n\nThis project is a fork of [mcp-searxng](https://github.com/ihor-sokoliuk/mcp-searxng) by [Ihor Sokoliuk](https://github.com/ihor-sokoliuk), adapted and enhanced with additional features and improvements.\n\n### Key Dependencies\n\nThis project is built upon these excellent open-source projects:\n\n| Project | Purpose | License |\n|---------|---------|---------|\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | Official MCP TypeScript SDK | MIT |\n| [node-html-markdown](https://github.com/crosstype/node-html-markdown) | HTML to Markdown conversion | MIT |\n| [undici](https://github.com/nodejs/undici) | HTTP client with proxy support | MIT |\n| [express](https://github.com/expressjs/express) | HTTP server framework | MIT |\n| [cors](https://github.com/expressjs/cors) | CORS middleware | MIT |\n\n### Related Projects\n\nSpecial thanks to these amazing projects:\n\n- [mcp-searxng](https://github.com/ihor-sokoliuk/mcp-searxng) - Original project that we forked from, created by [Ihor Sokoliuk](https://github.com/ihor-sokoliuk)\n- [Model Context Protocol](https://modelcontextprotocol.io/) - Official MCP documentation\n- [SearXNG](https://searxng.org/) - Privacy-respecting metasearch engine\n- [Firecrawl](https://www.firecrawl.dev/) - Web scraping and crawling API\n\n### Powered By\n\n| Feature | Technology |\n|---------|------------|\n| **Search** | [SearXNG](https://searxng.org/) - Privacy-respecting metasearch engine |\n| **Web Scraping** | [Firecrawl](https://www.firecrawl.dev/) - Web scraping API |\n| **Image AI** | [Zhipu AI](https://open.bigmodel.cn/) - Free tier for vision models |\n| **Protocol** | [MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk) - Official implementation |\n\n---\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=amplify-studio/open-mcp&type=Date)](https://star-history.com/#amplify-studio/open-mcp&Date)\n\n\n**Made with ❤️ by [Amplify Studio](https://github.com/amplify-studio)**\n","readmeFilename":"README.md"}