Skip to main content
Glama

Honeyfield Marketing MCP

LinkedIn Ads: Update campaign targeting

linkedin_update_campaign_targeting
Destructive

Targeting einer LinkedIn-Kampagne ERSETZEN (vollständig, nicht ergänzen) und zurücklesen (before/after, verified). Vorgehen: aktuelles Targeting mit linkedin_list_campaigns lesen, ändern, komplett übergeben — was fehlt, wird entfernt. include: Liste von Gruppen, UND-verknüpft; innerhalb einer Gruppe ODER. Gleiche Form wie targeting.include aus linkedin_list_campaigns — Werte als URN-Strings oder direkt die {name, urn}-Objekte. Pflicht ist eine Gruppe mit locations. Beispiel: [{"locations": ["urn:li:geo:103883259"]}, {"profile_languages": ["urn:li:locale:de_DE"]}, {"job_functions": ["urn:li:function:13"]}, {"seniorities": ["urn:li:seniority:5", "urn:li:seniority:6"]}, {"company_sizes": ["urn:li:staffCountRange:(11,50)"]}] Jobtitel (job_titles) lassen sich laut LinkedIn nicht mit job_functions oder seniorities kombinieren (error=incompatible_targeting) — entweder Titel oder Funktion/Seniorität. exclude: Ausschlüsse (ODER), z. B. {"companies": ["urn:li:organization:1337"]}; None entfernt bestehende Ausschlüsse. URNs über linkedin_search_targeting finden. Größe vorab mit linkedin_estimate_audience prüfen (unter 300 Mitgliedern liefert LinkedIn nicht aus). validate_only: True prüft lokal und liest die Kampagne, schreibt aber nicht. Rückgabe enthält targeting_notice (LinkedIn-Pflicht): dem Nutzer beim Ändern des Targetings wörtlich mit Link anzeigen. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).

Input Schema

NameRequiredDescriptionDefault
excludeNo
includeYes
workspaceNo
campaign_idYes
validate_onlyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, readOnlyHint=false, openWorldHint=true): it spells out that omitted fields are deleted, that results are read back verified with before/after, that validate_only reads but never writes, that audiences under 300 members don't deliver, and that the returned targeting_notice must be shown verbatim with its link.

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 the destructive 'ERSETZEN' constraint and organized into labelled sections (include, exclude, URNs, validate_only, return). It is long and dense, but nearly every clause carries decision-relevant information; only the example list is verbose relative to the rest.

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 destructive, open-world mutation with five loosely-typed parameters and no schema descriptions, the definition covers the replacement semantics, validation path, URN discovery, error cases and the mandatory notice—everything an agent needs to invoke it correctly. Return values are covered by the existing output schema.

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

Parameters5/5

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

With 0% schema description coverage the description carries the full burden and delivers: include is AND across groups and OR within a group, a locations group is mandatory, values may be URN strings or {name, urn} objects, a concrete example is given, and exclude None clears existing exclusions. validate_only and workspace are also explained.

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 very first clause states a specific verb and resource ('Targeting einer LinkedIn-Kampagne ERSETZEN') and immediately disambiguates the semantics as full replacement, not merge ('vollständig, nicht ergänzen'). It also distinguishes itself from read/estimate siblings by naming linkedin_list_campaigns, linkedin_search_targeting and linkedin_estimate_audience.

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?

Gives an explicit procedure (read current targeting with linkedin_list_campaigns, modify, pass complete), names the prerequisite lookup tools for URNs and size checking, and states a hard exclusion rule (job_titles vs job_functions/seniorities → incompatible_targeting). It also explains when to use validate_only instead of a real write.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources