Skip to main content
Glama
Virul360

google-image-search-mcp

by Virul360

Google Image Search MCP Server

This MCP (Model Context Protocol) server provides Google Image Search functionality through the SerpAPI. It allows AI assistants to search for images and analyze the results to find the most relevant ones based on specific criteria.

Features

  • Search for images with Google Image Search

  • Download images to a local directory

  • Analyze search results based on relevance criteria

Related MCP server: Nano Banana Pro MCP

Installation

npm install

Configuration

Create a .env file with your SerpAPI key (you can copy from .env.example):

SERP_API_KEY=your_serp_api_key_here

You can get a SerpAPI key by signing up at serpapi.com.

Usage

Building

npm run build

Running

npm start

Development

npm run dev

Available Tools

search_images

Search for images using Google Image Search.

Parameters:

  • query (string): The search query for finding images

  • limit (number, optional): Maximum number of results to return (default: 10)

download_image

Download an image to a local directory.

Parameters:

  • imageUrl (string): URL of the image to download

  • outputPath (string): Directory path where the image should be saved

  • filename (string): Filename for the downloaded image (including extension)

analyze_images

Analyze image search results to find the most relevant ones.

Parameters:

  • searchResults (array): Array of image search results to analyze

  • criteria (string): Criteria for selecting the best images (e.g., 'professional', 'colorful', etc.)

License

ISC

Available Tools

3 tools
analyze_imagesB

Analyze image search results to find the most relevant ones

ParametersJSON Schema
NameRequiredDescriptionDefault
criteriaYesCriteria for selecting the best images (e.g., 'professional', 'colorful', etc.)
searchResultsYesArray of image search results to analyze

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 full burden. It is minimal and does not disclose how the analysis works, whether it modifies state, what criteria mean beyond the schema, or any side effects. The agent lacks insight into the tool's behavior.

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 a single concise sentence with no fluff. It front-loads the purpose, though it could benefit from a bit more detail without becoming verbose.

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 lack of output schema and annotations, the description is incomplete. It does not explain what the tool returns (e.g., a list of filtered images, indices, or scores). The tool's outputs and error conditions are not described.

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%, baseline 3. The description does not add value beyond the schema; the 'criteria' parameter already has a descriptive example in the schema. No extra semantic explanation.

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 states the tool analyzes image search results to find the most relevant ones. The verb 'analyze' and resource 'image search results' are specific and distinguish from sibling tools (download_image, search_images).

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?

No explicit when-to-use or when-not-to-use guidance. The context implies it follows search_images, but no alternatives are mentioned. The description could be clearer about when to apply this tool vs manual selection.

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

download_imageC

Download an image to a local directory

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesFilename for the downloaded image (including extension)
imageUrlYesURL of the image to download
outputPathYesDirectory path where the image should be saved

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. Only states it downloads to a local directory. Does not disclose behavior on overwrites, missing directories, network errors, or authentication needs. Very limited transparency.

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?

Single sentence, no unnecessary words. Efficient for a simple tool. Could benefit from slight expansion for clarity, but score reflects appropriate conciseness.

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 no output schema and 3 required parameters, the description is too minimal. It does not explain return behavior, error handling, or side effects. For a file I/O tool, more detail is needed for complete understanding.

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 clear descriptions for all three parameters (imageUrl, outputPath, filename). The description adds no extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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?

Description clearly states the action and target: 'download an image to a local directory.' It distinguishes from siblings (analyze_images, search_images) by being the only tool for downloading. However, it lacks specifics about supported image formats or size limits.

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 on when to use this tool vs alternatives. No mention of prerequisites or exclusions. Sibling tools imply different purposes, but the description does not explicitly guide selection.

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

search_imagesC

Search for images using Google Image Search

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default: 10)
queryYesThe search query for finding images

TDQS

C2.9/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as rate limits, authentication requirements, or result characteristics. The description is insufficient for a 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.

Conciseness4/5

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

The description is a single concise sentence with no wasted words. It is front-loaded with the key action, but could be slightly more 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?

For a simple search tool with no output schema, the description is incomplete. It does not mention the nature of results (e.g., URLs, metadata) or any limits, leaving the agent with insufficient expectations.

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%, so the existing schema already describes the two parameters. The description adds no extra meaning beyond the schema, meeting the baseline for full coverage.

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 verb 'search for' and the resource 'images' using a specific method 'Google Image Search'. It is distinct from sibling tools 'analyze_images' and 'download_image'.

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 its siblings or any prerequisites. It lacks explicit context for when it is appropriate to invoke.

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.

  1. 3 tool updatesv1.0.0
    • First observedanalyze_images
    • First observeddownload_image
    • First observedsearch_images

TDQS

B3.3/5.0

Scored across 3 tools

Disambiguation4/5

Each tool has a distinct role: search returns images, analyze evaluates relevance, download saves locally. The line between search and analyze could cause minor confusion, but descriptions clarify.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: search_images, analyze_images, download_image.

Tool Count4/5

3 tools is slightly low for a search service, but for a focused utility it's reasonable and each tool serves a clear purpose.

Completeness3/5

Core search, analysis, and download are covered, but missing image metadata retrieval, pagination, or search refinement are notable gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers