Skip to main content
Glama
guru-prasath-j

flutter-ios-bridge-mcp

signing_quick_setup

Set up iOS code signing from Windows/Linux: register bundle ID, create or reuse a certificate, generate a provisioning profile, and save .p12/.mobileprovision locally or as GitHub secrets for CI builds.

Instructions

One-shot iOS code signing from Windows/Linux: registers the bundle id, creates (or reuses) an Apple certificate from a locally generated CSR, creates a provisioning profile, saves .p12/.mobileprovision under ~/.flutter-ios-bridge/signing, and (push_to_github) uploads them as GitHub secrets for signed CI builds. bundle_id defaults to the project's. ad-hoc/development include all registered devices.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoNo
app_nameNo
bundle_idNo
p12_passwordNo
profile_kindNoapp-store
project_pathNo
push_to_githubNo
include_asc_keyNo
force_new_certificateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses several important behaviors: it registers a bundle id, creates or reuses a certificate from a locally generated CSR, creates a provisioning profile, saves artifacts to a specific path, and optionally uploads to GitHub secrets. It also notes that ad-hoc/development profiles include all registered devices. It does not mention side effects like whether existing certificates are revoked or whether the operation is reversible, but the disclosed behaviors are substantial and go well beyond a generic 'sets up signing' statement.

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 description is a single dense sentence that front-loads the core purpose ('One-shot iOS code signing from Windows/Linux') and then lists the steps and key behaviors. It is efficient and avoids fluff, though the long sentence could be slightly easier to parse if broken into two sentences. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, no output schema, no annotations), the description covers the main flow and key defaults but leaves gaps: it doesn't explain what the return value looks like, what happens if the bundle id is already registered, whether force_new_certificate revokes the old certificate, or what include_asc_key does. For a complex setup tool, an agent would benefit from more detail on side effects and prerequisites, but the description is still usable for basic selection and invocation.

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 0%, so the description must compensate for the 9 parameters. The description explains the purpose of bundle_id (defaults to project's), profile_kind (ad-hoc/development include all registered devices), and push_to_github (uploads secrets). However, it does not explain repo, app_name, p12_password, project_path, include_asc_key, or force_new_certificate beyond what the schema names imply. The description adds some meaning but leaves several parameters under-documented.

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 ('One-shot iOS code signing') and resource (bundle id, certificate, provisioning profile, .p12/.mobileprovision files), and clearly distinguishes this from siblings like signing_inspect, asc_register_bundle_id, and ci_set_signing_secrets by describing the full end-to-end flow. It also notes the platform context (Windows/Linux) and the optional GitHub secrets upload, which makes the tool's purpose unmistakable.

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?

The description implies when to use this tool: when you need a complete signing setup in one shot, including certificate creation/reuse, profile creation, and optional GitHub secret upload. It does not explicitly state when NOT to use it or name alternatives (e.g., use asc_register_bundle_id for just registering a bundle id, or ci_set_signing_secrets for just uploading secrets), but the 'one-shot' framing and the detailed flow provide clear context for an agent to select it.

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