Skip to main content
Glama

update_app_branding

Idempotent

Configure an app's notification icon URL and automated welcome push for first-time subscribers to customize branding and onboarding. Get app_id via list_apps first.

Instructions

Configure an application's notification icon URL and automated welcome push notification sent when a visitor first subscribes. Use this tool to customize app-level branding and onboarding welcome alerts; do not use it to change account-level workspace names (use update_profile instead) or in-page popups (use configure_inapp_banner instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY, idempotently updates the app record at 0 configuration cost (welcome pushes cost 1 credit per new subscriber when welcome_enabled=true). Returns JSON { ok, app_id, icon_url, welcome_enabled, welcome_title, welcome_body }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
app_idYesTarget application ID in format app_xxxx (obtain from list_apps)
icon_urlNoOptional direct HTTPS URL to a square PNG/JPG/WebP brand icon (recommended 192x192px)
welcome_bodyNoBody text of the automated welcome push notification (max 180 characters)
welcome_titleNoHeadline of the automated welcome push notification (max 80 characters)
welcome_enabledNoSet true to automatically send a welcome push notification immediately after a visitor grants permission

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2.1.2
    • changedInput schema / properties / app_id / description
      Previous value: -"App ID yang ingin diubah (misal: app_xxxx)"New value: +"Target application ID in format app_xxxx (obtain from list_apps)"
    • changedInput schema / properties / icon_url / description
      Previous value: -"URL gambar logo PNG/JPG aplikasi"New value: +"Optional direct HTTPS URL to a square PNG/JPG/WebP brand icon (recommended 192x192px)"
    • changedInput schema / properties / welcome_body / description
      Previous value: -"Isi pesan notifikasi sambutan"New value: +"Body text of the automated welcome push notification (max 180 characters)"
    • changedInput schema / properties / welcome_enabled / description
      Previous value: -"Aktifkan/matikan pesan sambutan otomatis"New value: +"Set true to automatically send a welcome push notification immediately after a visitor grants permission"
    • changedInput schema / properties / welcome_title / description
      Previous value: -"Judul notifikasi sambutan saat user baru klik Izinkan"New value: +"Headline of the automated welcome push notification (max 80 characters)"
  2. First observedv2.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (which already declare idempotentHint and destructiveHint=false), the description adds critical context: it requires PUSHNOTIF_API_KEY, it is idempotent, it has zero configuration cost but incurs 1 credit per new subscriber when welcome_enabled=true, and it returns a specific JSON shape. This is rich behavioral detail that goes well beyond what annotations provide.

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?

The description is front-loaded with purpose, followed by usage and exclusions, prerequisite, and behavioral/return details. Every sentence earns its place and there is no redundant or filler text.

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?

Given the 5-parameter schema with no output schema, the description covers all necessary context: purpose, alternatives, prerequisite, authentication needs, cost model, idempotency, and the exact return JSON shape. An agent has everything needed to invoke it correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already explains each parameter thoroughly. The description adds meaning for welcome_enabled by noting the cost per new subscriber when true, which is not in the schema. For the remaining parameters it largely summarizes rather than adding new semantic detail, so it improves on the baseline but does not fully elaborate every parameter.

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 description states a specific verb (Configure) and resource (application's notification icon URL and welcome push notification), and explicitly distinguishes this tool from siblings by naming update_profile and configure_inapp_banner as alternatives for other tasks. An agent can identify the tool's scope without opening the schema.

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?

It provides explicit when-to-use ('customize app-level branding and onboarding welcome alerts'), when-not-to-use ('do not use it to change account-level workspace names ... or in-page popups'), names the alternative tools, and states a prerequisite ('call list_apps first to obtain app_id'). Nothing 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.