create_program
Create or update the shop program: shop name, reward text, stamps required before a reward. Returns the program and its join URL (the poster target).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| shop | Yes | ||
| reward | No | ||
| stamps_required | No |
Create or update the shop program: shop name, reward text, stamps required before a reward. Returns the program and its join URL (the poster target).
| Name | Required | Description | Default |
|---|---|---|---|
| shop | Yes | ||
| reward | No | ||
| stamps_required | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does disclose that the tool can both create and update and that it returns the program and join URL, which is useful. However, it does not explain side effects of updating, such as whether an existing join URL is invalidated or whether certain fields reset, leaving some ambiguity for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the core action, then covers the parameter semantics and return value. There is no filler or repetition; every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with no output schema, the description covers the action, parameters, and return value. The main gap is the missing detail on how updates behave when optional fields like reward or stamps_required are omitted, which an agent would need for correct update calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the absence of parameter documentation. It does so by mapping each parameter to plain language: shop name, reward text, and stamps required before a reward. It does not cover update-specific behavior, but all parameter meanings are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Create or update') on a specific resource ('the shop program') and names the exact fields involved. This clearly distinguishes it from siblings like redeem, stamp, and get_card, which operate on different resources or actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when setting up or modifying a shop program, but it does not explicitly state when to prefer it over alternatives or mention any exclusion cases. The intended context is reasonably clear from the verb and resource, but there is no direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.