Skip to main content
Glama

Save this app's bundle ID, Team ID and store details

update_app_identity
DestructiveIdempotent

Saves what the app IS to Apple, Google and the web: the iOS bundle ID and Apple Team ID (which build the Universal Links file), the Android package and signing fingerprints (which build the App Links file), both store addresses and the website. Send only the fields you know. Every value is checked before saving, because a bad one makes links fail with no error anywhere. A value already saved is not overwritten unless replace_existing is true: changing a bundle ID on a live app breaks its links, so ask the person first. Needs read and edit access.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_app_identity"
  }
}

Input Schema

NameRequiredDescriptionDefault
web_urlNoThe app's website
ios_team_idNoApple Team ID, 10 letters and digits
ios_bundle_idNoLike com.yourcompany.yourapp
ios_store_urlNohttps://apps.apple.com/… address
android_sha256NoSHA-256 signing fingerprints, 32 hex pairs split by colons
android_packageNoLike com.yourcompany.yourapp
replace_existingNoOverwrite values already saved. Only after the person has agreed.
android_store_urlNohttps://play.google.com/… address

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds real substance on top: every value is validated before saving, failures manifest as silently broken links rather than errors, unspecified fields are left untouched, and existing values are preserved by default. It also discloses the permission requirement, none of which is encoded in the annotations.

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?

The purpose is front-loaded in the first clause, followed by field grouping, then the overwrite hazard, then the access requirement — a sensible risk-ordered structure. It is dense but nearly every sentence carries a distinct fact; the store-address and website mentions are the only mildly padded portion.

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 an 8-parameter, all-optional mutation with no output schema, the description covers what an agent needs: partial-send semantics, validation behavior, default non-overwrite, the destructive edge case, and permissions. The only gap is what a successful call returns or how validation failures are surfaced to the caller.

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 coverage is 100%, so the baseline would be 3, but the description adds meaning the schema does not: it groups fields by platform and explains what each group feeds (bundle ID + Team ID build Universal Links; package + fingerprints build App Links), and it explains the default-preserve semantics of replace_existing beyond the schema's one-line note.

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 names a specific verb ("Saves") and enumerates the exact resource: iOS bundle ID, Apple Team ID, Android package and signing fingerprints, both store URLs and the website. It even states the downstream artifacts these values produce (Universal Links file, App Links file), which separates it cleanly from read-side siblings like get_app_setup and get_link_infrastructure.

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?

It gives concrete operational guidance: "Send only the fields you know" for partial saves, and "A value already saved is not overwritten unless replace_existing is true" with the caution to ask the person first before changing a live bundle ID. It also states the access prerequisite ("Needs read and edit access"). It stops short of naming a sibling alternative, but the when/when-not conditions are explicit.

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