Skip to main content
Glama

SerpMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

A Model Context Protocol (MCP) server for Google search using SERP API through the AceDataCloud API.

Perform Google searches and get structured results directly from Claude, VS Code, or any MCP-compatible client.

Features

  • Web Search - Regular Google web search with structured results

  • Image Search - Search for images with URLs and thumbnails

  • News Search - Get latest news articles on any topic

  • Video Search - Find videos from YouTube and other sources

  • Places Search - Search for local businesses and places

  • Maps Search - Find locations and geographic information

  • Knowledge Graph - Get structured entity information

  • Localization - Support for multiple countries and languages

  • Time Filtering - Filter results by time range

Related MCP server: SerpApi MCP Server

Tool Reference

Tool

Description

serp_google_search

Search Google and get structured results using the SERP API.

serp_google_images

Search Google Images and get image results.

serp_google_news

Search Google News and get news article results.

serp_google_videos

Search Google Videos and get video results.

serp_google_places

Search Google for local places and businesses.

serp_google_maps

Search Google Maps for locations.

serp_list_search_types

List all available Google search types.

serp_list_countries

List commonly used country codes for Google search.

serp_list_languages

List commonly used language codes for Google search.

serp_list_time_ranges

List available time range filters for Google search.

serp_get_usage_guide

Get a comprehensive guide for using the Google SERP tools.

Quick Start

1. Get Your API Token

  1. Sign up at AceDataCloud Platform

  2. Go to the API documentation page

  3. Click "Acquire" to get your API token

  4. Copy the token for use below

AceDataCloud hosts a managed MCP server — no local installation required.

Endpoint: https://serp.mcp.acedata.cloud/mcp

All requests require a Bearer token. Use the API token from Step 1.

Claude.ai

Connect directly on Claude.ai with OAuth — no API token needed:

  1. Go to Claude.ai Settings → Integrations → Add More

  2. Enter the server URL: https://serp.mcp.acedata.cloud/mcp

  3. Complete the OAuth login flow

  4. Start using the tools in your conversation

Claude Desktop

Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor / Windsurf

Add to your MCP config (.cursor/mcp.json or .windsurf/mcp.json):

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code (Copilot)

Add to your VS Code MCP config (.vscode/mcp.json):

