Skip to main content
Glama
artyomredko-collab

Boards & Pins MCP Server

Boards & Pins MCP Server

An MCP (Model Context Protocol) server that lets Claude interact with Pinterest — browsing, creating, and managing boards, pins, sections, and user profiles via the Pinterest API v5.

Features

  • Browse boards and pins with bookmark-based pagination

  • Create boards, sections, and pins from image URLs

  • Update and move pins across boards and sections

  • Search pins by keyword

  • View pin images directly inside Claude (base64 image blocks)

  • OAuth 2.0 with automatic token refresh, or direct access token

Related MCP server: pinterest-vision-mcp

Requirements

Quick Start

git clone https://github.com/sapyx/sapyx-mcp.git
cd sapyx-mcp
npm install
npm run build

Copy the environment template and fill in your credentials:

cp .env.example .env

Then add the server to your MCP client (see Configuration).

Authentication

Two modes are supported:

Mode

Env vars

Access

Direct token

PINTEREST_ACCESS_TOKEN

Read-only

OAuth 2.0

PINTEREST_APP_ID + PINTEREST_APP_SECRET

Full read + write

For OAuth, trigger the flow via the pinterest_auth tool. Tokens are stored in ~/.mcp-credentials/pinterest-tokens.json and refreshed automatically.

Full details: docs/authentication.md

Tools

14 tools across four groups:

Group

Tools

Auth

pinterest_auth, pinterest_auth_status

Boards

list_boards, create_board, list_board_sections, create_board_section

Pins

list_pins, get_pin, get_pin_image, update_pin, move_pin, create_pin

Search

search_pins, get_user_profile

Full reference: docs/tools.md

Project Structure

src/
  index.ts          # Entry point — env validation, server setup, STDIO transport
  auth.ts           # OAuth 2.0 flow, token storage, refresh logic
  api.ts            # Typed HTTP client wrapping Pinterest API v5
  types.ts          # TypeScript interfaces (Pin, Board, tokens, etc.)
  tools/
    auth.ts         # pinterest_auth, pinterest_auth_status
    boards.ts       # list_boards, create_board, list_board_sections, create_board_section
    pins.ts         # list_pins, get_pin, get_pin_image, update_pin, move_pin, create_pin
    search.ts       # search_pins, get_user_profile
docs/
  authentication.md # OAuth flow, token storage, refresh logic
  tools.md          # Full tool reference with parameters
  api-client.md     # Internal API client documentation
  configuration.md  # Env vars, MCP client setup, Pinterest app setup

Tech Stack

  • Language: TypeScript (ES2022, Node16 modules)

  • Runtime: Node.js >= 20

  • MCP Framework: @modelcontextprotocol/sdk

  • Validation: Zod

  • Transport: STDIO

Documentation

Available Tools

15 tools
get_boardB

Get full details of a specific Pinterest board.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYesBoard ID

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'Get full details.' It does not disclose what 'full details' includes, authentication needs, rate limits, or any side effects. Minimal behavioral transparency.

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 is very concise (8 words) but lacks substance. While there is no fluff, the brevity results in under-specification. It is not optimally front-loaded with critical details.

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 simple read tool with no output schema and no annotations, the description should at least hint at the response content or scope of 'full details.' It is incomplete for a new agent.

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 coverage is 100% with the parameter board_id described as 'Board ID.' The tool description adds no extra meaning beyond that. Baseline 3 is appropriate.

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 'Get full details of a specific Pinterest board' clearly states the verb (Get) and resource (full details of a board), and it distinguishes from sibling tools like get_pin, list_boards, and search_boards which target different actions or resources.

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 on when to use this tool versus alternatives (e.g., list_boards, search_boards). The agent must infer from context, but no explicit when/when-not statements are provided.

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

get_pinA

Get full details of a specific pin including image URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pin_idYesPin ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description implies read-only operation but doesn't disclose auth requirements, rate limits, or response format beyond image URLs. Adequate but minimal.

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 sentence with no waste. Front-loaded with key purpose and response hint.

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?

Simple tool with one parameter and no output schema; description covers core purpose and hints at return content. Lacks detail on preconditions or error cases but sufficient for basic use.

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 coverage is 100% with minimal description 'Pin ID'. Description adds no extra meaning for the parameter beyond what schema provides, but hints at response content. Baseline 3 is appropriate.

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?

Description clearly states verb 'Get' and resource 'full details of a specific pin including image URLs'. It distinguishes from siblings like get_pin_analytics and get_pin_image by implying this returns all details.

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?

