Skip to main content
Glama
bendusy

Pollinations MCP Server

by bendusy

Pollinations MCP 服务器

这是一个基于Model Context Protocol (MCP)的服务器实现,用于连接Pollinations.ai服务的API接口。该服务器允许AI模型通过MCP协议调用Pollinations.ai的图像和文本生成功能。

功能特点

  • 支持通过MCP协议与Pollinations.ai服务交互

  • 提供三个主要工具:

    • generate_image: 使用Pollinations.ai生成图像并返回URL(默认无水印)

    • download_image: 下载生成的图像到本地文件

    • generate_text: 使用Pollinations.ai生成文本

  • 基于TypeScript实现,支持类型安全

  • 使用stdio传输机制,便于与AI模型集成

Related MCP server: @monsoft/mcp-fal-ai

安装

  1. 克隆仓库:

git clone https://github.com/bendusy/pollinations-mcp.git
cd pollinations-mcp
  1. 安装依赖:

npm install
  1. 构建项目:

npm run build

使用方法

作为MCP服务器运行

npm start

服务器将通过标准输入/输出(stdio)启动,等待MCP客户端连接。

在Cursor中使用(当前可能无法正常工作)

注意: 目前在Cursor中配置此服务器可能不会成功。如果您需要使用此功能,建议使用Cline(见下文)。

在Cline中使用(推荐)

Cline是一个支持MCP协议的AI终端,可以成功使用本服务器提供的图像生成功能。设置步骤如下:

  1. 安装并启动Cline

  2. 打开Cline的设置文件,通常位于:

    • Windows: %APPDATA%\Cline\config.json

    • Mac: ~/Library/Application Support/Cline/config.json

    • Linux: ~/.config/Cline/config.json

  3. 在配置文件中找到或添加mcpServers部分,然后添加以下配置:

"mcpServers": {
  "pollinations-mcp": {
    "command": "node",
    "args": [
      "完整路径/到您的/pollinations-mcp/dist/index.js"
    ],
    "disabled": false,
    "autoApprove": [
      "download_image",
      "generate_image",
      "generate_text"
    ]
  }
}

例如,Windows系统上的完整配置可能如下:

"mcpServers": {
  "pollinations-mcp": {
    "command": "node",
    "args": [
      "C:\\Users\\用户名\\路径\\到\\pollinations-mcp\\dist\\index.js"
    ],
    "disabled": false,
    "autoApprove": [
      "download_image",
      "generate_image",
      "generate_text"
    ]
  }
}
  1. 保存配置文件并重启Cline

  2. 现在您可以在Cline中使用Pollinations图像生成功能了,例如:

使用Pollinations生成图像:beautiful sunset over ocean with palm trees

与AI模型集成

本服务器设计用于与支持MCP协议的AI模型集成,使其能够生成图像。

支持的工具

generate_image

使用Pollinations.ai生成图像并返回URL。

参数:

  • prompt (必需): 图像描述提示词

  • width (可选): 图像宽度(像素),默认为1024

  • height (可选): 图像高度(像素),默认为1024

  • seed (可选): 随机种子值(用于生成一致的图像)

  • model (可选): 要使用的模型,默认为'flux'

  • nologo (可选): 设置为true可去除水印,默认为true

  • enhance (可选): 提高图像质量(应用增强滤镜),默认为false

  • safe (可选): 启用安全过滤(过滤不适内容),默认为false

  • private (可选): 设置为true可使图像私有(不在公共feed中显示),默认为false

提示词最佳实践:

  • 尽量使用英文编写提示词,Pollinations.ai对英文的理解更好

  • 保持提示词简短精确,避免过长或模糊的描述

  • 使用具体的形容词和名词,而非抽象概念

  • 例如:"beautiful sunset over ocean with palm trees"比"一张日落的图片"效果更好

download_image

下载Pollinations.ai生成的图像到本地文件。

参数:

  • url (必需): 要下载的图像URL

  • output_path (可选): 保存图像的路径(包括文件名),默认为'image.jpg'

generate_text

使用Pollinations.ai生成文本。

参数:

  • prompt (必需): 文本提示词

  • model (可选): 要使用的模型(如openai、mistral等),默认为'openai'

  • seed (可选): 随机种子值(用于生成一致的结果)

  • system (可选): 系统提示词(设置AI行为)

  • json (可选): 是否返回JSON格式的响应,默认为false

  • private (可选): 设置为true可使响应私有,默认为false

API参考

本项目使用Pollinations.ai的官方API。完整的API文档请参考:Pollinations API文档

图像生成API

基本格式:https://image.pollinations.ai/prompt/{prompt}?{参数}

示例:

https://image.pollinations.ai/prompt/beautiful%20sunset?width=1024&height=1024&nologo=true

可用的图像模型

  • flux (默认): 主流文生图模型,功能全面

  • variation: 图像变体生成

  • dreamshaper: 梦幻风格

  • anything: 动漫风格图像

  • pixart: 高质量插图风格

文本生成API

基本格式:https://text.pollinations.ai/{prompt}?{参数}

示例:

