返回市场
MC授粉服务器

MC授粉服务器

作者:pinkpixel-dev38 星标更新:2025-09-26

项目介绍

MCPollinations 多模态 MCP 服务器

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

smithery 徽章 在MseeP上验证

功能

  • 从文本提示生成图像URL
  • 生成图像并以base64编码数据返回,并保存为png、jpeg、jpg或webp(默认:png)
  • 从文本提示生成文本响应
  • 从文本提示生成音频响应
  • 列出可用的图像和文本生成模型
  • 不需要身份验证
  • 简单且轻量级
  • 兼容模型上下文协议(MCP)

系统需求

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

快速开始

通过Smithery安装

要通过Smithery自动安装mcpollinations用于Claude Desktop:

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

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

# 直接运行(无需安装)
npx @pinkpixel/mcpollinations

如果您希望全局安装:

# 全局安装
npm install -g @pinkpixel/mcpollinations

# 运行服务器
mcpollinations
# 或
npx @pinkpixel/mcpollinations

或者克隆仓库:

# 克隆git仓库
git clone https://github.com/pinkpixel-dev/mcpollinations.git
# 运行服务器
mcpollinations
# 或
npx @pinkpixel/mcpollinations
# 或直接运行
node /path/to/MCPollinations/pollinations-mcp-server.js

MCP集成

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

  1. 生成MCP配置文件:
# 如果已全局安装
npx @pinkpixel/mcpollinations generate-config

# 或直接运行
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. 重启您的应用程序。

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

“使用MCPollinations生成一幅日落海洋的图像”

身份验证(可选)

MCPollinations支持可选的身份验证,以提供对更多模型和更好速率限制的访问。该服务器在没有身份验证的情况下也能完美工作(免费层级),但拥有API令牌的用户可以获得增强的访问权限。

配置方法

方法1:环境变量(推荐用于安全)

# 在运行服务器之前设置环境变量
export POLLINATIONS_TOKEN="your-api-token"
export POLLINATIONS_REFERRER="https://your-domain.com"

# 然后运行服务器
npx @pinkpixel/mcpollinations

方法2:MCP配置文件(环境变量) 当生成您的MCP配置时,在env内放置认证信息,这样您的MCP客户端会将其作为环境变量传递给服务器进程:

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

您也可以提供POLLINATIONS_TOKENPOLLINATIONS_REFERRER;服务器识别这两种形式。在MCP配置中的env内使用tokenreferrer是推荐做法。

身份验证参数

  • token(可选):您的Pollinations API令牌,用于增强访问
  • referrer(可选):您的域名/应用引荐来源URL

这两个参数都是完全可选的。留空或不设置即可使用免费层级。

使用您的配置设置

MCPollinations尊重您放在env内的MCP配置设置作为默认值。当您请求AI助手生成内容时:

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

示例指令:

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

这确保您的偏好始终被尊重,除非您特别希望针对特定请求使用不同设置。

故障排除

“AbortController未定义”错误

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

ReferenceError: AbortController未定义

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

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

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

    • 更新至最新版本的包:
    npm install -g @pinkpixel/mcpollinations
    # 使用npx运行
    npx @pinkpixel/mcpollinations
    
  3. 手动安装AbortController

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

检查您的Node.js版本

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

node --version

如果显示的版本低于1.6.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:系统提示,指导模型的行为和个性

自定义文本生成

// `respondText`的示例选项
const options = {
  model: "openai",           // 模型选择
  temperature: 0.7,          // 平衡的创造力
  top_p:  0.9,               // 高多样性
  system: "您是一个能清晰简洁解释问题的有用助手。"
};

配置示例

在您的MCP配置中,将默认值设置在env内,以便服务器自动使用它们:

{
  "mcpollinations": {
    "env": {
      "TEXT_MODEL": "openai",
      "TEXT_TEMPERATURE": "0.7",
      "TEXT_TOP_P": "0.9",
      "TEXT_SYSTEM": "您是一个有用的编程助手。"
    }
  }
}

图像到图像生成(新功能!)

MCPollinations现在支持强大的图像到图像生成,具有两个专用工具:

editImage 工具

适用于修改现有图像:

  • 移除对象:“从这张图片中移除猫”
  • 添加元素:“在这个场景中添加一只狗”
  • 更改背景:“将背景替换为山脉”
  • 风格修改:“使光线更加戏剧化”

generateImageFromReference 工具

适用于创建变体和新风格:

  • 风格转换:“让这张照片看起来像一幅画”
  • 格式变化:“将这个转换成卡通风格”
  • 创意变体:“创造这个的未来版本”
  • 艺术诠释:“让这个看起来像素描”

支持的模型

  • kontext:专为图像到图像任务优化的模型
  • nanobanana:新的Google模型,支持文本到图像和图像到图像生成
  • seedream:新的ByteDance模型,支持文本到图像和图像到图像生成

多参考图像:editImagegenerateImageFromReference接受imageUrl作为单一URL或URL数组。服务器将数组编码为API使用的逗号分隔的image参数。顺序重要;kontext仅使用第一个图像,nanobanana最多安全到约4个参考,而seedream支持多达10个。

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

示例用法

// 编辑现有图像
const editResult = await editImage(
  "将背景改为日落海滩",
  "https://example.com/photo.jpg",
  "nanobanana"  // 或 "kontext", "seedream"
);

// 从参考生成
const referenceResult = await generateImageFromReference(
  "将这个变成水彩画",
  "https://example.com/photo.jpg",
  "seedream"  // 或 "kontext", "nanobanana"
);

图像生成细节

默认行为

使用generateImage工具时:

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

自定义图像生成

// `generateImage`的示例选项
const options = {
  // 模型选择(默认为'flux')
  // 可用模型:"flux", "turbo", "kontext", "nanobanana", "seedream"
  model: "flux",

  // 图像尺寸
  width: 1024,
  height: 1024,

  // 生成选项
  seed: 12345,  // 用于可重复性的特定种子(默认为随机)
  enhance: true,  // 在生成前使用LLM增强提示(默认为true)
  safe: false,  // 内容过滤(默认为false)

  // 文件保存选项
  saveToFile: true,  // 设置为false以跳过保存到磁盘
  outputPath: "/path/to/save/directory",  // 自定义保存位置
  fileName: "my_custom_name",  // 不带扩展名
  format: "png"  // png, jpeg, jpg, 或 webp
};

图像保存位置

使用Claude或其他带有MCP服务器的应用程序时:

  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.pngsunset_1.pngsunset_2.png等。

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

访问Base64数据

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

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

开发者指南

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

# 安装为依赖项
npm install @pinkpixel/mcpollinations

# 在代码中导入
import { generateImageUrl, generateImage, repsondText, respondAudio, listTextModels, listImageModels, listAudioVoices } from '@pinkpixel/mcpollinations';