No explicit guidance on when to use vs alternatives. Sibling names imply differentiation but description lacks direct when-to-use or when-not-to-use 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, clicks, saves, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
pin_idYesPin ID
end_dateYesEnd date (YYYY-MM-DD)
start_dateYesStart date (YYYY-MM-DD)
metric_typesNoMetrics to retrieve (default: all basic metrics)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral details such as authentication needs, rate limits, data freshness, or whether the analytics are aggregate or time series. It only hints at the types of metrics available.

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 sentence, front-loaded with key action and resource, no redundant information. Every word contributes to understanding.

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 tool is relatively simple, the description lacks context about output format, date range behavior, and whether metrics are aggregated. Given no output schema, this 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?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema by listing example metrics, but does not provide new constraints or format details.

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 verb 'Get' and resource 'analytics for a pin' with examples of metrics (impressions, clicks, saves, etc.), distinguishing it from sibling tools like get_pin or get_user_analytics.

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 on when to use this tool compared to alternatives like get_user_analytics, nor any prerequisites or exclusion criteria. The description omits context about required parameters or best practices.

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

get_pin_imageA

Fetch a pin's image so it can be analyzed visually. Returns the image as viewable content.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoImage size variant (default: 600x)
pin_idYesPin ID

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full behavioral burden. It states the image is fetched and returned as viewable content, but does not clarify output format (e.g., base64, URL), or potential side effects. Adequate but not comprehensive.

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?

Single sentence, direct and to the point. Could be slightly more structured but efficient for a simple tool.

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?

Given 2 parameters, no output schema, and no annotations, description covers the basic purpose but omits return format and any constraints. Sufficient for a straightforward fetch, but not fully 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?

Schema covers 100% of parameters, with enums and descriptions. Description does not elaborate beyond schema, so adds no additional value. Baseline score applies.

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?

Description clearly states it fetches a pin's image for visual analysis, distinguishing it from sibling tools like get_pin (metadata) and get_pin_analytics (analytics). Verb+resource combination is specific and unambiguous.

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?

Description implies usage when image analysis is needed, but does not explicitly contrast with alternatives or mention when not to use it. Lacks direct guidance for choosing between sibling tools.

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

get_user_analyticsB

