一个模型上下文协议(MCP)服务器,使AI助手能够通过Pollinations API生成图像、文本和音频。
要通过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)的应用程序集成:
# 如果已全局安装
npx @pinkpixel/mcpollinations generate-config
# 或直接运行
node /path/to/MCPollinations/generate-mcp-config.js
如果您希望跳过生成器,可以将以下内容复制到您的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"
}
}
}
按照提示自定义您的配置或使用默认设置。
C:\Users\YourName\Pictures\MCPollinations)以确保可靠地保存文件env下配置可选的身份验证(令牌、引荐来源)将生成的mcp.json文件复制到应用程序的MCP设置.json文件中。
重启您的应用程序。
集成后,您可以使用如下命令:
“使用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_TOKEN和POLLINATIONS_REFERRER;服务器识别这两种形式。在MCP配置中的env内使用token和referrer是推荐做法。
token(可选):您的Pollinations API令牌,用于增强访问referrer(可选):您的域名/应用引荐来源URL这两个参数都是完全可选的。留空或不设置即可使用免费层级。
MCPollinations尊重您放在env内的MCP配置设置作为默认值。当您请求AI助手生成内容时:
示例指令:
这确保您的偏好始终被尊重,除非您特别希望针对特定请求使用不同设置。
如果您在运行MCP服务器时遇到此错误:
ReferenceError: AbortController未定义
这通常是由运行较旧版本的Node.js(低于16.0.0版本)引起的。尝试以下解决方案之一:
更新Node.js(推荐):
使用全局安装
npm install -g @pinkpixel/mcpollinations
# 使用npx运行
npx @pinkpixel/mcpollinations
手动安装AbortController:
npm install node-abort-controller
要检查当前的Node.js版本:
node --version
如果显示的版本低于1.6.0.0,请考虑升级以获得最佳兼容性。
MCP服务器提供了以下工具:
generateImageUrl - 从文本提示生成图像URLgenerateImage - 生成图像,以base64编码数据返回,并默认保存到文件(PNG格式)editImage - 新功能! 根据文本提示编辑或修改现有图像generateImageFromReference - 新功能! 使用现有图像作为参考生成新图像listImageModels - 列出可用于图像生成的模型respondText - 使用文本模型对提示作出文本响应(可定制参数)respondAudio - 对文本提示生成音频响应(可定制语音参数)listTextModels - 列出可用于文本生成的模型listAudioVoices - 列出所有可用于音频生成的声音respondText工具支持多个参数以微调文本生成:
model:从可用文本模型中选择(使用listTextModels查看当前选项)temperature(0.0-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现在支持强大的图像到图像生成,具有两个专用工具:
适用于修改现有图像:
适用于创建变体和新风格:
kontext:专为图像到图像任务优化的模型nanobanana:新的Google模型,支持文本到图像和图像到图像生成seedream:新的ByteDance模型,支持文本到图像和图像到图像生成多参考图像:editImage和generateImageFromReference接受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工具时:
flux模型// `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服务器的应用程序时:
图像保存在MCP服务器运行的当前工作目录中,而不是Claude或客户端应用程序的安装位置。
如果您从特定目录手动启动MCP服务器,图像将默认保存在那里。
如果Claude Desktop自动启动MCP服务器,图像将保存在Claude Desktop的工作目录中(通常在应用程序数据文件夹中)。
💡 Windows 用户:对于Windows上的可靠文件保存,请在MCP配置中使用绝对路径而不是相对路径(例如,C:\Users\YourName\Pictures\MCPollinations而不是./mcpollinations-output)。相对路径可能会根据工作目录上下文而无法正确解析。
outputPath参数指定一个熟悉的保存位置MCP服务器确保生成的图像总是有唯一的文件名,并且永远不会覆盖现有的文件:
默认文件名包括:
自定义文件名也受到保护:
sunset.png,sunset_1.png,sunset_2.png等。这意味着您可以安全地使用相同的提示或文件名生成多张图像,而不必担心覆盖之前的图像。
即使保存到文件,也会始终返回base64编码的图像数据,可用于:
<img src="data:image/png;base64,..." />)如果您想在自己的项目中使用此包:
# 安装为依赖项
npm install @pinkpixel/mcpollinations
# 在代码中导入
import { generateImageUrl, generateImage, repsondText, respondAudio, listTextModels, listImageModels, listAudioVoices } from '@pinkpixel/mcpollinations';