Skip to main content
Glama
growsurf

GrowSurf MCP Server

Official

Delete Program Resource

growsurf_delete_program_resource
DestructiveIdempotent

Remove a participant resource from a GrowSurf program by resource ID, optionally targeting a campaign. Does not delete the reusable Media Center asset.

Instructions

Delete a participant resource from your GrowSurf program. This does not remove its reusable Media Center asset. 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.
resourceIdYes

Output Schema

NameRequiredDescriptionDefault
idNoThe deleted resource id.
successNoWhether the resource was deleted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.19.15
    • addedInput schema / properties / campaignId / minLength
      Added value: +1
    • changedInput schema / required
      Previous value: -[
      -  "resourceId"
      -]New value: +[
      +  "resourceId",
      +  "campaignId"
      +]
  2. Changed1 schema field changedv0.19.9
    • changedInput schema / properties / campaignId / description
      Previous value: -"Target 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."New value: +"Target program (campaign) id for this call. Defaults to GROWSURF_CAMPAIGN_ID when omitted. Program IDs also identify newly created programs without restarting the server."
  3. Addedv0.14.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds genuinely new behavioral context by specifying that the reusable Media Center asset survives the delete, which is exactly the kind of collateral-damage clarification a destructive tool needs, though it omits auth requirements and reversibility.

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?

Two sentences, zero filler, with the primary action front-loaded and the two clarifications (asset preservation, target resolution) following in priority order. Nothing is redundant with the title or schema.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the annotations carry destructiveness/idempotency. For a two-parameter destructive call the description covers the essential risk caveat and target resolution; only auth/permission expectations and the undocumented resourceId remain thin.

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 coverage is 50% – campaignId is fully documented in the schema (including the GROWSURF_CAMPAIGN_ID default and the note about new programs), while resourceId has no description at all. The description partially compensates by explaining campaignId targeting and by characterizing resourceId as a participant resource, but it gives no format, ID source, or lookup hint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Delete a participant resource from your GrowSurf program") and clarifies scope by noting the reusable Media Center asset is not removed, which disambiguates it from asset-level deletion. Siblings like create_program_resource / update_program_resource / list_program_resources are never named, so routing relies on the reader inferring the CRUD pattern.

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?

Usage is implied by the verb "delete" and the resource it targets, but there is no explicit when-to-use vs when-not, no named alternative, and no prerequisites (permissions, confirmations). The only actionable guidance is the campaignId resolution rule, which is targeting mechanics rather than usage policy.

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

Deploy Server

Other Tools