Odel
searchapi mcp server

searchapi mcp server

Local
@ahmednshTypeScriptMITUpdated Yesterday

Google Search, Shopping, Jobs, and YouTube tools backed by SearchApi.io

searchapi-mcp-server

CI

npx @ahmednsh/searchapi-mcp-server

MCP server exposing 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.

Community project — not affiliated with or endorsed by SearchApi.io. "SearchApi" is a trademark of its respective owner.

Claude Desktop setup

Get an API key at searchapi.io, then add the server to claude_desktop_config.json (%AppData%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS):

{
  "mcpServers": {
    "searchapi": {
      "command": "npx",
      "args": ["-y", "@ahmednsh/searchapi-mcp-server"],
      "env": {
        "SEARCHAPI_API_KEY": "your-api-key"
      }
    }
  }
}

Restart Claude Desktop. The four tools appear under the "searchapi" server.

Tools

google_search

q (required), num (1–20, default 10), gl (country code, e.g. sa), hl (language code, e.g. ar).

Direct-answer features (answer box, knowledge graph, AI overview) are placed before the organic results whenever Google returns them:

Search results for "capital of Saudi Arabia":

---

[Answer box]
Saudi Arabia Capital: Riyadh

---

1. Riyadh
   https://en.wikipedia.org/wiki/Riyadh
   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.
2. Riyadh | Population, Climate, Map, History, & Facts
   https://www.britannica.com/place/Riyadh
   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 ...

google_shopping

q (required), gl (country code), include_links (boolean, default false).

Shopping results for "wireless mouse" (showing 10 of 40):

1. Logitech M220 Silent Wireless Mouse
   $13.83 — Walmart — 4.8★ (44,000 reviews)
   Free 90-day returns
2. Logitech G305 Lightspeed Wireless Gaming Mouse
   $29.99 — Target — 4.6★ (8,100 reviews)
   30-day returns

google_jobs

q (required), location (e.g. "Riyadh, Saudi Arabia").

Job results for "software engineer" in "Riyadh, Saudi Arabia":

1. Senior Software Engineer - Backend — Delivery Hero
   Riyadh Saudi Arabia · via Delivery Hero
   No degree mentioned
   Apply: https://careers.deliveryhero.com/job/senior-software-engineer-backend-in-riyadh-saudi-arabia-jid-7417
   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 ...

youtube_search

q (required).

YouTube results for "model context protocol tutorial":

1. Model Context Protocol Clearly Explained | MCP Beyond the Hype
   https://www.youtube.com/watch?v=tzrwxLNHtRY
   codebasics ✓ — 557,404 views — 15:04 — 1 year ago
   This video contains a very simple explanation of MCP, also known as Model Context Protocol. We will first understand what ...
2. What is MCP? Integrate AI Agents with Databases & APIs
   https://www.youtube.com/watch?v=eur8dUO9mvE
   IBM Technology ✓ — 684,035 views — 3:46 — 1 year ago
   Dive into the world of Model Context Protocol and learn how to seamlessly connect AI agents to databases, APIs, and more.

For developers

  • 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.
  • 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.
  • 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.
  • 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).

Development

git clone https://github.com/Ahmednsh/searchapi-mcp-server.git && cd searchapi-mcp-server && npm install && npm run build
npm test

License

MIT