Skip to main content
Glama
N-Graves

pinterest-mcp-server

by N-Graves

pinterest-mcp-server

A Model Context Protocol server for the Pinterest API v5.

263 of Pinterest's 266 published operations are reachable. The three that are not are the OAuth token endpoints, excluded for a security reason rather than an access one. A test compares the catalogue against Pinterest's own OpenAPI spec, so when Pinterest ships an endpoint the build goes red.

MIT licensed.

Install

npm install -g @nasdigitaluk/pinterest-mcp
{
  "mcpServers": {
    "pinterest": {
      "command": "pinterest-mcp",
      "env": {
        "PINTEREST_ACCESS_TOKEN": "your-oauth2-token",
        "PINTEREST_AD_ACCOUNT_ID": "549755885175"
      }
    }
  }
}

Related MCP server: pinterest-mcp

Configuration

Variable

PINTEREST_ACCESS_TOKEN

Required. An OAuth2 access token for your app.

PINTEREST_AD_ACCOUNT_ID

Optional. 148 operations are scoped to an ad account; set this and it is filled in when omitted.

PINTEREST_BASE_URL

Defaults to https://api.pinterest.com/v5. Point at https://api-sandbox.pinterest.com/v5 for the sandbox.

MCP_READ_ONLY=1

Refuse anything that changes state.

MCP_NO_DESTRUCTIVE=1

Allow writes, refuse anything irreversible or chargeable — see below.

Why the ads suite is covered, not excluded

Most of Pinterest's API is advertising: campaigns, ad groups, ads, audiences, billing, conversions, targeting. It is tempting to exclude the lot as "needs special access".

That would be wrong. Unlike an admin API key on a self-hosted Forem — which an ordinary account genuinely cannot obtain — a Pinterest ad account is something any business account can create. Excluding those endpoints would deny the API to people who can perfectly well use it, and dress a shortcut up as a safety measure.

So all 148 are covered. What they need is an ad account, which is a fact about your Pinterest setup rather than a limitation of this server.

What is excluded, and why

Three operations: POST /oauth/token, POST /oauth/token/revoke, POST /oauth/conversion_token.

Authentication belongs to the server, not to the caller. Exposing these as tools would let a model mint itself fresh credentials or revoke the ones the server is running on — which is not a feature. Obtain a token out of band and set PINTEREST_ACCESS_TOKEN.

This is enforced, not just documented: asking pinterest_call for the token operation returns that reason.

⚠️ Ads spend money

destructive here means irreversible or chargeable, not "deletes something".

A campaign created in ACTIVE status starts spending against its budget immediately. The same call with PAUSED spends nothing, and no static rule can tell them apart — so the conservative reading wins: anything that creates or changes an advertising entity, plus billing and order lines, is classified destructive.

MCP_NO_DESTRUCTIVE=1 therefore means "will not touch my ad budget". Ad reporting stays a read, so analysis still works under it — there are 30+ ad-account GET endpoints and every one is available read-only.

Of 266 operations: 138 read, 91 write, 37 destructive.

Tools

Eight tools for 263 operations. Every tool description is paid for in context on every turn, so the common path gets purpose-built tools and the rest goes through one dispatcher.

Tool

pinterest_list_operations

Browse the catalogue. Start here — try search: "campaign" or "catalog".

pinterest_call

Call any operation by id.

pinterest_get_me

The authenticated account.

pinterest_list_boards

Your boards.

pinterest_list_pins

Your pins.

pinterest_create_pin

Create a pin.

pinterest_get_pin_analytics

How a pin performed.

pinterest_search_my_pins

Search your own pins.

Pin images must be publicly reachable URLs. Pinterest fetches them server-side, so a local file path cannot work — and the schema refuses file://, javascript: and URLs with embedded credentials rather than letting it fail confusingly at the provider.

Refreshing the catalogue

Pinterest publishes YAML, so it is converted on the way in:

curl -sL https://raw.githubusercontent.com/pinterest/api-description/main/v5/openapi.yaml \
  | python3 -c 'import sys,yaml,json,datetime; json.dump(yaml.safe_load(sys.stdin), open("vendor/pinterest-openapi.json","w"), default=lambda o: o.isoformat())'
npm run generate && npm test

Testing

npm test                                       # 14 tests
PINTEREST_ACCESS_TOKEN=x npm run smoke         # real MCP over stdio

Built on