Get analytics for your Pinterest account (impressions, engagement, saves, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesEnd date (YYYY-MM-DD)
start_dateYesStart date (YYYY-MM-DD)
metric_typesNoMetrics to retrieve (default: all basic metrics)

TDQS

B3.2/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 disclosing behavioral traits. It only lists metrics but does not mention that the tool is read-only, requires authentication, or any side effects. The description adds minimal behavioral context beyond the schema.

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 sentence, very concise and upfront. It efficiently conveys the tool's purpose without unnecessary words. However, it could be slightly more structured to include key constraints.

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?

Given the tool has 3 parameters, no output schema, and no annotations, the description is adequate but incomplete. It covers the basic purpose but lacks details on return format, authentication scope, or data aggregation behavior, which are important for agent decision-making.

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 coverage is 100%, so the baseline is 3. The description adds example metrics that correspond to the metric_types enum, adding a little context. However, it does not elaborate on parameter formats or usage beyond what the schema 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 clearly states the verb 'Get' and the resource 'analytics for your Pinterest account', and lists example metrics like impressions, engagement, saves. It differentiates from sibling tools like get_pin_analytics by specifying account-level analytics.

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 guidance on when to use this tool versus alternatives (e.g., get_pin_analytics). It lacks context about prerequisites, date range requirements, or situations where other tools would be more appropriate.

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

get_user_profileB

Get the authenticated user's Pinterest profile information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as that it is a read-only operation, authentication requirements, rate limits, or return format. The description is too brief to compensate for missing annotations.

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?

A single sentence clearly stating the action and resource. No redundant or unnecessary words. Front-loaded with essential information.

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?

With no output schema or annotations, the description could provide more detail about what profile information is returned (e.g., username, bio). However, for a simple get profile tool, it is minimally complete but leaves room for ambiguity.

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 no parameters, and schema coverage is 100%. Since 0 parameters, baseline is 4 per instructions. Description adds no param info, but it is not needed.

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?

Description clearly states it retrieves the authenticated user's profile information. Verb 'Get' and resource are specific. It is distinguishable from siblings like get_board, but does not explicitly differentiate from get_user_analytics, which might cause minor confusion.

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 on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it. Sibling tools list is present but description alone offers no selection help.

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

list_boardsB

List all boards for the authenticated Pinterest user.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookmarkNoPagination cursor from previous response
page_sizeNoItems per page (1-100, default 25)

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description must clarify behavior. It states 'list all boards' and 'authenticated user', implying read-only and auth requirements, but doesn't mention pagination effects or potential empty results.

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?

Single sentence with no redundancy or waste. Efficient, though could be slightly more informative about the return structure.

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?

With no output schema and no annotations, the description lacks details about return format, pagination behavior, or error cases. It is too minimal for a tool with optional parameters.

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 coverage is 100%, so baseline is 3. Description does not add any parameter details beyond what the schema already provides (like bookmark and page_size).

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?

Description clearly states the verb 'List' and resource 'boards', with scope 'all' and context 'authenticated Pinterest user'. Distinguishes from siblings like 'get_board' (single board) and 'search_boards' (filtered).

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 on when to use this tool versus alternatives like 'search_boards' or 'get_board'. Usage is only implied by the description's scope.

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

list_board_sectionsB

List all sections of a Pinterest board.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYesBoard ID
bookmarkNoPagination cursor from previous response
page_sizeNoItems per page (1-100, default 25)

TDQS

B3/5.0
Behavior2/5

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

No annotations provided; description carries full burden. Does not disclose pagination, rate limits, auth requirements, or side effects. Only states action without behavioral detail.

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?

Extremely concise (one sentence), but sacrifices completeness. Adequate length but lacks detail for full understanding.

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?

Simple tool but description lacks return format, pagination behavior, and any completeness. No output schema to supplement. Incomplete for agent decision-making.

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 description coverage is 100%; parameters are documented in schema. Description adds no extra meaning beyond schema. Baseline 3 is appropriate.

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 verb 'List' and resource 'sections of a Pinterest board'. Differentiates from siblings like list_boards and list_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 on when to use this tool vs alternatives. No prerequisites or context provided. Only implied by name.

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

list_followersC

List your Pinterest followers.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookmarkNoPagination cursor from previous response
page_sizeNoItems per page (1-100, default 25)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states a list operation but does not mention pagination behavior, rate limits, auth requirements, or that it returns only the authenticated user's followers.

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 is very concise (one sentence) and front-loaded, but it lacks necessary detail such as pagination defaults or scope. It is not sufficiently informative for its length.

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?

Given no output schema and two parameters, the description fails to explain how pagination works, what the default page size is, or the fact that only the authenticated user's followers are listed. It omits essential operational 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 input schema has 100% description coverage for both parameters (bookmark and page_size), so the schema already provides adequate meaning. The description adds no additional parameter context beyond the resource scope.

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 verb 'List' and the resource 'your Pinterest followers', indicating a retrieval operation. However, it does not differentiate from sibling tool 'list_following' which lists who the user follows, leading to potential confusion.

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 like list_following. There are no exclusions, prerequisites, or contextual hints about appropriate use cases.

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

list_followingA

List the accounts you follow on Pinterest.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookmarkNoPagination cursor from previous response
page_sizeNoItems per page (1-100, default 25)

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only states 'List', implying a read operation, but omits details about pagination, rate limits, or response format. The description adds minimal value beyond the tool's name.

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 sentence with no wasted words. It is appropriately sized for a simple list tool, though it could include slight more contextual detail without becoming verbose.

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, no output schema, and only two parameters with full schema coverage, the description adequately covers the basic purpose. However, mentioning that it returns user profiles or supporting pagination details would improve completeness.

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 coverage is 100% with descriptions for both parameters (bookmark, page_size). The tool description does not add extra context beyond what the schema already provides, earning the baseline score.

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 that the tool lists accounts the user follows on Pinterest, with a specific verb ('List') and resource ('accounts you follow'). It effectively distinguishes from siblings like 'list_followers'.

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?

No explicit guidance on when to use this tool versus alternatives. The context of sibling tools implies it for following as opposed to followers, but lacks direct comparisons or exclusions.

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

list_pinsB

List pins on a board or board section.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYesBoard ID
bookmarkNoPagination cursor from previous response
page_sizeNoItems per page (1-100, default 25)
section_idNoSection ID (omit for all board pins)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states basic purpose without disclosing side effects, authentication needs, rate limits, or pagination 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?

Extremely concise single sentence, efficient and front-loaded. Could afford a bit more detail without losing 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?

With 4 parameters and no output schema, description fails to explain pagination (bookmark), page_size effect, or return value structure, leaving significant gaps.

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 covers 100% of parameters with descriptions, so baseline is 3. Description adds no additional meaning beyond what 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 clearly states the verb 'List' and resource 'pins' with scope 'on a board or board section', distinguishing it from siblings like search_pins or get_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 guidance on when to use this tool versus alternatives (e.g., search_pins for text search). Lacks context about typical use cases.

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

pinterest_authA

Initiate Pinterest OAuth authentication flow. Opens a browser for you to authorize the app.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Discloses that it opens a browser for user authorization, which is key behavioral info. However, lacks detail on blocking behavior, side effects (token storage), or what happens after authorization. No annotations provided.

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 concise sentences, front-loaded with purpose and action. No wasted words.

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?

Adequate for a simple tool with no parameters, but could be more complete by describing post-authorization behavior (e.g., callback or token handling). Lacks details on return value or effect.

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?

No parameters exist in schema (0 params), so baseline is 4. Description does not need to add parameter info; the absence is clear.

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 verb 'Initiate' and the resource 'Pinterest OAuth authentication flow', and distinguishes from siblings by being the only auth initiation tool among pin/board/search 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?

Implies usage for starting authentication, but no explicit when-to-use or when-not-to-use guidance. The sibling pinterest_auth_status exists for checking status, but this is not mentioned.

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

pinterest_auth_statusA

Check current Pinterest authentication status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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 behavioral disclosure. It does not state that the tool is read-only, idempotent, safe, or any other behavioral traits. An agent cannot infer side effects or safety from 'Check status' alone.

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 that front-loads the purpose. Every word is meaningful with no redundancy or filler, making it highly efficient for an AI agent to process.

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?

Given the zero-parameter input and lack of output schema, the description is minimally complete. It communicates the tool's purpose but omits details about the return value (e.g., format, possible values), which could be important for an agent to use the result effectively.

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?

There are zero parameters, and the schema coverage is 100%, so the baseline score is 4. The description adds no parameter information, but none is needed. The tool is straightforward with no input requirements.

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 verb 'Check' and the resource 'Pinterest authentication status', making the tool's purpose immediately obvious. It distinguishes from sibling tools like 'pinterest_auth' by indicating this is a status query rather than an authentication action.

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 such as 'pinterest_auth'. The description does not include any context for when a status check is appropriate or any prerequisites or side effects.

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

search_boardsB

Search your boards by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
bookmarkNoPagination cursor from previous response

TDQS

B3/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits such as return format, result limitations, or rate limits. Only implies search function.

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?

Single sentence is concise but lacks structure; no examples or additional context that would aid use.

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?

No output schema and minimal description. For a search tool, more context on results behavior and pagination is needed.

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 coverage is 100% with descriptions for both parameters. Description adds 'by keyword' matching the query param but does not elaborate on bookmark usage.

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?

Description clearly states the tool searches boards by keyword, distinguishing it from siblings like get_board (single board) and list_boards (all boards).

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 on when to use search_boards versus alternatives like search_pins or list_boards. No mention of prerequisites or limitations.

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

search_pinsB

Search your pins by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
bookmarkNoPagination cursor from previous response

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description is the sole source of behavioral info. It fails to disclose pagination behavior (despite a bookmark parameter), matching logic (e.g., partial matches, case sensitivity), or any side effects. Significant gaps remain.

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, short sentence that efficiently communicates the core purpose. While it lacks detail, it is not bloated or verbose. It could benefit from slightly more structure but remains concise.

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?

Given the low complexity (2 parameters, no output schema), the description provides the essential purpose but omits expected behavior (e.g., result format, ordering, limits). It meets the minimum threshold but leaves notable gaps.

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 coverage is 100% with both parameters described. The description adds no extra meaning beyond the schema; 'by keyword' merely restates the query parameter's purpose. Baseline 3 is appropriate.

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 ('pins'), and the method ('by keyword'). It is specific and distinguishes from sibling tools like 'search_boards' which target a different resource.

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 such as 'list_pins' or 'search_boards'. The agent is left to infer usage context without any direction.

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. 15 tool updatesv1.0.0
    • First observedget_board
    • First observedget_pin
    • First observedget_pin_analytics
    • First observedget_pin_image
    • First observedget_user_analytics
    • First observedget_user_profile
    • First observedlist_board_sections
    • First observedlist_boards
    • First observedlist_followers
    • First observedlist_following
    • First observedlist_pins
    • First observedpinterest_auth
    • First observedpinterest_auth_status
    • First observedsearch_boards
    • First observedsearch_pins

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: list versus get, retrieval versus analytics, etc. No two tools appear to overlap in function.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_board, list_pins, search_boards, pinterest_auth_status).

Tool Count5/5

With 15 tools, the server is well-scoped for a Pinterest API wrapper, covering boards, pins, analytics, authentication, user profile, and social lists without being excessive.

Completeness2/5

The tool set is entirely read-only and lacks any create, update, or delete operations for boards or pins, which is a significant gap given the server name implies management of boards and pins.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

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/artyomredko-collab/sapyx-mcpclone'

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