pinterest-mcp
pinterest-mcp
A guarded remote MCP bridge for publishing original Pinterest Pins without living in the Pinterest UI.
Current status
v0.1 implements the Pinterest API + MCP safety core. It is designed for Amy/LabDojo's own Pinterest business account and defaults to dry-run.
MCP tools
pinterest_status— 安全性/設定状態を読み取るlist_boards— ボードを読み取るget_pin— Pin の直接読み戻しpreview_pin— 検証と重複チェックを行い、書き込みは一切行わないpublish_pin—liveモードでのみ画像 Pin を1件作成するpublish_batch— 順次実行の制限付きバッチで、最大10件の Pincreate_board—liveモードでのみボードを1件作成する
There are deliberately no update or delete tools in v0.1.
Related MCP server: Andrew Social Bridge
Safety contract
PINTEREST_WRITE_MODE=dry-runがデフォルトです。リモート MCP エンドポイントは
MCP_BRIDGE_TOKENベアラー認証を必要とします。Pin の宛先は
PINTEREST_ALLOWED_LINK_HOSTS(デフォルトでは Etsy)に制限されます。Pin 画像は HTTPS を使用する必要があります。
API 呼び出しの前に Pinterest のフィールド制限が適用されます。タイトル 100、説明 800、代替テキスト 500、リンク 2048 文字です。
作成前に、ブリッジは対象ボードに同じ正規化されたタイトル + 宛先リンクを持つ既存の Pin がないかを確認します。
作成後、ブリッジは返された Pin ID を読み戻し、ボード、タイトル、宛先を検証します。
バッチ書き込みは順次実行され、最大 10 件に制限されます。
シークレットを Git、Notion、Figma、Drive ドキュメント、チャットの記録に置くべきではありません。
Authentication
このブリッジはアプリ所有者自身のアカウントを自動化するため、MVP は Pinterest の Client Credentials を使用します。デプロイの環境変数には、アプリ ID とアプリシークレットのみを保存してください。この許可タイプでは Pinterest が 2 要素認証を要求します。
リクエストするスコープ:
boards:readboards:writepins:readpins:write
サーバーは必要に応じてアクセストークンを発行してキャッシュします。長期間有効なアクセストークンがコミットされることはありません。
Pinterest developer prerequisites
Pinterest ビジネスアカウントを使用し、メールを確認します。
アカウント/アプリ所有者に対して 2FA を有効にします。
Pinterest 開発者アプリを登録し、API アクセスをリクエストします。
トライアルアクセスでは Pin の作成を試せますが、作成した Pin は作成者にのみ表示されます。標準アクセスが公開自動化の本番ターゲットです。
App ID と App Secret はデプロイのシークレットにのみコピーします。
Environment
.env.example をコピーして設定します:
PINTEREST_APP_ID=...
PINTEREST_APP_SECRET=...
PINTEREST_WRITE_MODE=dry-run
PINTEREST_DEFAULT_BOARD_ID=...
PINTEREST_ALLOWED_LINK_HOSTS=etsy.com,www.etsy.com
MCP_BRIDGE_TOKEN=<random 24+ char secret>Deploy
このリポジトリは Vercel 対応です。
ヘルスチェック:
/healthMCP:
/mcp
MCP エンドポイントはステートレスな Streamable HTTP を使用するため、サーバーレスインフラストラクチャ上で問題なく動作します。
Image delivery
Pinterest は公開 HTTPS の image_url から画像 Pin を作成できます。非公開の Google Drive ファイルは非公開のままにし、Pinterest の直接メディアソースとしては無効です。
計画されている Remy ワークフロー:
Drive approved master -> posting derivative -> controlled public asset URL -> preview_pin -> publish_pin/publish_batch -> Pinterest readback -> Notion status
公開配信レイヤーは意図的に真実の源泉から分離されています。Drive が信頼できるアーカイブとして残ります。
Remy Relics
examples/remy-relics-parked-evidence-batch.json には、最初の4件のオブジェクト Pin が手動で投稿された後も保留されたままの4件の証拠 Pin が含まれています。それらの画像 URL は、制御された公開メディアレイヤーが接続されるまで意図的に空白になっています。
Local checks
npm install
npm run checkProduction rule
以下のすべてが満たされるまで、PINTEREST_WRITE_MODE=live に切り替えないでください:
Pinterest アプリのアクセスが承認されている
ボード ID が API の読み戻しで検証されている
メディア URL が承認された最終的な派生物である
preview_pinが衝突なしと表示するタイトル/説明/代替テキスト/リンクが正規のものと一致する
そのうえで、範囲を限定して書き込み、Pin ID を検証し、1回限りのメンテナンスを行うときはブリッジを dry-run に戻してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Publish and schedule Pinterest pins from any MCP client. Token refresh and retries handled.
Google Ads MCP with 20,000+ account peer context and staged approve-then-execute writes.
Hosted Meta ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Create, schedule, and publish social posts, manage accounts, and read analytics as MCP tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server connector for Pinterest — search pins, manage boards, save pins, and follow users via Playwright browser automation.1016 npmMIT
- AlicenseNot gradedqualityBmaintenanceA safety-gated MCP bridge for the Instagram API, enabling read-only profile and recent-post access and draft preparation of image posts with human approval for publishing.Apache 2.0
- AlicenseAqualityCmaintenanceA minimal MCP server for the Pinterest API v5 that reads boards, pins, and analytics and publishes new pins and boards, with human sign-off required before any public changes.8MIT
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for exposing Pinterest boards, sections, pins, and imagery as a visual reference library. Enables ChatGPT and other clients to list, search, and retrieve Pinterest content through natural language.MIT