Skip to content

MCP Tools Reference

Tools are actions that AI assistants can perform on your behalf. The Tailwind MCP Server provides tools for finding accounts, boards, and recommended posting times, for creating, scheduling, listing, or deleting Pinterest Pins, and for generating Pin drafts from a URL with Tailwind’s AI.

List all Pinterest accounts connected to your Tailwind organization. Call this first because every other tool requires an accountId returned by this tool.

This tool has no parameters.

“List my Pinterest accounts”

Returns each account’s ID, username, display name, domain-verification status, and Pinterest-token status.


List the Pinterest boards on an account, with each board’s numeric ID and name. Use this to find a boardId for create_post or schedule_post — board IDs are numeric, never board names or URLs.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts

“Which boards do I have on account 123456?”

Returns each board’s ID, name, and whether it is secret or a collaborator board.


List the account’s smart schedule timeslots — Tailwind’s recommended posting times. Each slot is a recurring weekly time (day of week + time of day + timezone), not a concrete date: to schedule at a recommended time, the assistant computes the next future occurrence of a slot and passes it as sendAt.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts

“When should I schedule my next pin on account 123456?”

Returns each timeslot’s ID, day of week, time of day (24-hour HH:MM), timezone, and how it was added to the schedule.


Create a new Pinterest Pin from an image or video URL. Without sendAt it is saved as a draft; with sendAt it is scheduled to publish, which also requires title, description, url, and boardId. There is no update or edit tool — to change a Pin, delete it with delete_post and create a new one; to schedule an existing draft, use schedule_post.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts
mediaUrl string Yes URL of the image or video to pin
mediaType string No Type of media: image (default) or video
title string Conditional Pin title (max 100 characters). Required when sendAt is provided.
description string Conditional Pin description (max 500 characters). Required when sendAt is provided.
url string Conditional Destination URL when the pin is clicked. Required when sendAt is provided.
boardId string Conditional Target Pinterest board ID — the numeric board ID from list_boards, not a board name or URL. Required when sendAt is provided.
altText string No Alt text for accessibility (max 500 characters)
isSimplifiedPin boolean No Whether to create a simplified pin (default: true). Set to false for a standard pin.
sendAt string No When to publish (ISO 8601 format). Must be in the future. Omit for draft. Requires title, description, url, and boardId.
productTagPinIds array No Pinterest product-catalog pin IDs to tag on the pin (business accounts only; max 24). Providing any forces a simplified pin.

“Create a pin on account 123456 with this image https://example.com/photo.jpg, title it ‘Summer Recipes’, and schedule it for January 20th at 2pm UTC”

The tool returns a confirmation with:

  • Post ID
  • Status (draft or queued)
  • Scheduled time (if applicable)
  • Board information

Schedule or reschedule an existing draft or queued Pin to publish at a specific time, by postId (from create_post or list_posts). The Pin must already have title, description, and url set; a draft without a board also needs boardId. Does not work on published Pins. To create and schedule a new Pin in one step, use create_post with sendAt instead.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts
postId string Yes Post ID to schedule
sendAt string Yes When to publish (ISO 8601 format). Must be in the future.
boardId string Conditional Target Pinterest board ID — the numeric board ID from list_boards, not a board name or URL. Required when scheduling a draft that doesn’t already have a board.

“Schedule post post_abc123 on account 123456 for tomorrow at 9am”

Returns the updated post with:

  • Post ID
  • New status (queued)
  • Scheduled time

Permanently delete a Pin that has not been published to Pinterest. Published Pins cannot be deleted through Tailwind. Since there is no update tool, changing a Pin means deleting it and recreating it with create_post.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts
postId string Yes Post ID to delete

“Delete post post_abc123 from account 123456”

Confirms the post was deleted with the post ID.


List an account’s Pins — drafts, scheduled (queued), or published (sent) — with optional filtering by status. Returns each Pin’s postId for use with schedule_post and delete_post.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts
status string No Filter by status: draft, queued, sent, or uploading. Default: queued
limit number No Number of posts to return (1-100). Default: 50
cursor string No Pagination cursor from previous response
startDate string No Filter posts after this date (ISO 8601). Required for sent/uploading status.
endDate string No Filter posts before this date (ISO 8601). Required for sent/uploading status.

“Show me all draft posts on account 123456”

“List the last 10 sent posts from January 2024”

Returns a list of posts with:

  • Post ID
  • Status
  • Scheduled/sent time
  • Title (if set)
  • Pagination cursor for next page

Have Tailwind’s AI generate Pinterest Pin drafts from a web page — a blog post, product page, or article URL. Asynchronous and metered: each generation spends plan credits by design tier (approximately 3 for basic, 7 for premium, 1 for no-template — resolved server-side) and typically completes in 1–3 minutes. Returns a generation ID to poll with get_generation_status; the finished drafts appear in list_posts (status draft) carrying a matching generationId.

Calling this again for the same URL while a generation is in flight returns the same generation with deduplicated: true and charges nothing. Repeating the call after it completes starts — and charges — a new generation, so poll before retrying. If the URL already has a SmartPin on this account, that record is reused as-is (its stored design configuration applies and tier parameters are ignored); a SmartPin for the URL on a different account is a conflict.

Parameter Type Required Description
accountId string Yes Numeric Tailwind account ID returned by list_accounts
url string Yes The web page to generate Pins from (http/https, max 2048 characters). Query parameters and fragments are ignored — variants of one page count as the same URL.
title string No Display name for this generation source in the Tailwind dashboard (max 256 characters). Defaults to the URL.
designTier string No basic (default), premium, or no-template. Determines the credit cost.
premiumStyle string Conditional Visual style for premium designs: image-highlight, text-highlight, minimalist, artistic, professional, or natural. Required when designTier is premium; must be omitted otherwise.
keywords array No Up to 10 keywords to guide the generated Pin copy

“Generate some Pins from my latest blog post https://example.com/blog/summer-recipes on account 123456”

Returns the generation with:

  • Generation ID (poll it with get_generation_status)
  • Status (processing)
  • Design tier and nominal credit cost
  • Whether an existing SmartPin was reused, and whether the call deduplicated onto an in-flight generation

Poll a Pin generation started by generate_pins_from_url. Generation typically completes in 1–3 minutes: poll every ~15 seconds and don’t give up before ~30 minutes — a hung generation can stay processing for ~25 minutes before the terminal generation-request-timed-out status appears. A “not found” response within ~10 seconds of starting the generation is a transient indexing artifact — retry it.

Parameter Type Required Description
generationId string Yes Generation ID returned by generate_pins_from_url

“Is my Pin generation done yet?”

Returns the generation’s status (processing, success, or failed), the source URL, timestamps, and — on failure — a stable failureCode (for example scrape-failed, no-images-on-page, not-enough-credits, or generation-request-timed-out). On success, list the account’s draft posts and filter by the matching generationId to find the generated Pins.


All tools require an authenticated Tailwind connection, using OAuth or an API key. Tools are automatically available to the AI assistant once the server is connected.

When a tool encounters an error, the AI assistant will explain what went wrong. Common errors include:

Error Description Solution
Account not found The account ID doesn’t exist Verify the account ID with list_accounts
Post not found The post ID doesn’t exist Check the post ID is correct
Cannot delete sent post Post has already been published Only posts not yet published can be deleted
Invalid sendAt Schedule time is in the past Use a future date/time
  1. Always verify account IDs first - Use list_accounts to get valid IDs
  2. Provide complete information - Include title, description, and URL for best results
  3. Use clear scheduling language - Say “January 20th at 2pm EST” rather than “next week”
  4. Review before publishing - Create drafts first if you want to review before scheduling