Skip to main content
Glama
PinMeTo

PinMeTo Location MCP

Official
by PinMeTo

Facebook insights

pinmeto_get_facebook_insights
Read-only

Fetch Facebook metrics for all locations or a single store, with optional time aggregation and period-over-period comparisons to track performance.

Instructions

Fetch Facebook metrics for all locations, or a single location if storeId provided. Supports time aggregation (default: total) and period comparisons.

Comparison Options:

  • compare_with="prior_period": Compare with same-duration period before (MoM, QoQ)

  • compare_with="prior_year": Compare with same dates last year (YoY)

  • When comparison is active, each metric includes a comparison field with prior, delta, deltaPercent

Error Handling:

  • Rate limit (429): errorCode="RATE_LIMITED", message includes retry timing

  • Not found (404): errorCode="NOT_FOUND" if storeId doesn't exist

  • All errors: check structuredContent.errorCode and .retryable for programmatic handling

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesEnd date (YYYY-MM-DD)
fromYesStart date (YYYY-MM-DD)
storeIdNoOptional store ID to fetch a single location
aggregationNoTime aggregation: total (default, maximum token reduction), daily, weekly, monthly, quarterly, half-yearly, yearlytotal
compare_withNoCompare with: prior_period (MoM/QoQ for same-duration period before), prior_year (YoY for same dates last year), or none (default)none
response_formatNoResponse format: "json" (default, token-efficient) or "markdown" (human-readable with tables)json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoError message if the request failed
warningNoWarning message (e.g., incomplete data due to lag)
insightsNoArray of insights by metric. Flattened (no values array) when aggregation=total, multi-period otherwise (absent on error)
errorCodeNoError code for programmatic handling
retryableNoWhether the operation can be retried
compareWithNoComparison period type used: "none", "prior_period", or "prior_year"
periodRangeNoDate range for the current period data
warningCodeNoWarning code for programmatic handling
comparisonErrorNoError message if comparison data could not be fetched (current period data still returned)
timeAggregationNoTime aggregation level applied to the data (e.g., "total", "monthly", "daily")
priorPeriodRangeNoDate range for the prior period (present when compare_with is specified)
Behavior5/5

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

Even with readOnlyHint=true, the description adds valuable behavioral context: it discloses rate-limit error codes, 404 handling, and the structuredContent error schema. It also explains that comparison mode adds a comparison field with prior, delta, and deltaPercent, which is not visible in annotations or schema. This goes well beyond the annotation baseline.

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 concise, front-loaded with the main purpose, and uses clear bullet sections for comparison options and error handling. Every sentence adds value, and there is no verbosity or redundancy with the schema.

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?

With an output schema present, the description does not need to detail return values. It adequately covers location scoping, aggregation default, comparison behavior, and error handling. The only gap is the lack of explicit differentiation from the sibling get_facebook_brandpage_insights, which is minor given the strong overall coverage.

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 coverage is 100%, so baseline is 3. The description enhances semantics by explaining compare_with options in detail (MoM, QoQ, YoY) and the resulting delta fields. It also clarifies that storeId limits to a single location. This adds meaning beyond the schema, though not for all six parameters.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Fetch Facebook metrics for all locations, or a single location if storeId provided.' This clearly distinguishes the tool from Google/Apple insights siblings and conveys both the platform and scope. Although it does not explicitly contrast with get_facebook_brandpage_insights, the 'Facebook metrics' phrasing is still 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?

The description clearly implies usage for Facebook metrics, but it does not provide explicit when-to-use guidance or name alternatives such as get_facebook_brandpage_insights for brand-page-specific metrics. No exclusions or 'instead of' guidance is given, so the agent must infer context from the tool name and sibling list.

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/PinMeTo/pinmeto-location-mcp'

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