Skip to main content
Glama

List one of my sites for sale

create_listing

Publish (or upsert) a marketplace listing for an owned site. Requires Stripe Connect set up (status='ready' — see get_connect_status). priceCents = whole-dollar between 100 and 999900. termsMode='standard' uses shiply's template; 'custom' requires termsCustom ≥50 chars. jurisdiction is required (e.g. 'California, USA').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pitchNoshort sales pitch, ≤280 chars
statusNopublish state (default draft)
siteSlugYesslug of the owned site to list
termsModeYes'standard' uses shiply's template; 'custom' requires termsCustom
priceCentsYeswhole-dollar price in cents, 100–999900
termsCustomNocustom terms text, ≥50 chars, required when termsMode='custom'
jurisdictionYesgoverning jurisdiction, e.g. 'California, USA'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / jurisdiction / description
      Added value: +"governing jurisdiction, e.g. 'California, USA'"
    • addedInput schema / properties / pitch / description
      Added value: +"short sales pitch, ≤280 chars"
    • addedInput schema / properties / priceCents / description
      Added value: +"whole-dollar price in cents, 100–999900"
    • addedInput schema / properties / siteSlug / description
      Added value: +"slug of the owned site to list"
    • addedInput schema / properties / status / description
      Added value: +"publish state (default draft)"
    • addedInput schema / properties / termsCustom / description
      Added value: +"custom terms text, ≥50 chars, required when termsMode='custom'"
    • addedInput schema / properties / termsMode / description
      Added value: +"'standard' uses shiply's template; 'custom' requires termsCustom"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "result": {}
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior3/5

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

The description adds behavioral context beyond annotations (only idempotentHint: false) by stating the action is an upsert and listing acceptance criteria (e.g., price range, termsMode constraints). However, it does not disclose side effects like what happens on success/failure, whether it overwrites existing data, or any irreversible consequences.

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 three sentences, front-loaded with the main action, followed by a prerequisite and parameter details. Every sentence is essential, and there is no fluff or repetition.

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?

Given the presence of an output schema (not shown), the description does not need to explain return values. It covers prerequisites, constraints, and parameter details. However, it could be more complete by explaining the upsert behavior (e.g., how it identifies existing listings) and potential side effects.

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 100%, so baseline is 3. The description adds value by clarifying that termsMode='custom' requires termsCustom ≥50 chars (not in schema) and provides example for jurisdiction. This enriches the parameter meaning beyond the schema.

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 the tool's action: 'Publish (or upsert) a marketplace listing for an owned site.' It uses a specific verb-resource combination and distinguishes from siblings like update_listing and delete_listing through the 'upsert' hint.

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?

The description specifies a prerequisite: 'Requires Stripe Connect set up (status='ready' — see get_connect_status).' This provides clear context for when to use the tool. However, it lacks explicit guidance on when not to use it or how it differs from update_listing, such as whether to use create_listing for new listings and update_listing for existing ones.

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.

Resources