MCPollinations模型上下文协议服务器
一种模型上下文协议服务器,使人工智能助手能够通过Pollinations API生成图像、文本和音频,而无需身份验证。
服务介绍
MCPollinations 多模态 MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过 Pollinations API 使 AI 助手能够生成图像、文本和音频。
特性
- 从文本提示生成图像 URL
- 生成图像并以 base64 编码数据返回,并保存为 png、jpeg、jpg 或 webp 格式(默认:png)
- 从文本提示生成文本响应
- 从文本提示生成音频响应
- 列出可用的图像和文本生成模型
- 无需身份验证
- 简单且轻量级
- 与模型上下文协议 (MCP) 兼容
系统要求
- Node.js: 14.0.0 或更高版本
- 为了获得最佳性能,我们建议使用 Node.js 16.0.0 或更高版本
- 低于 16 的 Node.js 版本使用 AbortController 聚合填充
快速开始
通过 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 集成
要将服务器与支持模型上下文协议 (MCP) 的应用程序集成:
- 生成 MCP 配置文件:
# If installed globally
npx @pinkpixel/mcpollinations generate-config
# Or run directly
node /path/to/MCPollinations/generate-mcp-config.js
-
按照提示自定义您的配置或使用默认设置。
- 设置自定义输出和临时目录(默认为相对路径以便于移植)
- 配置图像生成的默认参数(包括可用模型列表、尺寸等)
- 配置文本生成的默认参数(包括可用模型列表)
- 配置音频生成的默认参数(声音)
- 指定允许使用的工具
-
将生成的
mcp.json文件复制到您的应用程序的 MCP 设置 .json 文件中。 -
重启您的应用程序。
集成后,您可以使用如下命令:
"使用 MCPollinations 生成一张海上日落的图片"
故障排除
"AbortController 未定义" 错误
如果在运行 MCP 服务器时遇到此错误:
ReferenceError: AbortController is not defined
这通常是由于运行的是较旧版本的 Node.js(低于 16.0.0 版本)。请尝试以下解决方案之一:
-
更新 Node.js(推荐):
- 更新到 Node.js 16.0.0 或更高版本
-
使用全局安装:
- 更新到最新版本的包:
npm install -g @pinkpixel/mcpollinations # 使用 npx 运行 npx @pinkpixel/mcpollinations -
手动安装 AbortController:
- 如果出于某种原因聚合填充不起作用:
npm install node-abort-controller
检查您的 Node.js 版本
要检查您当前的 Node.js 版本:
node --version
如果显示的版本低于 16.0.0,请考虑升级以获得最佳兼容性。
可用工具
MCP 服务器提供以下工具:
generateImageUrl- 从文本提示生成一个图片URLgenerateImage- 生成一张图片,以base64编码的数据形式返回,并默认保存为文件(PNG格式)respondAudio- 生成对文本提示的音频响应(可自定义语音参数)respondText- 使用文本模型对提示做出文本响应(可自定义模型参数)listImageModels- 列出可用于图像生成的所有模型listTextModels- 列出可用于文本生成的所有模型listAudioVoices- 列出所有可用的音频生成声音
图像生成详情
默认行为
当使用generateImage工具时:
- 图像默认作为PNG文件保存到磁盘
- 默认保存位置是MCP服务器运行时所在的当前工作目录
- 默认使用'flux'模型
- 每张图像默认生成一个随机种子(确保多样性)
- 不论图像是否被保存为文件,总是返回base64编码的图像数据
自定义图像生成
// Example options for generateImage
const options = {
// Model selection (defaults to 'flux')
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的工作目录中(通常位于应用程序数据文件夹内)。
查找您的生成图像
- 在生成图像后,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';