{
  "servers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Or install the Ace Data Cloud MCP extension for VS Code, which registers the hosted MCP servers with one-click setup.

JetBrains IDEs

  1. Go to Settings → Tools → AI Assistant → Model Context Protocol (MCP)

  2. Click AddHTTP

  3. Paste:

{
  "mcpServers": {
    "serp": {
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Claude Code

Claude Code supports MCP servers natively:

claude mcp add serp --transport http https://serp.mcp.acedata.cloud/mcp \
  -h "Authorization: Bearer YOUR_API_TOKEN"

Or add to your project's .mcp.json:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cline

Add to Cline's MCP settings (.cline/mcp_settings.json):

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Amazon Q Developer

Add to your MCP configuration:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code

Add to Roo Code MCP settings:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Continue.dev

Add to .continue/config.yaml:

mcpServers:
  - name: serp
    type: streamable-http
    url: https://serp.mcp.acedata.cloud/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Zed

Add to Zed's settings (~/.config/zed/settings.json):

{
  "language_models": {
    "mcp_servers": {
      "serp": {
        "url": "https://serp.mcp.acedata.cloud/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

cURL Test

# Health check (no auth required)
curl https://serp.mcp.acedata.cloud/health

# MCP initialize
curl -X POST https://serp.mcp.acedata.cloud/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

3. Or Run Locally (Alternative)

If you prefer to run the server on your own machine:

# Install from PyPI
pip install mcp-serp
# or
uvx mcp-serp

# Set your API token
export ACEDATACLOUD_API_TOKEN="your_token_here"

# Run (stdio mode for Claude Desktop / local clients)
mcp-serp

# Run (HTTP mode for remote access)
mcp-serp --transport http --port 8000

Claude Desktop (Local)

{
  "mcpServers": {
    "serp": {
      "command": "uvx",
      "args": ["mcp-serp"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_token_here"
      }
    }
  }
}

Docker (Self-Hosting)

docker pull ghcr.io/acedatacloud/mcp-serp:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-serp:latest

Clients connect with their own Bearer token — the server extracts the token from each request's Authorization header.

Available Tools

Search Tools

Tool

Description

serp_google_search

Flexible Google search with all options

serp_google_images

Search for images

serp_google_news

Search for news articles

serp_google_videos

Search for videos

serp_google_places

Search for local places/businesses

serp_google_maps

Search for map locations

Information Tools

Tool

Description

serp_list_search_types

List available search types

serp_list_countries

List country codes for localization

serp_list_languages

List language codes for localization

serp_list_time_ranges

List time range filter options

serp_get_usage_guide

Get comprehensive usage guide

Usage Examples

User: Search for information about artificial intelligence

Claude: I'll search for information about AI.
[Calls serp_google_search with query="artificial intelligence"]

News Search with Time Filter

User: What's the latest news about technology?

Claude: I'll search for recent tech news.
[Calls serp_google_news with query="technology", time_range="qdr:d"]
User: Find popular restaurants in Tokyo

Claude: I'll search for restaurants in Tokyo.
[Calls serp_google_places with query="popular restaurants Tokyo", country="jp"]
User: Find images of the Northern Lights

Claude: I'll search for aurora borealis images.
[Calls serp_google_images with query="Northern Lights aurora borealis"]

Search Parameters

Search Types

Type

Description

search

Regular web search (default)

images

Image search

news

News articles

maps

Map results

places

Local businesses

videos

Video results

Time Range Filters

Code

Time Range

h

Past hour

qdr:h

Past hour

d

Past day

qdr:d

Past day

w

Past week

qdr:w

Past week

m

Past month

qdr:m

Past month

y

Past year

qdr:y

Past year

Image Size Filters (for images search type)

large, medium, icon, 2mp, 4mp, 6mp, 8mp, 10mp, 12mp, 15mp, 20mp, 40mp, 70mp

Common Country Codes

Code

Country

us

United States

uk

United Kingdom

cn

China

jp

Japan

de

Germany

fr

France

Common Language Codes

Code

Language

en

English

zh-cn

Chinese (Simplified)

ja

Japanese

es

Spanish

fr

French

de

German

Response Structure

Regular Search Results

  • knowledge_graph: Entity information (company, person, etc.)

  • answer_box: Direct answers

  • organic: Regular search results with title, link, snippet

  • people_also_ask: Related questions

  • related_searches: Related queries

Image Search Results

  • images: Image results with URLs and thumbnails

News Search Results

  • news: News articles with source and date

Configuration

Environment Variables

Variable

Description

Default

ACEDATACLOUD_API_TOKEN

API token from AceDataCloud

Required

ACEDATACLOUD_API_BASE_URL

API base URL

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth client ID (hosted mode)

ACEDATACLOUD_PLATFORM_BASE_URL

Platform base URL

https://platform.acedata.cloud

SERP_REQUEST_TIMEOUT

Request timeout in seconds

30

LOG_LEVEL

Logging level

INFO

Command Line Options

mcp-serp --help

Options:
  --version          Show version
  --transport        Transport mode: stdio (default) or http
  --port             Port for HTTP transport (default: 8000)

Development

Setup Development Environment

# Clone repository
git clone https://github.com/AceDataCloud/SerpMCP.git
cd SerpMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"

Run Tests

# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration

Code Quality

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

Build & Publish

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

Project Structure

SerpMCP/
├── core/                   # Core modules
│   ├── __init__.py
│   ├── client.py          # HTTP client for SERP API
│   ├── config.py          # Configuration management
│   ├── exceptions.py      # Custom exceptions
│   └── server.py          # MCP server initialization
├── tools/                  # MCP tool definitions
│   ├── __init__.py
│   ├── search_tools.py    # Search tools
│   └── info_tools.py      # Information tools
├── prompts/                # MCP prompt templates
│   └── __init__.py
├── tests/                  # Test suite
│   ├── conftest.py
│   ├── test_client.py
│   └── test_config.py
├── deploy/                 # Deployment configs
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

API Reference

This server wraps the AceDataCloud Google SERP API:

Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing)

  5. Open a Pull Request

Documentation

Documentation

License

MIT License - see LICENSE for details.


Made with love by AceDataCloud

Available Tools

11 tools
serp_get_usage_guideAInspect

Get a comprehensive guide for using the Google SERP tools.

Provides detailed information on how to use the SERP search tools
effectively, including parameters, examples, and best practices.

Returns:
    Complete usage guide for SERP tools.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses that the tool returns a guide with detailed information, which is adequate for a read-only informational tool. However, it does not mention any limitations (e.g., output length, rate limits).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the purpose. It uses clear structure (overview, details, return description) without unnecessary words. Minor improvement possible by tightening the second paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and the presence of an output schema, the description covers the essential purpose and content of the tool. It is complete enough for an agent to understand when to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, meeting the baseline of 4. The description adds value by describing the content of the output (parameters, examples, best practices), which goes beyond what the empty schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool provides a comprehensive guide for using Google SERP tools, including parameters, examples, and best practices. This distinctly differentiates it from sibling tools that perform actual searches or list data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this guide should be consulted before using other SERP tools, but it does not explicitly state when to use it vs. alternatives. The context is clear, but exclusions or when-not-to-use guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_google_imagesCInspect

Search Google Images and get image results.

Performs a Google Image search and returns structured image results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
queryYesThe search query string for image search. Required.
numberNoNumber of results per page (default: 10). Note: More than 10 results may incur additional credits.
countryNoCountry code for localized results (e.g., 'us', 'cn', 'uk'). Default is 'us'.
languageNoLanguage code for results (e.g., 'en', 'zh-cn', 'fr'). Default is 'en'.
image_sizeNoImage size filter for image search. Options: large, medium, icon, 2mp, 4mp, 6mp, 8mp, 10mp, 12mp, 15mp, 20mp, 40mp, 70mp.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'returns structured image results,' which is a basic outcome but does not mention pagination behavior, credit implications, or any quirks such as rate limits or result metadata format. The description adds minimal value beyond the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the main verb and resource. It is efficient and has no redundant filler. However, it is somewhat tautological ('Search Google Images and get image results' restates the tool name), but for conciseness this is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and fully documented parameters, the description is incomplete for a tool with six parameters and no annotations. It lacks guidance on typical use cases, interaction with filters, pagination, or credit costs (though schema mentions credits). The description is too sparse to provide the agent with a complete behavioral picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all six parameters are already documented with meanings (e.g., 'country' for localized results, 'image_size' for filtering). The description itself adds no parameter details, so the baseline of 3 is appropriate. The schema does the heavy lifting, and no additional value is contributed by the prose description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Search Google Images and get image results' and 'Performs a Google Image search and returns structured image results.' This clearly identifies the tool's function (searching images) and differentiates it from sibling tools like serp_google_search (web search) and serp_google_news. It could be more explicit about the 'image-specific' nature, but the resource and verb are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for image results specifically, nor does it reference sibling tools or exclusions. The usage context is only implied by the tool name and generic description, leaving the agent to infer when to choose this over other search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_google_mapsBInspect

Search Google Maps for locations.

Performs a Google Maps search and returns structured map results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
queryYesThe search query string for maps/location search. Required.
numberNoNumber of results per page (default: 10). Note: More than 10 results may incur additional credits.
countryNoCountry code for localized results (e.g., 'us', 'cn', 'uk'). Default is 'us'.
languageNoLanguage code for results (e.g., 'en', 'zh-cn', 'fr'). Default is 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing behavior. It only mentions 'returns structured map results' but fails to mention pagination, rate limits, cost implications, or any side effects. The schema notes that more than 10 results may incur additional credits, but this is not reflected in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loaded with the main action. The second sentence adds clarity about output format but is somewhat redundant with the first. Overall, it is well-structured and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, output schema), the description is adequate for basic understanding but lacks usage context and differentiation from siblings. It also omits behavioral details like pagination and credit usage that would help an agent select and invoke the tool correctly without relying solely on the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions, so the description adds no value beyond the schema. The description does not explain how parameters like country or language affect results, but the schema already handles this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb and resource: 'Search Google Maps for locations.' This distinguishes it from sibling tools like google_search and google_images, which target other result types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the description ('Search Google Maps for locations'), but there is no explicit guidance on when to use this tool versus alternatives such as google_places or google_search. No use cases or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_google_newsBInspect

Search Google News and get news article results.

Performs a Google News search and returns structured news results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
queryYesThe search query string for news search. Required.
numberNoNumber of results per page (default: 10). Note: More than 10 results may incur additional credits.
countryNoCountry code for localized results (e.g., 'us', 'cn', 'uk'). Default is 'us'.
languageNoLanguage code for results (e.g., 'en', 'zh-cn', 'fr'). Default is 'en'.
time_rangeNoTime filter for results. Options: 'h'/'qdr:h' (past hour), 'd'/'qdr:d' (past day), 'w'/'qdr:w' (past week), 'm'/'qdr:m' (past month), 'y'/'qdr:y' (past year), or None for no time restriction (default).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral transparency. It only adds that results are 'structured news results,' which is a minimal behavioral hint. It does not disclose pagination behavior, credit implications, default country/language behavior, or any side effects, leaving a significant gap for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences and front-loaded with the core purpose. However, the second sentence ('Performs a Google News search...') largely restates the first, making it slightly redundant. It is still concise and easy to scan, but not zero-waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having six parameters and several sibling search tools, the description is under-specified. It omits mention of localization options (country/language), time range filtering, and any nuances of Google News vs. general web search. The output schema exists, but the narrative context is minimal and does not help the agent understand when or how to fully leverage the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all six parameters, covering meaning, defaults, and constraints (e.g., 'number' notes additional credits beyond 10). Since schema_description_coverage is 100%, the description does not need to compensate, and it adds no extra parameter information beyond restating the tool's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool performs a Google News search and returns news article results, specifying both the verb ('search') and the resource ('Google News'). This clearly distinguishes it from sibling tools like serp_google_search or serp_google_images, even though the two sentences are slightly redundant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied by the tool name and description—use for Google News searches—but there is no explicit guidance on when to choose this over sibling tools or any exclusions. No alternatives are mentioned, leaving the agent to infer the use case without clear direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_google_placesCInspect

Search Google for local places and businesses.

Performs a Google Places search and returns structured place results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
queryYesThe search query string for local places/businesses search. Required.
numberNoNumber of results per page (default: 10). Note: More than 10 results may incur additional credits.
countryNoCountry code for localized results (e.g., 'us', 'cn', 'uk'). Default is 'us'.
languageNoLanguage code for results (e.g., 'en', 'zh-cn', 'fr'). Default is 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only mentions that it 'returns structured place results,' but does not disclose pagination behavior, default country/language, credit implications, or any other operational characteristics. Minimal value beyond the function itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with the main action front-loaded in the first sentence. The second sentence is somewhat redundant with the first, but the overall length is appropriate and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 params, required query, no annotations) and the existence of sibling tools like serp_google_maps, the description is incomplete. It lacks usage guidance and behavioral details, though the output schema presumably covers return values. The description alone does not provide enough context for an agent to choose this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, as all five parameters have descriptions in the input schema. The tool description itself adds no parameter-level detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search') and resource ('local places and businesses'), and notes it returns structured place results. This distinguishes it from general web search or image search, though it does not explicitly compare to the similar serp_google_maps tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like serp_google_search or serp_google_maps. The description only states what it does, without context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_google_videosBInspect

Search Google Videos and get video results.

Performs a Google Video search and returns structured video results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
queryYesThe search query string for video search. Required.
numberNoNumber of results per page (default: 10). Note: More than 10 results may incur additional credits.
countryNoCountry code for localized results (e.g., 'us', 'cn', 'uk'). Default is 'us'.
languageNoLanguage code for results (e.g., 'en', 'zh-cn', 'fr'). Default is 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only says 'returns structured video results,' which is minimal and does not disclose behavioral traits such as pagination behavior, potential rate limits, or any caveats about result content. This falls short for a search tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, but the second sentence largely restates the first ('Performs a Google Video search and returns structured video results' vs 'Search Google Videos and get video results'). This redundancy means it is not maximally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with a comprehensive input schema and an output schema indicated, the description covers the core purpose and return type. It could add usage context, but the structured fields already provide parameter and result details, making it adequate overall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all five parameters (query, page, number, country, language). The description adds no extra parameter meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a Google Video search and returns structured video results. The verb 'search' and resource 'Google Videos' are specific, and it distinguishes from sibling tools like serp_google_images or serp_google_news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: the tool is for searching Google Videos. However, it does not explicitly mention when to prefer this over alternatives or provide any exclusions. The context signals list sibling search tools, but the description offers no comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_list_countriesAInspect

List commonly used country codes for Google search.

Shows common country codes that can be used to localize search results.

Returns:
    Table of country codes and their countries.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description honestly states that the tool returns a table of country codes, implying a read-only operation. It is straightforward and does not hide any behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loads the purpose, and includes a return description. Every sentence is relevant and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description is largely complete. It could mention the output format or that it lists only 'common' codes, but overall it suffices for the simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description cannot add meaning beyond the schema. Per guidelines, this is a baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states verb ('list'/'shows') and resource ('country codes for Google search'), and it is distinct from sibling tools that list other types (languages, search types, time ranges).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the purpose is clear, the description provides no explicit guidance on when to use this tool over its siblings or when not to use it. The usage context is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_list_languagesAInspect

List commonly used language codes for Google search.

Shows common language codes that can be used to get results in specific languages.

Returns:
    Table of language codes and their languages.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description only states that it returns a table of language codes and languages. It omits potential behavioral traits such as whether the list is exhaustive, if it requires authentication, or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two short sentences and a returns line, conveying the purpose and output without any unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema, the description covers the essential information: what the tool does and what it returns. It is self-contained and clear, though it could briefly address when to use it among sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description adds no parameter information, but this is acceptable as the baseline for zero parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists commonly used language codes for Google search, specifying the verb and resource. It differentiates from sibling listing tools like serp_list_countries by focusing on languages, but does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing language codes for search localization, but it lacks explicit guidance on when to use this tool versus alternatives like serp_list_countries or serp_list_time_ranges.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_list_search_typesAInspect

List all available Google search types.

Shows all available search types and their use cases.
Use this to understand which search type to use for your query.

Returns:
    Table of all search types with descriptions.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description mentions it returns a table of search types with descriptions, which is adequate. It does not disclose potential side effects or permissions, but given the read-only nature, it is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, clearly stating the action, purpose, and return value. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and includes an output schema, the description is complete. It explains the purpose, usage context, and output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters and the input schema has 100% coverage. The description does not need to add parameter information; a baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available Google search types with their use cases. It distinguishes itself from sibling tools that perform specific searches by serving as a preliminary reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using this tool to understand which search type to use, implying it is a pre-step to other search tools. It does not explicitly state when not to use, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_list_time_rangesAInspect

List available time range filters for Google search.

Shows all time range options that can be used to filter results by date.

Returns:
    Table of time range codes and their meanings.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses that the tool returns a table of codes and meanings, and the verb 'List' implies a read-only operation. However, it lacks details on whether the list is static or dynamic, or if any authentication is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the key action, and contains no superfluous words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, has output schema), the description is complete. It states the purpose, the scope, and the return format, which is sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema description coverage is 100% implicitly. The description does not need to add parameter details. The baseline for 0 parameters is 4, and the description meets that adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists available time range filters for Google search, with a specific verb 'List' and a well-defined resource. It distinguishes itself from sibling tools like serp_google_search and serp_list_countries by focusing on time range options.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing time range filters, but does not explicitly state when to use this tool versus alternatives, such as before invoking serp_google_search. No when-not or exclusion guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation4/5

Tools are well-named by search type, but the general search tool serp_google_search can perform all specific searches via its search_type parameter, creating redundancy. However, descriptions clarify the specialized tools, so confusion is minimal.

Naming Consistency4/5

Most tools follow 'serp_google_<noun>' pattern, but serp_get_usage_guide uses 'get' instead of 'google', and listing tools use 'serp_list_' prefix, introducing minor inconsistency.

Tool Count5/5

11 tools cover all major Google search types (web, images, news, maps, places, videos) plus helpful utility tools (usage guide, code listings). This is well-scoped for a SERP API wrapper.

Completeness5/5

The tool set comprehensively covers the domain with dedicated tools for each search type, localization support, and helper tools for reference. No obvious gaps for typical SERP use cases.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP (Model Context Protocol) server that provides Google search capabilities and webpage content analysis tools. This server enables AI models to perform Google searches and analyze webpage content programmatically.
    27
    256
    ISC
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that integrates with SerpApi to retrieve search results from multiple search engines including Google, Bing, Yahoo, and others, enabling fast access to both live and archived search data.
    165
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) based search API server that provides standardized access to Google Maps, Google Flights, Google Hotels and other services. This server enables AI assistants to access various search services through a unified interface.
    73
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP (Multi-Agent Conversation Protocol) Server that enables interaction with Google's Custom Search API, allowing agents to perform customized web searches through natural language requests.

Latest Blog Posts

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/AceDataCloud/SerpMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server