MCPO - MCP Pollinations Proxy

MCPO - MCP Pollinations Proxy

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.

Category
访问服务器

README

🚀 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

🔗 Links


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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选