Skip to main content
Glama

Update a custom service in a site's privacy & cookie policy

update_site_pcp_custom_service
Destructive

Update a fully custom service of a site in every site language. Use the id returned by list_site_pcp_custom_services or create_site_pcp_custom_service. Send only the fields to change; omitted fields keep their current value. A service that so far exists in one language only is extended to every site language on its first update, so that request must bring translations for the other languages, or use "all".

Input Schema

NameRequiredDescriptionDefault
idYesID of the custom service (from list/get/create)
site_idYesSite ID
uses_aiNoWhether the service uses artificial intelligence. Omit to keep the current value.
purpose_idNoID of the purpose, as list_pcp_services shows under purpose for each catalog service. 0 for no specific purpose, which is the default. Omit to keep the current value.
translationsNoName and text of the service per site language, keyed by language code as get_site lists them, or one entry under the key "all" for the same text in every language. Every site language needs text; a missing one is refused with MISSING_TRANSLATIONS, whose details list the missing codes. On update, a language left out keeps its text. HTML is stripped from the name; the content keeps i, u, b, a, strong and em tags.
in_cookie_policyNoWhether the service appears in the cookie policy; its data types are then the tracker data type only. Default false. Omit to keep the current value.
provided_by_siteNotrue when the site itself provides the service, false when a third party does. Default true. Omit to keep the current value.
in_privacy_policyNoWhether the service appears in the privacy policy. Default false, but at least one of in_privacy_policy and in_cookie_policy must be true. Omit to keep the current value.
storage_durationsNoHow long this service's cookies and trackers are stored. Replaces the service's durations. Omit to keep the current value.
third_party_serviceNoUS state privacy laws: true marks the provider as a third party; false marks it as a service provider, processor or contractor. Omit to keep the current value.
ccpa_constitutes_saleNoProcessing by this service is a sale of personal information in California (CCPA). Omit to keep the current value.
ai_interaction_subtypeNoKinds of AI interaction the service has, when uses_ai is true. Omit to keep the current value.
other_us_laws_constitutes_saleNoProcessing by this service is a sale under the other US state privacy laws (Virginia, Colorado, Connecticut, Utah, Texas, Oregon, Nevada and other states). Omit to keep the current value.
ccpa_sharing_personal_informationNoProcessing by this service is sharing of personal information in California (CCPA). Omit to keep the current value.
other_us_laws_targeted_advertisingNoProcessing by this service is targeted advertising under the other US state privacy laws (Virginia, Colorado, Connecticut, Utah, Texas, Oregon and other states). Omit to keep the current value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Despite destructiveHint=true being supplied by annotations, the description adds the crucial mitigating semantics: omitted fields keep their current value rather than being cleared. It also discloses the non-obvious first-update behavior (single-language services are extended to all site languages) and the MISSING_TRANSLATIONS failure mode, which an agent could not predict from annotations or schema.

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?

Three sentences, front-loaded with the purpose, then id provenance, then the partial-update and language-extension rules in priority order. No filler and nothing repeated from the schema verbatim.

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 mutation tool with nested objects and no output schema, the description covers the risky, non-obvious behaviors. The only small gap is that it does not say what a successful update returns, though with no output schema the agent can reasonably infer the updated service.

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 description coverage is 100%, with per-property descriptions covering the 'all' translation key, storage_durations modes, and 'omit to keep current value' semantics. The description adds only the id provenance note and hints at the translations 'all' convention, so baseline 3 applies.

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 and resource ('Update a fully custom service of a site') with the scope qualifier 'in every site language'. The word 'fully custom' distinguishes it from the catalog-service sibling update_site_pcp_service without the agent needing to open either schema.

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 tells the agent where to get the id (list_site_pcp_custom_services or create_site_pcp_custom_service) and explains the partial-update contract ('send only the fields to change'). It lacks an explicit exclusion pointing at update_site_pcp_service for catalog services, so the when-not-to-use case is left to inference.

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