Skip to main content
Glama
Yes526-tech

pinterest-mcp

by Yes526-tech

pinterest-mcp

An MCP (Model Context Protocol) server for the Pinterest API v5.

Create pins, manage boards, and track analytics — all from an AI agent.

First open-source Pinterest MCP server.


Features

Tool

Description

create_pin

Create a new Pin with image, title, description, and link

update_pin

Edit an existing pin’s metadata

delete_pin

Remove a pin

get_pin_analytics

Impressions, saves, link clicks, engagement rate

list_boards

List your boards

create_board

Create a new board

get_board_pins

List all pins on a board

search_pins

Search public pins by keyword

get_account_analytics

Account-level metrics: impressions, saves, engagements

bulk_create_pins

Create multiple pins in one call (rate-limited)

get_trending

Trending searches and interests in a niche


Related MCP server: pinterest-mcp

Installation

pip install pinterest-mcp

Or run directly with uvx:

uvx pinterest-mcp

Authentication

Pinterest uses OAuth 2.0. You need a Pinterest Business account and a registered app.

  1. Create an app at developers.pinterest.com

  2. Add redirect URI: http://localhost:8089/callback

  3. Copy Client ID + Client Secret to .env (see .env.template)

  4. Run the auth flow to generate your access token:

pinterest-mcp-auth

This opens a browser, asks you to authorize, and saves your token to .pinterest_token.json.


MCP Client Setup

{
  "mcpServers": {
    "pinterest": {
      "command": "uvx",
      "args": ["pinterest-mcp"],
      "env": {
        "PINTEREST_CLIENT_ID": "your_client_id",
        "PINTEREST_CLIENT_SECRET": "your_client_secret",
        "PINTEREST_ACCESS_TOKEN": "your_access_token"
      }
    }
  }
}

Rate Limits

Pinterest API v5 rate limits for organic posting:

  • 10 pins per minute per account

  • 250 pins per day per account

bulk_create_pins automatically respects the per-minute limit.


Development

git clone https://github.com/clugtu/pinterest-mcp
cd pinterest-mcp
pip install -e ".[dev]"
pre-commit install
pytest

This repo uses pre-commit with ruff for linting and formatting. Install pre-commit if you don't have it:

pip install pre-commit

Then run pre-commit install once to register the hooks — they'll run automatically on every git commit.


License

MIT — see LICENSE


Available Tools

11 tools
bulk_create_pinsA

Create multiple pins on a board. Rate-limited to 10/min automatically. Each pin dict must include title, description, and either image_url or image_path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pinsYes
dry_runNo
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It mentions the rate limit (a behavioral constraint) but omits key side effects like whether pins are created atomically, what happens on partial failure, or the effect of the dry_run parameter. It also does not describe any permissions or side effects beyond creation.

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

Conciseness5/5

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

The description is two sentences, tightly written with no redundant words. It conveys the core action, a constraint, and required pin fields efficiently.

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

Completeness3/5

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

The description provides key context about pin content and rate limiting, but omits details about the dry_run parameter's behavior, return value, or error handling. Given the output schema exists, some of these might be covered, but the description alone does not fully round out the tool's context.

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

Parameters3/5

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

The description explains that each pin dict must include title, description, and either image_url or image_path, which directly clarifies the 'pins' array parameter structure. However, it does not explain the purpose or effect of the dry_run parameter, and board_id is only implied via 'on a board'. With 0% schema description coverage, this leaves gaps.

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?

The description clearly states the tool creates multiple pins on a board, using the verb 'Create' and specifying the resource 'pins' and scope 'multiple' and 'on a board'. It distinguishes itself from the sibling create_pin (single pin) and other unrelated tools.

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

Usage Guidelines3/5

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

The description implicitly indicates usage for bulk creation via 'multiple', and mentions a rate limit of 10/min, which is a practical constraint. However, it does not explicitly contrast with create_pin or state when to prefer one over the other.

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

create_boardA

