多模态AI生成服务器

基于Model Context Protocol (MCP)的服务器,通过Pollinations API实现图像、文本和音频的AI生成功能,适用于创意内容生成和开发辅助场景。

  • by pinkpixel-dev
  • JavaScript
  • 本地部署
  • 39 星标
  • 更新于
在 GitHub 查看 pinkpixel-dev/MCPollinations

使用说明

此服务器已存档,因为它不再使用轮询更新的API。请参阅 花蜜MCP 我的新Pollinations MCP服务器,专门用于图像生成、图像编辑和视频生成。

MCP多模式MCP服务器

模型上下文协议(MCP)服务器,使AI助手能够通过Pollinations API生成图像、文本和音频

特性

  • 根据文本提示生成图像URL
  • 生成图像并将其作为base64编码数据返回,并另存为png、jpeg、jpg或webp(默认值:png)
  • 根据文本提示生成文本响应
  • 根据文本提示生成音频响应
  • 列出可用的图像和文本生成模型
  • 不要求进行验证
  • 简单轻便
  • 与模型上下文协议(MCP)兼容

系统要求

  • Node.js:版本14.0.0或更高版本
    • 为了获得最佳性能,我们建议使用Node.js 16.0.0或更高版本
    • 16以下的Node.js版本使用AbortController polyfill

快速开始

通过Smithery安装

通过以下方式自动为Claude Desktop安装mc传粉 铁匠铺:

npx -y @smithery/cli install @pinkpixel-dev/mcpollinations --client claude

使用MCP服务器的最简单方法:

# Run directly with npx (no installation required)
npx @pinkpixel/mcpollinations

如果您希望全局安装:

# Install globally
npm install -g @pinkpixel/mcpollinations

# Run the server
mcpollinations
# or
npx @pinkpixel/mcpollinations

或者克隆存储库:

# 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

MCP集成

要将服务器与支持模型上下文协议(MCP)的应用程序集成:

  1. 生成MCP配置文件:
# If installed globally
npx @pinkpixel/mcpollinations generate-config

# Or run directly
node /path/to/MCPollinations/generate-mcp-config.js

快速MCP配置(环境)

如果您希望跳过生成器,请将此复制到MCP客户端配置中:

{
  "mcpollinations": {
    "command": "npx",
    "args": ["-y", "@pinkpixel/mcpollinations"],
    "env": {
      "token": "YOUR_TOKEN_OPTIONAL",
      "referrer": "your-app-or-domain-optional",
      "IMAGE_MODEL": "flux",
      "IMAGE_WIDTH": "1024",
      "IMAGE_HEIGHT": "1024",
      "IMAGE_ENHANCE": "true",
      "IMAGE_SAFE": "false",
      "TEXT_MODEL": "openai",
      "TEXT_TEMPERATURE": "0.7",
      "TEXT_TOP_P": "0.9",
      "TEXT_SYSTEM": "",
      "AUDIO_VOICE": "alloy",
      "OUTPUT_DIR": "./mcpollinations-output"
    }
  }
}
  1. 按照提示自定义配置或使用默认值。

    • 设置输出目录(为便于移植,建议使用相对路径)
      • windows用户:考虑使用绝对路径(例如。, C:\Users\YourName\Pictures\MCPollinations)更可靠的文件保存
    • 在下配置可选身份验证(令牌、引用者) env
    • 配置图像生成的默认参数(包括可用型号、尺寸等的列表)
    • 配置文本生成的默认参数(带可用型号列表)
    • 配置音频生成(语音)的默认参数
  2. 复制生成的 mcp.json 将文件保存到应用程序的MCP设置.json文件中。

  3. 重新启动应用程序。

集成后,您可以使用以下命令:

“使用MCPollisions生成海洋上日落的图像”

身份验证(可选)

MCPollisions支持可选的身份验证,以提供对更多型号和更好的速率限制的访问。服务器在没有身份验证(免费层)的情况下运行良好,但使用API令牌的用户可以获得增强的访问权限。

配置方法

方法1:环境变量(建议用于安全)

# Set environment variables before running the server
export POLLINATIONS_TOKEN="your-api-token"
export POLLINATIONS_REFERRER="https://your-domain.com"

# Then run the server
npx @pinkpixel/mcpollinations

方法2:MCP配置文件(env) 生成MCP配置时,将auth放入 env 因此,您的MCP客户端将它们作为环境变量传递给服务器进程:

{
  "mcpollinations": {
    "command": "npx",
    "args": ["-y", "@pinkpixel/mcpollinations"],
    "env": {
      "token": "your-api-token",
      "referrer": "your-app-or-domain"
    }
  }
}

您还可以提供 POLLINATIONS_TOKEN 和 POLLINATIONS_REFERRER 相反;服务器识别这两种形式。使用 token 和 referrer 里面 env 建议用于MCP配置。

身份验证参数

  • token (可选):用于增强访问的Pollings API令牌
  • referrer (可选):您的域名/应用程序引用URL

这两个参数都是完全可选的。将它们留空或未设置以使用免费层。

使用您的配置设置

MCPollisions尊重您的MCP配置设置 env 作为默认值。当你要求AI助手生成内容时:

  • 您配置的模型、输出目录和参数将自动使用
  • 覆盖:具体指示AI使用不同的设置
    • “使用kontext模型生成图像”
    • “将此图像保存到我的桌面文件夹”
    • “此文本生成使用1.2的温度”

示例说明:

  • ✅ “生成日落图像”→ 使用您配置的模型和输出目录
  • ✅ “使用通量模型生成日落图像”→ 仅覆盖车型
  • ✅ “生成日落图像并将其保存到C:\Pictures”→ 仅覆盖输出路径

这确保了您的偏好始终得到尊重,除非您特别希望为特定请求进行不同的设置。

故障排除

“AbortController未定义”错误

如果在运行MCP服务器时遇到此错误:

ReferenceError: AbortController is not defined

这通常是由于在旧版本的Node.js(低于16.0.0版本)上运行造成的。尝试以下解决方案之一:

  1. 更新Node.js (推荐):

    • 更新到Node.js 16.0.0或更高版本
  2. 使用全局安装

    • 更新到包的最新版本:
    npm install -g @pinkpixel/mcpollinations
    # Run with npx
    npx @pinkpixel/mcpollinations
    
  3. 手动安装AbortController:

    • 如果由于某种原因polyfill不起作用:
    npm install node-abort-controller
    

检查你的Node.js版本

要检查您当前的Node.js版本:

node --version

如果它显示的版本低于16.0.0,请考虑升级以获得最佳兼容性。

可用工具

MCP服务器提供以下工具:

图像生成工具

  1. generateImageUrl -从文本提示生成图像URL
  2. generateImage -生成图像,将其作为base64编码数据返回,并默认将其保存到文件(PNG格式)
  3. editImage - 新 根据文本提示编辑或修改现有图像
  4. generateImageFromReference - 新 使用现有图像作为参考生成新图像
  5. listImageModels -列出可用于图像生成的型号

文本和音频工具

  1. respondText -使用文本模型(可自定义参数)对提示进行文本响应
  2. respondAudio -生成对文本提示的音频响应(可自定义的语音参数)
  3. listTextModels -列出可用于文本生成的模型
  4. listAudioVoices -列出所有可用于音频生成的声音

文本生成详细信息

可用参数

这 respondText 该工具支持几个参数来微调文本生成:

  • model:从可用的文本模型中选择(使用 listTextModels 查看当前选项)
  • temperature (0.0-2.0):控制输出中的随机性
    • 较低的值(0.1-0.7)=更有针对性和确定性
    • 更高的值(0.8-2.0)=更具创造性和随机性
  • top_p (0.0-1.0):通过细胞核取样控制多样性
    • 较低的值=更关注可能的代币
    • 更高的值=考虑更多的令牌可能性
  • system:引导模型行为和个性的系统提示

自定义文本生成

// Example options for respondText
const options = {
  model: "openai",           // Model selection
  temperature: 0.7,          // Balanced creativity
  top_p: 0.9,               // High diversity
  system: "You are a helpful assistant that explains things clearly and concisely."
};

配置示例

在MCP配置中,在以下位置设置默认值 env 因此服务器会自动使用它们:

{
  "mcpollinations": {
    "env": {
      "TEXT_MODEL": "openai",
      "TEXT_TEMPERATURE": "0.7",
      "TEXT_TOP_P": "0.9",
      "TEXT_SYSTEM": "You are a helpful coding assistant."
    }
  }
}

图像到图像生成(新!)

MCPollisions现在通过两个专用工具支持强大的图像到图像生成:

editImage工具

