mcpField
M
Mcp Pinterest

Mcp Pinterest

本地服务
github.com/terryso社交媒体4769 周前更新

关于 Mcp Pinterest

Pinterest MCP Server 是一个 MCP 服务,用于按关键词搜索 Pinterest 图片、获取图片详细信息并下载图片。适合需要收集图片素材的 Cursor 用户,支持自定义下载目录、文件名模板和代理。

主要功能

  1. 01按关键词搜索 Pinterest 图片
  2. 02获取图片详细信息
  3. 03搜索并批量下载图片
  4. 04自定义下载目录与文件名模板
  5. 05支持 HTTP、HTTPS、SOCKS 代理
  6. 06支持无头浏览器模式

适用场景

  1. 01在 Cursor 对话中搜索参考图片
  2. 02批量下载图片素材到本地目录
  3. 03在需要代理的网络环境中访问 Pinterest

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 pinterest_search、pinterest_get_image_info 和 pinterest_search_and_download 三个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pinterest": {
"command": "npx",
"args": [
"-y",
"pinterest-mcp-server"
],
"env": {
"MCP_PINTEREST_DOWNLOAD_DIR": "<MCP_PINTEREST_DOWNLOAD_DIR>",
"MCP_PINTEREST_FILENAME_TEMPLATE": "<MCP_PINTEREST_FILENAME_TEMPLATE>"
}
}
}
}
启动命令npx -y pinterest-mcp-server
需要配置的环境变量
MCP_PINTEREST_DOWNLOAD_DIR
MCP_PINTEREST_FILENAME_TEMPLATE

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpinterest-mcp-server

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
headlessboolean否是否使用无头浏览器模式(默认:true)
keywordstring是搜索关键词
limitinteger否返回的图片数量(默认:10)

详细介绍

MseeP.ai 安全评估徽章

Pinterest MCP 服务

npm 版本 NPM 下载量 smithery 徽章 已在 MseeP 验证

用于 Pinterest 图片搜索和信息检索的模型上下文协议(MCP)服务。

功能

  • 按关键词搜索 Pinterest 图片
  • 获取 Pinterest 图片的详细信息
  • 通过 MCP 与 Cursor IDE 无缝集成
  • 支持无头浏览器模式
  • 可控制搜索结果数量
  • 搜索并下载 Pinterest 图片

前提条件

安装

使用 NPX(推荐)

使用 Pinterest MCP Server 最简单的方式是通过 npx:

npx pinterest-mcp-server

可以使用命令行选项配置服务:

# Specify download directory
npx pinterest-mcp-server --downloadDir /path/to/downloads

# Specify filename template
npx pinterest-mcp-server --filenameTemplate "pinterest_{id}"

# Specify both options
npx pinterest-mcp-server --downloadDir ./images --filenameTemplate "pinterest_{id}"
全局安装

如需全局安装软件包并直接从命令行使用:

npm install -g pinterest-mcp-server

安装后,可以通过以下命令运行服务:

pinterest-mcp-server

使用与 NPX 版本相同的命令行选项:

pinterest-mcp-server --downloadDir /path/to/downloads --filenameTemplate "pinterest_{id}"
通过 Smithery 安装

如需通过 Smithery 自动为 Claude Desktop 安装 mcp-pinterest:

npx -y @smithery/cli install mcp-pinterest --client claude
手动安装
  1. 克隆此仓库:

    git clone https://github.com/terryso/mcp-pinterest.git pinterest-mcp-server
    cd pinterest-mcp-server
    
  2. 安装依赖:

    npm install
    
  3. 构建服务:

    npm run build
    
  4. 运行服务:

    npm start
    

在 Cursor 中配置为 MCP 服务

  1. 打开 Cursor IDE

  2. 前往 Settings(⚙️)> Extensions > MCP

  3. 点击“Add Server”

  4. 输入以下详细信息:

    • 名称:Pinterest MCP
    • 类型:Command
    • 命令:node
    • 参数:["/path/to/mcp-pinterest/dist/pinterest-mcp-server.js"]

    或者直接编辑 Cursor 的 MCP 配置文件(通常位于 ~/.cursor/mcp.json),添加以下内容:

    "pinterest": {
      "command": "node",
      "args": ["/path/to/mcp-pinterest/dist/pinterest-mcp-server.js"]
    }
    
  5. 点击“Save”

替代方案:通过 NPX 配置 Cursor