Create a new Pinterest board. privacy: PUBLIC or SECRET.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
privacyNoPUBLIC
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, and the description only states 'Create' without detailing side effects, permissions, or limitations. The description carries the full burden but provides minimal behavioral insight.

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

Conciseness5/5

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

The description is brief and to the point, with no unnecessary words or redundancy, making it efficient for an agent to parse.

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

Completeness3/5

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

While the description covers one parameter's semantics, it lacks explanation for the other two parameters and does not mention any output or return behavior, leaving gaps for an agent relying solely on this description.

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

Parameters3/5

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

The description clarifies the 'privacy' parameter by noting allowed values 'PUBLIC or SECRET', but it does not elaborate on 'name' or 'description' parameters, leaving their meaning to be inferred from the schema.

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?

The description clearly states the action 'Create' and the resource 'Pinterest board', effectively distinguishing it from sibling tools like create_pin and update_pin.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives, though the action and resource are self-explanatory within the context of sibling tools.

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

create_pinA

Create a new Pinterest pin. Provide either image_url (remote) or image_path (local file). Use dry_run=True to validate without posting (Pinterest has no sandbox).

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNo
titleYes
dry_runNo
alt_textNo
board_idYes
image_urlNo
image_pathNo
descriptionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, but the description discloses the key side effect of posting and the lack of a sandbox, while offering dry_run as a safe validation path. It does not mention auth or rate limits, so it is not fully transparent.

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

Conciseness5/5

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

Two tight sentences with no filler; the main action, image source alternatives, and dry_run behavior are all communicated efficiently.

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

Completeness4/5

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

Provides enough context for basic invocation: what the tool does, how to supply an image, and how to validate without posting. It does not explicitly state that image_url and image_path are mutually exclusive, but schema requirements and the presence of an output schema cover most remaining needs.

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

Parameters3/5

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

Schema descriptions are absent, but the description adds meaning for image_url, image_path, and dry_run. The remaining parameters rely on self-explanatory names and titles and are not elaborated, so coverage is partial.

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 it creates a new Pinterest pin and explicitly mentions the image source options and dry_run validation. It is clearly distinct from sibling tools like update_pin, delete_pin, and bulk_create_pins.

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

Usage Guidelines3/5

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

Provides useful conditional guidance for dry_run and for choosing between image_url and image_path. However, it does not explicitly contrast with bulk_create_pins or update_pin, so tool-selection context remains somewhat implicit.

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

delete_pinC

Delete a pin by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
pin_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the destructive action but does not mention whether deletion is permanent, requires special permissions, fails for non-existent pins, or affects related data. This is a significant gap for a mutation tool.

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?

The description is a single, efficient sentence with no fluff. It is appropriately sized for a simple delete operation, though it could have used the space to include important usage caveats.

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

Completeness2/5

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

Despite an output schema existing, the description does not reference return values or error conditions. For a delete tool with no annotations, the description is incomplete: an agent cannot anticipate consequences, failure modes, or authorization needs. It is minimally adequate but lacks essential context.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It merely repeats 'by ID' without clarifying the ID format, source, or validation. The description adds no meaningful value beyond the schema's basic field name.

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

Purpose4/5

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

The description states a specific action ('Delete') and a resource ('pin') with an identifier ('by ID'). It is clear and distinct from siblings like create_pin and update_pin, though it doesn't explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, no prerequisites (e.g., pin existence, permissions), and no exclusions. The agent is left to infer that deletion is the intended action without any context on how it fits into a workflow.

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

get_account_analyticsA

Get account-level Pinterest analytics: impressions, saves, clicks. Dates must be in YYYY-MM-DD format.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsNo
end_dateYes
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. 'Get' implies a read-only operation, but it does not disclose authentication requirements, rate limits, or any other behavioral side effects.

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

Conciseness5/5

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

The description is two short sentences, front-loading the core purpose and adding only the essential date format constraint. No redundant or irrelevant content is present.

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

Completeness4/5

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

Given the output schema exists and the operation is straightforward, the description covers the primary purpose, metrics, and date format. It lacks some optional context like timezone handling or metric value enumeration, but is sufficiently complete for basic usage.

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

