Skip to main content
Glama

Pollinations Multimodal MCP Server

resourceService.js3.89 kB
/** * Pollinations Resource Service * * Functions and schemas for handling resources and prompts */ import { createMCPResponse, createTextContent } from "../utils/coreUtils.js"; import { z } from "zod"; /** * Lists available resources * * @returns {Promise<Object>} - Object containing the list of available resources */ async function listResources() { // Prepare the resources data const resourcesData = { resources: [ { uri: "pollinations:image-models", name: "Image Generation Models", description: "Models available for generating images from text prompts", mimeType: "application/json", }, { uri: "pollinations:text-models", name: "Text Generation Models", description: "Models available for generating text responses", mimeType: "application/json", }, { uri: "pollinations:audio-voices", name: "Audio Voices", description: "Voices available for text-to-speech conversion", mimeType: "application/json", }, ], templates: [ { uriTemplate: "pollinations:image/{prompt}", name: "Generate Image", description: "Generate an image from a text prompt", mimeType: "image/jpeg", }, { uriTemplate: "pollinations:text/{prompt}", name: "Generate Text", description: "Generate text from a prompt", mimeType: "text/plain", }, { uriTemplate: "pollinations:audio/{text}", name: "Generate Audio", description: "Convert text to speech", mimeType: "audio/mpeg", }, ], }; // Return the response in MCP format using utility functions return createMCPResponse([createTextContent(resourcesData, true)]); } /** * Lists available prompts * * @returns {Promise<Object>} - Object containing the list of available prompts */ async function listPrompts() { // Prepare the prompts data const promptsData = { prompts: [ { id: "image-generation", category: "Image", examples: [ "A beautiful sunset over the ocean", "A futuristic city with flying cars", "A serene forest landscape with a waterfall", ], }, { id: "text-generation", category: "Text", examples: [ "Write a short story about a robot", "Explain quantum computing in simple terms", "Create a recipe for chocolate chip cookies", ], }, { id: "audio-generation", category: "Audio", examples: [ "Welcome to Pollinations, where creativity blooms!", "The quick brown fox jumps over the lazy dog", "In a world where AI powers creativity...", ], }, ], }; // Return the response in MCP format using utility functions return createMCPResponse([createTextContent(promptsData, true)]); } /** * Export tools as complete arrays ready to be passed to server.tool() */ export const resourceTools = [ [ "listResources", "List available resources from the Pollinations API", {}, listResources, ], [ "listPrompts", "List available example prompts from the Pollinations API", {}, listPrompts, ], ];

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/tusharpatil2912/pollinations-mcp'

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