Skip to main content
Glama

ebay_create_fulfillment_policy

Create an eBay fulfillment policy to specify shipping services, handling times, and delivery options for your listings.

Instructions

Create a new fulfillment policy.

shippingServiceCode must be a marketplace-valid eBay service enum (not a free-form carrier nickname). Invalid codes return "Please select a valid shipping service". eBay may cite DomesticItemShippingService[0] and [1] for a single bad entry — that is remote validation, not client array duplication. Discover valid codes via Trading GeteBayDetails (ShippingServiceDetails). Known-good EBAY_US FLAT_RATE sketch: policy.name, policy.marketplaceId=EBAY_US, policy.categoryTypes=[{name:ALL_EXCLUDING_MOTORS_VEHICLES}], policy.handlingTime={unit:DAY,value:1}, policy.shippingOptions=[{costType:FLAT_RATE,optionType:DOMESTIC,shippingServices:[{shippingServiceCode:USPSPriority,shippingCost:{currency:USD,value:"5.99"}}]}]. Avoid invented codes like USPSPriorityMail. Sandbox may accept a smaller code set than production.

Required OAuth Scope: sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed24 schema fields changedv1.14.1
    • changedInput schema / properties / policy / additionalProperties
      Previous value: -trueNew value: +false
    • removedInput schema / properties / policy / description
      Removed value: -"Fulfillment policy details"
    • changedInput schema / properties / policy / properties / categoryTypes / items / additionalProperties
      Previous value: -trueNew value: +false
    • changedInput schema / properties / policy / properties / handlingTime / additionalProperties
      Previous value: -trueNew value: +false
    • removedInput schema / properties / policy / properties / handlingTime / required
      Removed value: -[
      -  "unit",
      -  "value"
      -]
    • addedInput schema / properties / policy / properties / marketplaceId / enum
      Added value: +[
      +  "EBAY_AT",
      +  "EBAY_AU",
      +  "EBAY_BE",
      +  "EBAY_CA",
      +  "EBAY_CH",
      +  "EBAY_CN",
      +  "EBAY_CZ",
      +  "EBAY_DE",
      +  "EBAY_DK",
      +  "EBAY_ES",
      +  "EBAY_FI",
      +  "EBAY_FR",
      +  "EBAY_GB",
      +  "EBAY_GR",
      +  "EBAY_HK",
      +  "EBAY_HU",
      +  "EBAY_ID",
      +  "EBAY_IE",
      +  "EBAY_IL",
      +  "EBAY_IN",
      +  "EBAY_IT",
      +  "EBAY_JP",
      +  "EBAY_MY",
      +  "EBAY_NL",
      +  "EBAY_NO",
      +  "EBAY_NZ",
      +  "EBAY_PE",
      +  "EBAY_PH",
      +  "EBAY_PL",
      +  "EBAY_PR",
      +  "EBAY_PT",
      +  "EBAY_RU",
      +  "EBAY_SE",
      +  "EBAY_SG",
      +  "EBAY_TH",
      +  "EBAY_TW",
      +  "EBAY_US",
      +  "EBAY_VN",
      +  "EBAY_ZA",
      +  "EBAY_HALF_US",
      +  "EBAY_MOTORS_US"
      +]
    • changedInput schema / properties / policy / properties / shippingOptions / items / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / insuranceFee
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "currency": {
      +      "type": "string"
      +    },
      +    "value": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / insuranceOffered
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / $ref
      Added value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee"
    • removedInput schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / additionalProperties
      Removed value: -true
    • removedInput schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / properties
      Removed value: -{
      -  "currency": {
      -    "type": "string"
      -  },
      -  "value": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / required
      Removed value: -[
      -  "currency",
      -  "value"
      -]
    • removedInput schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / type
      Removed value: -"object"
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingDiscountProfileId
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingPromotionOffered
      Added value: +{
      +  "type": "boolean"
      +}
    • changedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / additionalProperties
      Previous value: -trueNew value: +false
    • changedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / additionalShippingCost / $ref
      Previous value: -"#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost"New value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee"
    • removedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / cashOnDeliveryFee
      Removed value: -{
      -  "$ref": "#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost"
      -}
    • changedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shipToLocations / additionalProperties
      Previous value: -trueNew value: +false
    • changedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shipToLocations / properties / regionIncluded / items / additionalProperties
      Previous value: -trueNew value: +false
    • changedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shippingCost / $ref
      Previous value: -"#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost"New value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee"
    • addedInput schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / surcharge
      Added value: +{
      +  "$ref": "#/properties/policy/properties/shippingOptions/items/properties/insuranceFee"
      +}
    • removedInput schema / properties / policy / properties / shippingOptions / items / required
      Removed value: -[
      -  "costType",
      -  "optionType"
      -]
  2. First observedv1.8.10

TDQS

A4.3/5.0
Behavior5/5

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

The description discloses the exact error text, explains the confusing DomesticItemShippingService[0]/[1] citation as remote validation rather than client duplication, warns that the sandbox accepts a smaller code set, and states the required OAuth scope. These details go well beyond the sparse readOnlyHint=false annotation.

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

Conciseness4/5

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

The description is long but dense and front-loaded, with the purpose stated first and the most error-prone constraint explained next. The known-good payload sketch is compact and useful, though the OAuth scope is stated twice in slightly different forms, which is a minor redundancy.

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 deeply nested create call with no output schema, the description provides a near-runnable payload template, validation semantics, environment caveats, and authentication requirements, covering most practical invocation needs. It stops short of describing the success response or duplicate-policy behavior, so it is not fully complete.

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?

With 0% schema description coverage, the description compensates with a concrete known-good EBAY_US FLAT_RATE policy sketch and explicit guidance that shippingServiceCode must be a valid enum, not an invented code. However, many nested fields such as localPickup, shipToLocations, rateTableId, and freightShipping receive no explanation, so coverage is strong but not exhaustive.

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 opening sentence states a specific verb and resource: 'Create a new fulfillment policy.' The rest of the description reinforces this by focusing on creation payloads and validation for that exact operation, making its role clear even among many ebay_create_* relatives.

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 create use case and provides actionable preconditions such as OAuth scope and valid shippingServiceCode values, but it never explicitly tells the agent when to prefer this tool over ebay_update_fulfillment_policy, ebay_get_fulfillment_policy, or ebay_create_return_policy. Usage context is clear but alternatives/exclusions are not stated.

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

Deploy Server

Other Tools