非常适合修改现有图像:

  • 移除物体:“从此图像中删除猫”
  • 添加元素:“在此场景中添加一只狗”
  • 更改背景:“用山代替背景”
  • 样式修改:“让灯光更具戏剧性”

generateImageFrom参考工具

非常适合创造变化和新风格:

  • 风格迁移:“让这张照片看起来像一幅画”
  • 格式更改:“将其转换为卡通风格”
  • 创意变体:“创造一个未来的版本”
  • 艺术诠释:“使其看起来像草图”

支持的型号

  • kontext:针对图像到图像任务优化的专用模型
  • nanobanana:新的谷歌模型支持文本到图像和图像到图像的生成
  • seedream:新的ByteDance模型支持文本到图像和图像到图像的生成

多参考图像: editImage 和 generateImageFromReference 接受 imageUrl 作为单个URL或URL数组。服务器将数组编码为逗号分隔 image API使用的参数。订购事项;kontext只使用第一张图片,nanobanana在最多4个参考值下是安全的,seedream最多支持10个参考值。

重要提示:仅限URL。映像到映像工具需要可公开访问的HTTP(S)URL。此MCP服务器不支持本地文件路径、文件上传和base64/data URL(它不上传文件)。如果您需要从本地映像工作,请将其托管在可访问的地方(例如,临时文件主机、对象存储或存储库中的原始链接),并传递URL。

示例用法

// Edit an existing image
const editResult = await editImage(
  "change the background to a sunset beach",
  "https://example.com/photo.jpg",
  "nanobanana"  // or "kontext", "seedream"
);

// Generate from reference
const referenceResult = await generateImageFromReference(
  "make this into a watercolor painting",
  "https://example.com/photo.jpg",
  "seedream"  // or "kontext", "nanobanana"
);

图像生成详细信息

默认行为

使用时 generateImage 工具:

  • 默认情况下,图像保存为PNG文件
  • 默认保存位置是MCP服务器运行的当前工作目录
  • 默认情况下使用“通量”模型
  • 默认情况下,为每张图像生成随机种子(确保多样性)
  • 无论图像是否保存到文件中,都始终返回Base64编码的图像数据

自定义图像生成

// Example options for generateImage
const options = {
  // Model selection (defaults to 'flux')
  // Available models: "flux", "turbo", "kontext", "nanobanana", "seedream"
  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
};

保存图像的位置

在MCP服务器上使用Claude或其他应用程序时:

  1. 图像保存在MCP服务器运行的当前工作目录中,而不是Claude或客户端应用程序的安装位置。

  2. 如果从特定目录手动启动MCP服务器,默认情况下图像将保存在那里。

  3. 如果Claude Desktop自动启动MCP服务器,图像将保存在Claude Desktop的工作目录中(通常在应用程序数据文件夹中)。

💡 windows用户:为了在Windows上可靠地保存文件,请在MCP配置中使用绝对路径而不是相对路径(例如。, C:\Users\YourName\Pictures\MCPollinations 而不是 ./mcpollinations-output).根据工作目录上下文,相对路径可能不会按预期解析。

查找生成的图像

  • 生成图像后,Claude的响应包括保存图像的完整文件路径
  • 您可以使用指定熟悉的位置 outputPath 参数
  • 最佳实践:让Claude将图像保存到易于访问的文件夹中,如您的图片或下载目录

唯一文件名

MCP服务器确保生成的图像始终具有唯一的文件名,并且永远不会覆盖现有文件:

  1. 默认文件名 包括:

    • 经过净化的提示版本(前20个字符)
    • 时间戳
    • 随机后缀
  2. 自定义文件名 也受到保护:

    • 如果指定了文件名,并且已存在同名文件,则会自动添加数字后缀
    • 例如: sunset.png, sunset_1.png, sunset_2.png等等。

这意味着您可以使用相同的提示或文件名安全地生成多个图像,而不必担心覆盖以前的图像。

访问Base64数据

即使保存到文件中,base64编码的图像数据也始终会返回,可用于:

  • 嵌入网页(<img src="data:image/png;base64,..." />)
  • 传递到其他服务或API
  • 在内存中处理而不进行文件系统操作
  • 在支持数据URI的应用程序中显示

对于开发者

如果您想在自己的项目中使用该包:

# Install as a dependency
npm install @pinkpixel/mcpollinations

# Import in your code
import { generateImageUrl, generateImage, repsondText, respondAudio, listTextModels, listImageModels, listAudioVoices } from '@pinkpixel/mcpollinations';