Skip to main content
Glama
growsurf

GrowSurf MCP Server

Official
by growsurf

growsurf_capture_referral_flow_screenshots

Capture temporary GrowSurf referral flow screenshots for a campaign to verify the referrer and referred-friend experience. Returns short-lived URLs for visual proof.

Instructions

Capture temporary GrowSurf preview screenshots after the user explicitly asks for screenshots or screenshot proof. Returns short-lived URLs for the controlled referrer Window and referred-friend experience for this program. This does not prove the user's installed site; use browser automation for that. This tool does not accept arbitrary URLs, HTML, JavaScript, or external screenshot targets. Targets campaignId if you pass it, otherwise GROWSURF_CAMPAIGN_ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
campaignIdNoTarget program (campaign) id for this call. Defaults to GROWSURF_CAMPAIGN_ID when omitted. Pass the `id` returned by growsurf_create_campaign to configure or operate a program you just created, without restarting the server.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
expiresAtNoWhen the signed URLs stop working (ISO 8601).
generatedAtNoWhen the screenshots were captured (ISO 8601).
screenshotsNoOne entry per captured view.
Behavior4/5

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

Annotations provide no safety hints (all false), so the description must carry the transparency burden. It discloses that URLs are short-lived, that the tool targets campaignId or falls back to GROWSURF_CAMPAIGN_ID, that it does not prove installed sites, and that it rejects arbitrary inputs. This is meaningful behavioral disclosure. A minor gap is that it doesn't mention any side effects (e.g., whether it stores or modifies anything), but given the read-like nature, this is acceptable.

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 three sentences, front-loaded with the core action, then constraints and targeting. It avoids filler but does repeat 'screenshot' a few times. Overall it is efficient and well-structured for an agent to parse quickly.

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 an output schema exists (which will define the return structure), the description covers everything an agent needs to decide when to use it and how to invoke it: the exact trigger, the limitation (does not prove installation), the rejection of arbitrary inputs, and the default behavior for the campaignId parameter. No critical context is missing.

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?

The single parameter `campaignId` is fully documented in the schema with 100% coverage, and the description only restates the same information ('Targets campaignId if you pass it, otherwise GROWSURF_CAMPAIGN_ID'). Since the schema already covers the semantics, the description adds no new meaning, so the baseline of 3 applies.

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 clearly states the action: 'Capture temporary GrowSurf preview screenshots'—a specific verb with a specific resource. It also explicitly scopes the tool to the controlled referrer window and referred-friend experience, and disambiguates from any generic screenshot tool by stating it does not accept arbitrary URLs or external targets. This strongly distinguishes it from the listed sibling tools, none of which are screenshot-specific.

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?

Contains an explicit trigger condition: 'after the user explicitly asks for screenshots or screenshot proof.' It also names an alternative ('use browser automation for that') to clarify what this tool does not prove, and clearly states what it does not accept (arbitrary URLs, HTML, JavaScript, external targets). This leaves no doubt about when to use this tool versus alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/growsurf/growsurf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server