GrowSurf MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROWSURF_API_KEY | No | Optional for startup; required for API-calling tools. Use a key with the scopes and program access those tools need. | |
| GROWSURF_CAMPAIGN_ID | No | Optional; the default program for campaign-scoped tools. A tool's campaignId argument overrides it, so a single server can operate on any of your programs. | |
| GROWSURF_API_BASE_URL | No | Optional; defaults to https://api.growsurf.com/v2. Useful for local or hosted MCP gateways that should call a different GrowSurf API origin. | https://api.growsurf.com/v2 |
| GROWSURF_WEBHOOK_TOKEN | No | Optional; used for your own webhook URL token scheme. | |
| GROWSURF_UPLOAD_ALLOWED_ORIGINS | No | Required only for FILE Resource uploads; a comma-separated private allowlist of exact HTTPS origins accepted from GrowSurf upload tickets. Wildcards and URL paths are rejected. | |
| GROWSURF_PARTICIPANT_AUTH_SECRET | No | Optional; used by the hash helper. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| growsurf_integration_guideC | Generate a guided, happy-path GrowSurf integration plan (referral + affiliate). |
| growsurf_agent_program_creation_evalA | Generate one-shot GrowSurf program-creation eval prompts and acceptance checks for agent steering: starter content review, conservative rewards, configuration review, and frontend install proof. |
| growsurf_program_design_advisorA | Generate program designs, benchmarks, typical rewards, and metric definitions, including participant-to-referral and lead-to-referral ratios. Read-only. Returns a short draft, complete |
| growsurf_troubleshoot_referral_trackingA | Diagnose referral tracking and program problems. Accepts a symptom or description without requiring a program or participant ID. Covers referrals not credited, participant emails not sending, rewards not issued, participants not added, Universal Code not detected, integrations or CRMs not syncing, Zapier errors, fraud flags, and analytics discrepancies. Returns ordered diagnostic checks, likely causes, fixes, and documentation links. It does not read program or participant records. Unknown |
| growsurf_mobile_sdk_guideC | Generate native iOS/Android SDK 0.6.0 guidance, including attribution, shareUrl sharing, trackShare, and the native GrowSurf Window. |
| growsurf_api_library_snippetsC | Generate official REST API library snippets for TypeScript, Python, PHP, Ruby, and Java, including Create Mobile Participant Token. |
| growsurf_get_campaignA | Fetch your GrowSurf campaign (program) details via REST. Embedded reward settings do not establish that an individual reward was earned, approved, or delivered. Earned reward records belong to the individual participant. Targets |
| growsurf_list_campaignsA | List the GrowSurf programs available to the bound team, including their IDs for program selection. Deleted programs are not returned. Does not require |
| growsurf_create_campaignA | Create a new GrowSurf program (campaign) with type-appropriate starter content and optional inline rewards. Starter content includes Design, Emails, Options, Installation, and GrowSurf Window defaults. Only |
| growsurf_update_campaignA | Update your GrowSurf program's (campaign's) identity and lifecycle: name, companyName, companyLogoImageUrl, and status (set IN_PROGRESS to publish/resume the program, COMPLETE to end it). Only the fields you send are changed. |
| growsurf_clone_campaignA | Clone your GrowSurf program (campaign) into a new DRAFT program. Integrations and credentials are not copied; active rewards are cloned. Targets |
| growsurf_list_campaign_rewardsA | List your GrowSurf program's configured Campaign Rewards, including switched-off rewards and rewards whose group is not selected. Deleted rewards are excluded. A reward can be earned only when it also appears in the campaign response's embedded |
| growsurf_create_campaign_rewardA | Create a new campaign reward (reward config) on your GrowSurf program. |
| growsurf_update_campaign_rewardB | Update an existing campaign reward (reward config) on your GrowSurf program. |
| growsurf_delete_campaign_rewardA | Delete a campaign reward (reward config) from your GrowSurf program. The reward is deactivated, removed from the program's reward set, and any connected upfront-discount coupons are cleaned up. |
| growsurf_list_program_resourcesA | List the participant resources configured for your GrowSurf program, including drafts. Results stay in display order. Targets |
| growsurf_prepare_program_resource_fileA | Prepare a local file for a |
| growsurf_create_program_resourceA | Create a |
| growsurf_update_program_resourceA | Update at least one participant resource field, or move it to a zero-based |
| growsurf_delete_program_resourceA | Delete a participant resource from your GrowSurf program. This does not remove its reusable Media Center asset. Targets |
| growsurf_get_campaign_designA | Fetch the configured design fields for your GrowSurf program, including GrowSurf Window content, colors, sharing sections, participant avatars under |
| growsurf_update_campaign_designA | Update the design configuration for your GrowSurf program, including participant avatars under |
| growsurf_get_campaign_emailsA | Fetch the Emails tab configuration for your GrowSurf program, including participant and admin email templates, settings, and read-only fields. |
| growsurf_update_campaign_emailsA | Update writable Emails tab fields for your GrowSurf program under |
| growsurf_get_campaign_optionsA | Fetch the Options tab configuration for your GrowSurf program (referral triggers, anti-fraud lists and toggles, affiliate enrollment and application review, notifications, and other behavior options). Returns the full object with every field and its current value, the same shape you send back on update. |
| growsurf_update_campaign_optionsA | Update the Options tab configuration for your GrowSurf program under |
| growsurf_get_campaign_installationA | 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 |
| growsurf_update_campaign_installationA | Update the Installation tab configuration for your GrowSurf program under |
| growsurf_capture_referral_flow_screenshotsA | Capture temporary GrowSurf preview screenshots after a draft program is saved. Returns short-lived URLs for the controlled referrer Window and referred-friend experience, with an |
| growsurf_create_accountA | Create a brand-new GrowSurf account and return an API key. Requires the authorized owner's explicit approval of account creation and acceptance of GrowSurf's Terms of Service (https://growsurf.com/terms) and Privacy Policy (https://growsurf.com/privacy). This is the only tool that does not require |
| growsurf_get_teamA | Fetch the team bound to the API key or OAuth connection. |
| growsurf_update_teamA | Update the display name of the team bound to the API key or OAuth connection. Personal profiles, billing, and team ownership are not editable here. Requires |
| growsurf_request_team_verificationA | Ask GrowSurf to verify the team bound to the API key or OAuth connection. Verification is required before a program can email participants. Calling this again while a request is pending does not create a duplicate. Returns the team with its updated |
| growsurf_resend_team_owner_verification_emailA | Resend the email-verification message to the bound team's owner. The response never reveals the owner's email address. A |
| growsurf_get_campaign_analyticsA | Fetch analytics for your GrowSurf program: participants, referrals, impressions, per-channel shares, and affiliate revenue, commission, and payout metrics when applicable. Pass |
| growsurf_get_campaign_activation_analyticsA | Fetch strict activation for eligible participants in one enrollment cohort. Referral programs group by |
| growsurf_list_integrationsA | List the integrations available to your GrowSurf program, including Stripe, PayPal, Wise, Mailchimp, Slack, Zapier, and Webhooks. Each entry includes |
| growsurf_list_campaign_webhooksA | List your GrowSurf program's webhooks (secrets are never returned). Targets |
| growsurf_create_campaign_webhookA | Add a webhook to your GrowSurf program. |
| growsurf_update_campaign_webhookA | Update a webhook on your GrowSurf program by id ( |
| growsurf_delete_campaign_webhookA | Remove a webhook from your GrowSurf program by id. Returns { id, success }. Targets |
| growsurf_test_campaign_webhookA | Send a live test event to a webhook on your GrowSurf program using its stored URL and secret. Optionally pass |
| growsurf_list_participantsA | List participants in your GrowSurf program, newest page first. |
| growsurf_get_participantA | Fetch a single participant by GrowSurf participant ID or email address. |
| growsurf_add_participantA | Add or fetch a participant by email. Existing participants are returned unchanged. This is trusted direct enrollment and bypasses the public application review flow for affiliates. For affiliate programs, set |
| growsurf_update_participantA | Update a participant by GrowSurf participant ID or email. Only the fields you send are changed; read-only fields such as counters, |
| growsurf_bulk_delete_participantsA | Bulk delete participants from your GrowSurf program in one request. DESTRUCTIVE: deletion is permanent, cannot be undone, and removes the participants' referrals, rewards, commissions, and payout records. Each entry in |
| growsurf_email_participantA | Send an email to a participant (by GrowSurf participant ID or email). Provide EITHER |
| growsurf_get_participant_analyticsA | Fetch analytics for one participant by GrowSurf participant ID or email. The base response includes all-time engagement, rank, share, and applicable affiliate revenue, commission, and payout metrics. Add |
| growsurf_get_participant_activity_logsA | List a participant's activity logs (by GrowSurf participant ID or email), most recent first, offset/limit paginated. |
| growsurf_trigger_referralA | Trigger referral credit for a referred participant (use when your trigger is Sign up + Qualifying Action). Optionally pass delayInDays (1-90) to hold the credit for N days before awarding it (e.g. to cover a refund window). Targets |
| growsurf_cancel_delayed_referralA | Cancel a pending delayed referral trigger for a participant before the delay elapses (e.g. on refund/cancellation). Returns { success, message }. Targets |
| growsurf_get_participant_payout_destinationA | Get a participant's payout-destination status (by GrowSurf participant ID or email) across every payout provider enabled for the program (PayPal and/or Wise). For each provider it reports the current |
| growsurf_request_participant_payout_destination_confirmationA | Ask a participant to confirm their payout destination for a provider (by GrowSurf participant ID or email). Sends them a one-time confirmation link for the chosen |
| growsurf_record_saleA | Record a sale/transaction for an affiliate program. Use webhooks to know when commissions are added. Requires at least one transaction identifier (externalId, transactionId, orderId, paymentId, invoiceId, paymentIntentId, or chargeId) so repeated calls are de-duplicated instead of double-paying the referrer; reuse the same one when refunding. Targets |
| growsurf_refund_transactionA | Record a refund, partial refund, or chargeback for a previously recorded affiliate transaction in GrowSurf and reverse or adjust the referrer's commission. This records the amendment without sending a refund through the payment provider. Requires the same transaction identifier as the original sale. Omitted |
| growsurf_create_mobile_participant_tokenB | Create or fetch a participant, then create a participant-scoped mobile SDK token via GrowSurf REST. Participant creation is trusted direct enrollment and bypasses the public application review flow for affiliates. Targets |
| growsurf_participant_auth_hashC | Compute the server-side SHA-256 HMAC for GrowSurf Participant Auto Authentication. |
| growsurf_webhook_normalizeA | Validate/normalize a GrowSurf webhook payload and generate a best-effort idempotency key for dedupe. |
| growsurf_client_snippetsB | Generate copy-pasteable client-side snippets for GrowSurf referral tracking, embeddable elements, and the GrowSurf Window (JS + CSS), with placement guidance for app UI work. |
| growsurf_embeddable_element_snippetB | Generate the HTML snippet for a GrowSurf embeddable element (with optional auth attributes). |
| growsurf_grsf_config_snippetB | Generate the HTML code for GrowSurf Participant Auto Authentication using |
| growsurf_get_integration_connect_linkA | Return a dashboard link to an integration's connect panel in the GrowSurf Program Editor (Options > Integrations). Connecting Stripe, PayPal, Wise, or another account requires the user to complete the dashboard flow; the API cannot connect an account on their behalf. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create_referral_program | Create and configure a GrowSurf referral program from the proven referral template. |
| create_affiliate_program | Create and configure a GrowSurf affiliate program from the proven affiliate template. |
| embed_referral_widget | Produce the installation plan and snippets for adding GrowSurf to a web app. |
| list_campaigns | List GrowSurf programs so you can choose the right campaign id. |
| get_campaign | Fetch one GrowSurf program by campaign id. |
| list_participants | List participants in a GrowSurf program. |
| get_participant | Fetch one GrowSurf participant by id or email. |
| set_rewards | Safely review and adjust GrowSurf reward configs. |
| wire_webhooks | Plan and configure GrowSurf webhooks for product automation. |
| read_analytics | Analyze GrowSurf campaign or participant performance. |
| advise_program_design | Recommend a referral or affiliate program design for a business before creating or changing rewards. |
| troubleshoot_referral_tracking | Diagnose why referrals, participants, rewards, or emails are not behaving as expected. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| GrowSurf Agent and Developer Index | First-party links for understanding, integrating, and automating GrowSurf. |
TDQS
Scored across 63 tools
Most tools target distinct resources and actions, and the detailed descriptions help distinguish similar operations. However, the large set contains several overlapping generative/helper tools (integration guide, design advisor, agent eval, snippets, SDK guide) and recurring campaign-vs-program terminology that can make selection ambiguous.
All names use a consistent growsurf_ prefix and snake_case, which aids scanning. But the set mixes verb-first action names (get_campaign, create_campaign_reward) with noun-phrase helpers (integration_guide, program_design_advisor, participant_auth_hash) and uses campaign and program inconsistently for the same core object.
At 63 tools, the surface is far beyond a well-scoped set and creates significant selection overhead for an agent. Many documentation/snippet/advisor tools could be consolidated or omitted, and the rubric treats 50+ tools as an extreme mismatch.
Coverage is broad across programs, participants, rewards, webhooks, integrations, analytics, payouts, auth, and mobile SDK flows. Minor gaps remain, such as no campaign deletion (only status completion), no single-participant delete (bulk only), and no explicit reward-fulfillment tool, but core lifecycle operations are well represented.