🎨 轮询MCP服务器
A. 模型上下文协议(MCP) 将AI代理连接到的服务器 投票.ai 用于无缝生成图像和文本。专为 n8n 支持服务器发送事件(SSE)的工作流。
](https://docker.com) ](https://nodejs.org)  
✨ 特性
- 🖼️ 图像生成 -使用Pollinations AI从文本提示中创建令人惊叹的图像
- 📝 文本生成 -使用多种AI模型(OpenAI、Claude、Mistral等)生成内容
- 🔍 模型发现 -列出并探索可用的AI模型
- 🌐 SSE支持 -与n8n的原生MCP客户端工具兼容
- 🐳 Docker就绪 -使用Docker容器轻松部署
- 🚀 生产就绪 -包括日志记录、健康检查和错误处理
- 🔒 安全 -可选的身份验证和CORS保护
- ⚡ 快速 -高效的连接管理和响应流
🎯 非常适合
- n8n自动化工作流 -增强人工智能代理的创新能力
- 内容创建管道 -具有匹配视觉效果的自动博客帖子
- 社交媒体自动化 -生成带有自定义图像的帖子
- 电子商务解决方案 -生成视觉效果的产品描述
- 营销活动 -大规模定制内容和图像
- 文档工具 -带有AI生成图表的技术文档
🚀 快速开始
🐳 Docker(推荐)
这是使服务器运行的最简单方法。
选项1:运行预构建映像(如果可用) 如果维护者提供了预构建映像(例如,在GitHub容器注册表上):
# Replace with the actual image path if provided
docker run -p 3000:3000 --name pollinations-mcp-server-container ghcr.io/jpbester/pollinations-mcp-server选项2:在本地构建和运行
# 1. Clone the repository (if you haven't already)
git clone https://github.com/jpbester/pollinations-mcp-server.git
cd pollinations-mcp-server
# 2. Build the Docker image
# This creates an image named 'pollinations-mcp-server'
docker build -t pollinations-mcp-server .
# 3. Run the Docker container
# This starts the server and maps port 3000 on your machine to port 3000 in the container.
docker run -p 3000:3000 --name pollinations-mcp-server-container pollinations-mcp-server访问服务器: 运行后,服务器将在以下时间可用 http://localhost:3000.
- 测试页面:
http://localhost:3000/test-sse - SSE端点:
http://localhost:3000/sse
有用的Docker命令:
- 要在分离(背景)模式下运行,请添加
-d旗帜到docker run:
docker run -d -p 3000:3000 --name pollinations-mcp-server-container pollinations-mcp-server- 要查看日志(特别是在分离运行时):
docker logs pollinations-mcp-server-container- 要停止容器:
docker stop pollinations-mcp-server-container- 要移除容器(停止后):
docker rm pollinations-mcp-server-container📦 地方发展
# Clone the repository
git clone https://github.com/jpbester/pollinations-mcp-server.git
cd pollinations-mcp-server
# Install dependencies
npm install
# Start the server
npm start
# For development with auto-reload
npm run dev☁️ 部署到云端
铁路:
npm install -g @railway/cli
railway login
railway init
railway up渲染/Heroku/EasyPanel:
- 连接您的GitHub存储库
- 设置构建命令:
npm install - 设置启动命令:
npm start - 部署! ✨
🔧 n8n集成
步骤1:将节点添加到工作流中
- AI 代理 节点(OpenAI Agent、Anthropic Agent等)
- MCP客户端工具 节点
步骤2:配置MCP客户端工具
- SSE端点:
https://your-domain.com/sse - 认证:无(或Bearer,如果设置了API_KEY)
- 要包含的工具:全部
步骤3:配置AI代理
将此系统提示添加到您的AI代理中:
You are an AI assistant with access to powerful content generation tools:
- Use generate_image when users ask for images, artwork, or visual content
- Use generate_text when users need written content, stories, or text generation
- Use list_models to show available AI models
Always provide helpful context about what you're generating and how to use the results.步骤4:测试您的设置
问你的AI代理一些事情,比如:
- *“在日落时生成一个未来城市的图像”*
- *“写一篇关于太空探索的短篇小说”*
- *“有哪些可用的图像生成模型?”*
🛠️ 可用工具
🖼️ generate_image
根据具有可自定义参数的文本提示创建图像。
参数:
prompt(必填)-图像的文字描述width(可选)-图像宽度(像素)(默认值:1024)height(可选)-图像高度(像素)(默认值:1024)model(可选)-发电型号:flux,turbo,flux-realism,flux-cablyai,any-darkseed(可选)-随机种子以获得可重复的结果
示例结果:
{
"tool": "generate_image",
"result": {
"success": true,
"base64": "iVBORw0KGgoAAAANSUhEUgAA...",
"url": "https://image.pollinations.ai/prompt/...",
"contentType": "image/png"
},
"metadata": {
"prompt": "A futuristic city at sunset",
"timestamp": "2024-01-01T12:00:00.000Z"
}
}📝 generate_text
使用各种AI语言模型生成文本内容。
参数:
prompt(必填)-用于生成内容的文本提示model(可选)-语言模型:openai,mistral,claude,llama,gemini
示例结果:
{
"tool": "generate_text",
"result": {
"success": true,
"content": "Generated text content..."
},
"metadata": {
"prompt": "Write a story about AI",
"model": "openai",
"timestamp": "2024-01-01T12:00:00.000Z"
}
}🔍 list_models
发现所有可用的图像和文本生成模型。
示例结果:
{
"tool": "list_models",
"result": {
"image": ["flux", "turbo", "flux-realism", "flux-cablyai", "any-dark"],
"text": ["openai", "mistral", "claude", "llama", "gemini"]
}
}📡 API终点
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查和服务器统计信息 |
/sse | MCP协议的GET | SSE端点(n8n) |
/message | POST | 发送MCP消息 |
/mcp | GET/POST | 统一MCP端点 |
/api/test | GET | 简单测试端点 |
⚙️ 配置
环境变量
# Server Configuration
NODE_ENV=production # Environment mode
PORT=3000 # Server port
LOG_LEVEL=info # Logging level (debug, info, warn, error)
# CORS Configuration
ALLOWED_ORIGINS=* # Allowed CORS origins (comma-separated)
# Optional Authentication
API_KEY=your-secret-key # Enable API key authentication
# Rate Limiting (optional)
RATE_LIMIT_WINDOW_MS=900000 # Rate limit window (15 min)
RATE_LIMIT_MAX_REQUESTS=100 # Max requests per windowDocker环境
docker run -p 3000:3000 \
-e NODE_ENV=production \
-e LOG_LEVEL=info \
-e ALLOWED_ORIGINS=https://your-n8n-instance.com \
pollinations-mcp🔒 安全
可选身份验证
通过设置 API_KEY 环境变量:
export API_KEY=your-secure-api-key然后配置n8n MCP客户端:
- 认证:持票人
- 代币:
your-secure-api-key
CORS保护
通过设置限制来源 ALLOWED_ORIGINS:
export ALLOWED_ORIGINS=https://your-n8n-instance.com,https://your-domain.com🧪 测试
健康检查
curl https://your-domain.com/healthSSE连接测试
curl -N -H "Accept: text/event-stream" https://your-domain.com/sse手动工具测试
curl -X POST https://your-domain.com/message \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "generate_image",
"arguments": {
"prompt": "A beautiful sunset",
"width": 512,
"height": 512
}
}
}'🐛 故障排除
常见问题
n8n无法连接到本地主机:
- 部署到公共URL(Railway、Render、EasyPanel)
- 使用ngrok进行本地测试:
ngrok http 3000
连接超时:
- 检查服务器运行状况:
curl https://your-domain.com/health - 验证SSE端点:
curl -N https://your-domain.com/sse
n8n中未显示的工具:
- 确保MCP客户端已连接到AI代理
- 将“要包含的工具”设置为“全部”
- 检查服务器日志是否存在连接问题
CORS错误:
- 集
ALLOWED_ORIGINS环境变量 - 确保包含您的n8n域名
调试模式
LOG_LEVEL=debug npm start📊 监控
健康端点响应
{
"status": "healthy",
"timestamp": "2024-01-01T12:00:00.000Z",
"activeConnections": 2,
"uptime": 3600,
"version": "1.0.0"
}日志
服务器为以下内容提供结构化日志记录:
- SSE连接和断开
- MCP消息交换
- 工具调用和响应
- 错误和警告
🤝 贡献
我们欢迎捐款!以下是如何开始:
- 分叉 存储库
- 创建 特征分支:
git checkout -b feature/amazing-feature - 提交 您的更改:
git commit -m 'Add amazing feature' - 推 到分行:
git push origin feature/amazing-feature - 打开 拉取请求
开发设置
git clone https://github.com/jpbester/pollinations-mcp-server.git
cd pollinations-mcp-server
npm install
npm run dev📋 例子
n8n工作流示例
1.带图片的博客帖子生成器
- 触发器:Webhook或日程表
- AI Agent:“用英雄形象创建一篇关于\[主题\]的博客文章”
- 工具:
generate_text→generate_image - 输出:用匹配的视觉效果完成博客文章
2.社交媒体内容创作者
- 触发器:新建RSS项目
- AI代理:“为这篇文章创建一个带有图片的社交帖子”
- 工具:
generate_text→generate_image - 输出:发布文本+图像,为社交平台做好准备
3.产品描述生成器
- 触发器:数据库中的新产品
- AI Agent:“创建描述和产品形象”
- 工具:
generate_text→generate_image - 输出:营销就绪的产品内容
🌟 用例
- 内容营销 -带有自定义图像的自动博客帖子
- 社交媒体管理 -生成具有匹配视觉效果的帖子
- 电子商务 -产品描述和生活方式图片
- 文档 -带有生成图表的技术指南
- 创意项目 -用人物插图生成故事
- 演示 -带有自定义图形的幻灯片内容
- 电子邮件活动 -带有主题图片的个性化内容
🔗 相关项目
- 模型上下文协议 -MCP官方规范
- 投票.ai -免费AI内容生成
- n8n -工作流自动化平台
- n8n MCP客户端文档
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
- 文档:查看此README和内联代码注释
- 问题:
- 讨论:
______________________________________________________________________
由以下材料制成❤️ 面向人工智能自动化社区
⭐ 标记此回购 如果它能帮助你的项目!
