MCPollinations Multimodal MCP Server

by pinkpixel-dev
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Used as the default model for image generation within the MCP server, enabling high-quality image creation from text prompts.

  • Runtime environment required to run the MCP server, with version 14.0.0 or higher needed (16.0.0+ recommended for best performance).

MCPollinations 多模式 MCP 服务器

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

特征

  • 根据文本提示生成图像 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自动为 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) 的应用程序集成:

  1. 生成 MCP 配置文件:
# If installed globally npx @pinkpixel/mcpollinations generate-config # Or run directly node /path/to/MCPollinations/generate-mcp-config.js
  1. 按照提示自定义配置或使用默认配置。
    • 设置自定义输出和临时目录(为了便于移植,默认为相对路径)
    • 配置图像生成的默认参数(包含可用模型、尺寸等的列表)
    • 配置文本生成的默认参数(包含可用模型列表)
    • 配置音频生成(语音)的默认参数
    • 指定应允许哪些工具
  2. 将生成的mcp.json文件复制到应用程序的 MCP 设置 .json 文件中。
  3. 重新启动您的应用程序。

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

“使用 MCPollinations 生成海上日落图像”

故障排除

“AbortController 未定义”错误

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

ReferenceError: AbortController is not defined

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

  1. 更新 Node.js (推荐):
    • 更新至 Node.js 16.0.0 或更高版本
  2. 使用全局安装
    • 更新软件包至最新版本:GXP7
  3. 手动安装 AbortController
    • 如果由于某种原因 polyfill 不起作用:GXP8

检查您的 Node.js 版本

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

node --version

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

可用工具

MCP 服务器提供以下工具:

  1. generateImageUrl - 根据文本提示生成图像 URL
  2. generateImage - 生成图像,将其作为 base64 编码数据返回,并默认将其保存到文件中(PNG 格式)
  3. respondAudio - 根据文本提示生成音频响应(可自定义语音参数)
  4. respondText - 使用文本模型(可定制的模型参数)以文本形式响应提示
  5. listImageModels - 列出可用于图像生成的模型
  6. listTextModels - 列出可用于文本生成的模型
  7. 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 服务器时:

  1. 图像保存在 MCP 服务器运行的当前工作目录中,而不是安装 Claude 或客户端应用程序的目录中。
  2. 如果您从特定目录手动启动 MCP 服务器,图像将默认保存在那里。
  3. 如果 Claude Desktop 自动启动 MCP 服务器,图像将保存在 Claude Desktop 的工作目录中(通常在应用程序数据文件夹中)。

查找生成的图像

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

唯一文件名

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

  1. 默认文件名包括:
    • 提示的净化版本(前 20 个字符)
    • 时间戳
    • 随机后缀
  2. 自定义文件名也受到保护:
    • 如果您指定文件名并且该名称的文件已经存在,则会自动添加数字后缀
    • 例如: sunset.pngsunset_1.pngsunset_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';
ID: 8oz8ip3g3o