Skip to main content
Glama
Tchoow

rybbit-super-mcp

by Tchoow

Update Goal

rybbit_update_goal
Idempotent

Update an existing analytics goal by replacing its full definition with a new goal type and configuration. Specify site ID, goal ID, and config to modify path or event matching rules.

Instructions

Update an existing goal. You must provide the full goal definition (goalType + config) as the update replaces the entire goal. Use rybbit_list_goals to find goal IDs and current configuration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name for the goal
configYes
goalIdYesGoal ID (numeric) to update. Use rybbit_list_goals to find IDs.
siteIdYesSite ID (numeric ID or domain identifier)
goalTypeYes'path' to match URL pathname, 'event' to match custom event name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already convey write (readOnlyHint=false), idempotent (idempotentHint=true), and non-destructive (destructiveHint=false). The description adds the crucial behavioral fact beyond annotations: the update replaces the ENTIRE goal, so a partial config would wipe unspecified settings. This is high-value disclosure for an agent deciding what to send. No contradiction with annotations.

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, zero filler. The core action is first, the critical replacement warning is second, and the discovery hint is third. Every sentence earns its place and the most decision-relevant information is front-loaded.

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?

For a mutation tool with nested config and no output schema, the description covers purpose, the full-replacement semantics, and how to find IDs/current config — enough to invoke correctly. The main gap is that it says nothing about the response format (e.g., whether the updated goal is returned for verification), which matters slightly more absent an output schema but is not required for correct invocation.

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

Parameters4/5

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

Schema description coverage is 80%, so the baseline is 3. The description adds meaningful semantics on top: it frames goalType + config as the 'full goal definition' that gets replaced, explaining why both are required, and it clarifies that goalId should be sourced via rybbit_list_goals. This connects the parameters to the tool's replacement behavior in a way the schema alone does not.

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+resource: 'Update an existing goal.' The full-replacement caveat distinguishes it from partial-update tools, and the phrasing 'existing goal' implicitly separates it from rybbit_create_goal. It stops short of explicitly naming create/delete siblings, but the action and target are unambiguous.

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?

Provides explicit prerequisite guidance: 'Use rybbit_list_goals to find goal IDs and current configuration.' This tells the agent what to do before calling. It does not explicitly state 'use rybbit_create_goal for new goals' as an exclusion, but 'existing goal' in the first sentence implies the boundary.

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