@nasdigitaluk/mcp-server-core.

Licence

MIT.

Available Tools

8 tools
pinterest_callC

Call any Pinterest operation by id. ad_account_id is filled in from PINTEREST_AD_ACCOUNT_ID when you leave it out.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
paramsNo
operation_idYes

TDQS

C2.6/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 discloses that ad_account_id defaults from an environment variable, but it does not explain that this tool may perform reads or mutations across many different operations, nor any side effects, authentication requirements, or failure behavior.

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 very short with no filler; both sentences contribute information. It is under-specified, but the conciseness itself is appropriate and the most important operational detail is front-loaded.

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

Completeness1/5

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

For a generic dispatch tool with no output schema, no annotations, and three barely documented parameters, the description is severely incomplete. It does not tell the agent how to obtain valid operation ids, how body/params should be shaped, what the response looks like, or when the generic tool should be preferred over the sibling-specific tools.

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?

Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter documentation. It adds some meaning by explaining the ad_account_id default behavior, but operation_id, body, and params are left essentially undefined beyond the raw schema.

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 clear verb and resource: call any Pinterest operation by id. This implies a generic dispatcher distinct from the specific sibling operations, though it does not explicitly name those siblings or define what an operation id is.

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 no guidance on when to use this tool instead of the specialized Pinterest tools, nor does it mention that available operation ids can be discovered via pinterest_list_operations. The ad_account_id environment fallback is useful but does not constitute usage guidance.

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

pinterest_create_pinA

Create a pin on one of your boards. The image must be a publicly reachable URL — Pinterest fetches it server-side, so a local file path will not work.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoWhere the pin sends people.
titleNo
alt_textNoWorth filling in; Pinterest is a visual search engine.
board_idYes
image_urlYesPublicly reachable image URL.
descriptionNo
board_section_idNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It usefully explains that Pinterest fetches the image server-side and that local file paths will not work, which is a non-obvious behavioral trait and common failure point. It does not cover permissions or response behavior, but the key operational trap is disclosed.

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 sentences with no wasted words. The action is front-loaded, and the essential constraint about public URLs is placed immediately after.

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?

For a creation tool, the description communicates what is being created and the most important prerequisite for successful invocation. It does not describe the return value, but with no output schema and a fairly self-explanatory create operation, the missing return info is a minor gap.

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 adds critical meaning for image_url by requiring a publicly reachable URL. However, schema description coverage is only 43%, and the description does not clarify ambiguous parameters like board_section_id or further explain title, description, and link semantics beyond what the schema already provides.

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 opens with a specific verb and resource: 'Create a pin on one of your boards.' This clearly identifies the action and distinguishes it from sibling read/list tools like pinterest_list_pins or pinterest_get_pin_analytics.

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

Usage Guidelines4/5

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

The description establishes clear usage context — you use this when creating a pin on an owned board. It does not explicitly name alternatives or when-not-to-use cases, but the creation intent is unambiguous against the read/search/list siblings.

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

pinterest_get_meD

The authenticated Pinterest account.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.6/5.0
Behavior1/5

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

There are no annotations and the description reveals no behavioral details such as side effects, required permissions, or return format. It is completely silent on what happens when the tool is called.

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

Conciseness2/5

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

The description is extremely short but is not a well-formed sentence and lacks a verb. It sacrifices clarity for brevity, so it does not effectively earn its place.

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

Completeness1/5

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

With no parameters or output schema, the description is the only source of information. It fails to explain what the tool does or what it returns, leaving the agent completely in the dark about the tool's function.

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 tool has zero parameters and the schema coverage is 100%, so the baseline of 4 applies. No parameter descriptions are needed because there are no parameters to explain.

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

Purpose1/5

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

Description is a noun phrase ('The authenticated Pinterest account.') with no verb, so it does not clearly state what the tool does. It fails to distinguish this tool from siblings like pinterest_list_boards or pinterest_get_pin_analytics.

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

Usage Guidelines1/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 the many sibling tools. The description offers no context about its intended use case.

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

pinterest_get_pin_analyticsC

How a pin has performed. Reads only, so it works under MCP_READ_ONLY.

ParametersJSON Schema
NameRequiredDescriptionDefault
pin_idYes
end_dateYesYYYY-MM-DD.
start_dateYesYYYY-MM-DD.
metric_typesNoComma-separated, e.g. IMPRESSION,PIN_CLICK,SAVE.

