Skip to main content
Glama

Post Listing Savebulkpublish

hgr_post_listing_savebulkpublish
Destructive

Dedicated HGRApi tool for POST api/Listing/SaveBulkPublish. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Saves a batch of URLs for bulk publication and returns one result per line. ownerAgent: publication. SearchTerms: save bulk publish, bulk publish, bulk publishing, mass publication, publicar en bulk. Use when: Use it when the client needs to know exactly which line was processed and which line was rejected without summarizing only by counts. Use it when selected products are source product URLs, Amazon URLs, ASIN URLs converted to source URLs, or source-page URLs. Do not use it to get existing listings or search candidates. Input: data: SaveAutolistRequest. Main fields: listings: string[][], listFrequencyMinutes: int, dontListUntil: DateTime?, reviewBeforePublishing: bool, createdBy: int, ignoreVero: bool, ignoreOOS: bool, optimizeTitle: bool, optimizeDescription: bool, optimizeFields: bool, publishVariations: bool, WeListForYou: bool. listings is string[][] where each row is [sourceUrl, optionalTitle]; sourceUrl is the supplier/source product URL to publish. Use reviewBeforePublishing for pending review, optimizeTitle/optimizeDescription/optimizeFields for optimization choices, and listFrequencyMinutes/dontListUntil for delayed publication. Do not send CatalogSubmitRequest.ProductsToList here. Header channel: current ChannelOAuthId. Internal client fields are managed by the tool and are not tool inputs. Output: Returns SaveBulkPublishLineStatus[] in the same order as listings. Values: Processed, ForbiddenWordsUrl, DuplicatedUrl, InvalidUrl, InvalidSourceUrl, ExistingListing, NoQuota, InvalidGenerator or DuplicatedProductSource. Search terms: listing savebulkpublish. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

Input Schema

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/SaveBulkPublish request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare this destructive, non-idempotent, open-world write, and the description adds real context on top: the confirmed/impactConfirmed double gate, that the ChannelOAuthId header is resolved internally, and that internal-only request fields are stripped before the call. It stops short of stating consequences of partial failure or whether published listings can be undone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the Use when / Do not use blocks are scannable, but there is measurable waste: the 'Dedicated HGRApi tool for POST ...' preamble and 'explicit tool with a fixed endpoint' disclaimer add nothing, and the search-terms list is repeated twice (given inline and again as a trailing 'Search terms:' line) for no benefit.

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

Completeness5/5

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

For a destructive, gated write with an output schema, the definition covers everything an agent needs to invoke it: prerequisites (confirmed + impactConfirmed), channel provisioning (ChannelOAuthId via hgr_list_channels), the payload shape, and the expected per-line outcomes. Return values would be covered by the output schema, so the extra status enumeration is surplus rather than a missing piece.

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?

The input schema gives the body only a generic one-line description with no subfields, so the description carries the real semantic load by naming the payload type (SaveAutolistRequest), the row format listings = [sourceUrl, optionalTitle], and the intent of reviewBeforePublishing, the optimize* flags, and the delay fields. It adds meaningful meaning beyond the schema, though it lists some flags (ignoreVero, WeListForYou, createdBy) without explaining them.

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?

States a specific verb and resource — saves a batch of URLs for bulk publication and returns one result per line — which is a concrete outcome an agent can match to a user request. It also carves out what it is not (not a generic endpoint caller, not for retrieving existing listings or search candidates), separating it from siblings like hgr_post_listing_getbulkhistory and the search-product tools.

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?

Two explicit 'Use when' conditions are given, including the discriminating one: use it when the client needs per-line processed/rejected status rather than an aggregate count, and when inputs are source product / Amazon / ASIN-converted URLs. 'Do not use it to get existing listings or search candidates' supplies an exclusion, but no alternative sibling is named for those cases, leaving the redirect implicit.

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