Parameters3/5

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

The schema provides no parameter descriptions, so the description must compensate. It explains the date format and names possible metrics, but it does not fully define the metrics parameter (e.g., allowed values, null behavior) or provide details on start/end date semantics.

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?

The description clearly states the tool retrieves account-level Pinterest analytics, listing specific metrics (impressions, saves, clicks). The 'account-level' qualifier distinguishes it from the sibling get_pin_analytics tool.

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

Usage Guidelines3/5

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

The description implies use for account-wide analytics and provides date formatting guidance, but it does not explicitly state when to use this tool versus alternatives such as get_pin_analytics or other siblings.

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

get_board_pinsA

List all pins on a specific board.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description implies a read-only operation via 'List' but does not mention any side effects, limitations, or pagination behavior. It is adequate but lacks explicit transparency details.

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

Conciseness5/5

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

Single, succinct sentence with no redundancy. All words contribute to the meaning.

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

Completeness3/5

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

For a simple listing tool, the description is sufficient to understand its basic function. However, it does not mention what is returned (though output schema exists) or any edge cases, so it is partially complete.

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

Parameters3/5

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

The schema provides only names and types with no descriptions. The tool description does not elaborate on board_id or page_size, relying on their self-explanatory nature. Minimal added meaning beyond the schema.

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?

Clearly states the verb 'List' and the resource 'pins on a specific board', distinguishing it from sibling tools like list_boards and search_pins. No ambiguity.

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

Usage Guidelines2/5

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

Provides no guidance on when to use this tool instead of alternatives such as search_pins or list_boards. The description only states what it does, not the recommended context.

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

get_pin_analyticsB

Get analytics for a pin: impressions, saves, link clicks, engagement. Dates must be in YYYY-MM-DD format.

ParametersJSON Schema
NameRequiredDescriptionDefault
pin_idYes
metricsNo
end_dateYes
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention that the operation is read-only, whether it requires authentication, or any potential side effects. The description is purely functional and lacks transparency about safety or data volume.

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

Conciseness5/5

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

The description is extremely concise, consisting of two sentences. It front-loads the core purpose and immediately follows with a format constraint for dates. There is no redundancy or unnecessary detail.

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

Completeness2/5

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

The description does not provide information about the output structure, error conditions, pagination, or limits. Given that the tool has an output schema, the description could have outlined expected response fields or noted potential edge cases. The description is too sparse to be considered complete for a production API.

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

Parameters2/5

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

The schema has no descriptions for parameters, and the tool description adds minimal meaning. It mentions possible metric names but does not clarify that they correspond to the 'metrics' parameter, nor does it explain pin_id, start_date, or end_date. The description fails to make the parameters self-explanatory.

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?

The description clearly states the tool's purpose: retrieving analytics for a specific pin. It lists the metrics returned (impressions, saves, link clicks, engagement) and distinguishes it from account-level analytics by the term 'pin'.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that get_account_analytics should be used for account-wide metrics or that search_pins is for finding pins. The usage context is implied but not stated.

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

list_boardsA

List your Pinterest boards. privacy can be ALL, PUBLIC, or SECRET.

ParametersJSON Schema
NameRequiredDescriptionDefault
privacyNoALL

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'List your Pinterest boards', which implies a read operation but does not explicitly state it is non-destructive, whether authentication is required, or what the response contains. Minimal disclosure beyond the bare action.

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

Conciseness5/5

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

The description is extremely concise, with two short sentences and no filler. The primary action is front-loaded, and the parameter value list is provided efficiently. It is appropriately sized for a simple tool.

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

Completeness4/5

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

Given the tool's simplicity (one optional parameter, an output schema present, no annotations), the description covers the essential purpose and parameter values. It doesn't mention pagination or authentication, but for a straightforward list operation, it is sufficiently complete. The presence of an output schema reduces the need to describe return values.

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?

The description compensates for the 0% schema description coverage by listing the allowed values for the privacy parameter (ALL, PUBLIC, SECRET). This adds meaning beyond the schema, which only specifies a string default. However, it doesn't explain what each value does or the effect of filtering, so it's not fully comprehensive.

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?

