关于 MCPollinations Multimodal MCP Server
MCPollinations 是一个通过 Pollinations API 为 AI 助手提供图像、文本和音频生成能力的 MCP 服务。它无需认证即可使用,支持自定义参数、图片保存及多种模型选择。该项目已归档,作者建议改用 Nectar-MCP。
主要功能
- 01根据文本提示生成图片 URL 或 base64 数据
- 02生成图片并保存为 png、jpeg、jpg 或 webp
- 03生成文本回复,可调整 temperature 与 top_p
- 04生成语音音频并选择声音
- 05列出可用的图像与文本模型
适用场景
- 01在 AI 助手对话中按提示词生成配图
- 02为应用生成语音回复或朗读文本
- 03通过 MCP 配置设定默认模型与输出目录
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露图像、文本和音频生成相关工具,以及模型与语音列表查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prompt | string | 是 | 要生成的图像的文本描述 |
| model | string | 否 | 用于生成的模型名称(默认值:用户配置或 "flux")。使用 listImageModels 查看所有可用模型 |
| seed | number | 否 | 用于获得可复现结果的种子值(默认值:随机) |
| width | number | 否 | 生成图像的宽度(默认值:1024) |
| height | number | 否 | 生成图像的高度(默认值:1024) |
| enhance | boolean | 否 | 生成前是否使用 LLM 增强提示词(默认值:true) |
| safe | boolean | 否 | 是否应用内容过滤(默认值:false) |
详细介绍
此服务因不再兼容 Pollinations 的新版 API,现已归档。请查看 Nectar-MCP,这是我新推出的 Pollinations MCP 服务,专用于图像生成、图像编辑和视频生成。
MCPollinations 多模态 MCP 服务
一种 Model Context Protocol(MCP)服务,可通过 Pollinations API 让 AI 助手生成图像、文本和音频。
功能
- 根据文本提示词生成图像 URL
- 生成图像并以 base64 编码数据形式返回,同时保存为 png、jpeg、jpg 或 webp 格式(默认:png)
- 根据文本提示词生成文本回复
- 根据文本提示词生成音频回复
- 列出可用的图像和文本生成模型
- 无需身份验证
- 简单轻量
- 兼容 Model Context Protocol(MCP)
系统要求
- Node.js:版本 14.0.0 或更高
- 为获得最佳性能,建议使用 Node.js 16.0.0 或更高版本
- 低于 16 的 Node.js 版本使用 AbortController polyfill
快速开始
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 mcpollinations:
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 集成
将此服务集成到支持 Model Context Protocol(MCP)的应用程序中:
- 生成 MCP 配置文件:
# If installed globally
npx @pinkpixel/mcpollinations generate-config
# Or run directly
node /path/to/MCPollinations/generate-mcp-config.js
快速 MCP 配置(env)
如果你想跳过生成器,请将以下内容复制到 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"
}
}
}
-
按照提示自定义配置,或使用默认值。
- 设置输出目录(建议使用相对路径,以便移植)
- Windows 用户:考虑使用绝对路径(例如
C:\Users\YourName\Pictures\MCPollinations),以便更可靠地保存文件
- Windows 用户:考虑使用绝对路径(例如
- 在
env中配置可选身份验证(token、referrer) - 配置图像生成的默认参数(包括可用模型列表、尺寸等)
- 配置文本生成的默认参数(包括可用模型列表)
- 配置音频生成的默认参数(语音)
- 设置输出目录(建议使用相对路径,以便移植)
-
将生成的
mcp.json文件复制到应用程序的 MCP 设置 .json 文件中。 -
重启应用程序。
集成后,你可以使用如下命令:
“使用 MCPollinations 生成一张海上日落的图像”
身份验证(可选)
MCPollinations 支持可选身份验证,以便使用更多模型并获得更高的速率限制。此服务无需身份验证即可正常运行(免费层级),但持有 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 配置时,请将身份验证信息放在 env 中,以便 MCP 客户端将其作为环境变量传递给服务进程:
{
"mcpollinations": {
"command": "npx",
"args": ["-y", "@pinkpixel/mcpollinations"],
"env": {
"token": "your-api-token",
"referrer": "your-app-or-domain"
}
}
}
你也可以改为提供 POLLINATIONS_TOKEN 和 POLLINATIONS_REFERRER;此服务识别这两种形式。在 MCP 配置中,建议在 env 中使用 token 和 referrer。
身份验证参数
token(可选):你的 Pollinations API 令牌,可用于增强访问权限referrer(可选):你的域名/应用程序来源 URL
这两个参数均为可选。留空或不设置即可使用免费层级。
使用配置设置
MCPollinations 会将你在 env 中设置的 MCP 配置作为默认值。在你要求 AI 助手生成内容时:
- 自动使用你配置的模型、输出目录和参数
- 覆盖设置:明确指示 AI 使用其他设置
- “使用 kontext 模型生成图像”
- “将此图像保存到我的桌面文件夹”
- “此次文本生成使用 1.2 的温度”
指令示例:
- ✅ “生成一张日落图像” → 使用你配置的模型和输出目录
- ✅ “使用 flux 模型生成一张日落图像” → 仅覆盖模型
- ✅ “生成一张日落图像并保存到 C:\Pictures” → 仅覆盖输出路径
这样可以确保始终遵循你的偏好,除非你明确要求针对某项请求使用不同设置。
故障排除
“AbortController is not defined”错误
如果运行 MCP 服务时遇到此错误:
ReferenceError: AbortController is not defined
这通常是因为使用了较旧版本的 Node.js(低于 16.0.0)。请尝试以下解决方案之一:
-
更新 Node.js(推荐):
- 更新至 Node.js 16.0.0 或更高版本
-
使用全局安装
- 将软件包更新至最新版本:
npm install -g @pinkpixel/mcpollinations # Run with npx npx @pinkpixel/mcpollinations -
手动安装 AbortController:
- 如果出于某种原因 polyfill 无法使用:
npm install node-abort-controller
检查 Node.js 版本
若要检查当前 Node.js 版本:
node --version
如果显示的版本低于 16.0.0,建议升级以获得最佳兼容性。
可用工具
MCP 服务提供以下工具:
图像生成工具
generateImageUrl- 根据文本提示词生成图像 URLgenerateImage- 生成图像,以 base64 编码数据的形式返回,并默认保存到文件(PNG 格式)editImage- 全新! 根据文本提示词编辑或修改现有图像generateImageFromReference- 全新! 使用现有图像作为参考来生成新图像listImageModels- 列出可用于图像生成的模型
文本和音频工具
respondText- 使用文本模型根据提示词生成文本回复(参数可自定义)respondAudio- 根据文本提示词生成音频回复(语音参数可自定义)listTextModels- 列出可用于文本生成的模型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."
}
}
}
图生图生成(全新!)
MCPollinations 现已支持强大的图生图生成功能,提供两种专用工具:
editImage 工具
非常适合修改现有图像:
- 移除对象:“从此图像中移除猫”
- 添加元素:“在此场景中添加一只狗”
- 更改背景:“将背景替换为群山”
- 修改风格:“让光线更具戏剧性”
generateImageFromReference 工具
非常适合创建变体和新风格:
- 风格迁移:“让这张照片看起来像一幅画”
- 格式转换:“将其转换为卡通风格”
- 创意变体:“创建一个未来风格的版本”
- 艺术化诠释:“让它看起来像一幅素描”
支持的模型
kontext:针对图生图任务优化的专用模型nanobanana:Google 的新模型,支持文生图和图生图seedream:ByteDance 的新模型,支持文生图和图生图
多参考图:editImage 和 generateImageFromReference 的 imageUrl 参数可接受单个 URL 或 URL 数组。服务会将数组编码为 API 使用的逗号分隔 image 参数。图片顺序很重要;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 服务运行时所在的当前工作目录
- 默认使用 'flux' 模型
- 默认情况下,每张图像都会生成一个随机种子(确保图像多样)
- 无论是否将图像保存到文件,都会返回 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
};
图像保存位置
在使用 Claude 或其他连接 MCP 服务的应用程序时:
-
图像会保存在 MCP 服务运行时所在的当前工作目录,而不是 Claude 或客户端应用程序的安装位置。
-
如果从特定目录手动启动 MCP 服务,图像默认会保存在该目录中。
-
如果 Claude Desktop 自动启动 MCP 服务,图像会保存在 Claude Desktop 的工作目录中(通常位于应用程序数据文件夹内)。
💡 Windows 用户:为确保在 Windows 上可靠保存文件,请在 MCP 配置中使用绝对路径,而不要使用相对路径(例如,使用 C:\Users\YourName\Pictures\MCPollinations,而不是 ./mcpollinations-output)。根据工作目录的上下文,相对路径可能无法按预期解析。
查找生成的图像
- 生成图像后,Claude 的回复会包含图像保存位置的完整文件路径
- 可以使用
outputPath参数指定一个熟悉的位置 - 最佳做法:让 Claude 将图像保存到易于访问的文件夹,例如“图片”或“下载”目录
唯一文件名
MCP 服务确保生成的图像始终使用唯一文件名,不会覆盖现有文件:
-
默认文件名包括:
- 经净化处理的提示词版本(前 20 个字符)
- 时间戳
- 随机后缀
-
自定义文件名也会受到保护:
- 如果指定的文件名已存在同名文件,系统会自动添加数字后缀
- 例如:
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';
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。