Skip to main content
Glama

Seal Subscriptions MCP by usefulapi

Add items to subscription

sealsubscriptions_add_items
Destructive

WRITE: Add products to a subscription. Prices are in the subscription's currency and change what the customer pays on the next charge. An item with one_time=true is removed after the next renewal. PUT /subscription action=add_items.

Input Schema

NameRequiredDescriptionDefault
itemsYes
subscription_idYesThe subscription's `id` (not its `internal_id`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint, non-idempotent and open-world, so the safety profile is covered; the description adds genuine value beyond that by explaining the billing consequence (next charge amount changes) and the one_time lifecycle (item removed after the next renewal). It does not mention auth scope or whether added items can be reverted, which would have been the fifth point.

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 tight sentences, front-loaded with the WRITE marker, then the billing consequence, then the one_time caveat, then the endpoint. No filler and no repetition of the title.

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

Completeness3/5

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

For a destructive write with a fairly demanding nested items payload and a close sibling (edit_items), the description covers the effect and endpoint but omits item-count limits, per-item required fields, and the add-vs-edit distinction. There is no output schema to worry about, but an agent could still construct a failing call from this description alone.

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?

With only 50% schema coverage, the description partially compensates by explaining that `price` is in the subscription currency and what `one_time` does. However, `items` is a required nested array of up to 50 objects with five required subfields (product_id, variant_id, quantity, title, price), and the description says nothing about that structure or the array limits, leaving the most error-prone parameter underspecified.

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?

"Add products to a subscription" gives a specific verb and resource, and the WRITE: prefix signals the operation class immediately. It is distinguishable from remove_items, but it never explicitly contrasts with the very similar sealsubscriptions_edit_items sibling, leaving an agent to infer the boundary.

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 the use case (adding line items that change the next charge) but never states when to choose this over edit_items or remove_items, nor any preconditions such as the subscription needing to be active. Usage is inferable but not guided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.