Skip to main content
Glama

get_related_images

Find visually similar images using an Openverse image ID. Specify pagination to retrieve related images for creative, research, or design purposes.

Instructions

Get images related to a specific image

Input Schema

NameRequiredDescriptionDefault
image_idYesOpenverse image ID
pageNoPage number (default: 1)
page_sizeNoResults per page (default: 10)

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "image_id": { "description": "Openverse image ID", "type": "string" }, "page": { "description": "Page number (default: 1)", "type": "number" }, "page_size": { "description": "Results per page (default: 10)", "type": "number" } }, "required": [ "image_id" ], "type": "object" }

Implementation Reference

  • The execute function that implements the tool logic: fetches related images from the Openverse API endpoint using the provided image_id, page, and page_size parameters.
    execute: async (args) => { const params = new URLSearchParams({ page: String(args.page || 1), page_size: String(args.page_size || 10) }); try { const response = await fetch( `${OPENVERSE_API_BASE}/images/${args.image_id}/related/?${params}`, { headers: { 'User-Agent': 'MCP-Openverse/1.0' } } ); if (!response.ok) { throw new Error(`Failed to fetch related images: ${response.status} ${response.statusText}`); } const data = await response.json(); return JSON.stringify(data, null, 2); } catch (error) { return JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }); } }
  • Zod schema defining the input parameters for the get_related_images tool: image_id (required), optional page and page_size.
    const relatedImagesSchema = z.object({ image_id: z.string().describe('Openverse image ID'), page: z.number().optional().describe('Page number (default: 1)'), page_size: z.number().optional().describe('Results per page (default: 10)') });
  • src/index.ts:118-150 (registration)
    Registration of the get_related_images tool using server.addTool, specifying name, description, parameters schema, and execute handler.
    server.addTool({ name: 'get_related_images', description: 'Get images related to a specific image', parameters: relatedImagesSchema, execute: async (args) => { const params = new URLSearchParams({ page: String(args.page || 1), page_size: String(args.page_size || 10) }); try { const response = await fetch( `${OPENVERSE_API_BASE}/images/${args.image_id}/related/?${params}`, { headers: { 'User-Agent': 'MCP-Openverse/1.0' } } ); if (!response.ok) { throw new Error(`Failed to fetch related images: ${response.status} ${response.statusText}`); } const data = await response.json(); return JSON.stringify(data, null, 2); } catch (error) { return JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }); } } });

Other Tools

Related Tools

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/neno-is-ooo/mcp-openverse'

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