Skip to main content
Glama

List Pinterest Boards

list_pinterest_boards
Read-only

List the boards of a connected Pinterest account, secret boards included. Returns { boards } with id, name, description, privacy (PUBLIC, PROTECTED or SECRET) and pinCount. Call it before posting to Pinterest, ask the user which board to pin to unless they already named one, and pass that board's id as pinterestConfigs[].boardId in create_post, update_post or bulk_schedule_posts. When the user named a board you may pass that name as boardName instead, never both; a name that matches no board, or several, fails with 400 and nothing falls back. A board belongs to one Pinterest account, so call it once per Pinterest account. A post sent without boardId or boardName goes to a public board named AdaptlyPost, which is created on first use. Fails with 404 when accountId is not a Pinterest account in the workspace, and with 400 when Pinterest refuses the request, which usually means the user must reconnect the account in AdaptlyPost. Nothing is posted.

Input Schema

NameRequiredDescriptionDefault
accountIdYesThe Pinterest account id from list_accounts
workspaceIdNoWorkspace to act in: an id from list_workspaces. Omit to act in the workspace list_workspaces marks current. Use the same workspaceId for every call about the same workspace, since ids from one workspace (accounts, posts, uploads) do not exist in another

Output Schema

NameRequiredDescriptionDefault
resultNoAn object with boards: one { id, name, description, privacy, pinCount } per board. Pass id as pinterestConfigs[].boardId, or name as boardName.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / result / description
      Previous value: -"An object with boards: one { id, name, description, privacy, pinCount } per board. Pass id as pinterestConfigs[].boardId."New value: +"An object with boards: one { id, name, description, privacy, pinCount } per board. Pass id as pinterestConfigs[].boardId, or name as boardName."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description goes further by disclosing the failure modes that matter operationally: 404 when accountId is not a Pinterest account, 400 when Pinterest refuses (usually a reconnect), and 400 on ambiguous/unmatched board names. It explicitly states the default-board behavior for posts that omit a board, which is a hidden side effect an agent would otherwise discover only by accident.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and return shape, then usage, then errors — a sensible ordering with no filler sentences. It is on the long side for a two-parameter read tool, and a couple of clauses describe downstream posting behavior (the AdaptlyPost default) that more properly belongs to create_post, though they are relevant for interpreting this tool's output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not enumerate return values, yet it summarizes them anyway. Combined with the error semantics, the cross-account scoping rule, and the explicit 'Nothing is posted' reassurance, an agent has everything needed to call this correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by clarifying that accountId maps to a Pinterest account from list_accounts, that a board belongs to exactly one account ('call it once per Pinterest account'), and that boardId/boardName are downstream-only fields. It does not add syntax detail for either parameter beyond the schema, hence not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the boards of a connected Pinterest account') and immediately scopes it ('secret boards included'), which distinguishes it from sibling list_accounts and list_posts. The return shape is named up front, so an agent knows exactly what it gets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('call it before posting to Pinterest'), the user-interaction step (ask which board unless already named), and the exact target of the result (pinterestConfigs[].boardId in create_post, update_post, bulk_schedule_posts). It also rules out the mutually exclusive alternative: boardName instead, 'never both', and confirms there is no fallback on ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources