Parse, validate, classify, and normalize Pinterest URLs locally without network requests.
An MCP server for parsing, validating, classifying, and normalizing Pinterest URLs. It supports local stdio and public Streamable HTTP. The tools make no outbound network requests and do not download media.
| Tool | Purpose |
|---|---|
parse_pinterest_url | Return the URL kind, canonical URL, host, and type-specific identifiers. |
normalize_pinterest_url | Convert a supported URL to canonical form and remove tracking parameters. |
is_pinterest_url | Check whether a value is a supported Pinterest URL. |
Supported URL kinds include Pin, pin.it, profile, board, and Ideas URLs across Pinterest country domains.
Node.js 18 or newer is required.
npx -y savepinner-mcp
Add the server to an MCP client that supports local stdio servers:
{
"mcpServers": {
"savepinner": {
"command": "npx",
"args": ["-y", "savepinner-mcp"]
}
}
}
Connect any Streamable HTTP client to the public endpoint:
https://savepinner-pinterest-url-mcp.chenxuanshimo.workers.dev/mcp
The endpoint is read-only and does not require authentication.
The public Pinterest URL validation guide explains the validation and normalization boundaries used by the tools.
Build and run the server as a local stdio container:
docker build -t savepinner-mcp .
docker run --rm -i savepinner-mcp
The runtime image executes as the unprivileged node user and does not require secrets, volumes, or network access.
Calling parse_pinterest_url with:
https://de.pinterest.com/pin/987654321/?utm_source=share
returns:
{
"kind": "pin",
"originalUrl": "https://de.pinterest.com/pin/987654321/?utm_source=share",
"normalizedUrl": "https://www.pinterest.com/pin/987654321/",
"host": "de.pinterest.com",
"pinId": "987654321"
}
The URL parser is provided by pinterest-url-normalizer.
This project is maintained by the team behind the Pinterest image downloader, a browser tool for inspecting media exposed by public Pinterest Pin URLs.
Pinterest is a trademark of Pinterest, Inc. This project is independent and is not affiliated with or endorsed by Pinterest.
npm install
npm test
npm run worker:check
MIT
Use the connection diagnostic guide to check transport, tool discovery, normalization and deceptive-host rejection before investigating media availability.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y savepinner-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-jiankn-savepinner": {
"command": "npx",
"args": [
"-y",
"savepinner-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceSavePinner Pinterest URL Tools works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.