serpens-mcp
Provides live Google Search results and Google AI Overviews, including organic links, snippets, sitelinks, People Also Ask, and related searches.
Click on "Install 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., "@serpens-mcpsearch Google for the latest Fastify release notes"
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.
serpens-mcp
MCP server for SERPens — Google Search & SERP API. Gives an AI agent live Google results: organic links, snippets, sitelinks, People Also Ask, related searches, and Google's AI Overview.
Zero dependencies. One file of protocol, one HTTP client, nothing else — npx starts
it in under a second and there is no third-party code between your agent and the API.
Install
Get a key from the API listing, then add the server to your client.
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"serpens": {
"command": "npx",
"args": ["-y", "serpens-mcp"],
"env": { "SERPENS_API_KEY": "your-rapidapi-key" }
}
}
}Claude Code:
claude mcp add serpens --env SERPENS_API_KEY=your-rapidapi-key -- npx -y serpens-mcpCursor, Windsurf, Zed and other stdio clients take the same command / args / env
shape as the JSON above.
Related MCP server: google-search-mcp
Tools
Tool | What it returns |
| Organic results — title, link, snippet, source, position — plus sitelinks, People Also Ask and related searches when Google renders them |
| Google's AI Overview with citations, alongside organic results. When Google renders no overview, organic results still come back |
Both accept the same arguments:
Argument | Type | Notes |
| string, required | Google operators work: |
| string | Country, two lowercase letters. Default |
| string | Interface language, |
| integer ≥ 1 | No upper bound. Page 40 is a call like any other |
| string | Google time/filter token, e.g. |
| boolean | Default |
|
| Default |
Output
By default results come back as Markdown, because that is what a model reads best:
# Search results: fastify nodejs
## Organic results
### 1. [Fastify](https://fastify.dev/)
fastify.dev
Fast and low overhead web framework, for Node.js
- [Documentation](https://fastify.dev/docs/)Pass format: "json" to get the raw API response instead, unchanged, when your pipeline
wants to parse fields itself.
Configuration
Variable | Default | Purpose |
| — | Required. |
|
| Override the API host |
|
| Client-side request timeout |
Why a package and not a remote MCP URL
The API also speaks MCP over HTTP, so you can point a client straight at it. Going through
this package costs you less: the marketplace bills every request on a declared path,
initialize and tools/list included, and an agent sends those on every connect. Here the
handshake is local and only searches reach the network.
Coming from Serper
The underlying API returns Serper's response shape field for field on the /search
endpoint, so an existing Serper integration migrates by changing the base URL. This package
is for the agent path; the REST path needs no wrapper at all.
Image, news, places, scholar and shopping verticals are not implemented — if your integration calls those, it needs more than a base-URL change.
Errors
Tool errors carry the API's own error.code so you can branch on it:
invalid_gl: gl must be two lowercase letters
capacity_unavailable: no capacity right now (transient — retrying may help)License
MIT
Available Tools
2 toolsgoogle_ai_overviewGoogle AI OverviewARead-only
Search Google and get its AI Overview — a synthesised answer with citations — alongside organic results. When Google renders no overview for the query, organic results still come back. Use when a summarised answer is more useful than a list of links.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query. Google operators work, e.g. "site:github.com fastify". | |
| gl | No | Country code, two lowercase letters. Default "us". | |
| hl | No | Interface language, e.g. "en" or "en-gb". Default "en". | |
| tbs | No | Google time/filter token, e.g. "qdr:d" for the past day. | |
| page | No | Result page, 1-based. No upper bound. | |
| format | No | Output shape. "markdown" is compact prose for a model to read; "json" is the raw API response. Default "markdown". | |
| autocorrect | No | Let Google correct the spelling. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, lowering the bar. The description adds useful behavioral context beyond annotations: the response includes a synthesized answer with citations plus organic results, and organic results still come back even when no overview is generated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero filler. The core value proposition and fallback behavior are front-loaded, and the use-case guidance is compressed into a single clear clause at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description covers the main output, the fallback behavior, and the decision rule for selecting it. Parameter semantics are fully handled by the schema, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific detail beyond the schema, but none is strictly needed because every parameter already has a thorough description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Search Google and get its AI Overview' with citations, alongside organic results. The description clearly differentiates this from the sibling by emphasizing the synthesized AI Overview rather than just a list of links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use when a summarised answer is more useful than a list of links' gives an explicit when-to-use rule with an implied alternative. It also covers the fallback case where Google renders no AI Overview but organic results still return, making the tool's scope clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_searchGoogle searchARead-only
Search Google and get organic results — title, link, snippet, source, position, plus sitelinks, People Also Ask and related searches when Google renders them. Use for current facts, documentation lookups, and anything past the training cutoff.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query. Google operators work, e.g. "site:github.com fastify". | |
| gl | No | Country code, two lowercase letters. Default "us". | |
| hl | No | Interface language, e.g. "en" or "en-gb". Default "en". | |
| tbs | No | Google time/filter token, e.g. "qdr:d" for the past day. | |
| page | No | Result page, 1-based. No upper bound. | |
| format | No | Output shape. "markdown" is compact prose for a model to read; "json" is the raw API response. Default "markdown". | |
| autocorrect | No | Let Google correct the spelling. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description only needs to add behavioral nuance. It does this by specifying that results are organic, that features like sitelinks and People Also Ask only appear 'when Google renders them,' and that it is appropriate for post-training-cutoff facts, which usefully elaborates the open-world behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences contain a clear action, a precise list of return content, conditional behavior, and explicit use cases. No words are wasted, and the most important information is front-loaded in the first clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with a fully described schema, the description sufficiently explains what the agent gets and when it is appropriate to use it. There is no output schema, but the returned result types are enumerated; a minor gap is the lack of mention about failures, rate limits, or empty-result behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters and their defaults. The description does not add parameter-level detail, which is acceptable under the baseline; the parameter meanings are fully discoverable from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Search Google and get organic results.' It lists concrete returned fields (title, link, snippet, source, position, sitelinks, People Also Ask, related searches), which clearly differentiates it from the sibling google_ai_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: 'current facts, documentation lookups, and anything past the training cutoff.' It does not name the sibling or provide exclusion criteria, but the use-case framing is clear enough for an agent to judge when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.1- First observed
google_ai_overview - First observed
google_search
TDQS
Both tools issue the same Google search, and google_ai_overview also returns organic results, so there is some overlap. However, google_search is clearly positioned as raw organic output while google_ai_overview targets the synthesized answer, making selection mostly unambiguous.
Both tools follow the same google_<output> pattern, with consistent snake_case and no stylistic mismatch. Even with only two tools, the naming convention makes each tool's return mode predictable.
Two tools is at the thin end of the scale, but the server is tightly focused on Google search output formats. It is borderline: enough to perform one useful task, but there is little room for broader SERP coverage.
For a server dedicated to Google search results, both the organic listing mode and the AI overview mode are present, so the core search workflow is covered. Missing advanced search types or filters are minor gaps that agents can work around rather than dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Serper MCP — wraps the Serper Google Search API (serper.dev)
Google AI Overview answers and cited sources via the Apify Google AI Overview API, hosted MCP.
MCP server for Google search results via SERP API
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables any MCP-compatible LLM to perform AI-powered web research using Google's AI Mode, returning synthesized and cited answers instead of raw search results.169150MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform real-time Google searches and retrieve web results via the MCP protocol.-
- AlicenseAqualityDmaintenanceFree, unlimited web search MCP server using Gemini CLI's Google Search grounding to provide cited, live web results for any AI agent.31MIT
- AlicenseAqualityBmaintenanceMCP server for web search powered by Google AI Mode (Gemini). Enables any AI agent to search the web in real-time for free and without rate limits.2175MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/starnikovoleg/serpens-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server