SerpApi
What it does
Official SerpApi MCP server for Google, Bing, and other search engines.
- Connects Runs in the cloud
- Account or key Needs Authorization
- Category Search & AI memory
Install
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (mcp.serpapi.com) · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 5 min
You need a SerpApi key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
Sign up and create a SerpApi key
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Open Claude’s Connectors page
CustomizeConnectors
Click “Add” → “Custom” → “Web” and fill in these 2 fields
Copy each value into the field with the same name in Claude, then click Continue
Name · NameSerpApiRemote MCP server URL · Addresshttps://mcp.serpapi.com/mcpUnder Request headers, add this name and value
Header nameAuthorizationValueBearer <paste your key here>Paste the key only into the app’s field, never into a chat or to anyone
Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
Turn it on in a chat
+ConnectorsSerpApi
Try it
Use SerpApi and tell me what you can do for me, then show me one thing✓ If Claude says it is using SerpApi or shows a SerpApi tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect SerpApi yet
SerpApi needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify
What you can do instead
A · Use an app that can connect SerpApi
- You need a SerpApi key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
- You need a SerpApi key (create it on the maker’s site)
- You need a SerpApi key (create it on the maker’s site)
- You need a SerpApi key (create it on the maker’s site)
Works with Claude Code · about 5 min
You need a SerpApi key (create it on the maker’s site)
Sign up and create a SerpApi key
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Open Terminal
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Paste this command and press Enter
claude mcp add --transport http --scope user serpapi https://mcp.serpapi.com/mcp --header 'Authorization: Bearer {SERPAPI_API_KEY}'Replace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
Type /mcp in Claude Code
You should see SerpApi listed as connected
Try it
Use SerpApi and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using SerpApi or shows a SerpApi tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 5 min
You need a SerpApi key (create it on the maker’s site)
Sign up and create a SerpApi key
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Fill in your key
In the SerpApi settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Open the AI chat in Cursor in Agent mode
Try it
Use SerpApi and tell me what you can do for me, then show me one thing✓ If Cursor says it is using SerpApi or shows a SerpApi tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 5 min
You need a SerpApi key (create it on the maker’s site)
Sign up and create a SerpApi key
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Fill in your key
In the SerpApi settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Open the AI chat in VS Code in Agent mode
Try it
Use SerpApi and tell me what you can do for me, then show me one thing✓ If VS Code says it is using SerpApi or shows a SerpApi tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://mcp.serpapi.com/mcpJSON settings are under “For developers” below
For developers: Terminal commands and JSON settings
Over the web
Claude Code
claude mcp add --transport http --scope user serpapi https://mcp.serpapi.com/mcp --header 'Authorization: Bearer {SERPAPI_API_KEY}'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"serpapi": {
"url": "https://mcp.serpapi.com/mcp",
"headers": {
"Authorization": "Bearer {SERPAPI_API_KEY}"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"serpapi": {
"type": "http",
"url": "https://mcp.serpapi.com/mcp",
"headers": {
"Authorization": "Bearer {SERPAPI_API_KEY}"
}
}
}
}Values you fill in
- Bearer token authentication using your SerpApi API key.
Descriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
At a glance
- Downloads per weeki
- Not on npm/PyPI
- Connection
- Runs in the cloud
- Transport
- streamable-http
- Latest versioni
- 2.3.0
- Categoryi
- Search & AI memory
- Published to registryi
- Nov 12, 2026
- Code last changedi
- Nov 12, 2026
- Maker
- serpapi
- Website
- serpapi.com
- Registry status
- Active
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Related guides
What it can do
Tool names and descriptions exactly as the server reported them on Nov 14, 2026. The maker wrote them, not us; we show them as plain text.
search_dashboardInteractive dashboard variant of `search`: returns summary metrics, a source breakdown chart, and a results table with a click-to-expand detail panel, all rendered in the conversation. Same params as `search`. Use for a richer visual overview of a query's results. Automatically s
search_tableInteractive UI variant of `search`: returns organic results as a sortable, searchable table rendered in the conversation. Same params as `search`. Use when the host supports MCP Apps and the user wants to browse results visually rather than read JSON.
extractExtract content from a public http(s) URL, discover site URLs, or crawl pages. API options go in params: url is required; params.mode is scrape (default), map, or crawl. See serpapi://engines/extract for all options. Top-level mode controls the response: - complete (default): ful
searchUniversal search tool supporting all SerpApi engines and result types. When to use: - Any query needing live, structured SERP data: web results, news, product listings, job postings, local businesses, flight/hotel prices, video results, images, stock/weather cards, knowledge grap
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 15, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account serpapi, which owns the repo
- ✓ Pass
Still maintained
Code last changed 3 days ago
- ✓ Pass
Has a licence
Uses MIT
- ✓ Pass
Endpoint responds
Responded in 341 ms (HTTP 200)
- – Not applicable
Sign-in with OAuth
No sign-in needed
- ✓ Pass
No hidden instructions in tool descriptions
Read 4 tool descriptions and found no hidden instructions to the AI
Makers: ask for a re-check or report wrong info
Discussion
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
User reviews
No reviews yet
Compared with others in Search & AI memoryi
- More stars than 98% of the other 6163 servers in this category
- Published to the registry more recently than 92% of the other 6163 servers in this category
- Basic checks equal to or better than 100% of the other 6163 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is SerpApi safe?
It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: Authorization
Does it run on my computer or in the cloud?
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
Is it still maintained?
The GitHub repo last changed 3 days ago, and the latest version (2.3.0) reached the registry 3 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
What can I use instead?
In the same category: OpenSEO, Exa, Mockserver, Microsoft Learn MCP, Docs
Similar alternatives
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Mockserver
Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
Microsoft Learn MCP
Official Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.
Docs
Search and read Empryo's documentation. Read-only, no auth, no local access.
- OpenSEO — Runs in the cloud, nothing to install · No key needed
- Exa — Runs in the cloud, nothing to install · No key needed · In Claude’s directory
- Mockserver — Installs on your computer · No key needed
- Microsoft Learn MCP — Runs in the cloud, nothing to install · No key needed · In Claude’s directory
- Docs — Runs in the cloud, nothing to install · No key needed
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
SerpApi MCP Server
A Model Context Protocol (MCP) server implementation that integrates with SerpApi for comprehensive search engine results and data extraction.
Features
- Multi-Engine Search: Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and more
- Engine Resources: Per-engine parameter schemas available via MCP resources (see Search Tool)
- Real-time Weather Data: Location-based weather with forecasts via search queries
- Stock Market Data: Company financials and market data through search integration
- Dynamic Result Processing: Automatically detects and formats different result types
- Flexible Response Modes: Complete or compact JSON responses
- JSON Responses (default): Structured JSON output with complete or compact modes
- Markdown Responses: Cut token usage by 50% on average and by more than 90% for APIs with complex nested JSON.
- Interactive UI (MCP Apps): Opt-in
search_tableandsearch_dashboardtools that render results as an interactive UI in supporting hosts - Claude Desktop Extension: One-click local install from an MCP Bundle (
.mcpb), see below
Quick start
SerpApi MCP Server is available as a hosted service at mcp.serpapi.com. In order to connect to it, you need to provide an API key. You can find your API key on your SerpApi dashboard.
You can configure Claude Desktop to use the hosted server:
{
"mcpServers": { "serpapi": { "type": "http", "url": "https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp" } } }
You can also add the hosted server to these MCP clients:
OpenClaw
openclaw mcp add serpapi --url https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp --transport streamable-http
Claude Code
claude mcp add --transport http serpapi https://mcp.serpapi.com/mcp --header "Authorization: Bearer YOUR_SERPAPI_API_KEY"
Hermes
hermes mcp add serpapi --url https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp
Codex (reads the key from SERPAPI_API_KEY in your shell)
codex mcp add serpapi --url https://mcp.serpapi.com/mcp --bearer-token-env-var SERPAPI_API_KEY
Self-hosting
git clone https://github.com/serpapi/serpapi-mcp.git
cd serpapi-mcp uv sync && uv run src/server.py
Configure Claude Desktop:
{
"mcpServers": { "serpapi": { "type": "http", "url": "http://localhost:8000/YOUR_SERPAPI_API_KEY/mcp" } } }
Get your API key: serpapi.com/manage-api-key
Claude Desktop Extension (MCP bundle)
For a local, one-click install, download the .mcpb bundle from the latest release and open it with Claude Desktop (or drop it onto Settings → Extensions). Claude Desktop asks for your SerpApi API key during install, stores it as a sensitive setting, and runs the server locally over stdio. It provisions Python and dependencies with uv at install time. The same bundle works on macOS, Windows and Linux.
The same stdio entry point works with any local MCP host that launches servers as a subprocess:
{
"mcpServers": { "serpapi": { "command": "uv", "args": ["run", "--directory", "/path/to/serpapi-mcp", "--frozen", "--no-dev", "src/stdio.py"], "env": { "SERPAPI_API_KEY": "YOUR_SERPAPI_API_KEY" } } } }
Authentication
Two methods are supported:
- Header-based:
Authorization: Bearer YOUR_API_KEY(recommended: the key stays out of URLs and logs) - Path-based:
/YOUR_API_KEY/mcp, for clients that cannot set headers
Examples:
# Header-based
curl "https://mcp.serpapi.com/mcp" -H "Authorization: Bearer your_key" -d '...'
Path-based
curl "https://mcp.serpapi.com/your_key/mcp" -d '...'
No key is needed to connect, list tools or read resources. search and the App tools need one and return an error without it.
Search tool
The MCP server has one main search tool that supports all SerpApi engines and result types. You can find all available parameters on the SerpApi API reference. Engine parameter schemas are also exposed as MCP resources: serpapi://engines (index) and serpapi://engines/ . Clients that support argument completion can request engine-name suggestions for serpapi://engines/{engine_name}. For example, the prefix google_f suggests matching engine identifiers. This completes the resource URI parameter, not arbitrary search queries.
The parameters you can provide are specific for each API engine. Some sample parameters are provided below:
params.q(required): Search queryparams.engine: Search engine (default: "google_light")params.location: Geographic filterparams.output: Response format; omit for JSON (default), or set to"md"for Markdownmode: Response mode;"compact"removes metadata from JSON, while Markdown is returned unchanged- ...see other parameters on the SerpApi API reference
Examples:
{"name": "search", "arguments": {"params": {"q": "coffee shops", "location": "Austin, TX"}}}
{"name": "search", "arguments": {"params": {"q": "weather in London"}}} {"name": "search", "arguments": {"params": {"q": "AAPL stock"}}} {"name": "search", "arguments": {"params": {"q": "news"}, "mode": "compact"}} {"name": "search", "arguments": {"params": {"q": "detailed search"}, "mode": "complete"}} {"name": "search", "arguments": {"params": {"q": "news", "output": "md"}}} {"name": "search", "arguments": {"params": {"engine": "amazon", "k": "mechanical keyboards", "amazon_domain": "amazon.com", "output": "md"}}} {"name": "search", "arguments": {"params": {"engine": "google_scholar", "q": "retrieval augmented generation"}}} {"name": "search", "arguments": {"params": {"engine": "youtube", "search_query": "how to make espresso"}}} {"name": "search", "arguments": {"params": {"engine": "apple_app_store", "term": "habit tracker"}}} {"name": "search", "arguments": {"params": {"engine": "ebay", "_nkw": "vintage mechanical keyboard"}}}
Supported engines: Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and more (see serpapi://engines).
Result types: Answer boxes, organic results, news, images, shopping - automatically detected and formatted.
Search responses preserve the existing MCP structuredContent.result string and include the same string in text content. For JSON output, result contains serialized JSON; existing clients can continue parsing it with JSON.parse(response.structuredContent.result). For Markdown output, it contains the unchanged Markdown. Errors and cancellations use the same wrapper. Search execution failures set isError: true; clients using FastMCP's high-level call_tool() should handle ToolError, or use call_tool_mcp() to inspect the result flag. See MCP tool results.
search uses the engine catalog and engine-specific rules to identify missing parameters. Supporting MCP 2026-07-28 clients receive a form before any search runs. Accepted answers are validated; decline or cancellation runs no search. Legacy clients and clients without form elicitation receive an error listing the missing parameters so the agent can ask in conversation. See MCP input requests.
- Google Flights: departure and arrival identifiers, departure date, and a return date for round trips. Dates and airport identifiers are checked. Token-based searches, multi-city itineraries, and
selected_flights_jsonretain their existing behavior. - Google Hotels: destination or hotel query, check-in date, and check-out date. Check-out must follow check-in. Guest counts and other optional filters keep the caller's values or the API defaults.
- Google Maps Directions: missing start and destination addresses. Coordinates or place data IDs already supplied satisfy the corresponding endpoint.
- Other catalog engines use their required fields, such as YouTube's
search_query, Yelp'sfind_loc, and Amazon'sk. Engine rules account for known defaults and alternatives, including Amazon category nodes, eBay categories, and Google Scholar citation searches.
If an answer introduces another requirement, the tool lists the remaining fields for the agent to supply in a new call. Forms support strings, numbers, booleans, and single-choice fields; unsupported complex fields receive the missing-parameter error. Unknown engines pass through to SerpApi.
Extract tool
The extract tool reads web pages and returns their content as structured JSON or Markdown. You can extract a single page, discover a website's URLs, or crawl multiple pages. Find all available parameters on the Extract API reference or in the serpapi://engines/extract resource.
Some parameters you can provide:
params.url(required): Page or website URLparams.mode: Extraction mode;"scrape"(default) reads one page,"map"discovers URLs, and"crawl"extracts multiple pagesparams.include_markdown: Include the page's content as Markdown; defaults totruefor scrape and crawl, or set tofalseto disable itparams.output: Response format; defaults to"json"in complete mode and"md"in compact mode. Set it explicitly to override the format.params.max_pages: Maximum pages to crawl, including the starting page (default: 10, maximum: 100)params.json_restrictor: Choose which fields to return, such as"markdown,error"mode: Response mode;"complete"(default) returns the full response."compact"defaults to native Markdown. With an explicitparams.output="json", single-page compact extraction keeps the top-levelmarkdownfield when present and retains API errors. Responses without Markdown, including results redirected to another engine, keep their data with metadata removed. Explicitparams.json_restrictorvalues andparams.include_markdown=falsetake precedence when using JSON. For map and crawl, compact JSON removes metadata. Markdown output is returned unchanged.
Examples:
{"name": "extract", "arguments": {"params": {"url": "https://example.com"}}}
{"name": "extract", "arguments": {"params": {"url": "https://example.com"}, "mode": "compact"}} {"name": "extract", "arguments": {"params": {"url": "https://example.com", "output": "md"}}} {"name": "extract", "arguments": {"params": {"url": "https://example.com", "mode": "map"}}} {"name": "extract", "arguments": {"params": {"url": "