Skip to main content
Glama
hermoso-ai

Hermoso

Official

Pinterest organic analytics

pinterest_analytics
Read-only

Get organic Pinterest performance data—impressions, saves, clicks—for your account, top Pins, video Pins, or one Pin to identify what earns reach without ads.

Instructions

ORGANIC Pinterest performance — impressions, saves, Pin clicks, outbound clicks and their rates, for the whole ACCOUNT, for the TOP PINS, for the TOP VIDEO PINS (with view-through and average watch time), or for ONE Pin. This is unpaid reach; pinterest_ads_report covers paid. Use scope:"top_pins" to answer "what is actually working on our Pinterest" — it ranks the account’s own Pins by whichever metric you sort on. NOTE Pinterest keeps only 90 DAYS of organic analytics and refuses a longer window, which is refused here with the reason rather than as an opaque error. A VIDEO Pin takes a different metric set from a static one (pass video:true for scope:"pin"). THERE IS NO BOARD ANALYTICS: Pinterest’s v5 API publishes no such endpoint, so board-level performance genuinely does not exist in any API — do not promise it. An unknown metric is refused by name, and a metric Pinterest omits from a row is MISSING data ("if a column has no value, it may not be returned"), never a measured zero. Works on Pinterest’s Trial access tier — unlike creating Pins, every read row in Pinterest’s access-tier table is available on Trial. Read-only, 0 credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNotop_pins / top_video_pins: how many (1–50, default 10)
pinIdNorequired for scope:"pin" — the id post_to_pinterest returned
scopeNodefault account
sinceNoYYYY-MM-DD, default 30 days ago; Pinterest allows at most 90 days back
untilNoYYYY-MM-DD, default today
videoNoscope:"pin" only — true when the Pin is a VIDEO, which has its own metric set
sortByNotop_pins / top_video_pins: the metric to rank by (default the first metric)
appTypesNo
splitFieldNoaccount: NO_SPLIT | APP_TYPE | OWNED_CONTENT | SOURCE | PIN_FORMAT
metricTypesNowhich metrics; omit for all of the ones valid at this scope. Unknown values are refused with the valid list.
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint, destructiveHint false), the description discloses critical behaviors: 90-day data retention ('refused here with the reason rather than as an opaque error'), video pin metric differences ('pass video:true'), missing-data semantics ('never a measured zero'), and unknown-metric refusal. It also notes availability on Trial access tier. This far exceeds the annotation coverage and prevents common agent pitfalls.

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?

Although long, every sentence earns its place. It front-loads the core function, then covers differentiation, usage guidance, and limitations. The structure is logical and free of redundancy. Each sentence addresses a distinct aspect—scope, comparison to paid, video variant, board absence, error behavior, data-availability nuance, and access tier—making it highly efficient for its information density.

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

Completeness5/5

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

For a complex 10-parameter tool with no output schema, the description covers all essential contextual aspects: scopes, metric types, date-window limits, video behavior, missing-data rules, unknown-metric handling, and trial access. It also explains the difference between organic and paid, ensuring the agent knows when to use this vs. the ads report. No critical information for correct invocation is missing.

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

Parameters4/5

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

Schema description coverage is 90%, so the baseline is 3. However, the description adds meaningful context beyond the schema: it explains the purpose of scope:'top_pins' (ranks account's own Pins by sort metric), clarifies video:true for scope:'pin' (video pins have a different metric set), and ties limit to top_pins/top_video_pins. These enrich the parameter meanings beyond the property descriptions.

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 explicitly defines the tool's purpose: 'ORGANIC Pinterest performance — impressions, saves, Pin clicks, outbound clicks and their rates' for multiple scopes (account, top pins, top video pins, one pin). It also names the specific metric types and differentiates from paid analytics by referencing pinterest_ads_report, making it impossible to confuse with siblings like pinterest_ads_async_report or pinterest_targeting_analytics.

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

Usage Guidelines5/5

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

The description gives clear when-to-use guidance: 'This is unpaid reach; pinterest_ads_report covers paid.' It also recommends a specific use case: 'Use scope:"top_pins" to answer "what is actually working on our Pinterest"' and explicitly warns against board analytics ('THERE IS NO BOARD ANALYTICS') to prevent misuse. These are direct usage guidelines with alternatives named.

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

Install Server

Other Tools

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/hermoso-ai/hermoso'

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