The description states a specific verb ('List') and resource ('your Pinterest boards'), making the tool's purpose immediately clear. It is distinct from sibling tools like create_board or get_board_pins, and the addition of the privacy parameter values further clarifies its scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention context like 'to view all boards' or 'when you need a list of boards', and there is no comparison to sibling tools. The privacy parameter hint is present but doesn't address usage context.

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

search_pinsB

Search public Pinterest pins by keyword. Useful for trend research.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations and no description of side effects, authentication requirements, rate limits, or pagination. Although 'Search public pins' implies read-only behavior, the description does not explicitly disclose non-destructive guarantees or any hidden limitations.

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

Conciseness5/5

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

The description is extremely concise and well-structured: two short sentences that immediately convey the core purpose and a likely use case. There is no unnecessary verbiage.

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

Completeness3/5

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

For a simple search endpoint, the description covers the essential intent and the primary parameter, but it lacks details about result ordering, pagination behavior, or how this relates to analytics and trending endpoints. Given the simple nature, it is minimally adequate but not fully contextual.

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

Parameters2/5

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

The description explains 'query' implicitly via 'by keyword', but 'page_size' is not explained at all. With two parameters and only partial coverage, the description does not sufficiently clarify the meaning and constraints of each parameter.

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?

The description clearly states the action ('Search'), the resource ('public Pinterest pins'), and the key qualifier ('by keyword'). It also hints at the intended use case ('trend research'), which helps distinguish it from more general pin management tools.

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

Usage Guidelines2/5

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

The description gives a vague use case ('useful for trend research') but does not explicitly state when to prefer this tool over siblings like get_trending or when not to use it. No alternative tools or conditions are mentioned.

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

update_pinB

Update metadata on an existing pin.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNo
titleNo
pin_idYes
board_idNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a mutation ('update') but does not disclose side effects like partial updates, idempotency, or whether missing fields are cleared or preserved.

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

Conciseness5/5

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

The description is a single, concise sentence with no redundant information. It is well-structured and easy to parse.

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

Completeness3/5

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

The tool is simple, but the lack of parameter details and any notes on behavior (e.g., whether 'pin_id' is a unique identifier, how partial updates work) leaves gaps. It is adequate for basic usage but not fully complete.

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

Parameters2/5

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

The schema provides no parameter descriptions, and the tool description does not explain the meaning or required/optional nature of fields like 'link', 'title', or 'board_id'. Parameters are only listed by name, leaving the agent to infer semantics.

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?

The description clearly states the action ('Update') and the resource ('existing pin'), making it distinct from sibling tools like delete_pin or create_pin.

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

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives (e.g., when to update rather than create or delete). The description only states what it does, not when to choose it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.0
    • First observedbulk_create_pins
    • First observedcreate_board
    • First observedcreate_pin
    • First observeddelete_pin
    • First observedget_account_analytics
    • First observedget_board_pins
    • First observedget_pin_analytics
    • First observedget_trending
    • First observedlist_boards
    • First observedsearch_pins
    • First observedupdate_pin

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a distinct purpose with no overlapping functionality. Delete, create, update, list, search, and analytics operations are clearly separated.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., create_pin, list_boards, get_account_analytics) using lowercase and underscores.

Tool Count5/5

11 tools is a reasonable scope for a Pinterest API server, covering core operations without unnecessary bloat.

Completeness4/5

Covers essential pin and board CRUD, search, analytics, and trending. Missing board update/delete operations, but these are less critical and the core surface is solid.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage Pinterest boards and pins, create and update pins, and track analytics via the Pinterest API v5.
    4
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables image search and information retrieval from Pinterest using the Model Context Protocol. Supports searching by keywords, getting similar pins, and downloading images directly.
    5
    75 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search public Pinterest pins, retrieve pin metadata and media URLs, and download matching images, GIFs, or videos into a local folder, with read-only tools and explicit confirmation for downloads.
    -