Skip to main content
Glama

MCPO - MCP Pollinations Proxy

by exrienz

🚀 MCPO - MCP Pollinations Proxy

A Docker-containerized MCP (Model Context Protocol) proxy that combines mcpo CLI tool with Pollinations MCP server, providing AI image, text, audio, and vision generation capabilities through standard REST endpoints.

🌟 Features

🎨 Multimodal AI Capabilities

  • Image Generation: Create stunning images from text prompts with 1024x1024 default resolution
  • Image-to-Image: Transform existing images using text descriptions
  • Vision Analysis: Analyze, describe, compare images and extract text (OCR)
  • Text Generation: Simple and advanced text generation with system prompts
  • Text-to-Speech: Convert text to speech with multiple voice options
  • Audio Generation: Create contextual audio responses

🔧 Technical Features

  • OpenAPI REST Endpoints: Standard HTTP/REST interface for all MCP capabilities
  • Docker Containerized: Easy deployment and consistent environment
  • Real-time Processing: Direct API integration with Pollinations services
  • Multiple Model Support: Access various AI models for different tasks

🚀 Quick Start

Prerequisites

  • Docker and Docker Compose
  • Port 7777 available

Installation & Usage

  1. Clone the repository
    git clone <repository-url> cd mcpo
  2. Build and run the container
    docker-compose build docker-compose up
  3. Access the service
    • Service runs on: http://localhost:7777
    • OpenAPI docs: http://localhost:7777/docs
    • API endpoints: http://localhost:7777/api/...

Development Commands

# Build the container docker-compose build # Run in detached mode docker-compose up -d # View logs docker-compose logs # Stop the service docker-compose down

🎯 API Endpoints

The service exposes Pollinations MCP server functionality through REST endpoints:

🖼️ Image Generation

  • POST /api/generateImage - Generate image from text prompt
  • POST /api/generateImageUrl - Get image generation URL
  • POST /api/generateImageToImage - Transform image with text prompt
  • GET /api/listImageModels - List available image models

📝 Text Generation

  • POST /api/generateText - Simple text generation
  • POST /api/generateAdvancedText - Advanced text with system prompts
  • GET /api/listTextModels - List available text models

👁️ Vision & Analysis

  • POST /api/analyzeImageFromUrl - Analyze image from URL
  • POST /api/analyzeImageFromData - Analyze base64 image data
  • POST /api/compareImages - Compare two images
  • POST /api/extractTextFromImage - OCR text extraction

🎵 Audio Generation

  • POST /api/sayText - Text-to-speech conversion
  • POST /api/respondAudio - Generate contextual audio responses
  • GET /api/listAudioVoices - List available voices

🏗️ Architecture

┌─────────────────┐ ┌──────────────┐ ┌─────────────────────┐ │ Client App │───▶│ MCPO Proxy │───▶│ Pollinations API │ │ (HTTP/REST) │ │ (Port 7777) │ │ (MCP Protocol) │ └─────────────────┘ └──────────────┘ └─────────────────────┘

Container Stack

  • Base: Node.js 18 Alpine Linux
  • Python: Installed for mcpo CLI tool
  • Port: 7777 exposed for HTTP access
  • Host: Configured to bind to 0.0.0.0

Service Flow

  1. Container starts with mcpo CLI tool
  2. mcpo proxies the pollinations-model-context-protocol MCP server
  3. MCP server capabilities become available via OpenAPI endpoints
  4. External applications use standard HTTP/REST calls

📁 Project Structure

mcpo/ ├── docker-compose.yml # Docker compose configuration ├── Dockerfile # Container definition ├── CLAUDE.md # Development instructions ├── pollinations-mcp-src/ # MCP server source code │ ├── src/ │ │ ├── services/ │ │ │ ├── imageService.js # Image generation & transformation │ │ │ ├── textService.js # Text generation (simple & advanced) │ │ │ ├── audioService.js # Text-to-speech & audio │ │ │ ├── visionService.js # Image analysis & OCR │ │ │ ├── authService.js # Authentication │ │ │ └── resourceService.js # Resource management │ │ ├── utils/ │ │ │ ├── coreUtils.js # Core utilities │ │ │ ├── polyfills.js # Node.js polyfills │ │ │ └── schemaUtils.js # Schema validation │ │ └── index.js # Main MCP server │ └── pollinations-mcp.js # Entry point └── README.md # This file

🔧 Configuration

Default Settings

  • Image Resolution: 1024x1024 pixels
  • Image Quality: Private=true, NoLogo=true, Enhance=true
  • Text Generation: OpenAI-compatible models
  • Audio Format: MP3 with Alloy voice
  • Vision Models: GPT-4o for image analysis

Environment Variables

The container automatically configures the MCP proxy without additional environment variables needed.

🎨 Usage Examples

Image Generation

curl -X POST http://localhost:7777/api/generateImage \ -H "Content-Type: application/json" \ -d '{ "prompt": "A serene mountain landscape at sunset", "options": { "width": 1024, "height": 1024, "model": "flux" } }'

Vision Analysis

curl -X POST http://localhost:7777/api/analyzeImageFromUrl \ -H "Content-Type: application/json" \ -d '{ "imageUrl": "https://example.com/image.jpg", "prompt": "What do you see in this image?" }'

Text-to-Speech

curl -X POST http://localhost:7777/api/sayText \ -H "Content-Type: application/json" \ -d '{ "text": "Hello, this is a test of text to speech", "voice": "alloy", "format": "mp3" }'

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


Built with ❤️ using Docker, Node.js, and Python

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Docker-containerized MCP proxy that provides AI image generation, text generation, vision analysis, and text-to-speech capabilities through REST endpoints using Pollinations AI services. Enables multimodal AI interactions including image creation, transformation, OCR, and audio generation through standard HTTP APIs.

  1. 🌟 Features
    1. 🎨 Multimodal AI Capabilities
    2. 🔧 Technical Features
  2. 🚀 Quick Start
    1. Prerequisites
    2. Installation & Usage
    3. Development Commands
  3. 🎯 API Endpoints
    1. 🖼️ Image Generation
    2. 📝 Text Generation
    3. 👁️ Vision & Analysis
    4. 🎵 Audio Generation
  4. 🏗️ Architecture
    1. Container Stack
    2. Service Flow
  5. 📁 Project Structure
    1. 🔧 Configuration
      1. Default Settings
      2. Environment Variables
    2. 🎨 Usage Examples
      1. Image Generation
      2. Vision Analysis
      3. Text-to-Speech
    3. 🤝 Contributing
      1. 📄 License
        1. 🙏 Acknowledgments
          1. 🔗 Links

            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/exrienz/pollenai-mcp'

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