Skip to main content
Glama

Google Images Search MCP

by srigi
utils.test.ts3.43 kB
import { describe, it, expect } from 'vitest'; import { env } from '~/utils/env'; import { buildSearchUrl } from './utils'; describe('search_image/utils', () => { describe('buildSearchUrl', () => { it('should correctly build search query URL with default parameters', () => { const query = 'MCP diagram'; const searchQueryURL = buildSearchUrl({ query, count: 4 }); expect(searchQueryURL).toContain('https://www.googleapis.com/customsearch/v1'); expect(searchQueryURL).toContain(`cx=${env.SEARCH_ENGINE_ID}`); expect(searchQueryURL).toContain(`key=${env.API_KEY}`); expect(searchQueryURL).toContain('q=MCP+diagram'); expect(searchQueryURL).toContain('num=4'); expect(searchQueryURL).toContain('searchType=image'); }); it('should correctly handle custom count parameter', () => { const query = 'test query'; const count = 8; const searchQueryURL = buildSearchUrl({ query, count }); expect(searchQueryURL).toContain(`num=${count}`); }); it('should correctly handle custom startIndex parameter', () => { const query = 'test query'; const startIndex = 11; const searchQueryURL = buildSearchUrl({ query, count: 2, startIndex }); expect(searchQueryURL).toContain(`start=${startIndex}`); }); it('should correctly handle custom safe parameter', () => { const query = 'test query'; // Test 'medium' safe setting const mediumSafeURL = buildSearchUrl({ query, count: 2, safe: 'medium' }); expect(mediumSafeURL).toContain('safe=medium'); // Test 'high' safe setting const highSafeURL = buildSearchUrl({ query, count: 2, safe: 'high' }); expect(highSafeURL).toContain('safe=high'); // Test 'off' safe setting (explicit) const offSafeURL = buildSearchUrl({ query, count: 2, safe: 'off' }); expect(offSafeURL).toContain('safe=off'); }); it('should correctly handle all custom parameters together', () => { const query = 'complex search query'; const count = 6; const startIndex = 21; const safe = 'high'; const searchQueryURL = buildSearchUrl({ query, count, startIndex, safe }); expect(searchQueryURL).toContain('https://www.googleapis.com/customsearch/v1'); expect(searchQueryURL).toContain(`cx=${env.SEARCH_ENGINE_ID}`); expect(searchQueryURL).toContain(`key=${env.API_KEY}`); expect(searchQueryURL).toContain('q=complex+search+query'); expect(searchQueryURL).toContain(`num=${count}`); expect(searchQueryURL).toContain(`safe=${safe}`); expect(searchQueryURL).toContain('searchType=image'); expect(searchQueryURL).toContain(`start=${startIndex}`); }); it('should handle edge case values for count and startIndex', () => { const query = 'edge case test'; // Test minimum values const minValuesURL = buildSearchUrl({ query, count: 1, startIndex: 1 }); expect(minValuesURL).toContain('num=1'); expect(minValuesURL).toContain('start=1'); // Test maximum count value (as per schema, max is 10) const maxCountURL = buildSearchUrl({ query, count: 10 }); expect(maxCountURL).toContain('num=10'); // Test larger startIndex for pagination const largeStartIndexURL = buildSearchUrl({ query, count: 2, startIndex: 91 }); expect(largeStartIndexURL).toContain('start=91'); }); }); });

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/srigi/mcp-google-images-search'

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