Serper Live
This MCP server gives AI agents live, uncached Google search results and lets them check where a domain ranks right now.
google_search— run a real Google search for a keyword in a chosen country, language and device, and get the organic results in Google's order (position, title, URL, domain, snippet), up to 100 per call, plus "People also ask" questions and related searches.domain_position— find where a specific domain ranks for a keyword in a given market and device, returning its best position and every other position (subdomains count), or a note that it is outside the checked depth; depth configurable 1–100.list_countries— list the markets currently open, with each one's default Google interface language; free and works without an API token.Search tuning — pick
country(two-letter code), optionallanguage,device(desktop or mobile), andlimit/depth; positions count organic results only, with ads, sitelinks, video and image blocks excluded.Typical uses — compare rankings across markets or devices, audit a site's position for a keyword, survey a result list, or check which markets are available.
Billing — searches are charged per started page of 10 results at the market's price, failures or empty searches are not charged, and an idempotency key prevents double billing.
Provides live Google search capabilities, including organic result retrieval and domain position checks, with support for country, language, and device targeting via Serper.live.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Serper Live Where does example.com rank on Google in Germany on mobile for project management software?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Serper.live MCP server
Live Google search for AI agents. This Model Context Protocol server lets Claude, OpenAI Codex, Cursor, VS Code and other MCP clients run a real Google search through Serper.live for the country, language and device you choose, and check where a domain ranks right now.
Every search is fresh: nothing is cached, and a page of 10 results usually comes back in 2–3 seconds. Positions count organic results only, without ads, sitelinks, video or image blocks, so the number an agent reads is the number a rank tracker would store.
Tools
Tool | What it does | Cost |
| Live organic results for a keyword: | Billed per page of up to 10 results that received results |
| Where a domain ranks for a keyword in a country and on a device; every position if it appears more than once, or "not in the top N" | Same as |
| Markets open right now and the default Google language of each | Free, no token |
Arguments: query (2–120 characters), country (two-letter code such as US, GB, DE, FR, TR, UA), optional language (Google interface language, defaults to the country's), device (desktop or mobile) and limit / depth (1–100, default 10).
Related MCP server: Google Search Console MCP
Setup
Create an account at serper.live: it starts with 100 free searches, no card needed. Then create an API token on API tokens. Add credit when the free searches run out: by card from $10 or in USDT or USDC from $5, no subscription, credit never expires.
Add the server to your client with the token in
SERPER_LIVE_TOKEN. It runs withnpx, so Node.js 20 or newer is all you need; Claude Desktop can also install it in one click without Node.js.
Claude Code
claude mcp add serper-live -e SERPER_LIVE_TOKEN=sl_live_YOUR_TOKEN -- npx -y @serper-live/mcpClaude Desktop
One click: download serper-live-mcp.mcpb from the latest release and open it. Claude Desktop shows an install dialog, asks for the API token once, stores it securely and runs the server with its own Node.js.
Or by hand, in claude_desktop_config.json:
{
"mcpServers": {
"serper-live": {
"command": "npx",
"args": ["-y", "@serper-live/mcp"],
"env": {
"SERPER_LIVE_TOKEN": "sl_live_YOUR_TOKEN"
}
}
}
}Cursor
~/.cursor/mcp.json or .cursor/mcp.json in a project:
{
"mcpServers": {
"serper-live": {
"command": "npx",
"args": ["-y", "@serper-live/mcp"],
"env": {
"SERPER_LIVE_TOKEN": "sl_live_YOUR_TOKEN"
}
}
}
}VS Code
.vscode/mcp.json — VS Code asks for the token once and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "serper-live-token",
"description": "Serper.live API token",
"password": true
}
],
"servers": {
"serper-live": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@serper-live/mcp"],
"env": {
"SERPER_LIVE_TOKEN": "${input:serper-live-token}"
}
}
}
}OpenAI Codex
codex mcp add serper-live --env SERPER_LIVE_TOKEN=sl_live_YOUR_TOKEN -- npx -y @serper-live/mcpOr by hand, in ~/.codex/config.toml (the Codex CLI, its IDE extension and the ChatGPT desktop app share this file):
[mcp_servers.serper-live]
command = "npx"
args = ["-y", "@serper-live/mcp"]
[mcp_servers.serper-live.env]
SERPER_LIVE_TOKEN = "sl_live_YOUR_TOKEN"Any other MCP client: run npx -y @serper-live/mcp over stdio with SERPER_LIVE_TOKEN in the environment. Agents that set up servers from a repository, such as Cline, follow llms-install.md.
Environment
Variable | Required | Description |
| for searches | API token from API tokens. Without it |
| no | API base URL, default |
What to ask
"Where does example.com rank on Google in Germany on mobile for project management software? Check the top 30."
"Compare the top 10 Google results for best running shoes in the US and the UK."
"Which markets can you search in?"
Billing and retries
Searches are billed to your Serper.live balance per page of up to 10 organic results that received results, at the price of the market (pricing); desktop and mobile cost the same. The free searches of the account are used first, a search that finds nothing costs nothing, and a search that fails or runs out of time is never charged. Each call sends an Idempotency-Key, so a repeated call is never billed twice.
Development
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
npm run bundle # serper-live-mcp.mcpb: dist/, manifest.json, icon.png and the production dependenciesReleasing
The version lives in package.json, in version plus packages[0].version of server.json, which the MCP Registry checks against npm, and in manifest.json of the MCP Bundle. npm version sets all of them: its version script (scripts/sync-version.mjs) copies the new version into server.json and manifest.json.
A pushed v* tag runs .github/workflows/publish.yml: it checks that the tag matches every version field, builds, packs and validates the MCP Bundle, publishes to npm through trusted publishing (no npm token, with provenance), waits until npm serves the new version (up to 30 minutes), attaches serper-live-mcp.mcpb to the GitHub release and updates the MCP Registry through GitHub OIDC with two packages: npm and the bundle with its SHA-256. A failed run can be re-run as is: a version npm already has is not published again, and the release asset is replaced.
npm version x.y.z --no-git-tag-version # package.json, package-lock.json, server.json, manifest.json
git commit -am "Release x.y.z"
git tag vx.y.z
git push && git push origin vx.y.zThe npm package lists this workflow as its trusted publisher (package settings → Trusted Publisher → GitHub Actions: serper-live/serper-live-mcp, workflow publish.yml, with Allow npm publish ticked under Allowed actions).
Links
Serper.live — live Google SERP API
Playground — try a live search in the browser without an account
License
MIT
Available Tools
3 toolsdomain_positionDomain position in GoogleARead-only
Find where a domain ranks in Google's organic results for a keyword, in a country and on a device, right now. Prefer it over google_search when only one site matters: it returns that site's best position and every other position, or a note that the site is outside the checked depth. A subdomain counts as the domain: example.com also matches blog.example.com. Billed like google_search, per page of 10 results of depth that received results (https://serper.live/pricing).
Inputs: query (required), domain (required), country (required), depth, +2 more.
google_searchLive Google searchARead-only
Run a live Google search for a country, language and device and return the organic results in Google's order: position, title, URL, domain and snippet, plus the questions of Google's "People also ask" block and its related searches. Ads, sitelinks, video and image blocks are left out, so position is the organic rank. Every call is a real, uncached search that usually takes 2–3 seconds and is billed to the Serper.live balance per page of up to 10 results that received results, after the free searches of the account (https://serper.live/pricing); a search that finds nothing costs nothing. Use it to see the whole result list; to check where one site ranks, use domain_position instead.
Inputs: query (required), country (required), limit, device, +1 more.
list_countriesOpen Serper.live marketsARead-onlyIdempotent
List the countries Serper.live can search right now, with the default Google interface language of each. Call it when unsure whether a market is open, then pass a returned code as country to google_search or domain_position. Desktop and mobile are available in every market. Free, no token needed.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: full organic search results, supported-country metadata, and single-domain rank lookup. google_search and domain_position overlap only superficially, and the descriptions explicitly direct the agent to the right tool for each case.
All names are snake_case and readable, but the pattern is not fully uniform: list_countries is verb_noun, while google_search and domain_position are noun phrases. This is a minor deviation rather than a source of confusion.
Three tools is well scoped for a focused live-search server, and each tool earns its place by covering search, market discovery, and domain-rank checking. There is no redundant surface area.
The core lifecycle for live Google organic search is covered: country availability, full result retrieval, and domain-specific rank checking. Minor gaps exist for adjacent search modes such as news, images, or video, but those are intentionally outside the stated organic-search purpose.
Maintenance
Related MCP Connectors
Live SEO intelligence, rank tracking, site audits, and backlink analysis for AI agents.
Free SEO tools for AI agents: Google results from any location, plus rank, ad and AI visibility.
SEO & GEO data: keywords, live SERPs with AI Overviews, backlinks, site audits, rank tracking.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Related MCP Servers
- AlicenseAqualityBmaintenanceThis server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.261217,624 PyPI91,952MIT
- AlicenseBqualityBmaintenanceConnects Google Search Console with Claude AI to enable SEO professionals to analyze their SEO data through natural language conversations, providing access to property information, search analytics, URL inspection, and sitemap management.22,118 PyPI2,156MIT

Playwright MCP Serverofficial
AlicenseBqualityBmaintenanceA Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.82510,489,594 npm39,564Apache 2.0- AlicenseAqualityAmaintenanceOfficial Google Analytics MCP Server1058,019 PyPI3,733Apache 2.0