TDQS

C2.7/5.0
Behavior2/5

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

The description explicitly states 'Reads only' and mentions the MCP_READ_ONLY context, indicating the tool is non-destructive. However, it does not disclose other behavioral traits such as rate limits, authentication requirements, or error behaviors. Since no annotations are provided, the description carries the full burden but only partially covers the safety profile.

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 concise sentence that delivers the core purpose without unnecessary fluff. It is well-structured and easy to parse, though it could include a bit more detail without becoming verbose.

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 lacks important context such as the format of the analytical response, whether the tool returns a single aggregate or time-series data, and how to interpret the output. This leaves significant gaps for an agent attempting to invoke the tool effectively.

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 descriptions for start_date, end_date, and metric_types, while pin_id has no description but its meaning is immediately inferable. With 75% schema coverage, the baseline is 3, and the description adds no extra semantic clarity beyond what the schema already offers.

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 clearly states that the tool provides pin performance analytics ('How a pin has performed'), which distinguishes it from general pin creation or listing tools. However, it lacks specifics about which metrics are included, but the core purpose is understandable.

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

Usage Guidelines1/5

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

No guidance is given on when to use this tool versus alternative pin-related tools like search or list. The description does not mention prerequisites, intended use cases, or conditions that would favor this tool.

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

pinterest_list_boardsC

Boards belonging to the authenticated account.

ParametersJSON Schema
NameRequiredDescriptionDefault
privacyNo
bookmarkNoCursor from a previous page.
page_sizeNo

TDQS

C2.6/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 disclosure burden, and it does contribute one meaningful trait: the tool is scoped to the authenticated account's own boards. However, it does not disclose pagination behavior (despite the bookmark parameter), whether secret or protected boards appear by default, ordering, or response shape. The single scoping disclosure is useful, but the behavioral picture is thin.

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

Conciseness3/5

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

The description has zero wasted words and is efficiently scoped, but at six words it is under-sized for a tool with a privacy filter, pagination cursor, and page size control. This reads more as under-specification than as deliberate, high-value conciseness.

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?

For a tool with no annotations and no output schema, the description is incomplete. It omits default privacy behavior, how pagination via bookmark works, and any indication of what the response contains. A listing tool with a cursor parameter and an enum filter needs more than a scope statement to be invoked correctly and confidently.

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?

Schema description coverage is only 33% (only bookmark is documented), and the description adds nothing about privacy or page_size. The privacy enum values and page_size are partially inferable from their names and constraints, but the description does not compensate for the low coverage. Two of three parameters remain effectively undocumented by both the schema and the description.

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

Purpose3/5

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

The description names the resource (boards) and scope (authenticated account), which makes the intent reasonably clear when read alongside the tool name. However, it is a noun phrase with no explicit verb, so it describes a result set rather than the action. It does not explicitly differentiate itself from siblings like list_pins or search_my_pins.

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 given on when to use this tool versus siblings such as pinterest_list_pins or pinterest_search_my_pins. There is no context, exclusion, or alternative mentioned. An agent must infer the distinction purely from sibling names.

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

pinterest_list_operationsA

Browse the Pinterest API — 263 of 266 operations are reachable here. 131 of them are advertising and need an ad account; the rest are the organic surface (pins, boards, media, search, analytics). Use this to find an operation id for pinterest_call.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoFilter by id, path, tag or summary — try 'boards', 'catalog', 'campaign'.
include_excludedNo

TDQS

A4/5.0
Behavior4/5

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

There are no annotations, so the description carries the full burden. It discloses meaningful behavioral constraints: 263 of 266 operations are reachable, and 131 advertising operations need an ad account. It does not explicitly say the tool is read-only or describe the three missing operations, but 'browse' and 'find an operation id' imply a non-mutating discovery role.

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 purpose is front-loaded, and the usage guidance is immediately actionable. Every clause adds useful context.

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 is adequate for basic use: it explains what the tool does, why it exists, and the ad-account prerequisite. But with no output schema and no annotations, important gaps remain: the return shape is not described, 'include_excluded' is unexplained, and the three unreachable operations are not identified.

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?

Schema coverage is only 50%: 'search' has a description, but 'include_excluded' has none. The tool description simply repeats the schema text for 'search' and adds no meaning for the undocumented boolean parameter, so it fails to compensate for the coverage gap.

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 action ('Browse the Pinterest API') and a concrete outcome: 'Use this to find an operation id for pinterest_call.' It also distinguishes the advertising operations from the organic surface, making the tool's role clear relative to its siblings.

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

