{"_id":"@ahmednsh/searchapi-mcp-server","_rev":"3-c966931f2513ed438348879c444ee720","name":"@ahmednsh/searchapi-mcp-server","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@ahmednsh/searchapi-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","searchapi","search","claude"],"author":{"name":"Ahmed Sharahili"},"license":"MIT","_id":"@ahmednsh/searchapi-mcp-server@1.0.0","maintainers":[{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"}],"homepage":"https://github.com/Ahmednsh/searchapi-mcp-server#readme","bugs":{"url":"https://github.com/Ahmednsh/searchapi-mcp-server/issues"},"bin":{"searchapi-mcp-server":"build/index.js"},"dist":{"shasum":"7498c5c54908298d659a1b9ad927ab93fbbc337f","tarball":"https://registry.npmjs.org/@ahmednsh/searchapi-mcp-server/-/searchapi-mcp-server-1.0.0.tgz","fileCount":5,"integrity":"sha512-XPVU3+ZyjDKGoxc0Ii7Fe0s4npZAAfuLh+auMcBnNx9EiUvSre1CLjJCTyaX7dKxCca549U2D/YR1+PBNhMggg==","signatures":[{"sig":"MEYCIQDr46fzayB3tCJsvOS1ewu/TyIYsBI2YheXxJtNxq0hEgIhAJWHHlDSK59r2WMm0R40cKOIciyt7wGRz9ZowtGVvhVk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20643},"type":"module","gitHead":"9500a8be9b7053017a0f1d013ac4bd369e8e27bf","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"},"repository":{"url":"git+https://github.com/Ahmednsh/searchapi-mcp-server.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server exposing SearchApi.io tools (Google Search, Shopping, Jobs, YouTube)","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^4.5.4","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.1"},"_npmOperationalInternal":{"tmp":"tmp/searchapi-mcp-server_1.0.0_1788641898335_0.32417467895033525","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ahmednsh/searchapi-mcp-server","version":"1.0.1","keywords":["mcp","model-context-protocol","searchapi","search","claude"],"author":{"name":"Ahmed Sharahili"},"license":"MIT","_id":"@ahmednsh/searchapi-mcp-server@1.0.1","maintainers":[{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"}],"homepage":"https://github.com/Ahmednsh/searchapi-mcp-server#readme","bugs":{"url":"https://github.com/Ahmednsh/searchapi-mcp-server/issues"},"bin":{"searchapi-mcp-server":"build/index.js"},"dist":{"shasum":"5175457b207db44512223ffce2233c4f54d8f810","tarball":"https://registry.npmjs.org/@ahmednsh/searchapi-mcp-server/-/searchapi-mcp-server-1.0.1.tgz","fileCount":5,"integrity":"sha512-LNWdjEtdQ8Y59QplIpaTe0xlPtptTiC+HJJ0YtZmkKxpQYmgfASqd0X76LXNBu2Lf+OwlOn3JquwvoNzIf3OIg==","signatures":[{"sig":"MEYCIQCqr2guwuaDgBGc3sBm2qWdZdRPTdy2A2nXNnDDkpD/0AIhAKEa7ayi2waV/XcXD3zRvP4cfO7GBxT4HExSjiFK+NLQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCHke9eyNCCTeD20vpz7L4tSVCIktTiFxnZ1q6NZ66K3AIgI1Eoqr5bLAmXqJgh9iCI4xa0K9FwakLUmrLw1FLvYUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20992},"type":"module","gitHead":"f2994d7f429efdc60a11d075655d98956ed062f5","mcpName":"io.github.ahmednsh/searchapi-mcp-server","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"},"repository":{"url":"git+https://github.com/Ahmednsh/searchapi-mcp-server.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server exposing SearchApi.io tools (Google Search, Shopping, Jobs, YouTube)","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^4.5.4","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.1"},"_npmOperationalInternal":{"tmp":"tmp/searchapi-mcp-server_1.0.1_1788644354047_0.9433749834766774","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"_id":"@ahmednsh/searchapi-mcp-server@1.0.2","bin":{"searchapi-mcp-server":"build/index.js"},"bugs":{"url":"https://github.com/Ahmednsh/searchapi-mcp-server/issues"},"dist":{"shasum":"f58663a08169bcd2d1c61af24406e6bcebaaf148","tarball":"https://registry.npmjs.org/@ahmednsh/searchapi-mcp-server/-/searchapi-mcp-server-1.0.2.tgz","fileCount":5,"integrity":"sha512-t9uiM6hw3JyCIKrKoiZx035D7Muhj3agxnhEIPW1qKyD/THW30KAGkoK5e/V4LzBHCS3oogeO7qZa8ZNnMLI+g==","signatures":[{"sig":"MEYCIQCp1lWimwunSmwWAlIpRcJKUfAbQeHZ4BLaudaR2nHWTAIhAOBtFj3RzYDo6gScwx5X1ZBeBLkrHKI5K6BMNCzE03NH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBGfGCIqF+2aI6BdJ+/NuIxxpCFiE5bVsNBUbdny1BcNAiEA887J3bVkTJdLORRzeJMWUym2xVigb9GPy+HKCfW/2lg="}],"unpackedSize":20992},"name":"@ahmednsh/searchapi-mcp-server","type":"module","author":{"name":"Ahmed Sharahili"},"gitHead":"6625a1d826b10b9ab9700e48c677fac30d884301","license":"MIT","mcpName":"io.github.Ahmednsh/searchapi-mcp-server","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"version":"1.0.2","_npmUser":{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"},"homepage":"https://github.com/Ahmednsh/searchapi-mcp-server#readme","keywords":["mcp","model-context-protocol","searchapi","search","claude"],"repository":{"url":"git+https://github.com/Ahmednsh/searchapi-mcp-server.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server exposing SearchApi.io tools (Google Search, Shopping, Jobs, YouTube)","directories":{},"maintainers":[{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"}],"_nodeVersion":"25.6.1","dependencies":{"zod":"^4.5.4","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/searchapi-mcp-server_1.0.2_1788644720158_0.9993045410447075"}}},"time":{"created":"2026-09-05T20:58:18.151Z","modified":"2026-09-05T21:45:20.416Z","1.0.0":"2026-09-05T20:58:18.459Z","1.0.1":"2026-09-05T21:39:14.131Z","1.0.2":"2026-09-05T21:45:20.229Z"},"bugs":{"url":"https://github.com/Ahmednsh/searchapi-mcp-server/issues"},"author":{"name":"Ahmed Sharahili"},"license":"MIT","homepage":"https://github.com/Ahmednsh/searchapi-mcp-server#readme","keywords":["mcp","model-context-protocol","searchapi","search","claude"],"repository":{"url":"git+https://github.com/Ahmednsh/searchapi-mcp-server.git","type":"git"},"description":"MCP server exposing SearchApi.io tools (Google Search, Shopping, Jobs, YouTube)","maintainers":[{"name":"ahmednsh","email":"ahmadgtr011@gmail.com"}],"readme":"# searchapi-mcp-server\r\n\r\n[![CI](https://github.com/Ahmednsh/searchapi-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/Ahmednsh/searchapi-mcp-server/actions)\r\n\r\n```bash\r\nnpx @ahmednsh/searchapi-mcp-server\r\n```\r\n\r\nMCP server exposing [SearchApi.io](https://www.searchapi.io/) as four tools: Google Search, Google Shopping, Google Jobs, and YouTube Search. Results come back as compact structured text built for an LLM context — direct answers first, no raw JSON.\r\n\r\n> Community project — not affiliated with or endorsed by SearchApi.io.\r\n> \"SearchApi\" is a trademark of its respective owner.\r\n\r\n## Claude Desktop setup\r\n\r\nGet an API key at [searchapi.io](https://www.searchapi.io/), then add the server to `claude_desktop_config.json` (`%AppData%\\Claude\\` on Windows, `~/Library/Application Support/Claude/` on macOS):\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"searchapi\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@ahmednsh/searchapi-mcp-server\"],\r\n      \"env\": {\r\n        \"SEARCHAPI_API_KEY\": \"your-api-key\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nRestart Claude Desktop. The four tools appear under the \"searchapi\" server.\r\n\r\n## Tools\r\n\r\n### google_search\r\n\r\n`q` (required), `num` (1–20, default 10), `gl` (country code, e.g. `sa`), `hl` (language code, e.g. `ar`).\r\n\r\nDirect-answer features (answer box, knowledge graph, AI overview) are placed before the organic results whenever Google returns them:\r\n\r\n```\r\nSearch results for \"capital of Saudi Arabia\":\r\n\r\n---\r\n\r\n[Answer box]\r\nSaudi Arabia Capital: Riyadh\r\n\r\n---\r\n\r\n1. Riyadh\r\n   https://en.wikipedia.org/wiki/Riyadh\r\n   Riyadh is the capital and largest city of Saudi Arabia. It is also the capital of the Riyadh Province and the centre of the Riyadh Governorate.\r\n2. Riyadh | Population, Climate, Map, History, & Facts\r\n   https://www.britannica.com/place/Riyadh\r\n   Riyadh is Saudi Arabia's capital and largest city. It became the capital of the Saud dynasty in 1824 and, except for a brief period in the ...\r\n```\r\n\r\n### google_shopping\r\n\r\n`q` (required), `gl` (country code), `include_links` (boolean, default `false`).\r\n\r\n```\r\nShopping results for \"wireless mouse\" (showing 10 of 40):\r\n\r\n1. Logitech M220 Silent Wireless Mouse\r\n   $13.83 — Walmart — 4.8★ (44,000 reviews)\r\n   Free 90-day returns\r\n2. Logitech G305 Lightspeed Wireless Gaming Mouse\r\n   $29.99 — Target — 4.6★ (8,100 reviews)\r\n   30-day returns\r\n```\r\n\r\n### google_jobs\r\n\r\n`q` (required), `location` (e.g. `\"Riyadh, Saudi Arabia\"`).\r\n\r\n```\r\nJob results for \"software engineer\" in \"Riyadh, Saudi Arabia\":\r\n\r\n1. Senior Software Engineer - Backend — Delivery Hero\r\n   Riyadh Saudi Arabia · via Delivery Hero\r\n   No degree mentioned\r\n   Apply: https://careers.deliveryhero.com/job/senior-software-engineer-backend-in-riyadh-saudi-arabia-jid-7417\r\n   About the opportunity We are looking for a highly talented Senior Backend Engineer to join our Riyadh office. If you are looking for a place where ...\r\n```\r\n\r\n### youtube_search\r\n\r\n`q` (required).\r\n\r\n```\r\nYouTube results for \"model context protocol tutorial\":\r\n\r\n1. Model Context Protocol Clearly Explained | MCP Beyond the Hype\r\n   https://www.youtube.com/watch?v=tzrwxLNHtRY\r\n   codebasics ✓ — 557,404 views — 15:04 — 1 year ago\r\n   This video contains a very simple explanation of MCP, also known as Model Context Protocol. We will first understand what ...\r\n2. What is MCP? Integrate AI Agents with Databases & APIs\r\n   https://www.youtube.com/watch?v=eur8dUO9mvE\r\n   IBM Technology ✓ — 684,035 views — 3:46 — 1 year ago\r\n   Dive into the world of Model Context Protocol and learn how to seamlessly connect AI agents to databases, APIs, and more.\r\n```\r\n\r\n## For developers\r\n\r\n- **Error semantics:** tool execution failures (missing/invalid key, HTTP 429/4xx/5xx, network errors) return a readable message with `isError: true`, so clients and models can distinguish a failed call from search content. \"No results\" is deliberately **not** an error — an empty search succeeded, and the message tells the model to change keywords instead of retrying.\r\n- **`include_links`** on `google_shopping` is off by default because Google Shopping product links are ~500-character tracking URLs pointing back at Google, not at the merchant; the seller name is shown instead. Set `include_links: true` if you need them.\r\n- **Output caps:** at most 10 results per call (the header says `showing 10 of N` when truncated); job descriptions are stripped of HTML and cut at 250 characters.\r\n- **Layout:** `src/index.ts` registers the tools and talks to SearchApi; `src/format.ts` holds the pure response-to-text formatters, unit-tested in `src/format.test.ts` (`npm test`).\r\n\r\n## Development\r\n\r\n```bash\r\ngit clone https://github.com/Ahmednsh/searchapi-mcp-server.git && cd searchapi-mcp-server && npm install && npm run build\r\n```\r\n\r\n```bash\r\nnpm test\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}