Skip to main content
Glama
growsurf

GrowSurf MCP Server

Official
by growsurf

growsurf_webhook_normalize

Read-onlyIdempotent

Validate and normalize GrowSurf webhook payloads, creating idempotency keys to prevent duplicate event processing.

Instructions

Validate/normalize a GrowSurf webhook payload and generate a best-effort idempotency key for dedupe.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
payloadYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNoWhether the payload is a valid GrowSurf webhook envelope.
errorNoWhy the payload failed validation. Present only when `ok` is `false`.
envelopeNoThe normalized webhook envelope. Present only when `ok` is `true`.
idempotencyKeyNoA deterministic key for ignoring duplicate deliveries. Present only when `ok` is `true`.
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description aligns with these. It adds nuance by mentioning 'best-effort' idempotency key and the purpose 'for dedupe', which clarifies behavior beyond the annotations. This is useful extra context without contradicting the structured metadata.

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?

The description is a single concise sentence that front-loads the core action and purpose. It contains no filler or redundant phrases, and every word adds value, making it easy to parse at a glance.

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

Completeness2/5

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

For a tool that validates and normalizes payloads, the description omits details about expected input structure, possible error conditions, or the format of the generated idempotency key. Though an output schema exists, we cannot verify whether it covers these details; the description alone leaves significant gaps for correct invocation and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the single 'payload' parameter, and the description only says 'GrowSurf webhook payload', giving no indication of expected structure, required fields, or format. Since the description is the only source of meaning for the parameter and it is extremely vague, it fails to compensate for the schema gap.

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 a specific verb ('Validate/normalize') and a specific resource ('a GrowSurf webhook payload'), plus a concrete outcome (generating an idempotency key for dedupe). This distinguishes it from sibling tools that manage webhooks (create/update/delete/test) and other campaign operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage 'when you have a GrowSurf webhook payload to preprocess', but it does not explicitly contrast with alternatives like creating or testing webhooks, nor does it state when not to use it. The context is clear but lacks exclusions or direct comparisons to siblings, leaving some ambiguity for an agent deciding among webhook-related tools.

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