也可以将 Cursor 配置为使用此服务的 npx 版本:

  1. 打开 Cursor IDE
  2. 前往 Settings(⚙️)> Extensions > MCP
  3. 点击“Add Server”
  4. 输入以下详细信息:
    • 名称:Pinterest MCP
    • 类型:Command
    • 命令:npx
    • 参数:["pinterest-mcp-server"]
  5. 点击“Save”
包含环境变量的完整配置示例

如需获得最大的灵活性,可以在 Cursor MCP 配置中通过环境变量配置服务:

"pinterest": {
  "command": "npx",
  "env": {
    "MCP_PINTEREST_DOWNLOAD_DIR": "/Users/xxx/Desktop/Images",
    "MCP_PINTEREST_FILENAME_TEMPLATE": "pin_{imageId}_{timestamp}.{fileExtension}",
    "MCP_PINTEREST_PROXY_SERVER": "http://127.0.0.1:7890"
  },
  "args": ["pinterest-mcp-server"]
}

此配置:

  • 使用 npx 运行服务
  • 在桌面上设置自定义下载目录
  • 使用同时包含图片 ID 和时间戳的自定义文件名模板
  • 为 Pinterest 可能遭到屏蔽的地区用户配置代理服务

将此配置添加到 ~/.cursor/mcp.json 文件中,或通过 Cursor IDE 界面进行设置。

可用的 MCP 函数

此服务提供以下 MCP 函数:

  • pinterest_search:按关键词搜索 Pinterest 图片

    • 参数:
      • keyword:搜索词(必填)
      • limit:要返回的图片数量(默认值:10)
      • headless:是否使用无头浏览器模式(默认值:true)
  • pinterest_get_image_info:获取 Pinterest 图片的详细信息

    • 参数:
      • image_url:Pinterest 图片的 URL(必填)
  • pinterest_search_and_download:搜索并下载 Pinterest 图片

    • 参数:
      • keyword:搜索词(必填)
      • limit:要返回的图片数量(默认值:10)
      • headless:是否使用无头浏览器模式(默认值:true)

在 Cursor 中的使用示例

配置完成后,你可以直接在 Cursor 的 AI 聊天中使用 Pinterest MCP 函数:

Search for robot images on Pinterest

AI 将使用 MCP 服务搜索 Pinterest 并显示结果。

示例截图

Pinterest 搜索示例

截图显示搜索 20 张三上悠亚的图片,所有图片均已成功下载。

开发

项目结构
  • pinterest-mcp-server.ts:主服务文件
  • dist/pinterest-mcp-server.js:用于生产环境的构建后 JavaScript 文件
  • package.json:项目配置和依赖项
添加新功能

如需添加新的 MCP 函数:

  1. 修改 pinterest-mcp-server.ts
  2. 使用 MCP SDK 注册新函数
  3. 实现函数逻辑
  4. 使用 npm run build 重新构建

故障排除

  • 如果服务无法启动,请检查端口是否已被占用
  • 确保使用 npm install 正确安装了所有依赖项
  • 确保使用 tsconfig.json 文件正确配置了 TypeScript
  • 如果遇到构建错误,请尝试运行 npm install -D typescript @types/node
  • 确认网络连接正常,以便访问 Pinterest

许可证

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

配置选项

命令行选项(NPX 模式)

通过 npx 使用服务时,可以使用以下命令行选项进行配置:

  • --downloadDir:指定下载图片的根目录

    npx pinterest-mcp-server --downloadDir /path/to/downloads
    
  • --filenameTemplate:指定下载图片的文件名模板

    npx pinterest-mcp-server --filenameTemplate "pin_{imageId}_{timestamp}"
    
  • --port:指定服务监听的端口(默认值:3000)

    npx pinterest-mcp-server --port 8080
    
  • --proxyServer:指定用于连接 Pinterest 的代理服务

    npx pinterest-mcp-server --proxyServer "http://127.0.0.1:7890"
    

你可以组合使用多个选项:

npx pinterest-mcp-server --downloadDir ./images --filenameTemplate "pinterest_{id}" --port 8080 --proxyServer "http://127.0.0.1:7890"
环境变量

服务还支持使用以下环境变量进行配置:

  • MCP_PINTEREST_DOWNLOAD_DIR:指定下载图片的根目录。如果未设置,默认使用相对于服务脚本的 ../downloads 目录。
  • MCP_PINTEREST_FILENAME_TEMPLATE:指定下载图片的文件名模板。如果未设置,默认值为 pinterest_{imageId}.{fileExtension}。
  • MCP_PINTEREST_PROXY_SERVER:指定用于连接 Pinterest 的代理服务。格式应为 protocol://host:port,例如 http://127.0.0.1:7890 或 socks5://127.0.0.1:1080。

