
Pinterest MCP Server
Search for images and retrieve information from Pinterest.
Installation
Installing for Claude Desktop
Option 1: One-Command Installation
npx mcpbar@latest install terryso/mcp-pinterest -c claude
This command will automatically install and configure the Pinterest MCP Server MCP server for your selected client.
Option 2: Manual Configuration
Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
After opening your configuration file, copy and paste this configuration:
View JSON configuration
{
"mcpServers": {
"Pinterest MCP Server": {
"command": "npx",
"args": [
"-y",
"pinterest-mcp-server"
],
"env": {}
}
}
}
Pinterest MCP Server
A Model Context Protocol (MCP) server for Pinterest image search and information retrieval.
Features
- Search for images on Pinterest by keywords
- Retrieve detailed information about Pinterest images
- Seamless integration with Cursor IDE through MCP
- Support for headless browser mode
- Limit control for search results
- Search and download images from Pinterest
Prerequisites
- Node.js (v18 or higher)
- Cursor IDE for MCP integration
Installation
Using NPX (Recommended)
The easiest way to use Pinterest MCP Server is via npx:
npx pinterest-mcp-server
You can configure the server with command-line options:
# 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}"
Global Installation
To install the package globally and use it directly from the command line:
npm install -g pinterest-mcp-server
After installation, you can run the server with:
pinterest-mcp-server
With the same command line options as the NPX version:
pinterest-mcp-server --downloadDir /path/to/downloads --filenameTemplate "pinterest_{id}"
Installing via Smithery
To install mcp-pinterest for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-pinterest --client claude
Manual Installation
-
Clone this repository:
git clone https://github.com/terryso/mcp-pinterest.git pinterest-mcp-server cd pinterest-mcp-server
-
Install dependencies:
npm install
-
Build the server:
npm run build
-
Run the server:
npm start
Configuring as MCP Server in Cursor
-
Open Cursor IDE
-
Go to Settings (⚙️) > Extensions > MCP
-
Click "Add Server"
-
Enter the following details:
- Name: Pinterest MCP
- Type: Command
- Command:
node
- Args:
["/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"] }
-
Click "Save"
Alternative: Using NPX for Cursor Configuration
You can also configure Cursor to use the npx version of the server:
- Open Cursor IDE
- Go to Settings (⚙️) > Extensions > MCP
- Click "Add Server"
- Enter the following details:
- Name: Pinterest MCP
- Type: Command
- Command:
npx
- Args:
["pinterest-mcp-server"]
- Click "Save"
Complete Configuration Example with Environment Variables
For the most flexibility, you can configure the server with environment variables in your Cursor MCP configuration:
"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"]
}
This configuration:
- Uses npx to run the server
- Sets a custom download directory on your desktop
- Uses a custom filename template with both image ID and timestamp
- Configures a proxy server for users in regions where Pinterest might be blocked
Add this to your ~/.cursor/mcp.json
file or set up through the Cursor IDE interface.
Available MCP Functions
The server exposes the following MCP functions:
-
pinterest_search
: Search for images on Pinterest by keyword- Parameters:
keyword
: Search term (required)limit
: Number of images to return (default: 10)headless
: Whether to use headless browser mode (default: true)
- Parameters:
-
pinterest_get_image_info
: Get detailed information about a Pinterest image- Parameters:
image_url
: URL of the Pinterest image (required)
- Parameters:
-
pinterest_search_and_download
: Search and download images from Pinterest- Parameters:
keyword
: Search term (required)limit
: Number of images to return (default: 10)headless
: Whether to use headless browser mode (default: true)
- Parameters:
Example Usage in Cursor
Once configured, you can use the Pinterest MCP functions directly in Cursor's AI chat:
Search for robot images on Pinterest
The AI will use the MCP server to search Pinterest and display the results.
Example Screenshot
Screenshot showing a search for 20 images of 三上悠亚 with all images successfully downloaded.
Development
Project Structure
pinterest-mcp-server.ts
: Main server filedist/pinterest-mcp-server.js
: Built JavaScript file for productionpackage.json
: Project configuration and dependencies
Adding New Features
To add new MCP functions:
- Modify
pinterest-mcp-server.ts
- Register new functions using the MCP SDK
- Implement the function logic
- Rebuild with
npm run build
Troubleshooting
- If the server fails to start, check if the port is already in use
- Ensure all dependencies are correctly installed with
npm install
- Make sure TypeScript is properly configured with a
tsconfig.json
file - If you encounter build errors, try running
npm install -D typescript @types/node
- Verify network connectivity for Pinterest access
License
This project is licensed under the MIT License - see the LICENSE file for details.
Configuration Options
Command Line Options (NPX Mode)
When using the server via npx, you can configure it using the following command line options:
-
--downloadDir
: Specifies the root directory for downloading imagesnpx pinterest-mcp-server --downloadDir /path/to/downloads
-
--filenameTemplate
: Specifies the filename template for downloaded imagesnpx pinterest-mcp-server --filenameTemplate "pin_{imageId}_{timestamp}"
-
--port
: Specifies the port for the server to listen on (default: 3000)npx pinterest-mcp-server --port 8080
-
--proxyServer
: Specifies the proxy server to use for connecting to Pinterestnpx pinterest-mcp-server --proxyServer "http://127.0.0.1:7890"
You can combine multiple options:
npx pinterest-mcp-server --downloadDir ./images --filenameTemplate "pinterest_{id}" --port 8080 --proxyServer "http://127.0.0.1:7890"
Environment Variables
The server also supports the following environment variables for configuration:
MCP_PINTEREST_DOWNLOAD_DIR
: Specifies the root directory for downloading images. If not set, the default is the../downloads
directory relative to the server script.MCP_PINTEREST_FILENAME_TEMPLATE
: Specifies the filename template for downloaded images. If not set, the default ispinterest_{imageId}.{fileExtension}
.MCP_PINTEREST_PROXY_SERVER
: Specifies the proxy server to use for connecting to Pinterest. Format should beprotocol://host:port
, for examplehttp://127.0.0.1:7890
orsocks5://127.0.0.1:1080
.
These environment variables can be set in several ways:
- Directly in your terminal (as shown in the examples below)
- In your Cursor MCP configuration through the
env
field (see Complete Configuration Example) - In a
.env
file in the project root directory - Through command line options with npx (as shown in the Command Line Options section)
Usage
Setting Download Directory
- Using npx with command line options:
npx pinterest-mcp-server --downloadDir /path/to/your/download/directory
- Set the download directory using an environment variable:
# 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
- If the environment variable is not set, the server will use the default download directory (relative to the server script's
../downloads
).
Setting Filename Template
- Using npx with command line options:
npx pinterest-mcp-server --filenameTemplate "pin_{imageId}_{timestamp}.{fileExtension}"
- Using an environment variable:
# 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
The template supports the following variables:
{imageId}
: The unique ID of the Pinterest image{fileExtension}
: The file extension (e.g., jpg, png){timestamp}
: Current UTC timestamp in YYYYMMDDHHMMSS format{index}
: The index number when downloading multiple images (starts from 1)
Example templates:
pinterest_{imageId}.{fileExtension}
(default)pin_{timestamp}_{imageId}.{fileExtension}
pinterest_image_{index}_{imageId}.{fileExtension}
{timestamp}_pinterest.{fileExtension}
If the template is invalid (e.g., contains unsupported variables or has mismatched brackets), the server will log a warning and use the default template.
Setting Proxy Server
If you need to use a proxy to access Pinterest (especially in regions where Pinterest might be restricted), you can set the proxy configuration:
- Using npx with command line options:
npx pinterest-mcp-server --proxyServer "http://127.0.0.1:7890"
- Using an environment variable:
# 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
Supported proxy protocols:
- HTTP:
http://host:port
- HTTPS:
https://host:port
- SOCKS4:
socks4://host:port
- SOCKS5:
socks5://host:port
The proxy configuration affects both the browser used for searching and the image downloading process.
Notes
- The server will verify the existence and writability of the download directory when starting. If the directory does not exist, it will attempt to create it; if it cannot be created or written to, the server will exit.
- Clients should not specify download paths or filename templates through parameters when calling download-related tools, as all downloads will use the server's environment variable configuration or defaults.
- The server automatically sanitizes filenames by replacing illegal characters (such as
/
,\
,:
,*
,?
,"
,<
,>
,|
) with underscores.
Interface Description
The server provides the following MCP tools:
pinterest_search
: Search for Pinterest images by keywordpinterest_get_image_info
: Get detailed information about a Pinterest imagepinterest_search_and_download
: Search and download Pinterest images
For detailed interface parameter references, please refer to the MCP tool definitions.
Stars
12Forks
6Last commit
2 months agoRepository age
4 monthsLicense
MIT
Auto-fetched from GitHub .
MCP servers similar to Pinterest MCP Server:

Stars
Forks
Last commit

Stars
Forks
Last commit

Stars
Forks
Last commit