Boards & Pins MCP Server
Allows browsing, creating, and managing Pinterest boards, pins, sections, and user profiles via the Pinterest API v5.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Boards & Pins MCP Serverlist my boards"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Node.js >= 20
A Pinterest account and app (see Configuration)
Quick Start
git clone https://github.com/sapyx/sapyx-mcp.git
cd sapyx-mcp
npm install
npm run buildCopy the environment template and fill in your credentials:
cp .env.example .envThen add the server to your MCP client (see Configuration).
Authentication
Two modes are supported:
Mode | Env vars | Access |
Direct token |
| Read-only |
OAuth 2.0 |
| 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 |
|
Boards |
|
Pins |
|
Search |
|
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 setupTech Stack
Language: TypeScript (ES2022, Node16 modules)
Runtime: Node.js >= 20
MCP Framework:
@modelcontextprotocol/sdkValidation: Zod
Transport: STDIO
Documentation
Available Tools
15 toolsget_boardB
Get full details of a specific Pinterest board.
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pin_id | Yes | Pin ID |
TDQS
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.
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.
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.
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.
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.
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.).
| Name | Required | Description | Default |
|---|---|---|---|
| pin_id | Yes | Pin ID | |
| end_date | Yes | End date (YYYY-MM-DD) | |
| start_date | Yes | Start date (YYYY-MM-DD) | |
| metric_types | No | Metrics to retrieve (default: all basic metrics) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Image size variant (default: 600x) | |
| pin_id | Yes | Pin ID |
TDQS
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.
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.
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.
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.
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.
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.).
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date (YYYY-MM-DD) | |
| start_date | Yes | Start date (YYYY-MM-DD) | |
| metric_types | No | Metrics to retrieve (default: all basic metrics) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| bookmark | No | Pagination cursor from previous response | |
| page_size | No | Items per page (1-100, default 25) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID | |
| bookmark | No | Pagination cursor from previous response | |
| page_size | No | Items per page (1-100, default 25) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| bookmark | No | Pagination cursor from previous response | |
| page_size | No | Items per page (1-100, default 25) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| bookmark | No | Pagination cursor from previous response | |
| page_size | No | Items per page (1-100, default 25) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID | |
| bookmark | No | Pagination cursor from previous response | |
| page_size | No | Items per page (1-100, default 25) | |
| section_id | No | Section ID (omit for all board pins) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| bookmark | No | Pagination cursor from previous response |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| bookmark | No | Pagination cursor from previous response |
TDQS
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.
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.
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.
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.
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.
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.
15 tool updates
v1.0.0- First observed
get_board - First observed
get_pin - First observed
get_pin_analytics - First observed
get_pin_image - First observed
get_user_analytics - First observed
get_user_profile - First observed
list_board_sections - First observed
list_boards - First observed
list_followers - First observed
list_following - First observed
list_pins - First observed
pinterest_auth - First observed
pinterest_auth_status - First observed
search_boards - First observed
search_pins
TDQS
Each tool has a clear, distinct purpose: list versus get, retrieval versus analytics, etc. No two tools appear to overlap in function.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_board, list_pins, search_boards, pinterest_auth_status).
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.
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
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
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis read-only MCP Server allows you to connect to Pinterest data from Claude Desktop through CData JDBC Drivers. Free (beta) read/write servers available at https://www.cdata.com/solutions/mcp4MIT
- FlicenseAqualityDmaintenanceMCP server that gives AI agents visual intelligence — search Pinterest, analyze images with LLM vision, build a semantic reference library, and retrieve by style or mood.61-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Pinterest boards and pins, create and update pins, and track analytics via the Pinterest API v5.4MIT
- AlicenseBqualityDmaintenanceMCP server connector for Pinterest — search pins, manage boards, save pins, and follow users via Playwright browser automation.1019MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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