Skip to main content
Glama
adops-tool

LinkedIn Ads MCP Toolkit

by adops-tool

get_audience_demographics

Read-onlyIdempotent

Retrieve demographic breakdowns of LinkedIn ad viewers and interactions by job function, seniority, industry, company size, or location to verify target audience reach.

Instructions

Retrieves demographic breakdown of who saw or interacted with your ads. Shows performance segmented by job function, seniority, industry, company size, or geographic location. Essential for understanding if you're reaching your target audience. Note: Demographic data has a 12-24 hour delay.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoTop N results to return (max 100). Default: 25
metricNoPrimary metric to sort by. Default: impressions
endDateNoEnd date in YYYY-MM-DD format. Default: today
accountIdYesThe LinkedIn Ad Account ID
startDateYesStart date in YYYY-MM-DD format
campaignIdsNoFilter by specific campaigns
demographicTypeYesThe demographic dimension to analyze (MEMBER_COUNTRY and MEMBER_REGION are the newer versions)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the safe read profile (readOnly, idempotent, non-destructive), so the description's main contribution is the "12-24 hour delay" freshness caveat on demographic data, which the agent cannot learn from structured fields. It stops short of describing result volume, pagination, or whether the delay differs by dimension.

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?

Four short sentences, front-loaded with what the tool returns and ending on the caveat. The "Essential for understanding..." sentence is mild sales framing rather than operational information, costing it a point.

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 read-only analytics tool with no output schema and full parameter documentation, the description covers purpose, the segmentation dimensions, and the data-latency caveat. Return shape is not explained, but no output schema exists to lean on, leaving a modest gap for a tool that can return ranked result sets.

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 all seven parameters including both enums are already documented in the schema. The description lists the demographic dimensions, but this only paraphrases the demographicType enum values and adds nothing on limit, metric, date handling, or campaignIds. Baseline 3 applies.

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?

States a specific verb and resource (retrieves demographic breakdown / performance segmented by dimension) and enumerates the segmentation dimensions, which implicitly separates it from get_campaign_performance and get_creative_performance. It never names a sibling tool outright, so an agent must infer the boundary rather than being told it.

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?

"Essential for understanding if you're reaching your target audience" gives a use case, but there is no guidance on when to prefer this over get_audience_reach, get_analytics, or compare_performance, and no exclusions or prerequisites. Usage is implied rather than specified.

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