这些环境变量可以通过以下几种方式设置:

  1. 直接在终端中设置(如以下示例所示)
  2. 在 Cursor MCP 配置中通过 env 字段设置(参见完整配置示例)
  3. 在项目根目录下的 .env 文件中设置
  4. 通过 npx 命令行选项设置(如命令行选项部分所示)
用法
设置下载目录
  1. 使用 npx 和命令行选项:
npx pinterest-mcp-server --downloadDir /path/to/your/download/directory
  1. 使用环境变量设置下载目录:
# Linux/macOS
export MCP_PINTEREST_DOWNLOAD_DIR=/path/to/your/download/directory
npx pinterest-mcp-server

# Windows (CMD)
set MCP_PINTEREST_DOWNLOAD_DIR=C:\path\to\your\download\directory
npx pinterest-mcp-server

# Windows (PowerShell)
$env:MCP_PINTEREST_DOWNLOAD_DIR="C:\path\to\your\download\directory"
npx pinterest-mcp-server
  1. 如果未设置环境变量,服务将使用默认下载目录(相对于服务脚本的 ../downloads)。
设置文件名模板
  1. 使用带命令行选项的 npx:
npx pinterest-mcp-server --filenameTemplate "pin_{imageId}_{timestamp}.{fileExtension}"
  1. 使用环境变量:
# Linux/macOS
export MCP_PINTEREST_FILENAME_TEMPLATE="pin_{imageId}_{timestamp}.{fileExtension}"
npx pinterest-mcp-server

# Windows (CMD)
set MCP_PINTEREST_FILENAME_TEMPLATE="pin_{imageId}_{timestamp}.{fileExtension}"
npx pinterest-mcp-server

# Windows (PowerShell)
$env:MCP_PINTEREST_FILENAME_TEMPLATE="pin_{imageId}_{timestamp}.{fileExtension}"
npx pinterest-mcp-server

模板支持以下变量:

  • {imageId}:Pinterest 图片的唯一 ID
  • {fileExtension}:文件扩展名(例如,jpg、png)
  • {timestamp}:当前 UTC 时间戳,格式为 YYYYMMDDHHMMSS
  • {index}:下载多张图片时的索引号(从 1 开始)

模板示例:

  • pinterest_{imageId}.{fileExtension}(默认)
  • pin_{timestamp}_{imageId}.{fileExtension}
  • pinterest_image_{index}_{imageId}.{fileExtension}
  • {timestamp}_pinterest.{fileExtension}

如果模板无效(例如,包含不支持的变量或括号不匹配),服务将记录警告并使用默认模板。

设置代理服务器

如果需要使用代理访问 Pinterest(尤其是在 Pinterest 可能受限的地区),可以设置代理配置:

  1. 使用带命令行选项的 npx:
npx pinterest-mcp-server --proxyServer "http://127.0.0.1:7890"
  1. 使用环境变量:
# Linux/macOS
export MCP_PINTEREST_PROXY_SERVER="http://127.0.0.1:7890"
npx pinterest-mcp-server

# Windows (CMD)
set MCP_PINTEREST_PROXY_SERVER=http://127.0.0.1:7890
npx pinterest-mcp-server

# Windows (PowerShell)
$env:MCP_PINTEREST_PROXY_SERVER="http://127.0.0.1:7890"
npx pinterest-mcp-server

支持的代理协议:

  • HTTP:http://host:port
  • HTTPS:https://host:port
  • SOCKS4:socks4://host:port
  • SOCKS5:socks5://host:port

代理配置会影响用于搜索的浏览器和图片下载过程。

注意事项
  • 服务启动时会验证下载目录是否存在且可写。如果目录不存在,服务会尝试创建;如果无法创建或写入,服务将退出。
  • 调用与下载相关的工具时,客户端不应通过参数指定下载路径或文件名模板,因为所有下载都将使用服务的环境变量配置或默认值。
  • 服务会自动清理文件名,将非法字符(例如 /、\、:、*、?、"、<、>、|)替换为下划线。
接口说明

服务提供以下 MCP 工具:

  1. pinterest_search:按关键词搜索 Pinterest 图片
  2. pinterest_get_image_info:获取 Pinterest 图片的详细信息
  3. pinterest_search_and_download:搜索并下载 Pinterest 图片

有关接口参数的详细参考,请参阅 MCP 工具定义。

⭐ Star 历史

Star History Chart

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。