MCPollinations Multimodal
STDIOMCP server enabling AI assistants to generate images, text, and audio through Pollinations APIs.
MCP server enabling AI assistants to generate images, text, and audio through Pollinations APIs.
A Model Context Protocol (MCP) server that enables AI assistants to generate images, text, and audio through the Pollinations APIs
To install mcpollinations for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @pinkpixel-dev/mcpollinations --client claude
The easiest way to use the MCP server:
# Run directly with npx (no installation required) npx @pinkpixel/mcpollinations
If you prefer to install it globally:
# Install globally npm install -g @pinkpixel/mcpollinations # Run the server mcpollinations # or npx @pinkpixel/mcpollinations
Or clone the repository:
# Clone the git repository git clone https://github.com/pinkpixel-dev/mcpollinations.git # Run the server mcpollinations # or npx @pinkpixel/mcpollinations # or run directly node /path/to/MCPollinations/pollinations-mcp-server.js
To integrate the server with applications that support the Model Context Protocol (MCP):
# If installed globally npx @pinkpixel/mcpollinations generate-config # Or run directly node /path/to/MCPollinations/generate-mcp-config.js
Follow the prompts to customize your configuration or use the defaults.
Copy the generated mcp.json
file to your application's MCP settings .json file.
Restart your application.
After integration, you can use commands like:
"Generate an image of a sunset over the ocean using MCPollinations"
If you encounter this error when running the MCP server:
ReferenceError: AbortController is not defined
This is usually caused by running on an older version of Node.js (below version 16.0.0). Try one of these solutions:
Update Node.js (recommended):
Use Global Installation
npm install -g @pinkpixel/mcpollinations # Run with npx npx @pinkpixel/mcpollinations
Install AbortController manually:
npm install node-abort-controller
To check your current Node.js version:
node --version
If it shows a version lower than 16.0.0, consider upgrading for best compatibility.
The MCP server provides the following tools:
generateImageUrl
- Generates an image URL from a text promptgenerateImage
- Generates an image, returns it as base64-encoded data, and saves it to a file by default (PNG format)respondAudio
- Generates an audio response to a text prompt (customizable voice parameter)respondText
- Responds with text to a prompt using text models (customizable model parameter)listImageModels
- Lists available models for image generationlistTextModels
- Lists available models for text generationlistAudioVoices
- Lists all available voices for audio generationWhen using the generateImage
tool:
// Example options for generateImage const options = { // Model selection (defaults to 'flux') model: "flux", // Image dimensions width: 1024, height: 1024, // Generation options seed: 12345, // Specific seed for reproducibility (defaults to random) enhance: true, // Enhance the prompt using an LLM before generating (defaults to true) safe: false, // Content filtering (defaults to false) // File saving options saveToFile: true, // Set to false to skip saving to disk outputPath: "/path/to/save/directory", // Custom save location fileName: "my_custom_name", // Without extension format: "png" // png, jpeg, jpg, or webp };
When using Claude or another application with the MCP server:
Images are saved in the current working directory of where the MCP server is running, not where Claude or the client application is installed.
If you start the MCP server manually from a specific directory, images will be saved there by default.
If Claude Desktop launches the MCP server automatically, images will be saved in Claude Desktop's working directory (typically in an application data folder).
outputPath
parameterThe MCP server ensures that generated images always have unique filenames and will never overwrite existing files:
Default filenames include:
Custom filenames are also protected:
sunset.png
, sunset_1.png
, sunset_2.png
, etc.This means you can safely generate multiple images with the same prompt or filename without worrying about overwriting previous images.
Even when saving to a file, the base64-encoded image data is always returned and can be used for:
<img src="data:image/png;base64,..." />
)If you want to use the package in your own projects:
# Install as a dependency npm install @pinkpixel/mcpollinations # Import in your code import { generateImageUrl, generateImage, repsondText, respondAudio, listTextModels, listImageModels, listAudioVoices } from '@pinkpixel/mcpollinations';