Skip to main content
Glama
get-mcp-ads

LinkedIn Ads MCP Server

linkedin get media

linkedin_get_media
Read-onlyIdempotent

Refresh an image or video URL and verify that it belongs to the selected LinkedIn ad account's media library.

Instructions

Refresh one image/video URL and verify library association.

Input Schema

NameRequiredDescriptionDefault
mediaIdYesExact urn:li:image or urn:li:video associated with the selected account library.
adAccountIdYesSelected LinkedIn advertising account, numeric ID. It must be listed in LINKEDIN_ADS_ACCOUNT_IDS.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds two useful behavioral facts: the returned URL is re-resolved/refreshed (suggesting a freshly signed, potentially expiring URL) and the call validates library membership. It does not say what happens on a media URN outside the account library (error vs empty result), which is the main behavioral gap.

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?

A single short sentence with no filler, and the core action leads. It is arguably over-compressed: 'Refresh' carries the whole semantic load and would benefit from one clarifying clause about when a refresh is needed.

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 two-parameter read with full schema coverage, an output schema, and rich annotations, the description supplies enough to call it correctly. The remaining gap is guidance on error/edge behavior when the media is not in the library, plus routing versus linkedin_list_media.

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% and both parameters document their formats (URN pattern, numeric account ID restricted to LINKEDIN_ADS_ACCOUNT_IDS), so the schema carries the parameter burden. The description adds only the framing that the media must be associated with the selected account's library, not per-parameter detail.

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 concrete action on a concrete resource: fetch/refresh a single image or video URL and confirm it belongs to the account's media library. The singular 'one image/video' implicitly contrasts with the sibling linkedin_list_media, though neither that sibling nor any other alternative is named.

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?

Usage is only implied: an agent can infer this is for a single already-known media URN rather than enumerating a library. There is no explicit 'use this when X, use linkedin_list_media when Y', and no stated preconditions beyond the implicit library-association requirement.

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