https://text.pollinations.ai/Tell%20me%20about%20artificial%20intelligence?model=openai

可用的文本模型

  • openai (默认): OpenAI模型

  • mistral: Mistral模型

  • gemini: Google Gemini模型

开发

项目结构

  • src/index.ts: 主服务器实现

  • dist/: 编译后的JavaScript文件

  • package.json: 项目配置和依赖

依赖

  • @modelcontextprotocol/sdk: MCP协议SDK

  • axios: HTTP客户端,用于下载图像

  • typescript: TypeScript编译器

许可

本项目采用ISC许可证。详情请参阅LICENSE文件。

相关链接

Available Tools

3 tools
download_imageC

下载Pollinations.ai生成的图像到本地文件

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes要下载的图像URL
output_pathNo保存图像的路径(包括文件名)image.jpg

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool downloads images to a local file, implying a write operation, but doesn't disclose behavioral traits like file system permissions, overwrite behavior, error handling, or network dependencies. This is a significant gap for a tool that modifies the local environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a download operation with no annotations and no output schema, the description is incomplete. It lacks details on what happens after download (e.g., success/failure responses, file validation), behavioral risks, and integration with sibling tools, leaving gaps for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('url' and 'output_path') with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as URL format constraints or path validation rules, resulting in the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('下载' meaning 'download') and the resource ('Pollinations.ai生成的图像' meaning 'images generated by Pollinations.ai'), specifying both the source and destination. However, it doesn't explicitly differentiate from sibling tools like 'generate_image' or 'generate_text', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'generate_image' (which likely creates images) or 'generate_text'. It mentions downloading generated images but doesn't specify prerequisites, such as needing a URL from a previous generation step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageC

使用Pollinations.ai生成图像

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes图像描述提示词
widthNo图像宽度(像素)
heightNo图像高度(像素)
seedNo随机种子值(用于生成一致的图像)
modelNo要使用的模型(如flux、variation等)flux
nologoNo设置为true可去除水印
enhanceNo提高图像质量(应用增强滤镜)
safeNo启用安全过滤(过滤不适内容)
privateNo设置为true可使图像私有

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action ('生成图像' - generate images) without mentioning important behavioral aspects like: whether this is a read-only or mutating operation, rate limits, authentication requirements, response format (e.g., returns image URL or binary data), error conditions, or processing time. For a complex image generation tool with 9 parameters, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single Chinese phrase ('使用Pollinations.ai生成图像') that directly states the tool's purpose. There's zero wasted language or unnecessary elaboration. It's appropriately sized for what it communicates, though it could benefit from additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an image generation tool with 9 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (image data, URL, etc.), doesn't provide usage examples or constraints, and offers no behavioral context. The agent would need to guess about important aspects of tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with each parameter well-documented in Chinese. The tool description adds no additional parameter information beyond what's already in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool '使用Pollinations.ai生成图像' (uses Pollinations.ai to generate images), which provides a clear verb ('生成图像' - generate images) and resource (images). However, it doesn't specify what type of images or differentiate from the sibling 'generate_text' tool beyond the obvious image vs. text distinction. The purpose is understandable but lacks specificity about the generation capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when to choose this over 'download_image' (which presumably downloads existing images) or 'generate_text' (for text generation). No context about appropriate use cases, prerequisites, or limitations is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_textC

使用Pollinations.ai生成文本

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes文本提示词
modelNo要使用的模型(如openai、mistral等)openai
seedNo随机种子值(用于生成一致的结果)
systemNo系统提示词(设置AI行为)
jsonNo是否返回JSON格式的响应
privateNo设置为true可使响应私有

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions using Pollinations.ai but doesn't describe key behaviors like rate limits, authentication needs, response format, or potential errors. For a text generation tool with no annotation coverage, this leaves significant gaps in understanding how it operates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for its purpose, making it easy to parse quickly without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a text generation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain return values, error handling, or behavioral traits, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining interactions between parameters or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '使用Pollinations.ai生成文本' states the action (generate) and resource (text) but is vague about scope and differentiation. It doesn't specify what kind of text is generated (creative, technical, etc.) or how it differs from sibling tools like generate_image, which also uses Pollinations.ai but for images. The purpose is understandable but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, limitations, or compare it to sibling tools like generate_image for image generation or download_image for downloading content. The description only states what it does, not when it's appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observeddownload_image
    • First observedgenerate_image
    • First observedgenerate_text

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: download_image handles saving generated images locally, generate_image creates images, and generate_text creates text. There is no overlap or ambiguity between these three functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (download_image, generate_image, generate_text) with no deviations in style or convention. The naming is predictable and readable throughout.

Tool Count3/5

With only 3 tools, the server feels thin for a generative AI service, potentially lacking operations like listing, updating, or deleting generated content. However, it covers core generation and download functions adequately.

Completeness3/5

The tools provide basic generation and download capabilities, but there are notable gaps: no tools for managing or querying existing generations (e.g., list, delete, update), and no text download equivalent. This limits workflow completeness.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bendusy/pollinations-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server