Skip to main content
Glama
alidade-ai

Alidade MCP

Official
by alidade-ai

Get analytics

get_analytics
Read-only

Retrieve aggregated post analytics for a saved search or ad-hoc entity set, broken down per comparison group. Query volume, engagement, time-series, themes, policy, network, tone, and channel metrics.

Instructions

Aggregated analytics for a scope of entities, broken down per comparison group. Scope with exactly one of savedSearchId (recommended — its groups, platforms, date range, and keyword filters all apply) or entityIds (ad-hoc, treated as a single group); the other parameters filter or override the scope. Metrics: post-volume (post counts + share of voice), engagement (likes/shares/replies), time-series (engagement over time), themes (messaging-theme breakdown; requires taxonomy), policy-issues, policy-entities (mentioned policymakers/bills with stance), network-analysis (mentioned people/orgs/events), tone-voice (writing tone + brand voice), brand-positioning, content-breakdown (by content type), channel-presence (per-entity accounts with follower counts). Content-analysis metrics report over the analyzed-post subset, so their denominators are smaller than raw post counts.

Input Schema

NameRequiredDescriptionDefault
dateToNoOnly include posts published on or before this date (ISO 8601). A date-only value (`2026-01-31`) includes that whole day, UTC. Overrides the saved search's range end; its range start is kept unless `dateFrom` is also provided.
metricYesWhich analytics breakdown to fetch.
dateFromNoOnly include posts published on or after this date (ISO 8601). A date-only value (`2026-01-31`) means the start of that day, UTC. Overrides the saved search's range start; its range end is kept unless `dateTo` is also provided.
keywordsNoComma-separated keywords to filter post content by (e.g. `sustainability,net zero`). Replaces the saved search's keyword filters. Cannot be combined with `booleanQuery`.
taxonomyNoRequired for the themes metric: which messaging taxonomy to aggregate (product themes, corporate social responsibility, political campaign, or executive messaging).
timezoneNoFor time-series: IANA timezone for date bucketing (default America/New_York).
breakdownNoFor engagement and time-series: set to platform for per-platform numbers (default none).
entityIdsNoComma-separated entity IDs (max 100) for an ad-hoc scope, treated as a single comparison group. Provide either this or `savedSearchId`.
platformsNoComma-separated platforms to include. Valid values: facebook, instagram, linkedin, x, youtube, tiktok, bluesky. Overrides the saved search's platform filter. Omit to use the saved search's platforms (or all platforms for an ad-hoc scope).
granularityNoFor time-series: time bucket size (default month).
booleanQueryNoBoolean keyword query matching the app's advanced search mode (e.g. `"net zero" AND (solar OR wind)`). Syntax: AND/OR/NOT (upper case), parentheses, quoted phrases with optional proximity ("health care"~3 = up to 3 words between, any phrase length, max 20), NEAR/N (either order) and THEN/N (ordered) between terms or groups, wildcards (elect*, wom?n), fuzzy (medicaid~1, max 2). Always use explicit operators between terms. Mixing AND or NOT with OR at the same depth is an error — parenthesize to make precedence explicit ((a AND b) OR c, (a OR b) NOT c). NEAR/THEN bind tighter than AND/OR — parenthesize a proximity expression that sits next to AND/OR ((a NEAR/5 b) OR c, (a OR b) NEAR/5 c). NOT is not allowed inside NEAR/THEN; exclude outside the proximity expression. Matching is exact-token, case- and accent-insensitive (no stemming) — cover word variants with OR or a wildcard (tariff OR tariffs, tariff*). Korean attaches particles to words, so put a trailing wildcard on each Korean term (검색*). Hindi is written in Devanagari and romanized, so OR both forms ((दोस्त OR dost)); Devanagari and Tamil matching ignores vowel signs, so expect some unrelated matches. Comments are ignored by search: // to the end of the line, <<< >>> inline or across lines. Full syntax: https://docs.alidade-ai.com/search-syntax. Replaces the saved search's keyword filters. Cannot be combined with the keyword parameters.
keywordMatchNoWhether posts must match `any` (default) or `all` of `keywords`.
savedSearchIdNoID of a saved search to scope the request to. Its comparison groups, platform filter, date range, and keyword filters all apply. Only entities your workspace can access are included; a saved search with none returns 422. Provide either this or `entityIds`.
excludeKeywordsNoComma-separated keywords that matching posts must not contain (exact word/phrase match). Replaces the saved search's keyword filters. Cannot be combined with `booleanQuery`.
keywordMatchTypeNo`exact` (default) matches the exact words or phrases only; `stemmed` also matches English word variants (run/running). Applies to `keywords`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

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

With readOnlyHint=true already covering safety, the description adds non-obvious behavior: content-analysis metrics are computed over the analyzed-post subset, so their denominators are smaller than raw post counts. It also clarifies override semantics (date/keyword/platform params replace saved-search settings). It stops short of describing response shape or cost/latency characteristics.

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?

Front-loaded with purpose, then scoping rule, then metric list. The metric enumeration is long but each item is meaningfully distinct and helps metric selection. Minor density cost from listing all eleven families inline rather than grouping.

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

Completeness4/5

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

For a 15-parameter analytics tool with no output schema, the description covers scoping, metric choice, per-group breakdown, and the analyzed-subset denominator caveat — enough to call it correctly. It could say more about what each result group contains, but the metric list implies the shape.

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 every parameter is already documented in structured fields and the baseline is 3. The description reinforces the most consequential semantics — savedSearchId inherits groups/platforms/date/keyword filters, entityIds is a single ad-hoc group — but adds little that the schema descriptions do not already state at greater depth.

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

Purpose5/5

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

States a specific verb+resource ('Aggregated analytics for a scope of entities, broken down per comparison group') and enumerates the eleven metric families so an agent knows the full output surface. It is clearly distinguishable from siblings like search_mentions (raw posts) or get_saved_search (scope definition) because it is the aggregation endpoint.

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

Usage Guidelines4/5

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

Explicitly prescribes scoping: 'exactly one of savedSearchId (recommended ...) or entityIds (ad-hoc, treated as a single group); the other parameters filter or override the scope,' and notes 'themes ... requires taxonomy.' It does not name sibling alternatives (e.g. use search_mentions when raw posts are needed instead of aggregates), so a 4 rather than 5.

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