Usage Guidelines4/5

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

The description explicitly tells the agent when to use the tool: to find an operation id for pinterest_call. It also gives useful context that 131 advertising operations require an ad account. However, it does not explicitly state when NOT to use it or how it compares to directly using sibling tools.

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

pinterest_list_pinsC

Pins belonging to the authenticated account.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookmarkNo
page_sizeNo
pin_filterNo

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are provided, so the description alone must disclose behavioral aspects. It does not mention whether this operation is read-only, any rate limits, or potential side effects. This lack of transparency is a significant gap.

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 very concise and straightforward, consisting of a single sentence. It is appropriately short and focuses on the core purpose without extraneous text, though it lacks detailed structure.

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

Completeness1/5

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

Given the low schema coverage and missing parameter explanations, the description is far from complete. It does not provide enough context for an agent to understand how to use the tool effectively, including pagination via bookmark, filtering via pin_filter, or page_size limits.

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

Parameters1/5

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

The schema defines three parameters (bookmark, page_size, pin_filter) but provides no descriptions. The tool description does not explain what these parameters control or how they affect results. With zero schema coverage and no compensation in the description, parameter semantics are entirely unexplained.

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 clearly states the resource (pins) and the scope (belonging to the authenticated account), which conveys the primary purpose. However, it does not explicitly distinguish this from sibling tools like pinterest_search_my_pins, so it does not fully achieve a perfect score.

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?

There is no guidance on when to use this tool versus alternatives such as pinterest_search_my_pins or pinterest_list_boards. The description simply states what it does without any contextual usage instructions.

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

pinterest_search_my_pinsC

Search your own pins by term.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
bookmarkNo
page_sizeNo

TDQS

C2.9/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 reveals only the scope ('your own pins') and search-by-term behavior, but says nothing about pagination, match criteria, result shape, or any side effects. For a search tool this is a meaningful gap.

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 clear sentence with no filler or repeated information. It is appropriately brief and front-loads the core action, though the brevity contributes to missing contextual 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?

For a tool with 3 parameters, no output schema, and no annotations, the description is too thin. It explains the high-level purpose but omits necessary context about pagination, parameter behavior, and what a response might contain, leaving an agent to guess at invocation details.

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?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It adds meaning only to the query parameter via 'by term', while bookmark and page_size remain unexplained. This is only partial compensation.

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 clearly states the action ('Search'), the resource ('your own pins'), and the qualifying condition ('by term'). This distinguishes it from a plain listing operation like pinterest_list_pins, though it does not explicitly name a sibling alternative.

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 the use case: when the user wants to find their own pins matching a term. However, it provides no explicit guidance about when not to use this tool or how it compares to alternatives such as pinterest_list_pins.

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. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • First observedpinterest_call
    • First observedpinterest_create_pin
    • First observedpinterest_get_me
    • First observedpinterest_get_pin_analytics
    • First observedpinterest_list_boards
    • First observedpinterest_list_operations
    • First observedpinterest_list_pins
    • First observedpinterest_search_my_pins

TDQS

B3/5.0
Disambiguation4/5

Each convenience tool targets a distinct Pinterest resource (create pin, pin analytics, search pins, list boards, list pins, get account), and list_operations/call form a clear discovery/execution pair. The only soft spot is that pinterest_call can also perform operations that have dedicated wrappers, so an agent must decide between the generic and specific path.

Naming Consistency4/5

Tool names use a consistent pinterest_ + verb + noun pattern in snake_case, such as create_pin, list_boards, and get_pin_analytics. Minor inconsistencies exist: pinterest_call lacks a target noun, and search_my_pins mixes a possessive modifier while similar tools don't.

Tool Count5/5

Eight tools is a compact, well-scoped set for a Pinterest server. The design intentionally avoids hundreds of individual tools by providing pinterest_list_operations and pinterest_call as a generic discovery/execution pair.

Completeness5/5

The server exposes 263 of 266 Pinterest API operations through pinterest_call, making the surface nearly exhaustive. Convenience wrappers cover common pin, board, and account workflows, while pinterest_list_operations prevents dead ends by enabling operation discovery.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    81
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/N-Graves/pinterest-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server