Skip to main content
Glama

GrowSurf

Get Program Installation

growsurf_get_campaign_installation
Read-onlyIdempotent

Fetch the Installation tab configuration for your GrowSurf program (embed/installation and tracking setup). Returns the full object with every field and its current value — the same shape you send back on update. Targets campaignId if you pass it, otherwise GROWSURF_CAMPAIGN_ID.

Input Schema

NameRequiredDescriptionDefault
campaignIdYesTarget program (campaign) id for this call. Defaults to GROWSURF_CAMPAIGN_ID when omitted. Program IDs also identify newly created programs without restarting the server.

Output Schema

NameRequiredDescriptionDefault
mobileNoGrowSurf iOS and Android SDK settings.
signupNoCustom signup-form settings (used with `FORM_DETECTION`).
shareUrlNoThe landing page referred friends reach from a referral link. Set this before adding other origins to `allowedUrls`.
allowedUrlsNoEvery additional browser origin where the GrowSurf Window or SDK may run, including development origins such as `http://localhost:3000`. Preserve the full array when patching it. An origin absent from both `shareUrl` and this list can return `403`. Known shared-platform root domains, such as `github.io`, do not grant access. Add your site's hostname, such as `https://piedpiper.github.io`, or a domain you own. Path-based shared hosts, such as `unbouncepages.com`, require a domain you own.
signupEventNoThe signup tracking method: automatic form detection, or participants added via the SDKs and REST API.
referralTriggerNoReferral programs only. `ON_SIGNUP` counts a referral as soon as the friend signs up; `CUSTOM` also requires a qualifying action.
instructionSelectionsNoSaved choices shown in the Program Editor installation guide.
useGrowSurfHostedLinksNoUse GrowSurf-hosted referral links that route clicks by the visitor's device. Mainly for mobile apps.
offerPageRedirectSecondsNoSeconds a GrowSurf page with the Claim Offer Popup waits before redirecting a referred friend. Needs `useGrowSurfHostedLinks`. `null` means the page is off.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / offerPageRedirectSeconds
      Added value: +{
      +  "description": "Seconds a GrowSurf page with the Claim Offer Popup waits before redirecting a referred friend. Needs `useGrowSurfHostedLinks`. `null` means the page is off.",
      +  "enum": [
      +    5,
      +    10,
      +    15,
      +    null
      +  ],
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful behavioral context beyond that: the response contains every field with current values, mirrors the update payload shape, and targets GROWSURF_CAMPAIGN_ID when campaignId is omitted.

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, each carrying distinct information: purpose, return shape, and target resolution. The verb and resource are front-loaded with no filler.

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 single parameter, existing output schema, and rich annotations, the description supplies everything an agent needs: what it fetches, what shape it returns, and how the target is resolved.

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%, so the campaignId parameter is already documented in the input schema. The description restates the fallback to GROWSURF_CAMPAIGN_ID but adds no new syntax or constraint details beyond what the schema provides.

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 precise verb (Fetch) and resource (Installation tab configuration/embed/tracking setup for a GrowSurf program). It clearly distinguishes this tool from sibling get tools such as get_campaign_design and get_campaign_options by naming the specific configuration tab.

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 gives clear context that this retrieves the current installation configuration, and the note that it returns the same shape sent back on update implies a read-before-update workflow. However, it does not explicitly name update_campaign_installation as the follow-up tool or state when not to use it.

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.