ebay-mcp
This server connects AI assistants to eBay's Sell APIs, providing 305 tools for managing inventory, orders, policies, marketing, and more, with built-in OAuth and local execution.
OAuth & token management: Generate OAuth URLs, exchange authorization codes, set/refresh/clear tokens, and check token status.
Account & policies: Manage fulfillment, payment, return, and custom policies; view sales tax, KYC, subscription, and seller privileges.
Inventory management: Create, read, update, delete inventory items, bulk operations, product compatibility, item groups, locations, and SKU-location mappings.
Offer & listing management: Create, update, delete, publish, withdraw, and bulk manage offers; get listing fees; migrate listings; support auction and fixed-price formats.
Order fulfillment: Retrieve orders, create shipping fulfillments, issue refunds, scan for cancellations/refunds, and handle payment disputes.
Marketing & analytics: Manage promoted listings campaigns, ads, and promotions; retrieve traffic reports and seller standards.
Taxonomy & metadata: Get category trees, item aspects, conditions, and metadata for category-specific requirements.
Additional utilities: Search/fetch inventory items, get rate limits, display credentials, and date/time conversion.
Provides comprehensive access to eBay's Sell APIs, enabling AI assistants to manage inventory, orders, marketing campaigns, analytics, and developer tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ebay-mcpfind items with low stock"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
eBay MCP is a local Model Context Protocol server that connects AI assistants — Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code, and Amazon Q Developer — directly to eBay's Sell APIs. It exposes 384 tools spanning 100% of eBay's Sell API surface (360 unique endpoints) for inventory management, order fulfillment, promoted-listings marketing, analytics, and developer tooling. Everything runs on your machine over STDIO or local HTTP — no cloud relay, and your eBay credentials never leave your computer.
Disclaimer: Unofficial, third-party project — not affiliated with or endorsed by eBay Inc. Provided "as is" without warranty. You are responsible for complying with eBay's API License Agreement and data-handling requirements, keeping your credentials secure, and staying within rate limits. Test in sandbox before production. See LICENSE.
Table of contents
Related MCP server: eBay Seller MCP Server
Features
384 eBay API tools — 100% coverage of the eBay Sell APIs across inventory, orders, marketing, analytics, metadata, taxonomy, and developer tooling.
9 AI clients, auto-configured — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer.
OAuth 2.0 built in — full user-token management with automatic refresh, and smart fallback from user tokens (10k–50k req/day) to client credentials (1k req/day).
Resilient by default — automatic retry with exponential backoff on
429rate limits, and consistent, loud error surfacing.Type-safe — TypeScript end to end, Zod-validated tool inputs, and OpenAPI-generated types.
Local-first & private — runs over STDIO or local HTTP; your credentials and data never leave your machine.
Sandbox and production — switch environments with a single variable.
One-command setup —
npm run setupconfigures credentials, OAuth, and your MCP client, with a browser auto-opened for the OAuth flow.Well tested — 1,000+ automated tests run in CI on every change through GitHub Actions.
Capability map
Use this map when deciding which tool family to expose, or when asking an assistant what it can do. The family names match EBAY_MCP_TOOLS, so you can run with all tools, dynamic discovery, or only the families needed for a specific workflow.
Family | What it unlocks | Good first request |
| Business policies, fulfillment policies, payment policies, return policies, sales tax, subscriptions, programs, rate-table shipping costs, payout settings, combined shipping rules, and user preferences (Account API v2) | "Show my eBay fulfillment policies." |
| Payouts, payout summaries, transactions, transfers, seller funds, billing activity, and order earnings | "Summarize my payouts from the last 30 days." |
| Inventory items, offers, inventory locations, item groups, bulk offer flows, and SKU/location mapping | "List my active inventory items and their available quantity." |
| Asynchronous order, inventory, and customer-service-metric report tasks, recurring schedules, and feed file upload/download | "Create an order report task for the last 10 days." |
| eBay Store details, store categories (add, rename, move, delete), and category task status | "Show my eBay Store category tree." |
| Orders, shipping fulfillments, refunds, payment disputes, and dispute evidence | "Show unfulfilled orders from the last 7 days." |
| Shipping quotes, label purchase, shipments, and label download (limited-release Logistics API) | "Get shipping rate quotes for this order." |
| Sold/completed listing search (Finding API) for pricing comps | "What have similar items sold for recently?" |
| Promoted Listings campaigns, ads, promotions, bidding, and marketing reports | "List my active promoted listing campaigns." |
| Traffic reports, seller standards, and customer-service metrics | "Show my seller standards profile." |
| Buyer-seller messaging, negotiations, notifications, and feedback | "Show recent buyer messages that need a response." |
| Category trees, aspects, item conditions, return-policy metadata, tax jurisdictions, vehicle compatibility, shipping carriers/services/locations, handling times, expired categories, bulk aspect export, and charitable organizations | "Find required item aspects for this category." |
| Identity, VeRO, translation, and international shipping support APIs (Compliance tools remain but report eBay's 2026-03-30 decommission) | "Show my current seller identity details." |
| Rate limits, signing keys, OAuth URLs, token refresh, and diagnostics | "Check my eBay API rate limits." |
| Legacy XML listing create, revise, relist, and end operations for fixed-price listings and auctions | "Create a fixed-price listing draft from this SKU." |
| ChatGPT connector search/fetch tools over the eBay MCP catalogue | "Search the eBay tool catalogue for order tools." |
Listing preflight: required item specifics
Before calling ebay_create_or_replace_inventory_item, ebay_create_offer, or
ebay_get_listing_fees, fetch the live requirements for the selected category:
ebay_get_default_category_tree_id → ebay_get_category_suggestions →
ebay_get_item_aspects_for_category
The aspects response identifies required and recommended item specifics. Put every required aspect on the inventory item before creating its offer. Requirements vary by category and marketplace, so re-run the lookup when either changes; do not rely on examples or a fixed global fallback value.
Auction offers
ebay_create_offer, ebay_update_offer, and ebay_bulk_create_offer accept both
listing formats through the same Inventory model:
Field |
|
|
| Listing price | Optional Buy It Now price, at least 30% above the opening bid |
| — | Opening bid |
| — | Optional; must exceed the opening bid and carries an eBay fee |
|
| Day count such as |
| Any | Omit or |
Best Offer | Allowed | Allowed where the category supports it, but not together with a Buy It Now price |
| Allowed | Not allowed |
| Only when a scheduled start was explicitly requested (eBay may charge a fee) | Same |
Check ebay_get_listing_type_policies for the formats and durations a category allows,
then ebay_get_listing_fees before ebay_publish_offer. Bodies that mix the two formats
are rejected locally, before any request reaches eBay.
Auctions on the Trading (XML) path
The legacy tools take the same switch as a top-level format argument (FIXED_PRICE by
default). ebay_create_listing, ebay_revise_listing, ebay_end_listing, and
ebay_relist_item with format: "AUCTION" use the auction-capable calls (AddItem,
ReviseItem, EndItem, RelistItem) instead of the *FixedPriceItem family, and
ebay_create_listing adds ListingType: "Chinese" to the Item for you:
Trading |
|
|
| Listing price | Opening bid (required on create) |
| Not allowed | Optional; must exceed |
| Not allowed | Optional; at least 30% above |
|
| Day count such as |
| Any | Omit or |
| Allowed | Allowed where the category supports it, but not together with |
| Not allowed | Ends an auction with bids |
Mixed payloads are rejected locally. When the format of an existing item is unknown, read
its ListingType with ebay_get_listing first (Chinese = auction).
Photos and videos from local files
An offer cannot be published without at least one picture. The media tools upload local files through eBay's Media API and return what the Inventory API needs:
Tool | What it does |
| Uploads pictures to eBay Picture Services ( |
| Runs the video lifecycle ( |
| Re-checks a video that was still |
| Reads the item, uploads the files, and rewrites only |
Local file access is off until you allow it: set EBAY_MCP_MEDIA_DIRS (path-delimited
directories) and/or EBAY_MCP_MEDIA_ROOT (one directory that also resolves
media://<relative-path> references). Symlinks are resolved before the containment
check; anything outside the allowed directories is refused before any upload. Supported:
JPG, PNG, GIF, BMP, TIFF, WEBP, AVIF, HEIC up to 12 MB; MP4/MOV up to 150 MB. Unused
uploads expire on eBay's side; they become permanent once a listing uses them.
Image URLs and documents
These eight tools are also in the inventory family:
Tool | What it does |
| Sends an HTTPS source URL to eBay and returns |
| Stages a listing document using |
| Creates a listing document directly from |
| Uploads a local file to a staged |
| Returns listing document status and metadata |
| Uploads a file with |
| Returns an embedded PDF MCP resource, with base64 bytes; does not write local files |
| Deletes a submitted post-order document |
For a listing manual, call ebay_create_document with
{"documentType":"USER_GUIDE_OR_MANUAL","languages":["ENGLISH"]}, then
ebay_upload_document with the returned documentId and
"path":"media://manual.pdf". Alternatively, call ebay_create_document_from_url
with the same metadata and "documentUrl":"https://example.com/manual.pdf".
Use ebay_get_document to check for ACCEPTED before associating the ID with a
listing. These calls require user consent for sell.inventory, including the read.
Listing documents accept PDF, JPEG/JPG and PNG up to 10 MiB (10,485,760 bytes). Post-order documents additionally accept BMP and GIF, with a 5 MiB (5,242,880 bytes) limit. Local uploads use the same media allowlist above, with extension and file signature checks. Animated/multi-page PNG is unsupported; use PDF for multi-page content. eBay enforces usage-specific PDF page limits.
For a return label, call ebay_upload_post_order_document with
{"path":"media://label.pdf","documentUsageType":"RETURN_SHIPPING_LABEL","entityType":"RETURNS","entityId":"YOUR_RETURN_ID"}.
The initial state is SUBMITTED; publication requires a separate eBay GraphQL
mutation, outside these tools. Submitted downloads are owner-only; published
downloads require authorization in the post-order flow. Published documents cannot
be deleted, and expired documents are unavailable.
Post-order tools require an eligible keyset and user consent for
https://api.ebay.com/oauth/api_scope/commerce.post_order.document.
Add it to your existing EBAY_OAUTH_SCOPES list and repeat OAuth setup/consent.
The variable replaces the requested scope list, so retain the other scopes you need.
Token refresh does not grant additional scopes. This scope is recognized but is
not added to default consent requests. All Media API POST operations are subject
to eBay's user-level limit of 50 requests per five seconds; rate-limit errors are
returned to the caller.
See eBay's Media API overview and release notes.
Finances, feeds, stores, and shipping labels
These families cover the rest of the Sell APIs: Finances, Feed, Stores, Logistics, and Account v2, plus the Metadata shipping, Taxonomy, and Charity endpoints that were missing:
Family | What it adds |
| Read-only payouts, payout and transaction summaries, transactions, transfers, seller funds, billing activity, and order earnings |
| Order, inventory, and customer-service-metric report tasks; LMS and Seller Hub upload tasks; recurring schedules and templates; input and result files |
| eBay Store details and store category changes (add, rename, move, delete) with task polling |
| Shipping quotes, postage purchase, shipments, cancellation, and PDF labels |
| Account API v2 rate tables, split payouts (mainland China sellers), combined shipping rules, and user preferences |
| Shipping carriers, services, locations, and handling times; expired categories; the bulk aspect export; charity organization lookup |
Asynchronous changes. Feed tasks and store category changes return a taskId read from
eBay's Location header (feed schedules return a scheduleId). Poll ebay_get_feed_task or
ebay_get_store_task until the task finishes, then fetch any result file. eBay allows one store
category change in flight at a time.
Files in and out. Downloads (feed input, result, and schedule files, shipping labels, and the
Taxonomy aspect export) come back as embedded MCP resources with base64 bytes; nothing is written
to disk. A file over 25 MiB fails with an error as soon as its size is known, without reading
the rest. The aspect export for large marketplaces such as EBAY_US exceeds that limit, so use
ebay_get_item_aspects_for_category per category there. ebay_upload_feed_task_file reads a local
.xml, .csv, .zip, or .gz file of up to 15 MiB (eBay's data file limit) through the same
EBAY_MCP_MEDIA_DIRS / EBAY_MCP_MEDIA_ROOT allowlist as the media tools.
Money moves. ebay_create_shipment_from_shipping_quote buys postage and charges the seller's
billing agreement; ebay_cancel_shipment refunds it while the label is unused.
Optional scopes. Two scopes are recognized but never requested by default:
https://api.ebay.com/oauth/api_scope/sell.finances.earnings.readfor the three order-earnings tools.https://api.ebay.com/oauth/api_scope/sell.logisticsfor every Logistics tool; the API is limited release.
Eligible keysets add the scope to EBAY_OAUTH_SCOPES, keeping the other scopes they need, and
repeat OAuth consent. eBay requires Digital Signatures on Finances calls for sellers in the EU and
UK, and this server does not sign requests yet, so those sellers get eBay's signature error from
the Finances tools.
eBay MCP vs. the raw eBay API
Both talk to the same eBay endpoints — the difference is everything you'd otherwise build yourself.
eBay MCP Server | Raw eBay REST API | |
Interface | Natural language through your AI assistant | Hand-written HTTP requests and JSON parsing |
OAuth & token refresh | Built in, with automatic refresh | You implement and maintain it |
Rate-limit handling | Automatic retry with exponential backoff | Manual |
Input validation | Zod schemas + TypeScript types on every tool | None — you validate your own payloads |
Setup | One wizard ( | Per-call auth, headers, and marketplace wiring |
AI client support | 9 clients auto-configured | Not applicable |
API coverage | 384 tools across 100% of the Sell APIs, ready to call | Build each request from the docs |
Hosting | Runs locally, no cloud relay | Your own infrastructure |
One-click AI setup
Let your AI assistant set this up for you. Copy the prompt below and paste it into Claude, ChatGPT, or any AI assistant with MCP support.
I want to set up the eBay MCP Server for my AI assistant. Please help me:
1. Install the eBay MCP server:
npm install -g ebay-mcp
2. I need to configure it for [Claude Desktop / Cursor / Cline / Zed / Continue.dev / Windsurf / Claude Code CLI / Amazon Q] (choose one)
3. My eBay credentials are:
- Client ID: [YOUR_CLIENT_ID]
- Client Secret: [YOUR_CLIENT_SECRET]
- Environment: [sandbox / production]
- Redirect URI (RuName): [YOUR_REDIRECT_URI]
Please:
- Create the appropriate config file for my MCP client
- Set up the environment variables
- Help me complete the OAuth flow to get a refresh token for higher rate limits
- Test that the connection works
If I don't have eBay credentials yet, guide me through creating a developer account at https://developer.ebay.com/Quick start
1. Get eBay credentials
Create a free eBay Developer Account.
Generate application keys in the Developer Portal.
Save your Client ID and Client Secret.
2. Install
npm install -g ebay-mcp # from npm (recommended)Or from source:
git clone https://github.com/YosefHayim/ebay-mcp.git
cd ebay-mcp && npm install && npm run build3. Run the setup wizard
npm run setupThe wizard configures your eBay credentials, sets up OAuth (for higher rate limits), auto-detects and configures your MCP client, and saves everything automatically.
4. Verify with a read-only request
Restart your MCP client and ask:
"Check my eBay API rate limits."
That should call ebay_get_rate_limits or ebay_get_user_rate_limits and confirms the server, credentials, and MCP client wiring without changing seller data.
5. Use
Start managing eBay through your AI assistant. Begin with read-only questions, then move to mutating inventory, order, or campaign tools after you have confirmed the target environment is sandbox or production.
The setup wizard (npm run setup) handles OAuth automatically. Here's where to find your credentials in the eBay Developer Portal:
Step 1 — In the Developer Portal, copy your App ID (Client ID) and Cert ID (Client Secret):

Step 2 — In your app's User Tokens settings, copy the RuName (eBay Redirect URL):

Step 3 — Run npm run setup. It opens your browser for OAuth login and guides you through eBay sign-in:

Step 4 — Paste the authorization code from the callback URL when prompted:

The wizard exchanges the code for tokens, saves them, and configures your MCP client. You now have user-token authentication (10k–50k requests/day instead of the default 1k/day).
Demo
See the eBay MCP Server in action with Claude Desktop:
https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b
Configuration
npm run setupwrites the.envfor you; the variables below are for reference.
EBAY_CLIENT_ID=your_client_id
EBAY_CLIENT_SECRET=your_client_secret
EBAY_ENVIRONMENT=sandbox # or "production"
EBAY_REDIRECT_URI=your_runame
EBAY_MARKETPLACE_ID=EBAY_US # default marketplace (overridable per tool)
# EBAY_SITE_ID=0 # Trading API site override; defaults from EBAY_MARKETPLACE_ID
EBAY_CONTENT_LANGUAGE=en-US # default request content language
EBAY_USER_REFRESH_TOKEN=your_token # for higher rate limits
EBAY_MCP_UI=on # interactive MCP Apps views (beta); "off" forces plain JSON
EBAY_MCP_TOOLS=all # tool exposure: "all", "dynamic", or a family list (see below)
EBAY_READ_ONLY=false # when true, only register read-only tools (gets/lists/searches)
# Local photo/video upload (optional — off until a directory is allowed):
# EBAY_MCP_MEDIA_DIRS=/srv/media # path-delimited directories the media and feed upload tools may read
# EBAY_MCP_MEDIA_ROOT=/srv/media # root for media://<relative-path> references (also allowed)
# HTTP deploy (optional — Docker / Railway / self-hosted):
# MCP_HOST=0.0.0.0 # default is 0.0.0.0 when PORT is set
# MCP_PORT=3000 # preferred over platform PORT
# MCP_AUTH_TOKEN=secret # static Bearer for HTTP MCP (skips OAuth verifier)
# MCP_CORS_ORIGINS=https://app.example.com # browser origins allowed cross-origin (comma-separated); default: loopback origins onlyTool exposure (EBAY_MCP_TOOLS)
By default all tools are advertised to the agent at once. On a long conversation that catalogue is a meaningful slice of the context window, so two opt-in modes let you shrink it:
Value | Behavior | Works on |
| Every tool advertised at startup. | every host |
| Only three discovery tools are visible ( | hosts that honor |
| Registers only the named families (listed below), frozen for the session. | every host (incl. ChatGPT, Cursor) |
The family list is literal — you get exactly what you name. ChatGPT connectors need the connector family (its search/fetch tools); add it explicitly, e.g. EBAY_MCP_TOOLS=connector,inventory. An unknown family name fails fast at startup with the valid list. Valid families: connector, token-management, account, finances, inventory, feed, stores, fulfillment, logistics, marketing, analytics, metadata, taxonomy, communication, browse, other, developer, trading.
Authentication & rate limits
Mode | Daily limit | Best for | Setup |
Client credentials (default) | 1,000 req/day | Development, testing | Automatic with Client ID + Secret |
User token (recommended) | 10k–50k req/day | Production, high volume | OAuth via |
User-token limits vary by account tier (Individual 10k · Commercial 25k · Enterprise 50k+). On a 429, the server retries with exponential backoff and surfaces the error. Monitor usage in the Developer Portal.
MCP client compatibility
Auto-configured by npm run setup. Requires Node.js ≥ 20 and MCP protocol 1.0+ over STDIO (default) or HTTP.
Client | Platform | Config path |
Claude Desktop | macOS, Windows, Linux |
|
Cursor IDE | macOS, Windows, Linux |
|
Zed Editor | macOS, Windows, Linux |
|
Cline | VS Code extension |
|
Continue.dev | VS Code, JetBrains |
|
Windsurf (Codeium) | macOS, Windows, Linux |
|
Roo Code | VS Code extension |
|
Claude Code CLI | Terminal |
|
Amazon Q Developer | AWS |
|
Available tools
384 tools, 100% Sell API coverage, organized by category. Each link points to the tool definitions and handlers in src/tools/categories/:
Category | What you can do |
ChatGPT connector search/fetch tools over the eBay MCP catalogue | |
Business, fulfillment, payment, and return policies; programs; subscriptions; sales tax; rate tables, payout settings, combined shipping rules, and user preferences ( | |
Payouts, transactions, transfers, seller funds, billing activity, order earnings | |
Inventory items, offers, locations, item groups, bulk operations, SKU/location mapping, and local photo/video upload ( | |
Order, inventory, and customer-service-metric feed tasks; schedules and templates; feed file upload/download | |
eBay Store details, store categories, category tasks | |
Orders, shipping, refunds, disputes, payment-dispute evidence | |
Shipping quotes, label purchase, shipments, label download (limited release) | |
Promoted-listings campaigns, ads, promotions, bidding, bulk operations | |
Traffic reports, seller standards, customer-service metrics | |
Buyer–seller messaging, negotiations, notifications, feedback | |
Return policies, sales-tax jurisdictions, automotive compatibility, shipping carriers/services/locations, handling times | |
Category trees, item aspects, item conditions, expired categories, bulk aspect export, and charitable organizations ( | |
Identity, VeRO, translation, and international shipping support APIs (Compliance tools report eBay decommission) | |
Fixed-price and auction listing create, revise, relist, end | |
Rate limits, signing keys, client registration | |
OAuth URL generation and token management |
Example tools: ebay_get_inventory_items, ebay_get_offers_by_skus, ebay_get_orders, ebay_create_offer, ebay_get_campaigns, ebay_get_oauth_url.
For the complete machine-readable index, see llms.txt.
Interactive UI (MCP Apps)
Beta — this feature is new and evolving alongside the MCP Apps spec, and host support is still rolling out. It is opt-in and falls back to plain JSON, so it never breaks existing clients. Toggle it with
EBAY_MCP_UI(see Configuration).
On hosts that support MCP Apps, common read tools render their results as interactive views instead of raw JSON — a sortable table, a detail card, a chart, or a stat grid — using the host's own theme. Everywhere else, the exact same tools return plain JSON, so nothing breaks. It is built on the official MCP Apps SDK (@modelcontextprotocol/ext-apps), the extension that lets MCP servers ship interactive UI to conversational clients.
Opt-in and host-gated. Views are advertised only to clients that announce the MCP Apps capability (e.g. Claude). Hosts without it (e.g. Cursor) silently get JSON.
Kill-switch. Set
EBAY_MCP_UI=offto force plain JSON everywhere, even on capable hosts.Token-cheap. Each view's HTML is fetched once by the host out of band (never into the model's context); the model only ever sees a one-line summary plus the structured data it would have received anyway.
Read-only. Views only ever trigger read tools (drill into a row, page, refresh) — they never mutate your eBay data.
15 core-workflow tools opt in today, across four archetypes:
Archetype | Tools |
Table |
|
Card |
|
Chart |
|
Stat |
|
The views build into self-contained HTML with pnpm build (or pnpm build:mcp-apps); they ship in the published package and load with no network access of their own.
Usage examples
Common tasks, phrased as you'd ask your AI assistant:
Set up OAuth — "Help me set up OAuth for my eBay account." → generates an authorization URL via
ebay_get_oauth_url, then configures the refresh token. Unlocks 10k–50k req/day.Manage inventory — "Show me all my active listings." →
ebay_get_inventory_itemsreturns SKUs, quantities, and status.Add photos to a listing — "Attach the three photos in ~/listings/megadrive to SKU MD-001." →
ebay_attach_media_to_inventory_itemuploads them to eBay Picture Services and updatesproduct.imageUrls(withEBAY_MCP_MEDIA_DIRSallowing that folder).Run an auction — "List this SKU as a 7-day auction starting at $9.99 with a $25 reserve." →
ebay_create_offerwithformat: "AUCTION",auctionStartPrice,auctionReservePrice, andlistingDuration: "DAYS_7", thenebay_publish_offer. On the legacy path,ebay_create_listingwithformat: "AUCTION"and a TradingItem(StartPrice,ReservePrice,ListingDuration: "Days_7").Look up offers —
ebay_get_offersreturns offers for one required SKU. To enumerate offers across the inventory, callebay_get_inventory_itemsfirst, then callebay_get_offersonce per SKU.Manage fulfillment policies — "Create a shipping policy, then update its handling time." →
ebay_create_fulfillment_policycreates the reusable policy ID andebay_update_fulfillment_policyreplaces its settings.Process orders — "Get all unfulfilled orders from the last 7 days." →
ebay_get_orderswith date and fulfillment-status filters.Create campaigns — "Create a promoted-listing campaign for electronics." →
ebay_create_campaignand related marketing tools.Bulk operations — "Apply a 10% discount to all 'Vintage Watches' items." →
ebay_get_inventory_items+ebay_update_offeracross matches.
Scope and safety
Unofficial project. This is not an eBay product and does not grant any additional API rights beyond your own eBay Developer account.
Local server, live APIs. The MCP server runs on your machine, but tools still call eBay's sandbox or production APIs over the internet.
Mutating tools can change seller data. Inventory, fulfillment, marketing, account, feed, stores, and Trading tools may create, revise, refund, end, or otherwise update eBay records, and
ebay_create_shipment_from_shipping_quotepurchases postage. Test in sandbox first.Tool exposure is configurable. Use
EBAY_MCP_TOOLS=dynamicor a family list when you want a smaller, workflow-specific tool surface.Interactive views are read-only. MCP Apps views can page, refresh, and drill into read tools, but they do not mutate eBay data.
Compliance remains yours. Keep credentials secure, monitor rate limits, and follow eBay's API terms and data-handling rules.
Logging & troubleshooting
Logging — Winston-based, written to stderr (MCP-safe) with optional file output.
Troubleshooting — server not appearing, auth errors, rate limits, empty results. Start with
npm run diagnose.
FAQ
A local Model Context Protocol server that exposes 384 tools covering 100% of eBay's Sell APIs (360 endpoints) to AI assistants — inventory, order fulfillment, marketing, analytics, and developer tools.
No. This is an unofficial, third-party open-source project. It is not affiliated with, authorized, or endorsed by eBay Inc.
Nine clients are auto-configured by npm run setup: Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer. Any MCP-compatible client can connect.
Yes. It works with Claude Desktop and Claude Code out of the box, with Cursor and other MCP-enabled IDEs, and with any assistant that supports the Model Context Protocol. The one-click setup prompt above works with ChatGPT and other assistants too.
Interactive MCP Apps views only appear on hosts that announce the capability (e.g. Claude); other clients get the same data as plain JSON. Also confirm you have not set EBAY_MCP_UI=off and that the views are built (pnpm build runs build:mcp-apps).
384 tools across 360 unique endpoints — 100% of eBay's Sell APIs.
Yes. It is released under the MIT license.
It runs entirely on your machine over STDIO (or local HTTP). There is no cloud relay — your eBay credentials never leave your computer.
Node.js ≥ 20, a free eBay Developer Account (Client ID + Client Secret), then run npm run setup.
Client credentials (the default) allow about 1,000 requests/day. Authenticating with a user token via OAuth raises this to 10,000–50,000 requests/day depending on your account tier.
Yes. Switch with the EBAY_ENVIRONMENT variable (sandbox or production).
Credentials are stored locally in your .env file and used only to call eBay directly.
You interact in natural language through your AI assistant. OAuth token management, automatic retries with backoff, and type-safe Zod validation are built in. See the comparison table above.
Yes. ebay_upload_images, ebay_upload_video, and ebay_attach_media_to_inventory_item read local files (absolute paths or media:// references) and upload them through eBay's Media API, returning EPS image URLs and video IDs for product.imageUrls / product.videoIds. ebay_upload_feed_task_file uploads local feed files the same way. Filesystem access is opt-in: nothing is readable until EBAY_MCP_MEDIA_DIRS or EBAY_MCP_MEDIA_ROOT names the directories. See Photos and videos from local files.
Yes, through the REST Inventory offer tools: create the offer with format: "AUCTION", an auctionStartPrice, an optional auctionReservePrice, and a day-count listingDuration, then publish it. See Auction offers. The legacy Trading API tools take the same switch: ebay_create_listing with format: "AUCTION" sends AddItem with ListingType Chinese, an opening-bid StartPrice, and a day-count ListingDuration.
Yes. Listing create, revise, relist, and end operations are supported through the Trading API tools, for fixed-price listings (AddFixedPriceItem family, the default) and for auctions (format: "AUCTION" → AddItem, ReviseItem, EndItem, RelistItem).
Complete the OAuth flow with npm run setup to authenticate with a user token (10k–50k requests/day instead of the default 1k).
TypeScript and Node.js (ESM), using the official MCP SDK, Zod schemas for tool inputs, Effect for typed async errors, and OpenAPI-generated types.
Run npm install -g ebay-mcp@latest (or npm update -g ebay-mcp).
No. "Runs locally" means the server process runs on your machine — it still needs an internet connection and valid credentials to reach eBay's live APIs.
Contributing
Contributions welcome. Fork → branch → add tests → run the checks below → commit with Conventional Commits → open a PR.
pnpm typecheck && pnpm typecheck:mcp-apps # TypeScript (server + MCP Apps views)
pnpm check:ci # Biome lint + format
pnpm test && pnpm test:integration # Vitest unit + integration
pnpm build # Build to build/Resources
Project docs:
llms.txt — a compact project summary for AI agents.
Releases and the Issue Tracker.
Official specs and tooling:
eBay Developer Portal, Sell API docs, API License Agreement, Data Handling Requirements, and API Status.
Model Context Protocol and the MCP Apps SDK.
Node.js, npm package, TypeScript, Zod, Effect, Biome, Vitest, and GitHub Actions.
Claude Code and llms.txt.
License
MIT — see LICENSE.
Contributors
Thanks to everyone who has helped make this project better! 🎉
Support this project · Created by Yosef Hayim Sabag
eBay MCP server · Model Context Protocol for eBay Sell APIs · connect Claude, Cursor, and any AI assistant to eBay inventory, orders, marketing, and analytics.
Available Tools
384 toolsebay_accept_payment_disputeA
Accept a payment dispute and allow eBay to refund the buyer. Use this when you agree with the buyer claim.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Generated acceptPaymentDispute request body | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only describes the high-level action (accept and refund). It does not disclose side effects, reversibility, or post-action state changes, leaving significant behavioral gaps 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 extremely concise with a single sentence for purpose followed by scope information, front-loading key information without unnecessary verbosity.
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?
The description covers purpose and OAuth scope, but lacks details on expected response (no output schema), prerequisites beyond scope, or behavior after acceptance. Given the absence of annotations and output schema, the description is minimally adequate but could be more informative.
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 coverage is 100%, so the input schema already documents parameters. The description adds no additional meaning beyond what is in the schema, meeting baseline requirements but providing no extra value.
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 clearly states the tool accepts a payment dispute and allows eBay to refund the buyer, specifying the action and resource. It distinguishes from siblings like ebay_contest_payment_dispute by indicating when to use this tool (when agreeing with buyer claim).
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 provides a clear usage condition ('when you agree with the buyer claim') and includes required OAuth scope, guiding the agent on when to use this tool. However, it does not explicitly name alternatives or state when not to use it beyond the condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_add_payment_dispute_evidenceB
Add evidence to support your case in a payment dispute. Provide evidence files and supporting information.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated addEvidence request body | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It only states action and scope, missing behavioral traits like idempotency, rate limits, or side effects. Minimal disclosure beyond basic purpose.
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?
Description is concise and front-loaded with the action. OAuth scope is useful but might be better in annotations. No wasted words, but could be slightly more efficient.
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?
Adequate for a tool with full schema coverage and no output schema. Lacks mention of prerequisites (e.g., upload file step) and expected response. Sufficient but not rich.
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 coverage is 100%, so baseline 3 applies. Description does not add additional meaning beyond schema descriptions; 'evidence files and supporting information' is generic.
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?
Description clearly states the verb 'add evidence' and context 'payment dispute', distinguishing from related tools like update and upload. However, it does not explicitly differentiate from siblings.
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?
Provides required OAuth scope, indicating when it can be used, but lacks explicit guidance on when to use this tool versus alternatives like update or upload, and no prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_add_store_categoryA
Add one custom category to the eBay Store (Stores API addStoreCategory). Pass categoryName and optionally destinationParentCategoryId (omit or -999 for top level) and listingDestinationCategoryId. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
| categoryName | Yes | Seller-specified store category name (max 35 characters); cannot be empty or 'Other' | |
| destinationParentCategoryId | No | Parent store category ID; omit or pass the string "-999" to add a top-level category | |
| listingDestinationCategoryId | No | When the parent is a leaf category with active listings, moves them to this store category; omitted, the new category inherits them |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false; the description goes far beyond that by disclosing the asynchronous contract, the { taskId, location } response, the required polling loop until COMPLETED/FAILED, the single-in-flight-change restriction, and the subscription/auth requirement. This is unusually complete behavioral context 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?
Front-loaded with purpose and parameter guidance, then the async/polling workflow and constraints. Every sentence carries information, though the parameter recap and the polling instruction could be trimmed slightly given the schema already covers parameters.
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?
With no output schema, the description compensates by describing the returned { taskId, location } and how to poll. Combined with auth and concurrency caveats, an agent has everything needed to invoke and follow up correctly.
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 100%, so the schema already documents categoryName, destinationParentCategoryId (including the -999 top-level convention), and listingDestinationCategoryId. The description restates the same parameter behavior without adding new syntax or edge cases, so the baseline 3 applies.
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?
States a specific verb and resource ('Add one custom category to the eBay Store') and ties it to the underlying addStoreCategory API. By mentioning that only one add/rename/move/delete can be in flight, it implicitly distinguishes itself from the sibling rename_store_category, move_store_category, and delete_store_category tools.
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?
Explicitly names the alternatives for polling (ebay_get_store_task with taskId, or ebay_get_store_tasks) and the precondition (active eBay Store subscription / sell.stores scope). It also states the concurrency constraint that blocks a new change until the prior task finishes, which is exactly the when-not guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_attach_media_to_inventory_itemA
Upload local pictures and/or a video and attach them to an existing inventory item: reads the item, uploads every file in order, then rewrites only product.imageUrls and product.videoIds (appending by default, replacing with replaceExisting). Everything else on the item is preserved and no offer is published. If any upload fails the item is left untouched and the per-file results are returned in the error, unless allowPartial is true.
Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | SKU of the existing inventory item to attach media to | |
| imagePaths | No | Image files in listing order (appended to product.imageUrls unless replaceExisting) | |
| videoPaths | No | Video files (appended to product.videoIds unless replaceExisting) | |
| allowPartial | No | Update the item with the uploads that succeeded even if some failed (default false: any failure leaves the item untouched) | |
| replaceExisting | No | Replace the item's current imageUrls/videoIds instead of appending (default: append) | |
| waitForProcessingSeconds | No | Seconds to wait for eBay to finish processing a video before returning (default 120). A video still PROCESSING can be checked later with ebay_get_video |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotation readOnlyHint=false: the read-modify-write sequence, atomicity (item left untouched on any upload failure unless allowPartial is true), per-file results in the error, the append-vs-replace behavior, and the local file access opt-in with EBAY_MCP_MEDIA_DIRS/EBAY_MCP_MEDIA_ROOT and symlink resolution. This goes far beyond what the schema and annotations provide.
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?
Two paragraphs, front-loaded with the core action, then the critical atomicity/failure behavior, then file-access constraints. Every sentence earns its place — the local access restriction is important because it was not in the schema's coverage and would otherwise cause failed calls. No filler.
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?
This is a complex mutation tool (6 parameters, upload orchestration, partial-failure semantics, local-file access restrictions, video processing wait) but the description covers all the non-obvious operational concerns: order, atomicity, replace/append, allowPartial, local path constraints, and waitForProcessingSeconds' relation to ebay_get_video. The output schema is absent, but for attachment operations the description explains what happens on failure (per-file results in error). Nothing an agent needs to call it correctly is missing.
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 coverage is 100%, so the schema already documents parameters well. The description adds meaningful orchestration semantics beyond the schema: files are uploaded 'in order', the 'reading the item then rewriting only product.imageUrls and product.videoIds' behavior explains how imagePaths/videoPaths map to the item, and the failure/partial behavior for allowPartial. It does not deeply re-explain each parameter, but the schema already covers syntax; the description adds sequencing and failure semantics. Baseline for 100% coverage is 3; the added semantics justify a 4.
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 opens with a specific verb and resource: 'Upload local pictures and/or a video and attach them to an existing inventory item.' It clearly delineates the exact fields modified (product.imageUrls and product.videoIds), distinguishes append vs. replace behavior, and notes what is preserved (everything else, no offer published). This distinguishes it well from siblings like ebay_create_or_replace_inventory_item, ebay_upload_images, ebay_upload_video, ebay_get_video, and ebay_create_offer.
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 gives explicit context: use this to attach media to an existing inventory item, it appends by default, and can replace with replaceExisting. It states what the tool does not do ('no offer is published', 'Everything else on the item is preserved'), which helps an agent decide between this and update/create inventory item tools. However, it does not explicitly name sibling tools as alternatives or state when-not-to-use it (e.g., when you need to create the item itself). Clear context, but no explicit exclusions naming alternatives, so 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_cancel_packagesB
Cancel multiple packages in one request
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It indicates a write/destructive operation ('Cancel') but provides no details on effects, reversibility, permissions, rate limits, or partial failure handling for the bulk request.
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 concise sentence, but it omits essential details. It earns its place but does not provide sufficient guidance, so it is not optimally concise.
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?
Given the lack of annotations, opaque schema, and no output schema, the description is highly incomplete. It fails to explain the input format, expected output, error conditions, or behavior, making the tool nearly unusable for an AI agent.
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?
The sole parameter 'body' is required but has no defined properties and allows additionalProperties. Schema description coverage is 0%, and the description gives no hint about the body's structure, leaving the agent unable to construct a valid request.
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 clearly states the action 'Cancel' and resource 'multiple packages', with the context 'in one request'. It distinguishes from the singular 'ebay_cancel_package' and other bulk operations like 'ebay_bulk_confirm_packages'.
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 context for use is clear: cancel multiple packages at once, implying it's an alternative to calling the single-cancel tool repeatedly. However, no explicit when-not-to-use or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_confirm_packagesC
Confirm multiple packages in one request
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully cover behavioral traits. It only states a vague 'confirm' without explaining side effects, state changes, authentication needs, or limitations. For a mutation tool, this is insufficient.
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 one short sentence, which is concise but sacrifices necessary detail. It fails to earn its place by omitting critical information about the tool's usage.
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?
Given the complex input schema with no parameter descriptions, no output schema, and the tool being a bulk mutation, the description is severely incomplete. It does not enable an agent to use the tool effectively.
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?
The only parameter 'body' is a free-form object with schema coverage 0%. The description offers no hint about its expected structure, required fields, or format. The agent has no guidance on constructing a valid request.
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 clearly states the action ('Confirm'), the resource ('multiple packages'), and the scope ('in one request'), effectively distinguishing it from the single-package sibling 'ebay_confirm_package'.
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?
No guidance on when to use this bulk version versus the single-package tool, no prerequisites or conditions mentioned. The description only implies usage through the name and bulk indication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_ads_by_inventory_referenceC
Bulk create ads by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk create ads by inventory reference request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation only declares readOnlyHint: false, indicating a write operation. The description adds 'create' but gives no further behavioral context: it does not mention whether the operation is idempotent, what happens to existing ads, rate limits, or the response format. For a bulk write operation with no other annotations, this is a significant transparency gap.
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, direct sentence that states the action and resource without extraneous detail. It is concise and appropriately sized for the tool's complexity.
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?
The tool is a bulk operation with nested objects and no output schema. The description omits key contextual information: it does not mention that the request array can contain multiple items, any constraints on the number of items, whether the campaign must be active, or how errors are reported. Given the complexity and lack of annotation support, the description is incomplete for an agent to use it correctly without further investigation.
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?
The input schema has 100% description coverage: campaignId is described as 'campaignId required endpoint parameter' and request as 'Bulk create ads by inventory reference request body'. These schema descriptions are minimal but exist. The tool description adds nothing about the parameters—it does not explain the structure of the request array or the meaning of fields like bidPercentage or inventoryReferenceType. With schema coverage at 100%, the baseline is 3, and the description does not add value beyond the schema.
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 clearly states the action (Bulk create) and the resource (ads by inventory reference). The term 'Bulk' distinguishes it from single create tools like ebay_create_ads_by_inventory_reference, and 'by inventory reference' distinguishes it from bulk create by listing ID (ebay_bulk_create_ads_by_listing_id). However, it does not explicitly compare itself to these siblings, leaving some ambiguity for an agent that must choose between them.
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 provides no guidance on when to use this tool versus the single create or the listing-ID variant. It does not state prerequisites (e.g., campaign must exist), nor any conditions under which this tool should be avoided. An agent has to infer usage from the name alone, which is insufficient given the large number of related ad tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_ads_by_listing_idB
Bulk create ads by listing id through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk create ads by listing id request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's 'Bulk create' aligns with readOnlyHint=false and clarifies that this is a mutation that creates ads, not a read operation. However, it does not disclose additional behavioral traits such as whether the operation is asynchronous, whether partial failures occur, what side effects are produced, or any rate-limit/batch constraints. With annotations providing only a read-only flag, the description adds minimal behavioral context beyond the mutation type.
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, front-loaded sentence that contains the essential action ('Bulk create ads'), the key ('by listing id'), and the API context. There is no filler or redundant restatement of the tool name, and every word contributes to identifying the operation.
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?
Given the tool's nested request object, the absence of an output schema, and the lack of any usage or behavioral guidance, the one-sentence description is not complete enough for an agent to confidently invoke the tool. The agent cannot tell how to structure the requests array, whether bidPercentage is required, what the relationship between adGroupId and listingId is, or what response format to expect.
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 100%, so the description is not required to explain the top-level parameters. The description itself adds no parameter-level meaning: 'request' is only described as 'Bulk create ads by listing id request body' and campaignId as 'campaignId required endpoint parameter'. Nested fields like adGroupId, listingId, and bidPercentage are left entirely to the agent to infer, but the high schema coverage keeps this at baseline.
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 verb ('create'), a specific resource ('ads'), and a specific selection key ('by listing id'), which clearly distinguishes this tool from siblings like ebay_bulk_create_ads_by_inventory_reference and ebay_create_ad_by_listing_id. It also identifies the API domain ('eBay Marketing API'), leaving no ambiguity about what operation is performed.
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 does not provide any guidance about when to choose this tool over alternatives. It does not mention that single-ad creation should use ebay_create_ad_by_listing_id, or that inventory-reference-based bulk creation should use ebay_bulk_create_ads_by_inventory_reference. The 'bulk' and 'by listing id' wording implies the use case, but no explicit exclusions or alternative conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_keywordC
Bulk create keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk create keyword request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false indicates a write operation, and the description confirms creation. However, the description adds no behavioral details beyond the annotation—no mention of side effects, rate limits, required permissions, or response behavior. The description does not contradict annotations, but it contributes minimal extra context.
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 concise sentence that front-loads the action and resource. There is no extraneous text or repetition, making it efficiently structured.
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?
This is a complex bulk operation with a nested request object, but the description provides no explanation of the inner fields (adGroupId, keywordText, matchType, bid) beyond what the schema offers. There is no output schema, so the response format is unknown. The tool would benefit from clarifying expected inputs and outcomes.
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 100%, and the schema already describes the request body and campaignId. The description adds no parameter-level details. Since the schema covers all parameters, the baseline of 3 is appropriate, though the description could have clarified nested field meanings.
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 verb ('Bulk create') and resource ('keyword') through the eBay Marketing API. It is clear and distinct from single-keyword tools, though it does not explicitly name siblings like ebay_create_keyword or ebay_bulk_update_keyword. The 'bulk' qualifier provides adequate differentiation.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_create_keyword for single creation or ebay_bulk_update_keyword for updates. The description only implies bulk usage without stating prerequisites, limits, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_negative_keywordB
Bulk create negative keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk create negative keyword request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint: false, which indicates a write operation. The description adds no behavioral context beyond that—no mention of side effects, irreversibility, required authentication, rate limits, or what happens to existing keywords. Since the annotation already signals mutation, the description contributes no additional transparency.
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?
A single sentence that is front-loaded with the core purpose. There is zero fluff, and the sentence directly conveys the action and target. It is appropriately concise for a tool with a clear function.
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?
The tool has a nested request structure with multiple fields, yet the description offers no guidance on how to construct the request, which fields are required (the schema marks only two fields required inside each item, but adGroupId and campaignId are not required—a potentially confusing omission), or what the response contains. No output schema exists, so the agent is left without return-value expectations. Given the complexity, the description is incomplete.
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 100% because the 'request' property has a description, but the individual fields (adGroupId, campaignId, negativeKeywordText, negativeKeywordMatchType) lack descriptions in the schema. The tool description does not explain any parameter semantics, such as required fields or match type options. With high schema coverage, a baseline of 3 is appropriate, but the description adds no value beyond the schema.
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 verb ('bulk create') and a clear resource ('negative keyword') and names the API context ('eBay Marketing API'). It distinguishes from sibling tools like ebay_create_negative_keyword (single create) and ebay_bulk_update_negative_keyword (update) by explicitly indicating bulk creation. This gives the agent a precise understanding of what the tool does without needing to open the schema.
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 provides no explicit guidance on when to use this tool versus alternatives. It does not mention that it should be used for creating multiple negative keywords at once, nor does it explain when to prefer the single-create variant (ebay_create_negative_keyword). The 'bulk' prefix implies multi-item usage, but no direct statement of context or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_offerA
Bulk create up to 25 offers in one request. Each request follows the ebay_create_offer rules: FIXED_PRICE offers take pricingSummary.price and listingDuration GTC. AUCTION offers take pricingSummary.auctionStartPrice (opening bid), an optional auctionReservePrice above it, an optional pricingSummary.price as Buy It Now (at least 30% above the opening bid, and not together with Best Offer), a day-count listingDuration (DAYS_1/3/5/7/10, or DAYS_14/21/30 where the category allows; never GTC), availableQuantity omitted or 1, and no per-buyer limit or eBay Plus. Do not add listingStartDate unless the user asked for a scheduled start (it can incur a fee). Bodies that mix the two formats are rejected before any eBay request.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It goes beyond the schema by warning that listingStartDate can incur a fee, stating that mixed-format bodies are rejected before any eBay request, and clarifying format-specific restrictions like no per-buyer limit or eBay Plus for auctions. It does not cover partial-failure behavior or rate limits, but it is substantially informative.
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 dense but every sentence carries rule content; there is no filler. It is front-loaded with the core purpose and max limit, then details format-specific rules and a fee warning. It could be more scannable, but the length is justified by the complexity of the supported offer formats.
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?
Given the complex nested schema and absence of both annotations and output schema, the description covers the critical decisions: format selection, pricing fields, listing duration, quantity, Best Offer, eBay Plus, and scheduling. Missing details like partial-failure semantics or behavior when exceeding 25 offers are not addressed, but the description is strong enough for an agent to invoke the tool with correct intent.
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 coverage is effectively 0% for the top-level parameter, and the description compensates extensively. It maps FIXED_PRICE vs AUCTION formats to their required and optional fields, adds cross-field constraints like the 30% Buy It Now margin and incompatibility with Best Offer, and clarifies auction-specific rules such as availableQuantity omitted or 1. This is far more semantically useful than the raw schema.
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 opens with a specific verb and resource: 'Bulk create up to 25 offers in one request.' It clearly distinguishes this tool from ebay_create_offer by emphasizing the bulk aspect and immediately scoping the operation to a maximum of 25 offers.
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 gives clear context for when to use the tool — bulk offer creation — and states that each request must follow ebay_create_offer rules. It does not explicitly name alternatives or exclusion conditions, such as 'use ebay_create_offer for a single offer,' but the bulk framing and detailed constraints make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_or_replace_inventory_itemC
Bulk create or replace multiple inventory items
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated BulkInventoryItem request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but reveals only that the tool performs a mutation (create/replace). Key behavioral traits like idempotency, limits, authentication needs, or error conditions are omitted.
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, front-loaded sentence with no redundancy. It is concise but at the cost of missing essential details, balancing brevity and information.
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 tool with one parameter and no output schema or annotations, the description is insufficient. It does not explain the request body structure, return value, or operational context, leaving agents with significant gaps.
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?
The single parameter 'body' has a generic description ('Generated BulkInventoryItem request body') that adds no structural or semantic details. Despite 100% schema coverage, the description fails to explain what the body should contain.
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 clearly states the action (bulk create or replace) and resource (inventory items), distinguishing it from singular alternatives via the word 'bulk'. However, it could be more specific about what 'multiple' entails.
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?
No guidance is provided on when to use this tool versus sibling tools like ebay_create_or_replace_inventory_item or other bulk operations. Prerequisites, constraints, and alternatives are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_create_or_replace_sales_taxBIdempotent
Bulk create or replace sales tax tables
| Name | Required | Description | Default |
|---|---|---|---|
| requests | Yes | Array of sales tax requests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, idempotent operation, so the description's job is to add behavioral nuance beyond that. The description simply restates the tool name and provides no details on replacement semantics, partial failure behavior, atomicity, or validation. It adds little to what annotations and the name already convey.
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, clear sentence with no filler. It front-loads the core action and resource, even though it closely mirrors the tool name. It is appropriately minimal for the simple parameter structure.
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 bulk mutation tool with no output schema, the description is too sparse. It does not explain what "replace" means for existing sales tax tables, whether the operation is atomic or per-request, or what failure modes exist. An agent would need additional context to use it confidently beyond what the name and schema provide.
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 coverage is 100%, so the schema fully documents the requests parameter and its nested structure. The description adds nothing beyond the schema about parameters, which aligns with the baseline of 3 when the schema carries the heavy lifting.
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 (bulk create or replace) on a specific resource (sales tax tables), clearly distinguishing it from singular, delete, and get siblings such as ebay_create_or_replace_sales_tax, ebay_delete_sales_tax, and ebay_get_sales_tax. An agent can immediately understand the tool's scope and function without opening the schema.
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 word "Bulk" implies use for multiple tax tables, but the description does not explicitly state when to use this tool versus the singular ebay_create_or_replace_sales_tax or other tax-related tools. There are no exclusions or alternative routing hints, leaving the agent to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_delete_ads_by_inventory_referenceC
Bulk delete ads by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk delete ads by inventory reference request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description merely restates the action and API, adding no behavioral context beyond the readOnlyHint=false annotation. It does not disclose side effects, irreversibility, rate limits, or error behavior, which matters for a mutating bulk operation.
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 sentence with no fluff, but it essentially restates the tool name with the API context added. It is efficient but adds little informational value beyond the name.
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 mutation tool with a nested request body and no output schema, the description is too thin. It omits constraints on request count, response format, and failure behavior, leaving gaps for an agent trying to invoke the tool correctly.
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 100% for top-level parameters, so the baseline is 3. The parameter descriptions are largely tautological (e.g., 'campaignId required endpoint parameter') and the tool description adds no further meaning to the schema, so the score stays at baseline.
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 verb ('Bulk delete'), resource ('ads'), and the key qualifier ('by inventory reference'), which clearly differentiates it from siblings like ebay_bulk_delete_ads_by_listing_id. It does not explicitly name the sibling singular variant ebay_delete_ads_by_inventory_reference, but the word 'Bulk' covers that distinction, making the purpose evident.
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 provides no guidance on when to choose this tool over alternatives such as the non-bulk delete or the bulk delete by listing ID. It neither states conditions for use nor exclusions, leaving the agent to infer when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_delete_ads_by_listing_idC
Bulk delete ads by listing id through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk delete ads by listing id request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only provide readOnlyHint=false, so the description carries responsibility for behavioral disclosure. 'Bulk delete' implies mutation, but there is no mention of permanence, whether the operation is atomic, or how success/failure is reported. The description adds almost nothing beyond what the verb 'delete' and the tool name already imply.
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?
A single sentence with the action and resource front-loaded. 'Through the eBay Marketing API' is slightly redundant given the ebay_ prefix, but it is minor. The description is appropriately concise and readable.
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?
This tool has a nested request object and no output schema, yet the description does not explain how to populate request.requests[].adId or how campaignId relates to the operation. The listing-id versus adId ambiguity could lead an agent to construct an invalid call. Overall, the description is insufficient for correct invocation.
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 100%, so the baseline is 3. The description adds no meaningful parameter detail beyond the schema, and it may even mislead by saying 'by listing id' while the request schema requires adId. The schema's own descriptions are low-value, but full coverage keeps this at the baseline.
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 ('Bulk delete ads') and resource ('ads by listing id'), which broadly distinguishes it from deletion by inventory reference. However, the phrase 'by listing id' conflicts with the schema's adId property, creating ambiguity about which identifier is actually used. The core purpose is still understandable but slightly imprecise.
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?
No guidance is given on when to use this tool instead of alternatives like ebay_delete_ad or ebay_bulk_delete_ads_by_inventory_reference. The description states only the operation itself, with no prerequisites, exclusions, or decision criteria. Any usage context must be inferred from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_delete_packagesC
Delete multiple packages in one request
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Delete', implying a destructive action, but provides no details on side effects, reversibility, or required permissions. With no annotations, this minimal disclosure is insufficient for safe invocation.
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 concise (one sentence), but overly terse. It sacrifices necessary detail for brevity, making it minimally adequate but not well-structured.
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?
Given the complexity of a bulk delete operation, the description lacks essential context such as maximum package count, identifier format, and output expectations. The high number of siblings increases the need for clarity, which is absent.
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?
The single parameter 'body' is an untyped object with additionalProperties true, and the description adds zero information about its expected structure. With 0% schema coverage, the description fails to help the agent construct valid input.
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 'Delete multiple packages in one request' clearly identifies the tool's action (delete) and resource (multiple packages), distinguishing its bulk nature from single-package operations like ebay_delete_package.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_delete_package (single) or ebay_bulk_cancel_packages. The description lacks context for choosing between similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_get_inventory_itemC
Bulk get multiple inventory items
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated BulkGetInventoryItem request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries no behavioral details (e.g., read-only, permissions, rate limits). It only repeats the name, leaving the agent uninformed about side effects or requirements.
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 concise sentence with no wasted words, though it could benefit from slightly more structure to include key context.
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?
Given the lack of output schema and annotations, the brief description is insufficient. It does not explain how to use the body parameter, expected input/output, or any operational details.
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 coverage is 100% with a single 'body' parameter described as 'Generated BulkGetInventoryItem request body'. The tool description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
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 clearly states the action ('get') and resource ('inventory items') with a bulk scope, distinguishing it from single-item get or create operations among siblings.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_inventory_item or bulk creation. No when-not-to-use or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_migrate_listingC
Bulk migrate listings to the inventory model
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated BulkMigrateListing request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure, but it only states 'bulk migrate'. It does not mention whether original listings are modified or deleted, if the operation is synchronous, or any error handling behavior.
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?
At six words, the description is extremely concise but omits critical information. It prioritizes brevity over clarity, resulting in under-specification.
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?
Given no annotations, no output schema, and a single undocumented parameter, the description is severely incomplete for a bulk migration operation. Users need details on prerequisites, side effects, and the structure of the request body.
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?
The schema coverage is 100% with one parameter 'body', but the description merely repeats the parameter name as 'Generated BulkMigrateListing request body', adding no semantic detail beyond the schema. The agent gains no insight into what the body should contain.
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 uses the verb 'migrate' and specifies the resource 'listings to the inventory model', which clearly indicates the tool's action and distinguishes it from create/revise/end listing tools. However, 'migrate' could be more explicit about the conversion process.
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?
There is no guidance on when to use this tool versus alternatives like ebay_create_listing or ebay_revise_listing. No prerequisites or scenarios are described, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_publish_offerC
Bulk publish multiple offers
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated BulkOffer request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only says 'Bulk publish multiple offers' without disclosing whether the operation is idempotent, how partial failures are handled, rate limits, or authentication requirements.
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 concise sentence with no fluff. However, a slight expansion to cover key behavioral aspects would improve clarity without sacrificing conciseness.
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?
Given that this is a bulk operation with no output schema and no annotations, the description is incomplete. It fails to explain the return value, error handling, or how results are reported, which is critical for such a tool.
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?
The single parameter 'body' has a schema description 'Generated BulkOffer request body', but the tool description adds no further semantic context, such as required format or constraints. The description does not help an agent understand what constitutes a valid BulkOffer request.
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?
Description states 'Bulk publish multiple offers', clearly indicating the verb (publish) and resource (offers) with a bulk modifier that distinguishes it from the sibling ebay_publish_offer. However, it lacks specificity about the scope or nature of the bulk operation.
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?
No guidance on when to use this tool versus alternatives like ebay_publish_offer or ebay_create_offer. There are no usage examples, prerequisites, or exclusion criteria provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_ads_bid_by_inventory_referenceB
Bulk update ads bid by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update ads bid by inventory reference request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false already conveys that this is a mutating operation. The description adds no additional behavioral context such as permissions required, idempotency, partial failure behavior, or effects on existing ads. For a mutation tool without a destructiveHint annotation, more disclosure is needed.
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?
A single, front-loaded sentence with no filler. It communicates the core operation immediately, and the trailing 'through the eBay Marketing API' adds minimal but acceptable context.
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?
The definition is too thin for a bulk mutation tool with nested request objects and no output schema. It omits expected values for bidPercentage, valid inventoryReferenceType options, and behavioral outcomes. An agent would likely need external API knowledge to invoke it correctly.
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 for the two top-level parameters is 100%, so the baseline is 3. The description does not add meaning beyond the schema, and nested fields like inventoryReferenceType and bidPercentage lack value format or allowed-value explanation, but the schema already names them clearly.
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 verb ('bulk update'), resource ('ads bid'), and identifier type ('by inventory reference'). This clearly distinguishes it from sibling tools like ebay_bulk_update_ads_bid_by_listing_id and related inventory-reference bulk operations.
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?
No guidance is provided about when to use this tool instead of alternatives such as ebay_bulk_update_ads_bid_by_listing_id, ebay_update_bid, or ebay_bulk_create_ads_by_inventory_reference. The description implies the operation but does not state context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_ads_bid_by_listing_idB
Bulk update ads bid by listing id through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update ads bid by listing id request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, so the write nature is known. The description adds no behavioral details beyond 'update' – no mention of overwriting behavior, rate limits, required scopes, or effects on existing bids. With only one annotation present, the description does not meaningfully increase transparency.
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 efficient sentence that front-loads the action and scope. No filler or repetition, but the phrase 'through the eBay Marketing API' is arguably redundant given the tool name already starts with 'ebay'. Minor waste, but very concise overall.
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 bulk operation with a nested request array and no output schema, the description is too sparse. It does not explain the role of adGroupId, the format of bidPercentage (e.g., string representing a percentage), whether listingId refers to an eBay listing ID vs. inventory reference, or any batching limits. The sibling list shows many similar tools, and without more contextual detail, an agent could easily misuse the parameters.
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 100% for the top-level parameters (campaignId and request), so the description does not need to repeat them. However, the nested properties inside 'requests' (adGroupId, listingId, bidPercentage) have no individual descriptions, and the tool description offers no extra semantic hints about formats or relationships beyond the schema's basic labels.
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 verb ('Bulk update') and resource ('ads bid') with a clear scope ('by listing id'), which directly distinguishes it from sibling tools like ebay_bulk_update_ads_bid_by_inventory_reference and ebay_bulk_update_ads_status_by_listing_id. It precisely conveys what the tool does.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios that favor this tool over the many related bulk update/delete tools. The phrase 'through the eBay Marketing API' is context but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_ads_statusC
Bulk update ads status through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update ads status request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations provide readOnlyHint=false, indicating a write operation, and the description consistently says 'update'. However, it adds no further behavioral detail such as required permissions, side effects on existing data, rate limits, or response characteristics.
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, concise sentence with no unnecessary words. It is front-loaded with the key action and resource, though it is brief to the point of being vague on details.
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?
Given the nested request object and no output schema, the description is minimal. It does not explain valid adStatus values, the structure of the request array, or how this tool differs from similar bulk update tools. The lack of context makes it incomplete for correct invocation.
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 100% as both campaignId and request have descriptions. The tool description adds no additional parameter meaning beyond the schema, so it meets the baseline of 3.
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 the verb 'update' and the resource 'ads status' and mentions the eBay Marketing API. It is clear what the tool does, but it does not distinguish from the sibling tool 'ebay_bulk_update_ads_status_by_listing_id' which appears nearly identical, so it lacks differentiation.
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 gives no guidance on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or exclusions, leaving the agent to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_ads_status_by_listing_idC
Bulk update ads status by listing id through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update ads status by listing id request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the description carries the burden of behavioral disclosure. It doesn't mention potential side effects (e.g., whether ads are deactivated or reactivated), required permissions, rate limits, or failure behavior. The description adds no behavioral context beyond the fact that it updates status.
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 sentence with no wasted words, so it is concise. However, it is under-specified for a tool with a nested request structure, omitting important operational details. Conciseness itself is fine, but the balance between brevity and completeness is poor.
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 bulk operation with a nested array of updates, the description is incomplete. It lacks details on the format of adStatus, whether the operation is atomic, what the response contains, and error handling. No output schema exists, so the description should clarify expected outcomes, but it does not.
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?
The schema provides descriptions for both parameters, but they are tautological ('campaignId required endpoint parameter' and 'Bulk update ads status by listing id request body'). The nested request object's adStatus and listingId fields lack any semantic detail, such as allowed values for adStatus or the format of listingId. The description does not compensate for these gaps.
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 clearly states the verb ('update'), resource ('ads'), and scope ('by listing id'), which is specific enough to distinguish it from many siblings. It names the operation and the identifier type, though it doesn't explicitly contrast with ebay_bulk_update_ads_status or by inventory reference.
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?
No guidance on when to use this tool versus alternatives like ebay_bulk_update_ads_status or ebay_bulk_update_ads_bid_by_listing_id. The description implies you should use it when you have listing IDs, but it doesn't say so explicitly or mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_conversationA
Bulk update multiple conversations. Each entry sets conversationStatus (ACTIVE, ARCHIVE, DELETE, READ, UNREAD) for a conversationId.
| Name | Required | Description | Default |
|---|---|---|---|
| conversations | No | Array of conversations to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states that status is set for each conversationId but omits important details like whether the operation is atomic, how partial failures are handled, what the response looks like, or if other fields are affected.
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?
Two concise sentences with no wasted words. Essential information is front-loaded: the purpose and the status options.
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 bulk update tool with no output schema and no annotations, the description lacks completeness on error handling, response format, and behavior. While the core function is clear, critical operational context is missing.
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 coverage is 100% with nested parameter descriptions. The description adds minor clarity (e.g., each entry sets status) but largely duplicates schema information. No additional semantics beyond what the schema provides.
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 clearly states 'Bulk update multiple conversations' with specific verb and resource. It lists the possible statuses (ACTIVE, ARCHIVE, DELETE, READ, UNREAD) and distinguishes from the sibling single-update tool 'ebay_update_conversation' by its bulk nature.
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 use for bulk updates but does not explicitly state when to use this over alternatives like 'ebay_update_conversation'. No guidance on when not to use or prerequisites is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_keywordC
Bulk update keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update keyword request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, which aligns with the mutating nature of 'update' but adds little. The description does not disclose whether the update replaces the entire keyword object, whether bid and keywordStatus are independently updatable, whether partial failures occur, or what the response contains.
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, front-loaded sentence with no filler or repeated structured data. It is concise, though 'through the eBay Marketing API' is somewhat redundant given the tool name and adds little value.
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 mutating tool with no output schema and sparse annotations, this description is incomplete. It does not explain what campaignId/request mean behaviorally, what keywordStatus values are valid, whether campaign state matters, or when to prefer this over ebay_update_keyword. The schema alone provides only minimal context.
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 100%, so the parameter names and top-level descriptions already carry most of the load. The tool description adds no additional parameter information, and nested fields like keywordStatus, bid.value, and bid.currency lack explanatory detail, but the schema baseline of 3 is appropriate.
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 concrete action ('bulk update') and a specific resource ('keyword'), so an agent can tell it performs bulk keyword modification. However, it does not explicitly distinguish itself from close siblings like ebay_update_keyword or ebay_bulk_create_keyword, and it omits which keyword attributes can be updated.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_update_keyword for a single keyword or ebay_bulk_create_keyword for creation. The word 'bulk' implies multiple updates, but the description never states this selection criterion or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_negative_keywordC
Bulk update negative keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Bulk update negative keyword request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint: false, which signals this is a write operation. The description adds no behavioral context beyond that: no mention of idempotency, partial failure behavior, rate limits, required auth scopes, or what happens to existing negative keywords. For a mutation tool with minimal annotation coverage, the description carries the burden and doesn't disclose anything beyond the basic action.
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 sentence, concise and front-loaded with the action. It wastes no words, though it could add a bit more context without becoming verbose. It's appropriately sized for a simple tool.
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?
The tool has a nested request object with two fields, no output schema, and minimal annotations. The description doesn't explain what negativeKeywordStatus values are valid, whether the update is partial or full replacement, or what the response contains. Given the complexity of a bulk operation with nested objects, the description is too thin to fully guide an agent.
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 100% (the 'request' property has a description 'Bulk update negative keyword request body'), so the schema already documents the top-level parameter. The description adds no meaning beyond the schema, and the nested properties (negativeKeywordId, negativeKeywordStatus) are not explained in either the schema or the description. Baseline 3 is appropriate since the schema covers the parameter name but not the nested semantics.
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 verb ('Bulk update') and resource ('negative keyword') via the eBay Marketing API. It clearly identifies the operation and resource, and the 'bulk' qualifier distinguishes it from the sibling ebay_update_negative_keyword. However, it doesn't elaborate on what fields can be updated or the effect, so it's clear but not maximally informative.
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?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes ebay_update_negative_keyword, ebay_bulk_create_negative_keyword, and ebay_create_negative_keyword, but the description doesn't mention them or specify conditions for choosing this bulk update over the single update. The 'Bulk' prefix implies usage for multiple items, but that's left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_bulk_update_price_quantityC
Bulk update price and quantity for multiple offers
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated BulkPriceQuantity request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavior. It only hints at updating price/quantity but omits critical details like authentication requirements, data limits, or error handling.
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 sentence, efficient and front-loaded. However, it could be more informative without sacrificing conciseness.
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?
Given the tool's single complex parameter (request body) and lack of annotations or output schema, the description is insufficient. It does not explain the 'bulk' aspect or input format.
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?
The description adds no meaning beyond the schema's vague 'Generated BulkPriceQuantity request body'. It does not explain the structure or contents of the 'body' parameter.
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 clearly states the action ('Bulk update') and the resource ('price and quantity for multiple offers'), distinguishing it from sibling tools like ebay_update_offer (individual) or ebay_bulk_create_offer (create).
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 provides no guidance on when to use this tool versus alternatives like individual updates or when prerequisites are needed. It only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_cancel_bundleC
Cancel a bundle by ID
| Name | Required | Description | Default |
|---|---|---|---|
| bundleId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a mutation (cancel) but does not disclose behavioral traits like side effects, authorization requirements, or irreversibility. No annotations exist to compensate, so the description carries the full burden and falls short.
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, concise sentence that front-loads the action and key input. It is appropriately short, but could include more details without being verbose.
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 cancellation tool with one parameter and no output schema, the description should mention prerequisites, expected effects, and return behavior. It does not, leaving significant gaps for an AI agent to safely use the tool.
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?
With 0% schema description coverage, the description must add meaning to the single parameter 'bundleId'. It merely restates 'by ID', adding no semantic value. The parameter type and format remain unclear.
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 'Cancel a bundle by ID' clearly states the action (cancel) and resource (bundle). It distinguishes from sibling tools like ebay_cancel_package by specifying 'bundle' rather than 'package', but could be clearer about what 'bundle' means in context (e.g., shipping bundle or order bundle).
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?
No guidance is provided on when to use this tool versus alternatives like ebay_bulk_cancel_packages or when cancellation is appropriate. The description lacks prerequisites, such as whether the bundle must be in a cancellable state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_cancel_packageC
Cancel a package by ID
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose side effects, permissions, or state changes. It only says 'Cancel', leaving behavioral traits entirely ambiguous.
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 one concise sentence with no filler. It is appropriately short for a simple operation, though it could include more detail without losing conciseness.
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?
Given the complexity of eBay package operations and numerous sibling tools, this description is too minimal. It lacks information about return values, success criteria, or effects on related entities.
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?
The single parameter 'packageId' has no description in the schema (0% coverage). The tool description adds no meaning beyond the parameter name, failing to explain what the ID refers to.
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 clearly states the verb 'Cancel' and the resource 'package', making the action obvious. However, it does not differentiate from similar tools like ebay_delete_package or ebay_clone_package.
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?
No guidance on when to use this tool versus alternatives (e.g., ebay_delete_package, ebay_bulk_cancel_packages). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_cancel_shipmentADestructive
Cancel a shipment and delete its shipping label; eBay refunds the totalShippingCost to the billing agreement (Logistics API cancelShipment). Fails once the label has been used. Returns the shipment with its cancellation status. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| shipmentId | Yes | Shipment ID returned by ebay_create_shipment_from_shipping_quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructive/readOnly annotations, the description discloses the refund side effect (totalShippingCost to billing agreement), label deletion, the failure condition once the label is used, the return content, and the special OAuth scope requirement. This is rich behavioral context that an agent cannot infer from structured fields alone.
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?
Front-loads the core action and its effects before the operational/eligibility boilerplate, so the essential meaning lands first. The trailing scope and re-consent details are somewhat verbose but genuinely relevant for a limited-release API.
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?
Covers action, side effects, failure condition, return value, and auth/eligibility constraints, which is everything an agent needs for a single-parameter destructive tool with no output schema. Nothing material is left unexplained.
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 100% and the sole parameter (shipmentId) is fully documented in the schema. The description adds no further syntax or format detail beyond what the schema already provides, so the baseline of 3 applies.
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?
States a specific verb and resource ('Cancel a shipment and delete its shipping label') and names the underlying API operation (Logistics API cancelShipment). The scope is clearly shipment-level, distinguishing it in spirit from package-level siblings like ebay_cancel_package, though it never explicitly contrasts with them.
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?
Provides one useful precondition ('Fails once the label has been used') and the eligibility restriction (limited release), which implies when the tool is usable. However, it gives no explicit guidance on when to choose this over alternatives like ebay_cancel_package or ebay_bulk_cancel_packages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_clear_tokensA
Clear all stored OAuth tokens (both user tokens and client credentials). This will require re-authentication for subsequent API calls.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the main behavioral impact: clearing tokens and requiring re-authentication. Since no annotations are provided, the description carries the full burden, and it adequately explains the destructive nature without contradictions.
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?
Two concise sentences, no wasted words. The most important information is front-loaded, and every word contributes to understanding.
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?
Given the simplicity (no parameters, no output schema), the description covers the essential effect and outcome. It could mention if any permissions are required, but for a clear operation, it is adequately complete.
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?
With zero parameters, the baseline is 4. The description adds meaning beyond the empty schema by explaining what tokens are cleared and the consequence, which is sufficient.
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 clearly states the specific action ('Clear all stored OAuth tokens') and includes both user tokens and client credentials, distinguishing it from other sibling tools like ebay_set_user_tokens or ebay_get_token_status.
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?
No guidance is provided on when to use this tool versus alternatives. Sibling tools like ebay_set_user_tokens or ebay_refresh_access_token exist, but the description does not explain scenarios that would favor one over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_clone_campaignC
Clone campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Clone campaign request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only communicate readOnlyHint=false, so the description carries the burden of disclosing behavioral traits. It does not explain that cloning likely creates a new campaign, what gets copied, whether the clone is immediately active, or what the outcome is. The phrase 'through the eBay Marketing API' adds no behavioral transparency.
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, front-loaded sentence with no filler words. It is appropriately short, though it sacrifices useful context for brevity.
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?
Given the nested request object, sparse annotations, and no output schema, the one-line description is incomplete. It does not explain the cloning semantics, what the response contains, or any constraints on campaignId and request fields, leaving an agent to rely on schema names and assumptions.
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 coverage is 100%, so the baseline is 3 even though the description itself adds no parameter semantics. The schema descriptions are tautological ('campaignId required endpoint parameter', 'Clone campaign request body') and do not clarify what values should be provided, but the high coverage prevents a lower score.
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 verb and resource: 'Clone campaign through the eBay Marketing API.' This is a clear operation and is distinct in intent from nearby campaign tools like create_campaign or update_campaign_identification. However, it does not explicitly differentiate itself from other campaign-related siblings.
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 gives no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The only usage signal is inferred from the verb 'clone,' which is not enough for an agent to distinguish it from similarly named or related campaign mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_clone_packageC
Clone a package to create a duplicate
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as what fields are duplicated, whether the operation is destructive or reversible, or any side effects. The phrase 'create a duplicate' is vague without additional context.
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 extremely short (6 words) but lacks necessary detail. Conciseness should not sacrifice clarity; here it is under-specified and fails to provide value beyond a tautology of the tool name.
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?
With many related package tools and no output schema, the description fails to explain what a 'package' is in this context, what the result looks like, or how it differs from other operations. It is not complete enough for effective tool selection.
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 coverage is 0% and the description provides no explanation for the 'packageId' parameter. The agent has no way to know what value to provide or how it identifies the package to clone.
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 uses a specific verb 'clone' and resource 'package', clearly indicating it creates a duplicate. It distinguishes from sibling tools like 'create_package' or 'get_package' by using 'clone' rather than 'create', though it does not elaborate on what 'clone' entails.
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?
No guidance on when to use this tool vs alternatives like 'create_package' or 'get_package'. The description does not specify context, prerequisites, or exclusions, making it difficult for an agent to decide appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_confirm_packageC
Confirm a package for shipping
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral traits like state changes, irreversibility, or required permissions. 'Confirm' implies a mutation, but effects are unexplained.
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?
Extremely short (5 words) but under-specified. Lacks essential details, making it insufficient rather than concise.
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?
Tool has one parameter, no output schema, and no annotations. Description is too minimal to be complete—missing side effects, return values, and prerequisites.
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?
Single parameter 'packageId' has 0% schema description coverage, and the description does not clarify its meaning, format, or how to obtain it.
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?
Description clearly states 'Confirm a package for shipping', giving a specific verb and resource. However, it does not differentiate from sibling tools like 'ebay_bulk_confirm_packages' or 'ebay_create_package'.
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?
No guidance on when to use this tool vs alternatives, such as prerequisites (package must exist, state requirements) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_contest_payment_disputeA
Contest a payment dispute by providing evidence. Use this when you disagree with the buyer claim and want to provide proof.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Generated contestPaymentDispute request body | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the burden. It specifies OAuth scopes required, which is helpful. However, it does not disclose behavioral traits such as whether the action is synchronous, side effects, or expected response. Partial coverage.
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 concise with two sentences plus OAuth scope. It is well-structured and front-loaded with purpose. No wasted words.
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 action with 2 parameters and no output schema, the description covers the essential 'when' and OAuth. However, it lacks details on what happens after contesting, expected response, or prerequisites beyond OAuth. Slightly incomplete.
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 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions. It does not elaborate on how to use parameters effectively (e.g., how to obtain revision number).
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 clearly states the action ('Contest a payment dispute by providing evidence') and when to use it ('when you disagree with the buyer claim'). It distinguishes from sibling tools like ebay_accept_payment_dispute and ebay_get_payment_dispute.
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 provides explicit guidance on when to use ('when you disagree with the buyer claim and want to provide proof'). It implies when not to use (if agreeing, use accept_payment_dispute). However, it lacks explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_convert_date_to_timestampA
Convert a date string or number to Unix timestamp (milliseconds). Supports ISO 8601 dates, Unix timestamps (seconds or milliseconds), and relative time (e.g., "in 2 hours", "in 7200 seconds"). Useful when setting token expiry times from user input.
| Name | Required | Description | Default |
|---|---|---|---|
| dateInput | Yes | Date to convert as an ISO date string, Unix timestamp, or relative time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations were provided, so the description carries full burden. It discloses supported input formats and output type (Unix timestamp in milliseconds), but omits error handling, timezone handling, or edge cases. For a simple conversion tool, this is acceptable but slightly incomplete.
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?
Two concise sentences with no wasted words. The description is front-loaded with the core purpose and quickly provides additional context.
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?
Given the tool's simplicity (single parameter, no output schema), the description covers the essential aspects: purpose, supported input formats, and use case. It could mention that the return value is a number, but that is implied by 'Unix timestamp (milliseconds)'.
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?
The only parameter 'dateInput' is fully described in the schema with 100% coverage. The description adds no additional meaning beyond the schema's description. Baseline score of 3 is appropriate.
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 clearly states 'Convert a date string or number to Unix timestamp (milliseconds)' with specific supported formats (ISO 8601, Unix timestamps, relative time). This sharply distinguishes it from all sibling tools, which are eBay operations unrelated to date conversion.
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 explicitly mentions 'Useful when setting token expiry times from user input', providing clear context for when to use this tool. While it doesn't list alternatives or when not to use it, the sibling tools are all eBay-specific, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_ad_by_listing_idB
Create ad by listing id through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create ad by listing id request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, which signals mutation but nothing else. The description does not disclose whether this creates a new ad, overwrites an existing ad, requires a campaign to be active, or what happens on duplicate listing IDs. It also does not mention any prerequisites like an opted-in program or existing ad group. For a mutation tool with minimal annotation coverage, the description carries the burden and does not meet it.
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 sentence with no filler. It front-loads the action and resource. It could add a bit more context about prerequisites or behavior without becoming bloated, but as written it is efficient.
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 mutation tool with no output schema and minimal annotations, the description is too thin. It does not explain the expected effect, prerequisites (e.g., campaign/ad group existence, eligibility), or how it differs from the many sibling ad-creation tools. An agent would need to inspect the schema and possibly the API docs to call it correctly.
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 100%, so the schema already documents campaignId and the request body. The description adds no parameter-level meaning beyond the schema, but the baseline of 3 applies because the schema does the heavy lifting. The nested request object's fields (adGroupId, listingId, bidPercentage) are self-descriptive in name but lack format details such as whether bidPercentage is a string percentage or decimal.
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 verb ('Create') and resource ('ad by listing id') and names the API ('eBay Marketing API'). It is clear enough to distinguish from bulk variants like ebay_bulk_create_ads_by_listing_id and from ebay_create_ads_by_inventory_reference, though it does not explicitly name those siblings.
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 is the single-ad creation path by listing ID, and the sibling list shows bulk alternatives, but it does not explicitly state when to use this tool versus ebay_bulk_create_ads_by_listing_id or ebay_create_ads_by_inventory_reference. An agent can infer the usage context from the name and schema, 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.
ebay_create_address_preferenceC
Create an address preference for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Create', implying mutation, but does not disclose required permissions, side effects, idempotency, or expected behavior. This is insufficient for safe invocation.
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 very concise (one sentence), which is good for readability, but it lacks essential details. It is front-loaded with the purpose, but the brevity comes at the cost of completeness.
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?
Given the lack of annotations, output schema, and parameter details, the description is far from complete. An agent cannot infer the required body structure, response format, or potential errors, making successful invocation unlikely.
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?
The input schema has a single parameter 'body' with no defined properties (additionalProperties: true) and 0% schema coverage. The description does not add any information about the structure or required fields of the body, leaving the agent without guidance.
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 clearly states the verb 'Create' and the resource 'address preference', and specifies the scope 'for international shipping'. It distinguishes from siblings like 'get_address_preferences' by indicating a write operation. However, the term 'address preference' is not further explained, which may cause ambiguity.
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?
No guidance is provided on when to use this tool versus alternatives such as 'ebay_get_address_preferences' or other creation tools. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_ad_groupC
Create ad group through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create ad group request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint=false, so the description carries the burden of behavioral disclosure. It states the operation is a creation, but does not mention whether the campaign must already exist, whether the operation is idempotent, what side effects occur, or what the response contains. No behavioral details beyond the bare "Create" are provided.
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 sentence with no filler or redundant phrases. It is efficiently front-loaded, though the phrase "through the eBay Marketing API" adds little value beyond what the tool name already implies.
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?
The tool is relatively simple with only two parameters and full schema coverage, but there is no output schema and the description does not mention return values, prerequisites, or the fact that the ad group is created within the campaign identified by campaignId. It is minimally viable but leaves the agent to infer campaign-level behavior.
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 100%: campaignId and request both have descriptions, and the request schema marks name as required and documents defaultBid. The description itself adds no parameter semantics, but the schema already covers the inputs, so the baseline 3 applies.
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 uses a specific verb and resource: "Create ad group", which clearly distinguishes it from sibling tools like ebay_get_ad_group, ebay_update_ad_group, and ebay_delete_campaign. It does not, however, explain what an ad group is or its relationship to a campaign, so the purpose is clear but thin.
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 gives no guidance on when to use this tool versus alternatives, no prerequisites, and no context such as "use this to add an ad group to an existing campaign." The verb "Create" implies usage only by default, but no explicit or implicit context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_ads_by_inventory_referenceB
Create ads by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create ads by inventory reference request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, which signals a write operation. The description adds no behavioral context beyond that: no mention of side effects, required permissions, rate limits, or what happens to existing ads. For a mutation tool, this is a significant gap.
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, efficient sentence that conveys the core action and resource. It's appropriately sized, though it could be more informative without becoming verbose.
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 mutation tool with no output schema and minimal annotations, the description is thin. It doesn't explain the request body structure, the meaning of bidPercentage, or how this differs from the bulk variant. An agent would need to open the schema and infer a lot.
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 100%, so the schema already documents both parameters. The description adds no additional meaning beyond what the schema provides, so the baseline 3 is appropriate.
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 verb ('Create') and resource ('ads by inventory reference') through the eBay Marketing API. It clearly distinguishes from sibling tools like ebay_create_ad_by_listing_id and ebay_bulk_create_ads_by_inventory_reference, though it doesn't explicitly name them.
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 usage context by naming the API and the resource type, but it doesn't explicitly state when to use this tool versus alternatives like ebay_bulk_create_ads_by_inventory_reference or ebay_create_ad_by_listing_id. An agent would need to infer the distinction from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_bundleC
Create a bundle of packages for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the purpose but fails to disclose behavioral traits like what the bundle consists of, required permissions, side effects (e.g., packages are grouped), or how the output is used later. This is insufficient for a tool that creates a composite entity.
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 sentence, but it sacrifices informativeness for brevity. It omits crucial details about parameters and behavior, making it under-specified rather than concise.
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?
Given the complexity (1 parameter with unknown structure, no output schema, no annotations), the description is severely incomplete. An agent cannot confidently use this tool without more information about the request body format and expected outcome.
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?
The input schema has one parameter 'body' with no defined properties (additionalProperties: true) and 0% schema description coverage. The description does not elaborate on what the body should contain (e.g., list of package IDs, shipping details), leaving the agent completely in the dark about how to construct the request.
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 'Create a bundle of packages for international shipping', which clearly identifies the verb (create), resource (bundle of packages), and context (international shipping). It distinguishes this tool from related siblings like ebay_create_package (creates a single package) and ebay_get_bundle (retrieves a bundle).
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 provides no guidance on when to use this tool versus alternatives like ebay_create_package or when not to use it. There is no mention of prerequisites, such as needing to create packages first, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_calculated_shipping_rulesA
Create calculated combined-shipping rules for listings that use calculated shipping (Account API v2 createCalculatedShippingRules): shippingRules.calculatedShippingRule (weight/item/cost-based discounts), calculatedHandlingRule, and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdateCalculatedShippingRulesRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description carries the rest of the load and does so well: it discloses the sell.account authorization requirement, that marketplaceId is transmitted as the X-EBAY-C-MARKETPLACE-ID header, and that a successful call yields 204 No Content with no body. It omits any error/failure behavior or rate-limit context.
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?
One dense but front-loaded paragraph that opens with the action and proceeds to body composition, auth, and verification. Every sentence earns its place, though the parenthetical API reference and enum-heavy phrasing make it slightly harder to scan than it could be.
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 mutation tool with no output schema and a deeply nested request body, the description covers what to send, which permission is needed, how the marketplace is transmitted, what a success response looks like, and how to verify the result. Nothing essential to correct invocation is missing.
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 coverage is already 100%, so the baseline would be 3, but the description meaningfully adds to it: it decomposes the shippingRules object into calculatedShippingRule (weight/item/cost-based discounts), calculatedHandlingRule, and combinedDuration, and explains the header mapping for marketplaceId. This goes beyond what the schema alone conveys.
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?
States a specific verb and resource ('Create calculated combined-shipping rules') and scopes it to listings that use calculated shipping, which distinguishes it from the sibling ebay_create_flat_shipping_rules and ebay_create_promotional_shipping_rule. An agent can pick this tool without opening the schema.
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?
Gives clear context: it applies to listings using calculated shipping, requires the sell.account scope, and points to ebay_get_combined_shipping_rules as the confirmation step. It does not explicitly contrast with ebay_update_calculated_shipping_rules or state exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_campaignC
Create campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create campaign request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include only readOnlyHint: false, and the description merely restates the create action without adding behavioral context. It does not disclose idempotency, required prior setup (such as having a seller account or opted-in program), the outcome of a successful creation, or potential side effects. The description adds no transparency beyond what the annotation already implies.
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 sentence, but it is under-specified and mostly restates the tool name. 'Create campaign through the eBay Marketing API' adds only marginal context (the API family) and fails to structure important details such as required fields, campaign types, or links to additional workflows. This is under-specification, not efficient conciseness.
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?
The tool has a complex nested schema (budget, fundingStrategy, campaignCriterion, etc.) and a large sibling context, yet the description provides no awareness of these fields, required elements, or operational constraints. Without an output schema and with only a single generic sentence, an agent cannot determine what constitutes a valid campaign creation request or how to handle edge cases. The context is incomplete for a complex mutation operation.
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 100% at the top-level request parameter, which has a brief description ('Create campaign request body'). However, nested fields like campaignName, marketplaceId, and startDate have no descriptions. The tool description provides no additional parameter semantics, so it does not compensate for the inner fields, but the baseline of 3 applies due to high schema coverage.
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?
Description states a specific verb ('Create') and resource ('campaign'), so an agent knows the basic operation. However, it does not differentiate from sibling tools like ebay_setup_quick_campaign, ebay_clone_campaign, or ebay_launch_campaign, which also relate to campaign creation. It is clear at the verb+resource level but lacks sibling differentiation.
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?
There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., opting into the advertising program), campaign types, or conditions under which the agent should choose this over ebay_setup_quick_campaign or ebay_clone_campaign. No when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_complaintC
Create a complaint for international shipping issues
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided and description does not disclose behavioral traits like authentication needs, side effects, or whether the tool is read-only or destructive. The mere mention of 'create' implies mutation but lacks context.
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 extremely brief (one short sentence), but this brevity sacrifices necessary information. It is not front-loaded with key details beyond the basic purpose.
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?
Given the complexity (no output schema, one parameter with no structure, no annotations), the description is woefully inadequate, lacking return value, error handling, or parameter guidance.
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% and the description provides no details about the 'body' parameter structure or required fields. The parameter is a black box.
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 clearly states the verb (create), resource (complaint), and context (international shipping). It distinguishes from sibling tools as no other complaint creation tool is present.
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?
No guidance on when to use this tool versus alternatives. No mention of prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_consign_preferenceC
Create a consign preference for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only says 'Create' which implies mutation, but provides no details on idempotency, overwrite behavior, side effects, or required permissions. This is a significant gap for a creation 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 sentence, which is concise but lacks structure. It could benefit from additional sentences or bullet points to cover parameter details and behavioral context while remaining concise. Currently, it under-specifies.
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?
Given the complexity of a creation tool with a freeform body and no output schema or annotations, the description is severely incomplete. It does not explain return values, error conditions, prerequisites, or how to interact with related tools like ebay_get_consign_preferences. The agent cannot reliably use this tool based solely on this description.
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?
The input schema has one parameter 'body' which is a freeform object with no defined properties (schema description coverage 0%). The description adds no meaning about what fields the body should contain, how to structure it, or any constraints. This leaves the agent completely uninformed about how to populate the parameter.
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 clearly states the action ('Create') and the resource ('consign preference for international shipping'). It is specific enough to distinguish from siblings like ebay_get_consign_preferences. However, it does not explain what a consign preference is, which would be helpful for complete clarity.
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?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or conditions. The agent is left to infer context from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_customer_service_metric_taskA
Create an asynchronous Feed API customer service metrics report task: feedType CUSTOMER_SERVICE_METRICS_REPORT, schemaVersion 1.0, filterCriteria with customerServiceMetricType (ITEM_NOT_AS_DESCRIBED or ITEM_NOT_RECEIVED) and evaluationMarketplaceId, optionally listingCategories or shippingRegions. Only CURRENT evaluations are supported; check ebay_get_customer_service_metric first to avoid tasks with no evaluation. acceptLanguage (eBay-required Accept-Language) defaults to EBAY_CONTENT_LANGUAGE. eBay answers 202; returns taskId and Location. Poll ebay_get_customer_service_metric_task, then download with ebay_get_feed_task_result_file. Requires sell.analytics.readonly.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | CreateServiceMetricsTaskRequest body | |
| acceptLanguage | No | Accept-Language header, e.g. en-US; defaults to EBAY_CONTENT_LANGUAGE (en-US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false in annotations, the description carries the full behavioral burden and does so effectively: it discloses asynchronous execution, the 202 response, returned taskId and Location, the sell.analytics.readonly scope, and the CURRENT-evaluation limitation. It does not contradict the annotations.
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 front-loaded with the core purpose, then efficiently layers prerequisites, response behavior, and follow-up steps. It is dense and slightly run-on, but nearly every clause earns its place given the nested schema and multi-step workflow.
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 complex asynchronous task-creation tool with no output schema, the description supplies all needed context: required parameters, evaluation constraint, authentication scope, response details, and the polling/download continuation path. An agent has enough information to invoke and follow through correctly.
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 100%, so the schema already documents all parameters in detail. The description largely restates those parameter rules (feedType, schemaVersion, filterCriteria values, acceptLanguage default) without adding meaningful semantics beyond what the schema provides, making the baseline of 3 appropriate.
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 uses a specific verb (Create) and names the exact resource (an asynchronous Feed API customer service metrics report task), including the required feedType. This clearly distinguishes it from generic sibling tools like ebay_create_feed_task and the read-side ebay_get_customer_service_metric_task.
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?
It explicitly says to check ebay_get_customer_service_metric first to avoid tasks with no evaluation, and then describes the follow-up workflow: poll ebay_get_customer_service_metric_task and download with ebay_get_feed_task_result_file. This gives clear when-to-use and sequencing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_custom_policyC
Create a new custom policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=false annotation already flags this as a mutating operation, and the description says 'Create' consistently. However, the description adds no extra behavioral context, such as whether a policy ID is returned, whether creation can overwrite an existing policy, or what validation or failure behavior to expect.
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, clean sentence with no filler and the action front-loaded. It is concise, though slightly under-specified in content.
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 tool with a nested required object, no output schema, and no parameter descriptions, this description is too thin. It does not explain what a valid custom policy requires, what constitutes a policy type, or what the agent should expect after calling it.
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?
The schema has 0% description coverage, and the description does not mention the required 'policy' object or its required 'name' and 'policyType' fields. The agent is left to infer meaning from field names alone, with no guidance on allowed or expected values for 'policyType'.
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 clear verb and resource: 'Create' a 'custom policy'. It does not differentiate custom policies from the many sibling policy-creation tools (e.g., create_fulfillment_policy, create_payment_policy), but the core purpose is unambiguous.
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?
There is no guidance about when to use this tool, what prerequisites exist, or which sibling tools to prefer. The agent is not told how this relates to ebay_get_custom_policy, ebay_update_custom_policy, or the other create_*_policy tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_documentA
Stage a listing document with documentType and languages. Returns documentId for ebay_upload_document. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| languages | Yes | eBay LanguageEnum values, e.g. ENGLISH | |
| documentType | Yes | eBay DocumentTypeEnum, e.g. USER_GUIDE_OR_MANUAL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description doesn't need to restate those. The description adds useful context: it's a staging operation (not a final upload), requires sell.inventory, and returns a documentId for a subsequent call. However, it doesn't disclose what happens to previously staged documents, whether this creates a persistent resource, or any rate limits. With annotations covering the basic safety profile, a 3 is appropriate.
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?
Two sentences with no filler. The core action, key parameters, return value, downstream tool, and required permission are all packed efficiently. Front-loaded with the verb and resource.
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 2-parameter tool with 100% schema coverage and no output schema, the description is nearly complete. It explains the staging purpose, the return value, the downstream step, and the permission requirement. The only minor gap is not describing the response format or any side effects, but the description is sufficient for an agent to call it correctly.
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 100%, so the schema already documents both parameters with examples (ENGLISH, USER_GUIDE_OR_MANUAL). The description adds the relationship between the parameters and the staging purpose, but doesn't add meaning beyond what the schema provides. Baseline 3 is correct.
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 verb ('Stage') and resource ('a listing document'), and names the two key parameters (documentType, languages). It also mentions the return value (documentId) and the downstream sibling (ebay_upload_document), which helps distinguish it from the many other ebay_* tools. However, it doesn't explicitly contrast with the closely related ebay_create_document_from_url, so it's not a full 5.
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 the usage context: this is the first step in a two-step document upload flow, and the returned documentId is meant for ebay_upload_document. It also states the required permission (sell.inventory). It doesn't explicitly say when NOT to use it or name alternatives like ebay_create_document_from_url, but the staging-then-uploading flow is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_document_from_urlA
Create a listing document from an HTTPS URL: PDF, JPEG/JPG or PNG up to 10 MiB. Check ebay_get_document for ACCEPTED before attaching it to a listing. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| languages | Yes | eBay LanguageEnum values, e.g. ENGLISH | |
| documentUrl | Yes | ||
| documentType | Yes | eBay DocumentTypeEnum, e.g. USER_GUIDE_OR_MANUAL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show it is a mutating but non-destructive call; the description adds the sell.inventory OAuth scope, 10 MiB size cap, and the acceptance-check workflow. No contradiction. It does not describe response or failure modes, but the valuable context goes beyond structured annotations.
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?
Two compact sentences front-load the core action and constraints, then give the required follow-up. No filler.
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?
Covers the operation, formats/size, required scope, and next step via ebay_get_document, which is enough to invoke it correctly. The only notable omission is the exact return shape/document ID, but the get_document handoff partially compensates for the missing output schema.
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 already describes languages and documentType with examples; the description adds important semantics for documentUrl by declaring accepted remote file types and size, which the schema does not cover. It doesn't enumerate valid enum values, but the examples plus URL constraint provide a workable baseline.
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 names a concrete operation (create), a resource (listing document), and a distinctive input source (HTTPS URL). It also enumerates accepted formats and size, making it easy to distinguish from sibling create/upload tools.
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?
Provides clear context: use when you have a supported URL and need a document for a listing, and explicitly prescribes checking ebay_get_document for ACCEPTED before attaching. It stops short of naming the preferred alternative (e.g., ebay_create_document) or saying when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_email_campaignB
Create email campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create email campaign request body | |
| marketplaceId | Yes | Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only annotation is readOnlyHint: false, which is consistent with a create operation. The description adds no behavioral detail beyond the act of creating – no mention of side effects, required permissions, or rate limits. It adds minimal value over the annotation.
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 one sentence, eight words, and front-loaded with the action. No wasted words, though it sacrifices useful context for brevity.
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 tool with a nested request object and no output schema, the description is insufficient. An agent cannot know what fields like itemIds, audiences, scheduleDateType mean, or what the API returns. The schema shows required fields but the description contributes no guidance.
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 100% for the two top-level parameters. The description does not explain how to populate the nested request object or clarify that marketplaceId appears both at top level and inside request. It relies entirely on the schema, which only gives a generic 'Create email campaign request body'.
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?
States a specific verb ('Create') and resource ('email campaign'), and clarifies it uses the eBay Marketing API. This distinguishes it from sibling tools like ebay_create_campaign (regular ad campaigns) and from ebay_update_email_campaign/ebay_get_email_campaign.
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 provides no guidance on when to use this tool versus alternatives. It does not mention that for standard promotions or other campaign types other tools should be used, nor does it note prerequisites like having an audience already defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_feed_scheduleA
Create a recurring Feed API report schedule that subscribes to an ACTIVE schedule template: feedType and scheduleTemplateId, plus scheduleName, preferredTriggerHour/DayOfWeek/DayOfMonth, scheduleStartDate/EndDate and schemaVersion as the template requires (read it with ebay_get_feed_schedule_template). eBay answers 201; returns scheduleId and Location. Schedules per feed type are limited (error 160031). Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule | Yes | CreateUserScheduleRequest body; include every field the template requires |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false in annotations, the description carries strong extra context: the 201 success response, that scheduleId and Location are returned, the per-feed-type schedule quota (error 160031), the required sell.fulfillment scope, and the LMS_ORDER_REPORT constraint. This is exactly the load-bearing detail annotations do not provide.
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?
Front-loaded with the core purpose and generally dense with facts, each clause earning its place (template dependency, response, quota, scope, feed-type limit). It is a single long run-on sentence, which slightly impairs scanning, but no throwaway content.
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 mutation tool with no output schema, it covers prerequisites, request composition, response codes, returned identifiers, quota limits with the error code, and required auth scope. Nothing material an agent needs to call it correctly is missing.
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 100%, so the baseline is 3. The description adds meaning by enumerating the key fields and, more importantly, tying them to the template (schemaVersion and trigger fields are conditional 'as the template requires'), which helps the agent understand their interdependency beyond the per-field schema text.
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?
States a specific verb (Create) and resource (recurring Feed API report schedule), and the 'subscribes to an ACTIVE schedule template' framing cleanly separates it from the get/update/delete_feed_schedule siblings. An agent can identify the operation without opening the schema.
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?
Clearly specifies the prerequisite: the schedule must subscribe to an ACTIVE template, and it routes the agent to ebay_get_feed_schedule_template to read it. It also restricts the applicable feed type (LMS_ORDER_REPORT). It does not explicitly contrast with a one-time alternative like create_feed_task, so it stops just short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_feed_taskA
Create a Feed API upload or download task without filter criteria (feedType and schemaVersion), e.g. an LMS listing upload (LMS_ADD_FIXED_PRICE_ITEM), LMS_ORDER_ACK or a Seller Hub feed. eBay answers 202; returns taskId and Location. For upload feed types send the file with ebay_upload_feed_task_file, then poll ebay_get_feed_task. Optional marketplaceId and acceptLanguage set X-EBAY-C-MARKETPLACE-ID and Accept-Language (fr-CA with EBAY_CA, fr-BE with EBAY_BE). The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | CreateTaskRequest body | |
| marketplaceId | No | X-EBAY-C-MARKETPLACE-ID for the task, e.g. EBAY_US; defaults to EBAY_MARKETPLACE_ID | |
| acceptLanguage | No | Accept-Language, e.g. fr-CA with EBAY_CA or fr-BE with EBAY_BE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false as an annotation, the description carries the behavioral burden well. It discloses that eBay answers 202, that the response includes taskId and Location, the OAuth scope dependency, optional header behavior, and reserved feed types.
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 dense and front-loaded: purpose and examples come first, followed by response behavior, workflow, optional headers, and OAuth scopes. Every sentence adds relevant information, though the single long paragraph could be slightly more scannable.
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 complex mutation tool with nested parameters and no output schema, the description is complete. It explains the create-task workflow, dependent tools, return identifiers, header behavior, and authorization requirements, leaving no major gap for an agent invoking the tool.
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 already 100%, so the baseline is 3. The description adds useful feedType-specific semantics such as OAuth scope mapping and reserved feed types, and reiterates header mappings for marketplaceId and acceptLanguage, going beyond the structured schema.
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 verb (create), resource (Feed API upload/download task), and scope (without filter criteria, requiring feedType and schemaVersion). It gives concrete examples such as LMS_ADD_FIXED_PRICE_ITEM, LMS_ORDER_ACK, and Seller Hub feeds, making it easy to distinguish from sibling task tools like ebay_create_report_task or ebay_create_inventory_task.
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?
It explicitly describes the workflow: create the task, send the file with ebay_upload_feed_task_file for upload feed types, then poll ebay_get_feed_task. It also names the required OAuth scope per feed type and clarifies that certain feed types are reserved by eBay.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_flat_shipping_rulesA
Create flat-rate combined-shipping rules (Account API v2 createFlatShippingRules): shippingRules.flatShippingRule and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdateFlatShippingRulesRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint=false, so the description carries real extra burden and meets it: it discloses the auth scope ('Requires sell.account'), the response shape ('204 No Content' = nothing returned), and the confirmation step. It stops short of stating idempotency or how it interacts with existing rules.
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 action is front-loaded in the first clause and the parenthetical API path and endpoint name are secondary. Dense but earns most of its length; minor redundancy from restating the endpoint name.
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 two-parameter write tool with no output schema, the description covers purpose, scope requirement, return value and a follow-up read path, which is enough to call it correctly. It omits edge cases (overwrite/conflict behavior, rule validation limits).
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 100%, so the schema already documents marketplaceId (enum + header note) and the shippingRules subfields. The description's header mention ('X-EBAY-C-MARKETPLACE-ID') duplicates what the schema's marketplaceId description already states, so it adds little. Baseline 3.
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?
States a specific verb and resource ('Create flat-rate combined-shipping rules') and pins the API endpoint (Account API v2 createFlatShippingRules), which lets an agent distinguish it from close siblings like ebay_create_calculated_shipping_rules and ebay_create_promotional_shipping_rule without opening a schema.
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?
It gives a verification path ('confirm with ebay_get_combined_shipping_rules') and a scope requirement ('Requires sell.account'), but never states when to choose this over its near-identically named siblings (create_calculated_shipping_rules, create_promotional_shipping_rule, update_flat_shipping_rules). Usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_fulfillment_policyA
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
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes |
TDQS
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.
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.
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.
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.
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.
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.
ebay_create_image_from_urlA
Create an EPS image from an HTTPS URL. Returns imageId, Location and the complete image payload, including EPS URLs. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is not read-only and not destructive, which is consistent with the description's 'Create' wording. The description adds useful behavior beyond the annotations by disclosing the auth requirement (sell.inventory) and the return payload shape (imageId, Location, complete image payload including EPS URLs), which is especially helpful since no output schema is present.
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?
Two concise sentences deliver the core action, return value summary, and permission requirement with no filler. The most important information is front-loaded and every clause adds value.
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 single-parameter tool with no output schema, the description covers the core inputs, outputs, and authorization context. It is slightly incomplete in that it does not mention usage boundaries or potential side effects beyond creating an image, but the simplicity of the tool means this is a minor gap.
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 help clarify imageUrl. It does confirm the URL must be HTTPS and is the source for creating the EPS image, but the schema already enforces HTTPS via pattern. It does not explain expected image formats, accessibility requirements, or other constraints that would fully compensate for the missing schema descriptions.
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) and resource (EPS image from an HTTPS URL), which clearly identifies the tool's function. It does not explicitly contrast with sibling tools like ebay_create_document_from_url or ebay_upload_images, but the resource type 'image' versus 'document' gives reasonable distinction.
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 gives no guidance on when to use this tool versus alternatives such as ebay_upload_images or ebay_create_document_from_url. It mentions a permission requirement (sell.inventory) but does not explain when this tool is preferred or when a sibling should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_inventory_locationC
Create an inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated InventoryLocationFull request body | |
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description entirely omits behavioral traits such as idempotency, authorization needs, side effects, or error conditions. Since no annotations are present, the burden falls entirely on the description, which fails to disclose anything.
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 sentence but is under-specified. It is concise but fails to include necessary information, thus not earning 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 creation tool with no output schema and many related siblings, the description is severely incomplete. It lacks details on request body structure, validation rules, and expected outcomes.
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 coverage is 100%, so the schema documents both parameters adequately. The description adds no additional meaning or context beyond what the schema provides, meeting baseline.
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 'Create an inventory location' clearly states the action and resource. It distinguishes from sibling tools that update or delete locations, though it does not explicitly differentiate from other create tools.
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?
No guidance is provided on when to use this tool vs alternatives, prerequisites, or constraints. Agents have no context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_inventory_taskA
Create an asynchronous Feed API ActiveInventoryReport task (price and quantity of every active listing): feedType LMS_ACTIVE_INVENTORY_REPORT, schemaVersion 1.0, optional filterCriteria.listingFormat AUCTION or FIXED_PRICE. eBay answers 202; returns taskId and Location. Poll ebay_get_inventory_task, then download with ebay_get_feed_task_result_file. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | CreateInventoryTaskRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the single readOnlyHint=false annotation, the description discloses the asynchronous nature, the HTTP 202 response, that the call returns taskId and Location, and the required sell.inventory OAuth scope. These are exactly the behavioral traits an agent needs and they are not derivable from the annotation or schema.
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?
Information-dense and front-loaded: the purpose and feedType lead, followed by response behavior and the follow-up tool chain. It is somewhat run-on with heavy punctuation, but virtually every clause carries actionable content and there is no filler.
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 an async, nested-object write tool with no output schema, the description covers the essentials: what it creates, the required literals, the 202/taskId return shape, the polling and download steps, and the required scope. Nothing critical to calling it correctly is missing.
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 100%, so the nested task schema already documents feedType, schemaVersion, and filterCriteria.listingFormat. The description corroborates the literal required values (schemaVersion 1.0, the only supported feedType, AUCTION/FIXED_PRICE) but adds no syntax or semantics beyond what the schema states, so baseline 3 applies.
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?
States a specific verb (Create) plus the exact resource (asynchronous Feed API ActiveInventoryReport task) and even summarizes the report contents (price and quantity of every active listing). This clearly separates it from the many other task-creation siblings by naming the concrete feedType LMS_ACTIVE_INVENTORY_REPORT.
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 lays out the operating workflow explicitly: eBay returns 202, then poll ebay_get_inventory_task, then download via ebay_get_feed_task_result_file. That is strong when/how-to-proceed guidance. It stops short of excluding or comparing against other task-creation siblings (ebay_create_feed_task, ebay_create_report_task), so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_item_price_markdown_promotionC
Create item price markdown promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create item price markdown promotion request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: false, so the write nature is already known. The description adds no behavioral context beyond that – no mention of side effects, prerequisites (e.g., existing discounts), idempotency, or what happens on creation. Since the description carries no extra behavioral disclosure, this is a low score.
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 single sentence is front-loaded with the verb and resource and contains no filler. It is concise, though it sacrifices useful detail. The structure is clean, but the minimalism borders on under-specification.
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?
This is a complex creation tool with a nested request object, no output schema, and no field descriptions beyond the top-level parameter. The one-line description does not explain required subfields, valid values, or any setup needed (e.g., discount IDs). An agent cannot reliably construct a valid request from this definition alone.
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 100% because the 'request' property has a description, but that description ('Create item price markdown promotion request body') is tautological and provides no field-level meaning. The tool description adds no parameter information, so by the high-coverage baseline rule, a 3 is appropriate.
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 uses a specific verb ('Create') and resource ('item price markdown promotion'), which clearly distinguishes it from update/delete siblings. However, it does not explain what a markdown promotion is or how it differs from the sibling ebay_create_item_promotion, so an agent unfamiliar with eBay's promotion types might conflate them.
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 provides no guidance on when to use this tool versus alternatives like ebay_create_item_promotion, ebay_update_item_price_markdown_promotion, or other marketing tools. There are no conditions, prerequisites, or exclusions stated, so the agent is left to infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_item_promotionC
Create item promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create item promotion request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint: false correctly aligns with 'Create' with no contradiction, but the description adds only 'through the eBay Marketing API' as additional context. It discloses nothing about side effects, what a successful creation returns, failure modes, or why a create might be rejected for a mutation of this complexity.
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 single sentence contains no filler and front-loads the action verb. However, for a tool with a deeply nested schema, one sentence feels under-sized rather than proportioned to the complexity, though it wastes no words.
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?
Given the high schema complexity (multiple nested undocumented objects), minimal annotations, and no output schema, one sentence is severely inadequate. An agent cannot determine the intended use of discountRules versus couponConfiguration, valid promotionType or marketplaceId values, how inventoryCriterion selection works, or what the response looks like.
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?
While schema coverage is nominally 100%, the request parameter's description ('Create item promotion request body') is a restatement of the tool purpose and explains nothing about the many nested fields like budget, discountRules, inventoryCriterion, and couponConfiguration, which are undocumented in the schema. The tool description itself adds zero parameter semantics, and these complex nested objects are not self-explanatory from types alone.
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 uses a specific verb ('Create') and a clear resource ('item promotion'), and naming the eBay Marketing API adds context. It distinguishes from the get/update/delete item-promotion siblings by stating the create action, but it does not differentiate itself from the near-identical sibling ebay_create_item_price_markdown_promotion.
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 provides no guidance on when to use this tool versus alternatives such as ebay_create_item_price_markdown_promotion, ebay_update_item_promotion, or ebay_get_promotions. There are no prerequisites, exclusions, or selection conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_keywordC
Create keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create keyword request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only readOnlyHint: false, indicating a write operation. The description adds no behavioral context beyond 'create' – no mention of required permissions, rate limits, idempotency, or failure modes. Since annotations are minimal, the description carries the full burden but discloses nothing further. There is no contradiction with annotations.
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 one short sentence, which is concise and front-loaded with the action. However, it is too sparse to be considered well-structured; it lacks any details that would help an agent, and the brevity borders on under-specification rather than efficient communication.
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 write operation with a nested request object and no output schema, the description is incomplete. It does not mention that the keyword must belong to a specific campaign and ad group, that matchType likely has constrained values (e.g., exact, phrase, broad), or what the tool returns. An agent would need to infer too much from the schema alone.
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?
The description adds no explanation of parameters. The schema provides basic descriptions for campaignId and request, but inner fields like matchType, keywordText, adGroupId, and bid lack any semantics. With high schema coverage at top level, the baseline is 3, but the description fails to compensate for the nested object's lack of meaning, so a 2 is warranted.
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 'Create keyword through the eBay Marketing API' uses a specific verb (create) and resource (keyword), making the primary purpose clear. It differentiates from sibling tools like ebay_bulk_create_keyword and ebay_update_keyword, though it does not explicitly mention single vs bulk. No ambiguity about the core action.
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?
No guidance is given on when to use this tool versus alternatives such as ebay_bulk_create_keyword for multiple keywords or ebay_update_keyword for modifying existing ones. The description does not state prerequisites like an existing campaign or ad group, nor any conditions that would route an agent to a different sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_listingA
Create a new fixed-price listing or auction.
Uses the Trading API: AddFixedPriceItem for format FIXED_PRICE (default) and AddItem with ListingType Chinese for format AUCTION. Requires complete item details.
AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request. Reserve prices carry an eBay fee.
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Trading API Item payload. FIXED_PRICE: StartPrice is the listing price and ListingDuration is GTC. AUCTION: StartPrice is the opening bid, ListingDuration is a day count (Days_1/3/5/7/10), Quantity is 1, an optional ReservePrice must exceed StartPrice, an optional BuyItNowPrice must be at least 30% above it (and excludes Best Offer); ListingType Chinese is added for you. | |
| format | No | Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint=false annotation by naming the underlying Trading API calls, stating that mixed-format payloads are rejected before any eBay request, mentioning reserve price fees, and requiring a User OAuth token. No contradiction with annotations exists.
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 dense and well-organized, front-loading the core purpose before format-specific details and auth requirements. It is somewhat long, but every sentence earns its place given the complexity of listing creation.
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 complex nested-payload tool, the description covers auth, validation, format differences, fees, and the need for complete item details. It does not describe response or error behavior, but no output schema exists and the creation outcome is clearly implied.
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 coverage is 100%, and both parameters already have detailed descriptions in the schema. The tool description largely restates the same item rules, though it adds useful context about fees, cross-format rejection, and auth. Because the schema carries the load, the description's added parameter value is modest.
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 verb and resource: 'Create a new fixed-price listing or auction.' It clearly identifies the two supported formats and distinguishes this from sibling tools like ebay_revise_listing, ebay_end_listing, and ebay_get_listing by focusing on creation.
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?
It provides clear context for when to use this tool: creating new listings, with detailed format-specific rules about which payload fields apply. It does not explicitly name sibling alternatives or state when not to use it, but the creation scope and format guidance make the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_negative_keywordC
Create negative keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create negative keyword request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only restates the mutation ('Create') and names the API, adding no behavioral context beyond the readOnlyHint: false annotation. It does not mention effects, required identifiers, idempotency, or response behavior, so the description carries little beyond what the name and annotations already imply.
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 short sentence with no wasted words. It is concise, though its brevity comes at the cost of useful context.
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 nested-object create operation with no output schema and no parameter explanations, the description is underspecified. An agent cannot determine how adGroupId and campaignId relate to the negative keyword, what match types are valid, or what a successful response looks like.
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 100%, so the schema already documents the request object and required fields. However, the description adds no meaning to negativeKeywordMatchType, negativeKeywordText, adGroupId, or campaignId, leaving their semantic roles to the property names.
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 verb and resource: 'Create negative keyword' via the eBay Marketing API. It is clear enough to know this creates a single negative keyword, though it does not explicitly distinguish itself from sibling ebay_bulk_create_negative_keyword or ebay_create_keyword.
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?
There is no guidance about when to use this tool instead of alternatives like ebay_bulk_create_negative_keyword, ebay_get_negative_keywords, or ebay_update_negative_keyword. The intended use must be inferred entirely from the tool name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_notification_destinationC
Create a notification destination
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Seller-specified name for the destination | |
| status | No | Status: ENABLED or DISABLED | |
| deliveryConfig | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'Create', but does not describe side effects, whether verification is needed, or what happens upon successful creation. The schema includes a verification token, but this is not mentioned in the description.
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 very concise at one sentence, but it sacrifices necessary information. While concise, it does not earn its place as it provides no value beyond the tool name.
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?
Given the complexity (nested input object, no output schema, no annotations), the description is insufficient. It does not explain what a notification destination is, what the response contains, or how to verify creation.
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?
The input schema has descriptions for all parameters (name, status, deliveryConfig with nested fields), so schema coverage is high. The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
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 'Create a notification destination', which clearly indicates the verb (create) and resource (notification destination). However, it does not differentiate from sibling tools that also create other resources (e.g., ebay_create_notification_subscription, ebay_create_report_task), so it lacks specificity.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, required prior steps (e.g., setting up an endpoint), or how it relates to notifications and subscriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_notification_subscriptionC
Create a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Status: ENABLED or DISABLED | |
| payload | No | ||
| topicId | No | The unique identifier of the notification topic | |
| destinationId | No | The unique identifier of the destination endpoint |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action 'Create', implying mutation, but does not reveal whether the operation is idempotent, what happens if a subscription with the same topicId/destinationId exists, or any authentication or rate limit considerations. The description is insufficient for an agent to understand side effects.
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 short sentence, which is concise but under-specified. It lacks structure and fails to provide any additional context that would help an agent use the tool correctly. More information could be added without sacrificing conciseness.
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?
Given the tool's complexity (4 parameters, nested objects, no output schema, no annotations), the description is very incomplete. It does not explain the purpose of each parameter, how the subscription is used, or what the expected response is. An agent would need to infer too much from the tool name and schema alone.
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 75%, meaning most parameters already have descriptions in the schema (e.g., status, topicId, destinationId). The tool description adds no additional meaning beyond what the schema provides. For the nested payload object, the schema describes format, schemaVersion, deliveryProtocol. The description does not compensate for the remaining 25% undocumented parameters.
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 'Create a notification subscription', which is a specific verb+resource. It distinguishes 'create' from sibling update/delete/get operations, but it is essentially a tautology of the tool name. It adds no additional context about what a notification subscription entails or how it differs from other subscription-related tools.
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?
No usage guidelines are provided. The description does not indicate when to create a subscription versus when to update or delete one. It also does not mention any prerequisites, such as the need for a destination endpoint or topic to exist first. This lack of guidance could lead to incorrect tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_notification_subscription_filterB
Create a filter for a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| filterSchema | No | Valid JSON Schema Core document (version 2020-12 or later) to filter notifications | |
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like idempotency, overwriting behavior, or side effects. Nothing beyond the action is provided.
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?
Single sentence, no redundant information. Efficiently communicates the core action.
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?
No output schema; description doesn't explain return values. Missing context on prerequisites (subscription must exist) and effect on existing filters.
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 coverage is 100%, so the schema already describes both parameters. The description adds no further meaning beyond the schema.
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 'Create a filter for a notification subscription' uses a specific verb and resource, clearly stating the action. It distinguishes from sibling tools like get/delete/update filter.
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?
No guidance on when to use this tool vs alternatives, no prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_offerA
Create a new offer (unpublished listing draft) for an inventory item SKU.
FIXED_PRICE offers take pricingSummary.price and listingDuration GTC. AUCTION offers take pricingSummary.auctionStartPrice (opening bid), an optional auctionReservePrice above it, an optional pricingSummary.price as Buy It Now (at least 30% above the opening bid, and not together with Best Offer), a day-count listingDuration (DAYS_1/3/5/7/10, or DAYS_14/21/30 where the category allows; never GTC), availableQuantity omitted or 1, and no per-buyer limit or eBay Plus. Do not add listingStartDate unless the user asked for a scheduled start (it can incur a fee). Bodies that mix the two formats are rejected before any eBay request.
Check ebay_get_listing_type_policies for the formats and durations the category allows, then ebay_get_listing_fees (reserve prices carry a fee) before ebay_publish_offer.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers. It discloses fee implications ('reserve prices carry a fee', listingStartDate 'can incur a fee'), validation rejection behavior ('Bodies that mix the two formats are rejected before any eBay request'), and mutual-exclusion constraints (Buy It Now 'not together with Best Offer'). The description even warns against adding listingStartDate unprompted.
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?
Dense but every sentence earns its place. The purpose is front-loaded, then the format split (FIXED_PRICE vs AUCTION) organizes the rules cleanly, followed by the workflow caveats. The two-format breakdown avoids repetition by grouping constraints per format rather than listing them per-field.
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 tool with 1 deeply nested parameter object and 0% top-level schema coverage, the description covers the critical format-specific pitfalls, fee implications, and the required workflow (check policies → check fees → publish). It also flags the scheduled-start fee risk. The only omission is that it doesn't describe the return value, but with no output schema and a draft-creation use case, this is minor.
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% at the top level, so the description must compensate for parameter meaning. It thoroughly explains pricingSummary.price, auctionStartPrice, auctionReservePrice, availableQuantity, listingDuration, and listingStartDate with format-specific rules. However, it leaves several nested parameters (tax, charity, lotSize, listingPolicies, hideBuyerDetails, storeCategoryNames, merchantLocationKey, extendedProducerResponsibility) unexplained in the description, relying on the schema's field descriptions for those.
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?
Opens with a specific verb+resource pair ('Create a new offer (unpublished listing draft) for an inventory item SKU') that immediately distinguishes it from siblings like ebay_publish_offer, ebay_bulk_create_offer, and ebay_update_offer. The 'unpublished listing draft' clarification removes ambiguity about whether this tool publishes.
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?
Explicitly routes the agent through prerequisite checks: 'Check ebay_get_listing_type_policies for the formats and durations the category allows, then ebay_get_listing_fees... before ebay_publish_offer.' It establishes a clear workflow order. However, it doesn't mention when to prefer ebay_bulk_create_offer for bulk scenarios or explicitly say 'use X instead when...'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_order_taskA
Create an asynchronous Feed API order report task: feedType LMS_ORDER_REPORT, schemaVersion (1113 or higher) and optional filterCriteria (creationDateRange of at most 10 days, orderStatus ACTIVE or COMPLETED). eBay answers 202; returns taskId and Location. Poll ebay_get_order_task until COMPLETED or COMPLETED_WITH_ERROR, then download with ebay_get_feed_task_result_file. Requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | CreateOrderTaskRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint=false; the description adds substantial context beyond that: asynchronous semantics, the HTTP 202 response, the two terminal task states, and the required sell.fulfillment scope. This is far more than the annotation layer conveys.
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 imperative verb and resource are front-loaded, and each subsequent clause (params, response, polling workflow, scope) carries functional weight. It is dense and slightly run-on, with minor restatement of schema constraints, but no genuinely wasted sentence.
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 mutating, nested-parameter task-creation tool with no output schema, the description supplies everything an agent needs: required fields, response shape (taskId and Location), the correct follow-up tools, and the required permission. Nothing material is missing.
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 100%, so the nested task/feedType/schemaVersion/filterCriteria structure is already fully documented in the schema. The description largely restates those constraints (1113 or higher, 10-day window, ACTIVE/COMPLETED) without adding syntax or format detail the schema lacks, so the baseline 3 applies.
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?
States a specific verb and resource (create an asynchronous Feed API order report task) and scopes it precisely with the required feedType LMS_ORDER_REPORT. This distinguishes it from the many other task-creation siblings (ebay_create_report_task, ebay_create_feed_task, ebay_create_inventory_task) without needing to open any schema.
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?
It lays out the full lifecycle: what to pass, that eBay answers 202, then explicitly routes to ebay_get_order_task for polling until COMPLETED/COMPLETED_WITH_ERROR and ebay_get_feed_task_result_file for the download. Alternatives and next steps are named rather than left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_or_replace_inventory_itemC
Create or replace an inventory item.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU | |
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It explicitly states the required OAuth scope and implies a mutating, overwriting operation through 'create or replace.' However, it does not detail side effects such as full replacement of existing item data, idempotency behavior, or error conditions, leaving gaps.
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 concise and front-loaded with the operation statement, followed by the OAuth scope requirement. It is free of filler and easy to parse, though it is very minimal and could benefit from a structured breakdown without losing efficiency.
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?
Given the highly nested body schema, lack of output schema, and zero annotations, the description is notably incomplete. It provides no guidance on required body fields, expected response, replacement semantics, or common failure modes, making it difficult for an agent to invoke the tool correctly without external API knowledge.
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?
The schema descriptions cover only 'sku' (50% coverage); the complex 'body' parameter is entirely undescribed. The tool description adds no parameter-level meaning, leaving agents to interpret nested properties, enums, and field requirements from raw schema alone, which is insufficient for a parameter of this complexity.
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 'Create or replace an inventory item' clearly identifies the verb (create/replace) and the resource (inventory item), making the core purpose unambiguous. It is distinct enough from bulk operations by its singular phrasing, though it does not explicitly name alternatives like ebay_bulk_create_or_replace_inventory_item.
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 offers no guidance on when to use this tool versus related tools such as ebay_bulk_create_or_replace_inventory_item, ebay_get_inventory_item, or ebay_create_or_replace_inventory_item_group. No usage context, prerequisites beyond OAuth scope, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_or_replace_inventory_item_groupC
Create or replace an inventory item group
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated InventoryItemGroup request body | |
| inventoryItemGroupKey | Yes | The inventory item group key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the action. It does not explain what 'replace' entails (e.g., full overwrite, impact on existing items) or any side effects. With no annotations, the description fails to compensate.
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 extremely concise (one short sentence). While not verbose, it lacks detail that could be added without sacrificing brevity. It is too sparse to be considered well-structured.
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?
Given the tool has two required parameters, no output schema, and no annotations, the description is insufficient. It fails to explain the body structure, replacement behavior, or any contextual details needed for effective use.
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?
The input schema covers both parameters with descriptions, so the description adds no additional meaning. Baseline of 3 is appropriate as the schema already provides basic semantics.
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 clearly states the verb 'Create or replace' and the resource 'inventory item group'. It is specific and matches the tool name. However, it does not differentiate this tool from siblings like ebay_create_or_replace_inventory_item or other group-related tools.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, scenarios, or exclusions. This leaves the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_or_replace_product_compatibilityC
Create or replace product compatibility for an inventory item
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU | |
| body | Yes | Generated Compatibility request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It hints at upsert behavior ('create or replace') but does not explain whether replacement is total or partial, or mention dependencies (e.g., item must exist). Lacks details on idempotency, effects on existing data, or required permissions.
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?
Single, clear sentence with no unnecessary words. Could be more informative while staying concise, but currently efficient.
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 CRUD tool with no output schema, the description is adequate but incomplete. Lacks behavioral transparency and usage guidance, which are needed given no annotations. Not fully informative for an AI agent.
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 coverage is 100%, so description adds limited value. It confirms the 'body' is a compatibility request, but the schema already describes it. The description does not elaborate on parameter constraints or format beyond the schema.
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 clearly identifies the action (create or replace) and resource (product compatibility for an inventory item). It distinguishes from siblings like get and delete, but could be more specific about the domain (e.g., automotive fitment).
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?
No guidance on when to use this tool versus alternatives like ebay_get_product_compatibility or ebay_delete_product_compatibility. The description does not specify prerequisites or context for creation/replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_or_replace_sales_taxBIdempotent
Create or replace sales tax table for a jurisdiction
| Name | Required | Description | Default |
|---|---|---|---|
| countryCode | Yes | Two-letter ISO 3166 country code | |
| salesTaxBase | Yes | Sales tax details | |
| jurisdictionId | Yes | Tax jurisdiction ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal mutation (readOnlyHint=false) and idempotency (idempotentHint=true). The description adds the upsert semantics 'create or replace', which clarifies that an existing jurisdiction table will be overwritten. It does not disclose additional side effects or prerequisites, but the annotations cover the core safety profile.
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?
A single, compact sentence with no filler. The verb phrase is front-loadedholistically and the scope is clear. Every word contributes to the meaning, and the length is appropriate for the tool's straightforward purpose.
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?
The description is sufficient to invoke the tool correctly for a single jurisdiction, and the schema provides required parameters. However, it lacks mention of related sibling tools (e.g., bulk create/replace, delete, get), which would help an agent decide between alternatives. Given the schema and annotations, it is minimally complete but not rich in context.
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?
The input schema provides descriptions for all three parameters (countryCode, jurisdictionId, salesTaxBase) and nested salesTaxPercentage, so schema coverage is 100%. The description itself adds no new parameter-specific meaning; it only reuses the term 'jurisdiction' that is already in the schema.
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?
States a specific verb and resource: 'Create or replace sales tax table' with a clear scope 'for a jurisdiction'. It is unambiguous about what the tool does, but it does not explicitly distinguish itself from the sibling ebay_bulk_create_or_replace_sales_tax, which creates or replaces sales tax across multiple jurisdictions.
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?
No guidance is given about when to use this tool versus the bulk sibling or related tax tools (ebay_get_sales_tax, ebay_delete_sales_tax). The agent must infer the intended use case from the name and schema, which leaves room for misselection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_or_replace_sku_location_mappingB
Create or replace SKU location mapping for a listing. Maps a SKU to fulfillment center locations.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU | |
| body | Yes | Generated LocationMapping request body | |
| listingId | Yes | The listing ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states 'create or replace' implying idempotent behavior, but does not clarify what happens if the mapping already exists (replaces? errors?). It also omits side effects, idempotency guarantees, or error conditions.
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 concise, consisting of two sentences. The first sentence clearly states the action. The second sentence provides required OAuth scope, which is useful but not strictly necessary in the description. No fluff, but could be structured to front-load key behavioral info.
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?
Given the tool has 3 required parameters, no output schema, and no annotations, the description is incomplete. It does not explain what the 'body' parameter should contain, what the response looks like, or any prerequisites. Sibling tools exist but aren't referenced.
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 100%, so each parameter has a brief description in the schema. The tool description adds no additional parameter meaning beyond what the schema provides, so a baseline of 3 is appropriate. The body parameter description is vague but covered.
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 clearly states the verb 'Create or replace' and the resource 'SKU location mapping for a listing'. It explains the purpose of mapping a SKU to fulfillment center locations. It distinguishes itself from sibling tools like ebay_get_sku_location_mapping and ebay_delete_sku_location_mapping by focusing on creation/replacement.
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 mentions required OAuth scopes but provides no guidance on when to use this tool versus alternatives like ebay_get_sku_location_mapping or ebay_delete_sku_location_mapping. It does not specify prerequisites or conditions for creating vs. replacing a mapping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_packageC
Create a package for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the function without detailing side effects, required permissions, or the nature of the package (e.g., whether it involves line items, confirmation, or shipping details).
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?
While the description is very short, it fails to convey essential information. Conciseness is achieved at the expense of clarity and completeness, making it insufficient for proper tool selection and invocation.
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?
Given the high number of sibling tools and the complexity of eBay shipping operations, the description is critically incomplete. No output schema is provided, and the parameter schema is opaque, leaving the agent without necessary context.
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?
The only parameter 'body' is an untyped object with no defined properties and schema coverage of 0%. The description adds no information about what the 'body' should contain, leaving the agent completely in the dark.
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 clearly states the verb ('Create') and resource ('a package') with a specific context ('for international shipping'). This distinguishes it from related tools like ebay_clone_package or ebay_confirm_package, though it does not explicitly differentiate from them.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_clone_package or ebay_confirm_package. There is no mention of prerequisites, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_payment_policyC
Create a new payment policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint: false annotation already signals mutation, and the description only restates that the tool creates something. It adds no behavioral context beyond the annotation, such as side effects, authentication requirements, idempotency, or what the response contains.
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?
One short sentence is terse and front-loaded, but the brevity is under-specification rather than useful conciseness. It omits the structure of the nested policy object and leaves the agent to parse a deep schema unaided.
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 create operation with one deeply nested required parameter and no output schema, this description is too sparse. The agent is not told what a payment policy can contain, what constraints apply, or what the call returns.
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%, and the description says nothing about the required 'policy' object or its required fields (name, marketplaceId). With 0% schema coverage, the description must compensate, but it does not.
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 verb ("create") and a specific resource ("payment policy"), which separates it from sibling policy-creation tools such as ebay_create_return_policy or ebay_create_custom_policy. It is still essentially a restatement of the tool name and adds no additional defining detail.
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?
There is no guidance about when to choose this tool over the many sibling policy tools or what preconditions apply. The description does not say what kind of policy body is appropriate, what fields are needed, or when a payment policy should be used instead of a return/fulfillment/custom policy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_promotional_shipping_ruleA
Create the promotional combined-shipping rule, e.g. discounted or free shipping above an order amount or item count (Account API v2 createPromotionalShippingRule): shippingRules.promotionalShippingRule and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdatePromotionalShippingRuleRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description carries real weight: it discloses that marketplaceId is transmitted as the X-EBAY-C-MARKETPLACE-ID header, that success returns eBay 204 No Content, the required auth scope (sell.account), and the verification path. This is useful behavioral context beyond the single annotation.
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?
A single dense sentence, front-loaded with the core action, that packs the example, API mapping, header handling, return code, confirmation step, and scope requirement. Efficient, though it reads as a run-on carrying several distinct ideas.
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?
No output schema exists, and the description compensates by stating the 204-no-content return and how to verify (get_combined_shipping_rules). Auth scope is covered. A minor gap is that it doesn't fully contrast with the update tool or explain validation constraints.
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 100%, so both parameters and all nested fields are already documented in the schema. The description names the key sub-objects and the header mapping for marketplaceId, but adds little meaning beyond what the schema provides, so the baseline 3 holds.
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?
States a specific verb (Create) and resource (promotional combined-shipping rule) and clarifies what the rule does with a concrete example (discounted/free shipping above an amount or item count). The parenthetical API mapping and the explicit field references (shippingRules.promotionalShippingRule, combinedDuration) make it unmistakable against siblings like ebay_update_promotional_shipping_rule.
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?
Gives the confirm-with-get_combined_shipping_rules follow-up and the sell.account requirement, which is clear context. It doesn't explicitly contrast create vs update_promotional_shipping_rule, but the create/update naming plus the confirmation step make intent clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_report_taskC
Create report task through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Create report task request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=false, and the description adds no new behavioral details beyond the act of creation. It doesn't mention that the report task is likely asynchronous, how to monitor its completion, or any side effects.
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 sentence with no redundant words. It front-loads the action and resource, though it omits valuable usage context that could have been added without bloat.
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 tool with a complex nested request schema, no output schema, and minimal annotations, this description is insufficient. It doesn't explain required fields, supported report types, date formats, or how to retrieve the created report task result.
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 100% because the 'request' object has a description, so the baseline is 3. The tool description itself adds no field-level semantics; the many nested fields (reportType, marketplaceId, dateFrom, etc.) remain unexplained.
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 clearly states the verb 'Create' and resource 'report task', scoped to the eBay Marketing API. It distinguishes the tool from get/delete report task siblings by action, though it doesn't explicitly differentiate from other create_* tools.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_report_tasks or ebay_delete_report_task. There is no mention of prerequisites, workflow, or conditions that would lead an agent to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_return_policyC
Create a new return policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false confirms this is a write operation and aligns with the description, so there is no contradiction. However, the description adds no behavioral context beyond the word 'create' — it does not mention duplicate handling, required sub-fields, marketplace constraints, or what a successful call returns.
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 short and front-loaded with no filler, which is good. However, it is under-specified: for a tool with a complex nested object parameter and no other documentation, a one-clause sentence does not provide enough structural information to invoke the tool confidently.
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?
Given the complex nested schema, 0% schema description coverage, no output schema, and minimal annotations, the description leaves too much unsaid. An agent would need to infer all semantics from the schema alone and would have no information about successful responses, error cases, or relationship to other return-policy tools.
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%, and the description adds nothing about the single 'policy' parameter, its required fields (name and marketplaceId), or its nested return-policy settings. The schema itself provides useful property names and enums, but the description fails to compensate for the lack of parameter documentation.
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 clear verb ('Create') and a specific resource ('return policy'), which matches the tool's name. It does not elaborate on what a return policy contains or how it distinguishes itself from related create_*_policy tools, but the resource type is unambiguous.
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?
No guidance is given for when to use this tool versus alternatives like ebay_update_return_policy, ebay_get_return_policies, ebay_create_fulfillment_policy, or ebay_create_payment_policy. The description implies 'use this to create a return policy' but provides no prerequisites, exclusions, or decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_shipment_from_shipping_quoteA
Purchase postage: create a shipment and its shipping label from one rate of a shipping quote (Logistics API createFromShippingQuote). This charges the seller's billing agreement the rate's base cost plus any additionalOptions (eBay error 90030 means no billing agreement is set up). Pass shipmentRequest with shippingQuoteId and rateId from ebay_create_shipping_quote, optionally additionalOptions, labelSize, labelCustomMessage, and returnTo. Returns the shipment with shipmentId, tracking number, totalShippingCost, and labelDownloadUrl; get the PDF with ebay_download_shipping_label_file. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | No | X-EBAY-C-MARKETPLACE-ID for the request, e.g. EBAY_US; defaults to the configured EBAY_MARKETPLACE_ID | |
| shipmentRequest | Yes | Generated CreateShipmentFromQuoteRequest body: the quote and rate to purchase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the financial side effect (charges the billing agreement the rate's base cost plus any additionalOptions), the specific failure mode and error code (90030 = no billing agreement), and the auth/consent requirement (sell.logistics scope not requested by default). Consistent with readOnlyHint=false and idempotentHint=false.
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?
Front-loaded with the action and outcome, then dependency, then return values, then constraints — a sensible order. It is dense and clause-heavy in the middle, but nearly every clause carries operational information (error code, scope, eligibility) rather than filler.
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?
With no output schema, the description compensates by naming the returned fields (shipmentId, tracking number, totalShippingCost, labelDownloadUrl). Combined with the auth, eligibility, and billing details, an agent has everything needed to decide whether it can even call this and what to expect back.
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 coverage is already 100%, so the baseline is 3, but the description adds meaningful provenance: it explains that shippingQuoteId/rateId must come from a prior quote call and enumerates the optional fields (additionalOptions, labelSize, labelCustomMessage, returnTo) and their cost implication. It stops short of explaining the marketplaceId header default, but the added sourcing context exceeds the schema.
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?
Opens with a concrete verb+resource ('Purchase postage: create a shipment and its shipping label') and scopes it to 'one rate of a shipping quote (Logistics API createFromShippingQuote)'. This clearly separates it from sibling ebay_create_shipping_quote (which produces the quote) and from label-download tools.
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?
Explicitly states the upstream dependency (shippingQuoteId and rateId come from ebay_create_shipping_quote), the follow-up step (get the PDF with ebay_download_shipping_label_file), and the eligibility preconditions (billing agreement must be set up, Logistics API is limited release/USPS only, the sell.logistics scope must be added). When-to-use and when-it-will-fail are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_shipping_fulfillmentB
Create a shipping fulfillment for an order.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| orderId | Yes | The unique identifier of the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the action (create) implying mutation, but does not disclose side effects, required order state, rate limits, or idempotency. Minimal behavioral disclosure beyond the action itself.
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 very short (one sentence plus OAuth scope) and front-loaded. It is concise, but could be more structured with bullet points for readability. No wasted words.
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?
No output schema, no usage guidelines, no behavioral details. For a write operation with nested objects and required parameters, the description is insufficient to fully guide an AI agent. Missing prerequisites like order existence or payment status.
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 50% (only orderId has a description; body lacks one). The description adds no parameter meaning beyond the schema. Baseline is 3 due to partial coverage, and no extra value is added.
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 clearly states 'Create a shipping fulfillment for an order,' using a specific verb (create) and resource (shipping fulfillment) with context. It distinguishes from sibling tools like ebay_get_shipping_fulfillments (read) and ebay_issue_refund (different action).
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?
No guidance on when to use this tool versus alternatives (e.g., when an order is ready, prerequisites like payment status). Only OAuth scope is mentioned, but no exclusions or context hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_shipping_quoteA
Get live shipping rates for one package (Logistics API createShippingQuote). Pass shippingQuoteRequest with orders (1-10 eBay order IDs shipping together), packageSpecification (weight, optional dimensions), shipFrom and shipTo. Returns a shippingQuoteId plus rates[] with rateId, carrier/service, base cost, optional add-ons, and an expirationDate; buy one with ebay_create_shipment_from_shipping_quote before it expires. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | No | X-EBAY-C-MARKETPLACE-ID for the request, e.g. EBAY_US; defaults to the configured EBAY_MARKETPLACE_ID | |
| shippingQuoteRequest | Yes | Generated ShippingQuoteRequest body: orders, package, and from/to addresses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false from annotations, the description carries real behavioral weight: it discloses the return shape (shippingQuoteId, rates[] fields, expirationDate), the quote's transient expiration, the limited-release restriction (approved developers, USPS only), and a concrete OAuth scope requirement that is not enabled by default plus how to add it. This is well beyond what annotations provide.
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?
Purpose is front-loaded and each sentence is information-dense. The OAuth-scope clause is long and slightly costly to read, but it is genuinely necessary context for a limited-release API rather than padding.
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?
With no output schema, the description explains the return values (shippingQuoteId, rates[], expirationDate), the auth/setup prerequisites, the platform restrictions, and the next step. An agent has everything needed to invoke and act on the result.
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 100%, so the schema already documents both parameters in detail. The description restates the request structure (orders 1-10, packageSpecification weight/optional dimensions, shipFrom/shipTo) but adds little syntax or format meaning beyond the schema, so baseline 3 applies.
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?
States a specific verb and resource ('Get live shipping rates for one package') and ties itself to the underlying API operation (Logistics API createShippingQuote). An agent can distinguish it from ebay_get_shipping_quote and ebay_create_shipment_from_shipping_quote without opening a schema.
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?
Routes the agent to the follow-up tool explicitly ('buy one with ebay_create_shipment_from_shipping_quote before it expires') and states the prerequisite context (limited release, approved developers). It does not explicitly contrast against the sibling ebay_get_shipping_quote, so it falls just short of the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_signing_keyA
Create a new signing keypair for API digital signatures. Supports ED25519 (recommended) or RSA ciphers. IMPORTANT: Save the private key immediately as eBay does not store it.
| Name | Required | Description | Default |
|---|---|---|---|
| request | No | Optional signing-key request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that eBay does not store the private key, which is crucial. However, it lacks details on idempotency, rate limits, or what happens on duplicate requests, leaving some behavioral ambiguity.
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 two sentences, each carrying significant information: the purpose and cipher options in the first, the critical warning in the second. No unnecessary words.
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 creation tool with no output schema, the description tells the key action and warning but doesn't detail the response format (e.g., what keys are returned). While the warning implies the private key is returned, the public key or key ID is not mentioned, leaving some incompleteness.
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 coverage is 100% with the single parameter 'signingKeyCipher' described as 'Cipher for the generated keypair, e.g. ED25519 or RSA'. The description does not add extra meaning beyond this schema information, meeting the baseline.
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 clearly states the action (create), the resource (signing keypair), and its purpose (API digital signatures). It distinguishes from sibling tools like ebay_get_signing_key by being the creation counterpart.
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 includes an explicit warning to save the private key immediately, implying when to use the tool and a critical post-use action. However, it does not specify when to prefer this tool over alternatives or mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_create_vero_reportB
Create a VERO report to report intellectual property infringement. This endpoint is part of the Verified Rights Owner (VeRO) Program and allows rights owners to report listings that infringe on their intellectual property.
| Name | Required | Description | Default |
|---|---|---|---|
| reportData | Yes | Generated VeroReportItemsRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It does not mention consequences, reversibility, permissions, rate limits, or any side effects of creating a report.
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 two concise sentences, front-loaded with the core action. Every sentence adds value with no redundant or extraneous content.
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?
Despite a single parameter, the nested object is complex. The description lacks information about response format, prerequisites (e.g., VeRO membership), error handling, or any process beyond creation. Without annotations, the description is insufficient for an agent to confidently use the tool.
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?
The tool description adds no information about the parameters beyond what is in the schema. The schema description for 'reportData' is generic ('Generated VeroReportItemsRequest body'), and nested properties lack descriptions. The tool description does not compensate.
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 clearly states the tool creates a VERO report for intellectual property infringement, with specific verb 'create' and resource 'VERO report'. However, it does not explicitly differentiate from sibling tools like ebay_get_vero_report, though the creation purpose is clear.
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 usage by rights owners in the VeRO Program, but lacks explicit guidance on when to use this tool versus alternatives, or any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_adCDestructive
Delete ad through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| adId | Yes | adId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive (destructiveHint: true), but the description adds no behavioral context beyond restating the delete action. It does not state permanence, required permissions, or that the ad is tied to a campaign—any context beyond the annotation is absent.
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 one-sentence description is short, front-loaded, and free of fluff—'Delete ad through the eBay Marketing API' states the core action immediately. It lacks any secondary detail or structure, but as far as conciseness goes it uses only essential words.
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 delete tool with two required parameters and a destructive annotation, the description is thin. It fails to differentiate this tool from sibling bulk-delete operations, does not mention irreversibility or permission requirements, and gives no hint about success/failure behavior; an agent could easily pick the wrong deletion tool.
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 100% because both parameters have descriptions, though those descriptions only repeat the parameter names. The tool description itself does not explain what adId and campaignId mean or how they work together, so it adds no semantic value; the high coverage keeps this at baseline.
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 uses a specific verb—'Delete'—and identifies the resource—'ad'—plus the API domain. However, it does not distinguish this single-ad deletion from sibling bulk-delete tools such as ebay_delete_ads_by_inventory_reference or ebay_bulk_delete_ads_by_listing_id, so an agent must infer granularity from the parameters.
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?
No guidance is given for when to choose this tool over related ad-deletion tools. The description omits any mention of bulk vs. single deletion, and no alternative tools or conditions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_ads_by_inventory_referenceA
Delete ads by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Delete ads by inventory reference request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations show readOnlyHint=false, and the description confirms a mutating delete operation. It does identify what is destroyed (ads by inventory reference), but it does not disclose whether the delete is permanent, whether it removes all matching ads, or what response the caller should expect.
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?
A single, front-loaded sentence without filler. Every word contributes to identifying the operation and resource, making it easy to scan and parse.
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?
The tool is a delete operation with no output schema, and the description leaves out important context such as whether the operation is irreversible, whether it deletes one ad or all ads tied to the inventory reference, and what happens if no ads match. The parameters are simple and well-covered by the schema, so the definition is minimally viable but not fully complete.
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 100%, so the structured schema already documents campaignId and the request body. The description adds no additional meaning about inventoryReferenceType values, required formats, or relationships between campaignId and the inventory reference, leaving the agent to infer semantics from parameter names alone.
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 verb and resource: 'Delete ads by inventory reference.' This clearly distinguishes the tool from ad-related siblings like get_ads_by_inventory_reference, update_bid, or bulk_delete_ads_by_listing_id, and the deletion scope is explicit.
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 gives no guidance about when to choose this tool over alternatives. It does not mention the bulk variants (bulk_delete_ads_by_inventory_reference), the single-ad delete (ebay_delete_ad), or any conditions that would make this specific endpoint the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_campaignBDestructive
Delete campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false and destructiveHint=true, so the agent knows this is a destructive mutation. The description adds no further behavioral context beyond the word 'Delete'—it does not mention whether the deletion is permanent, whether it cascades to ads or keywords, or whether any confirmation is required. With annotations present, the bar is lower, but the description contributes no additional behavioral transparency.
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 sentence of seven words, with no filler. It front-loads the action ('Delete') and identifies the resource and API. Every word is necessary; there is no redundancy or irrelevant detail.
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 delete operation with one parameter and no output schema, the description covers the core action. However, it omits important context an agent might need: whether the campaign must exist, whether deletion is permanent or can be undone, and what happens to associated entities (ads, bidding strategies). The annotations cover the destructive nature, but the description could still benefit from a note on irreversibility or expected outcome.
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?
The schema description for campaignId is 'campaignId required endpoint parameter', which is essentially restating the name and required flag. Since schema coverage is 100%, the baseline is 3. The description adds no parameter information, but the parameter name is self-explanatory as the identifier of the campaign to delete. No extra semantic value is provided beyond the schema.
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 clearly states the verb 'Delete' with the resource 'campaign' and identifies the API context ('eBay Marketing API'). This is sufficient to distinguish it from the many sibling tools that operate on other resources (ads, notifications, inventory items). However, it does not differentiate from the closely related 'ebay_end_campaign', which might also stop a campaign but likely not delete it permanently.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_end_campaign, ebay_pause_campaign, or ebay_delete_email_campaign. The description simply states the action without context about prerequisites, irreversibility, or when one operation should be preferred over another. This leaves the agent to infer usage solely from the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_email_campaignBDestructive
Delete email campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| emailCampaignId | Yes | emailCampaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description doesn't need to restate that this is destructive. The description adds no extra behavioral context beyond the annotations—no mention of irreversibility, cascading effects, or required permissions. Since annotations cover the core safety profile, a 3 is appropriate.
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?
Single sentence, no fluff, front-loaded with the action. It's appropriately concise for a simple delete operation. Could arguably include more context, but for what it is, it's efficient.
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 destructive operation with no output schema and only one parameter, the description is minimal. It doesn't explain what happens after deletion, whether the campaign must be paused first, or any error conditions. The annotations cover the destructive nature, but the description doesn't add enough context for an agent to know if this is the right call in a given situation.
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 100%—the only parameter emailCampaignId is described as 'required endpoint parameter'. The description adds no additional meaning beyond the schema. Baseline 3 is correct.
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 verb ('Delete') and resource ('email campaign') via the eBay Marketing API. It clearly distinguishes from siblings like ebay_get_email_campaign, ebay_create_email_campaign, and ebay_update_email_campaign. However, it doesn't mention any additional scope or nuance beyond the basic action.
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?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., campaign must exist, be in a certain state) or when deletion is appropriate. The sibling list includes many delete tools, but the description doesn't differentiate when to choose this one over ebay_delete_campaign or ebay_delete_ad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_feed_scheduleADestructive
Delete a Feed API schedule so it stops generating reports. This cannot be undone. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | Feed schedule ID, from ebay_create_feed_schedule or a list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds material context beyond them: irreversibility ('This cannot be undone'), the sole supported report type, and the required OAuth scope sell.fulfillment. That is real added value for a destructive call, though nothing is said about side effects on previously generated reports or the response.
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?
Three short sentences, front-loaded with the action and its effect, with the destructive warning immediately after. No filler or repetition of the tool name.
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 single-parameter, unambiguously destructive tool with full schema coverage and annotations marking it destructive, the description covers purpose, irreversibility, and auth scope. Only minor gaps remain (effect on already-queued reports, return behavior), which are acceptable given no output schema.
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?
Only one parameter (scheduleId) exists and schema description coverage is 100%, with the schema already noting it comes from ebay_create_feed_schedule or a list. The description adds no further semantics, so the baseline 3 applies when the schema carries the load.
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?
Specific verb+resource ('Delete a Feed API schedule') plus stated outcome ('so it stops generating reports'), which cleanly separates it from the sibling ebay_create_feed_schedule / ebay_get_feed_schedule / ebay_update_feed_schedule tools. An agent can identify the operation without opening the schema.
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?
It states the effect of using the tool (reports stop being generated) and the applicable scope ('Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment'), which is genuine prerequisite guidance. It stops short of naming alternatives (e.g., updating rather than deleting a schedule) or explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_fulfillment_policyBDestructive
Delete a fulfillment policy
| Name | Required | Description | Default |
|---|---|---|---|
| fulfillmentPolicyId | Yes | The fulfillment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered. However, the description adds no further context such as permanence, irreversibility, or any side effects beyond what the verb 'delete' implies. It does not contradict annotations.
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?
A single concise sentence with zero redundancy. It is appropriately sized for a simple delete operation and front-loads the action clearly.
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?
Given the low complexity (one parameter), complete schema, and annotations covering the destructive nature, the description is adequate. It does not mention return behavior, but for a delete operation that is typically implicit. Minor gap: no mention of consequences if the policy is in use, but that is not critical for an agent to call the tool correctly.
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 100% (the only parameter has a description 'The fulfillment policy ID'). The description adds no additional meaning beyond what the schema already provides, so it meets the baseline but does not exceed it.
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 'Delete a fulfillment policy' clearly states the verb (Delete) and the specific resource (fulfillment policy). It distinguishes from the many sibling delete tools (e.g., delete_notification_subscription, delete_inventory_item) by naming the exact resource type.
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?
No guidance on when to use this tool versus alternatives like update or get. It does not mention any prerequisites (e.g., policy not in use) or exclusions. The agent must infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_inventory_itemB
Delete an inventory item by SKU.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description adds the OAuth scope requirement but does not disclose important behavioral traits like whether deletion is irreversible, whether it fails if the item is associated with an active listing, or any other side effects.
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 very concise, front-loading the action and parameter. Every sentence adds value—the first sentence states the purpose, the second adds the required scope. No fluff.
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 delete operation with one parameter and no output schema, the description is functionally sufficient. However, it lacks context about potential failure reasons or consequences, which would be beneficial given the lack of annotations.
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 100% for the single parameter 'sku', which is adequately described as 'The seller-defined SKU'. The description does not add further meaning beyond the schema, so baseline score of 3 is appropriate.
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 clearly states the action 'Delete an inventory item' and specifies the unique identifier 'by SKU'. This clearly distinguishes it from sibling tools like create, replace, or get inventory items.
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 mentions required OAuth scope but does not provide guidance on when to use this tool versus alternatives such as bulk delete or deleting inventory item groups. No exclusion criteria or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_inventory_item_groupC
Delete an inventory item group
| Name | Required | Description | Default |
|---|---|---|---|
| inventoryItemGroupKey | Yes | The inventory item group key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits such as irreversibility, required permissions, or side effects. The bare description 'Delete an inventory item group' adds nothing beyond the tool name.
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, concise sentence with no unnecessary words. It is well-structured and front-loaded, though it lacks detail.
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?
Given the simplicity of the tool (one parameter, no output schema), the description is minimal. It does not mention whether the delete is reversible, required state of the inventory item group, or any potential errors. This is insufficient for an agent to fully understand the tool's implications.
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 coverage is 100%, and the parameter description ('The inventory item group key') matches the schema. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3.
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 clearly states the action and resource ('Delete an inventory item group'), which is specific and matches the tool name. However, it does not differentiate from sibling delete tools like ebay_delete_inventory_item.
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?
No guidance on when to use this tool versus alternatives (e.g., deleting individual items versus groups). No context provided about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_inventory_locationB
Delete an inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether deletion is irreversible, whether the location must have no inventory, or any other constraints. The agent lacks critical safety information.
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, concise sentence with no unnecessary words. It is front-loaded and efficiently communicates the primary action.
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?
With no output schema and no annotations, the description should explain the return value or success behavior. It does not, leaving the agent uninformed about what to expect after deletion.
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?
The schema coverage is 100% with one parameter described. The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
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 'Delete an inventory location' uses a specific verb and resource, clearly distinguishing it from sibling tools like 'ebay_enable_inventory_location' or 'ebay_disable_inventory_location'.
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?
No guidance is provided on when to use this tool versus alternatives such as 'ebay_disable_inventory_location'. There is no mention of prerequisites, conditions, or effects of deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_item_price_markdown_promotionADestructive
Delete item price markdown promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description matches destructiveHint=true and identifies the specific resource removed, but adds no further behavioral context such as irreversibility, active-promotion impact, auth, or rate limits.
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?
One short sentence front-loads the action and resource, with no wasted words or redundant elaboration.
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 one-parameter destructive tool with full schema coverage and matching annotations, the definition is sufficient to invoke correctly; no output schema is needed for this deletion.
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 already fully documents promotionId; the description adds no additional semantics about its format, source, or constraints, so the high-coverage baseline of 3 applies.
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?
Description uses a specific verb ('Delete') and names the exact resource ('item price markdown promotion'), which distinguishes it from siblings like ebay_delete_item_promotion or create/update markdown tools.
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?
No guidance on when to choose this tool over create/update or sibling delete tools; it simply states the action and leaves alternatives unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_item_promotionBDestructive
Delete item promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is known, but the description adds no behavioral context beyond restating the delete action. It does not mention irreversibility, ownership or prerequisite checks, or API-specific consequences, so it contributes little beyond the annotations.
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 one short sentence with the action front-loaded and no filler or redundancy. Every word contributes to identifying the operation.
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 single-parameter destructive operation with full schema coverage and a destructiveHint annotation, the description plus schema is largely sufficient for an agent to select and invoke the tool. It lacks optional context about when deletion is allowed or what the response will be, but those are less critical given the low complexity and strong annotations.
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 coverage is 100% and the single promotionId parameter is documented as required, so the schema carries the parameter meaning. The description itself adds nothing about the parameter, but the high schema coverage keeps this at baseline.
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 uses a specific verb ('Delete') and resource ('item promotion'), so an agent can tell it removes an item promotion rather than a markdown promotion or email campaign. It is clear, but it does not explicitly contrast with sibling operations like pause or update, so it stops short of full sibling differentiation.
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 gives no guidance on when to delete versus pause, resume, or update an item promotion, even though such siblings exist. An agent must infer the use case from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_notification_destinationB
Delete a notification destination
| Name | Required | Description | Default |
|---|---|---|---|
| destinationId | Yes | The unique identifier for the destination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'Delete' which implies a destructive action, but it fails to mention consequences (e.g., irreversibility, impact on subscriptions that use the destination). The description is too minimal for a deletion operation.
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 concise sentence that is front-loaded. It contains no unnecessary words. However, it may be too brief for a potentially impactful delete operation, but it is efficient.
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?
Given the lack of output schema and annotations, the description should provide more contextual information such as return value, error handling, or side effects. The description is incomplete for a delete operation in a complex notification system.
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 coverage is 100% with a clear description for 'destinationId'. The tool description adds no additional meaning beyond the schema. Baseline is 3 due to high coverage; the description does not improve understanding of the parameter.
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 'Delete a notification destination' clearly states the action (delete) and the resource (notification destination). It effectively distinguishes from sibling tools for creating, getting, updating, etc.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as ensuring the destination exists or that no subscriptions depend on it. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_notification_subscriptionB
Delete a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations. Description only says 'delete' without disclosing consequences, reversibility, permissions needed, or impact on related data.
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?
Extremely concise (4 words) but lacks structure and additional context. Conciseness is good but at the expense of informativeness.
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?
Given a single parameter and no output schema, the description is minimally complete but fails to mention permanence of deletion, side effects, or prerequisites.
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 coverage is 100% and description for 'subscriptionId' is clear; the tool description adds no further semantic value beyond the schema.
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?
Description clearly states the action (Delete) and resource (notification subscription), distinguishing it from sibling tools like get, create, update, disable, enable, and test.
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?
No guidance on when to use this tool vs. alternatives (e.g., disable instead of delete), no prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_notification_subscription_filterC
Delete a subscription filter
| Name | Required | Description | Default |
|---|---|---|---|
| filterId | Yes | The unique identifier for the filter | |
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description fails to disclose behavioral traits such as permanence, authorization requirements, or side effects of deletion.
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?
Extremely concise at one sentence, but lacks contextual detail; efficiency is good but at cost of completeness.
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?
Minimal coverage for a simple delete operation; no mention of return values, error conditions, or effects, leaving gaps for agent.
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 provides 100% coverage with basic descriptions; no additional meaning added by tool description beyond what schema already states.
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?
Description clearly states verb 'Delete' and resource 'subscription filter', distinguishing it from sibling tools like create or update.
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?
No guidance on when to use this tool versus alternatives, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_offerC
Delete an offer
| Name | Required | Description | Default |
|---|---|---|---|
| offerId | Yes | The offer ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses a destructive action but fails to mention side effects, prerequisites, or whether the operation is reversible. For a mutation tool, this is insufficient.
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 extremely concise (3 words) but lacks structure. While efficient, it could include additional context without becoming verbose. It is not well-structured for quick comprehension.
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?
Given the simplicity (1 param, no output schema, no annotations), the description is incomplete. It does not explain what constitutes an 'offer', how to obtain the offerId, or what the result of deletion is. More context is needed for effective use.
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?
The schema has 100% coverage for the single parameter 'offerId', and the description adds no extra meaning beyond 'The offer ID'. Baseline 3 is appropriate as the schema does the work.
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 'Delete an offer' is clear but minimal. It restates the tool name without adding nuance or differentiating from siblings like ebay_withdraw_offer or ebay_end_listing. A more specific verb-resource combination would improve clarity.
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?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes many offer-related tools (e.g., ebay_withdraw_offer, ebay_delete_item_promotion) but the description offers no context on when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_packageC
Delete a package by ID
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'Delete', which implies a destructive operation. It does not disclose whether the deletion is reversible, what happens to associated data, or any required permissions. The description fails to add behavioral context beyond the inherent meaning of 'delete'.
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 sentence but is under-specification; it is too minimal to be helpful. While concise, it fails to provide necessary context, making it insufficient for the agent to understand the tool's behavior.
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?
Given the lack of annotations and output schema, the description is the sole source of context. It is too brief to fully inform the agent about the tool's behavior, especially as a mutating operation. The tool is simple, but the description does not cover side effects or return behavior.
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?
The schema has 0% description coverage for the parameter 'packageId'. The description merely says 'by ID', adding no meaningful explanation of what a package ID is, how to obtain it, or its format. The agent gets no additional value from the description beyond the parameter name.
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 clearly states the action (Delete) and resource (a package) and identifies by ID. However, it does not elaborate on what deletion entails (e.g., permanent vs reversible), which could be inferred but not explicit. It distinguishes from sibling tools like cancel_package and clone_package by using 'delete'.
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?
No guidance on when to use this tool versus alternatives such as cancel_package or bulk_delete_packages. No prerequisites or side effects are mentioned, leaving the agent to rely solely on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_payment_policyBDestructive
Delete a payment policy
| Name | Required | Description | Default |
|---|---|---|---|
| paymentPolicyId | Yes | The payment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds no extra behavioral context such as irreversibility, constraints on deleting a policy in use, or side effects. It simply restates the operation.
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?
One short, front-loaded sentence with no fluff. It is appropriately sized for a simple single-parameter operation.
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 CRUD delete with destructive annotations and one documented parameter, the description is minimally sufficient. However, it omits usage context and consequences, so an agent gets no guidance on prerequisites or side effects.
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 100% (the lone paymentPolicyId parameter is described). The description does not add further parameter meaning, but the schema already covers it, so baseline 3 applies.
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 verb ('Delete') and resource ('payment policy'), which clearly identifies the operation and differentiates it from sibling payment-policy tools like create/get/update. The action is unambiguous even without naming alternatives.
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?
No guidance on when to delete a payment policy, what prerequisites exist, or which alternative to choose. The description provides no context beyond the operation itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_product_compatibilityB
Delete product compatibility for an inventory item
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the action without detailing behavioral traits. It does not specify whether it deletes all compatibility entries for the SKU, whether it is idempotent, or what happens if no compatibility exists. Since no annotations are provided, the description should compensate, but it does not.
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 concise sentence with no extraneous information. It is efficiently front-loaded, though slightly more context could be added without losing conciseness.
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?
Given the simplicity (1 parameter, no output schema, no annotations), the description is too brief. It does not explain the scope of deletion, effects, or error conditions, leaving significant gaps for an AI agent.
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?
There is only one parameter, 'sku', which is already described in the schema as 'The seller-defined SKU'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate given the 100% schema coverage.
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 clearly states the action (delete) and the resource (product compatibility for an inventory item). It is specific and distinct from sibling tools like 'create_or_replace_product_compatibility' and 'get_product_compatibilities'.
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?
No guidance is provided on when to use this tool versus alternatives, such as batch deletions or updates. There is no mention of prerequisites or conditions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_report_taskADestructive
Delete report task through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| reportTaskId | Yes | reportTaskId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint: true, and the description's 'Delete' matches this. The description adds no additional context beyond the annotation—e.g., whether deletion is permanent, impacts on associated reports, or requires specific permissions—so it carries minimal extra value beyond the structured metadata.
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, concise sentence with no filler. It immediately states the action and resource, making it highly efficient and front-loaded.
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 delete operation with one parameter and no output schema, the description is functionally adequate. It does not mention prerequisites, side effects, or response behavior, but given the tool's low complexity and the annotation covering destructive intent, the gaps are not severe.
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?
The input schema describes the sole parameter 'reportTaskId' as 'reportTaskId required endpoint parameter', which is minimal but present. The description itself adds no further meaning. Since schema coverage is 100%, the baseline of 3 applies; the description neither helps nor hinders parameter understanding.
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 clearly states the verb 'Delete' and the resource 'report task', which distinguishes it from related siblings like ebay_get_report_task, ebay_create_report_task, and ebay_get_report_tasks. It does not mention any scope or qualifiers, but the action and target are unambiguous.
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 provides no guidance on when to use this tool versus alternatives. However, the action is self-evident—you delete a report task when it is no longer needed—and there are no competing delete-report-task tools among siblings, so the need for explicit usage guidance is limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_return_policyBDestructive
Delete a return policy
| Name | Required | Description | Default |
|---|---|---|---|
| returnPolicyId | Yes | The return policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description 'Delete a return policy' simply restates that destructive nature without adding context. It does not disclose irreversibility, effects on related policies, or any other behavioral trait beyond what the annotation already conveys. No contradiction is present.
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 concise sentence, 'Delete a return policy', which is appropriately sized for a simple operation. It is front-loaded with the verb and resource, contains no filler, and every word is necessary.
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?
Given the tool has a single parameter and the annotations already establish its destructive nature, the description is minimally adequate. However, it omits any note on prerequisites, such as whether the policy must exist or what happens to associated listings. This is acceptable but not complete for an agent that might need downstream context.
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?
The schema provides 100% coverage for the single parameter 'returnPolicyId' with its description 'The return policy ID'. The tool description adds no additional meaning about the parameter, so the baseline of 3 for high schema coverage applies.
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 the specific verb 'Delete' and the resource 'return policy', making the action clear and unambiguous. It does not explicitly differentiate from sibling delete tools (e.g., ebay_delete_fulfillment_policy), but the resource name is distinctive enough to avoid confusion. A score of 4 reflects the lack of explicit sibling distinction.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or conditions under which deletion is appropriate. The agent must infer usage solely from the tool name and schema, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_sales_taxBDestructive
Delete sales tax table for a jurisdiction
| Name | Required | Description | Default |
|---|---|---|---|
| countryCode | Yes | Two-letter ISO 3166 country code | |
| jurisdictionId | Yes | Tax jurisdiction ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, and the description's 'Delete' merely restates that. It adds no extra behavioral context like irreversibility, permission requirements, or behavior when the jurisdiction does not exist.
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?
One terse sentence with no filler, front-loading the verb 'Delete'. However, 'for a jurisdiction' adds little beyond what the schema's jurisdictionId parameter already conveys.
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?
The tool is simple (2 required params, no output schema), and annotations cover the destructive nature, so the description plus schema are nearly sufficient for a correct call. However, missing usage context and how this relates to the bulk create/replace sales tax siblings prevents a higher score.
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?
The schema already documents both parameters with descriptions (ISO country code, tax jurisdiction ID) and coverage is 100%, so the description adds no parameter meaning. The baseline of 3 applies.
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 uses the unambiguous verb 'Delete' and names the resource 'sales tax table', scoped by 'jurisdiction'. This clearly distinguishes it from the sibling get/create sales tax tools even without naming an alternative.
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?
No when-to-use or alternative guidance is provided. The description does not explain when to choose this over ebay_get_sales_tax or ebay_create_or_replace_sales_tax, nor any prerequisites such as whether the jurisdiction must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_sku_location_mappingA
Delete SKU location mapping for a listing. Removes fulfillment center location mappings for a SKU.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU | |
| listingId | Yes | The listing ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states the action and required scope, but does not disclose behavioral traits such as whether the deletion is reversible, effects on the listing, or any side effects. The scope information is useful but insufficient for full transparency.
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 concise with two sentences plus the scope requirement. It is front-loaded and to the point. However, the scope line could be integrated more naturally, preventing a 5.
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 delete tool with two parameters and no output schema, the description adequately covers the purpose and scope. It does not elaborate on return values, which is acceptable. Given the tool's simplicity, the description is sufficiently complete.
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?
Input schema has 100% coverage with descriptions for 'sku' and 'listingId'. The description does not add any additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
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 clearly states the verb 'Delete' and the resource 'SKU location mapping for a listing', and it further explains that it removes fulfillment center location mappings for a SKU. This distinguishes it from sibling tools like ebay_create_or_replace_sku_location_mapping and ebay_get_sku_location_mapping.
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 does not explicitly state when to use this tool vs alternatives. While the required OAuth scope is provided, there is no guidance on scenarios where deletion is appropriate or prerequisites. Usage is implied through the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_delete_store_categoryADestructive
Delete one custom eBay Store category (Stores API deleteStoreCategory). Pass the store categoryId and optionally listingDestinationCategoryId; active listings in or under the category move there, or to the store's Other category (ID 1) when omitted. Irreversible. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | Yes | eBay Store custom category ID from ebay_get_store_categories (not an eBay marketplace category ID) | |
| listingDestinationCategoryId | No | Store category that receives active listings in or under the deleted category; omitted, eBay uses the Other category (ID 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this destructive/not-readOnly, and the description substantially extends them: irreversibility, what happens to active listings (moved to listingDestinationCategoryId or Other ID 1), the asynchronous task model with taskId/location, the one-change-at-a-time concurrency limit, and the sell.stores scope plus active Store subscription requirement. This is the kind of context an agent needs to call a destructive async tool safely.
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?
Dense and front-loaded: action, irreversibility, then async/polling and constraints. Every sentence carries weight, though a few clauses (parameter restatement) duplicate the schema slightly.
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?
No output schema exists, and the description correctly supplies the return shape ({ taskId, location } from the Location header) plus the polling path. Auth scope, concurrency, and listing-destination behavior round out everything an agent needs.
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 100%, so both parameters are already documented; the description largely restates categoryId and listingDestinationCategoryId semantics. It adds no syntax or edge-case detail beyond the schema, so the baseline 3 applies.
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?
Names a specific verb and resource ('Delete one custom eBay Store category'), cites the underlying Stores API operation, and is clearly distinguishable from the sibling add/rename/move store category tools. The scope ('custom' store category, not marketplace category) is stated explicitly.
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?
Gives real operational context: irreversible, async acceptance, poll ebay_get_store_task/ebay_get_store_tasks until COMPLETED or FAILED, and only one store category change may be in flight. It does not name an alternative tool for the delete case (largely because none exists), but the prerequisites and follow-up path are well covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_disable_inventory_locationB
Disable an inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'disable' but does not disclose what happens to associated listings, whether the operation is reversible, or if any side effects occur. Agents need more context about the behavior.
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 front-loaded sentence with no wasted words. It is concise but could benefit from brief behavioral context.
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 operation with one parameter, the description is minimally complete. However, no output schema means agents don't know what response to expect. The lack of behavioral details reduces completeness.
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 has 100% coverage with one parameter described as 'The merchant location key'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
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 clearly states the action ('Disable') and the resource ('an inventory location'). It is a specific verb-resource pair that distinguishes it from sibling tools like create, delete, or enable inventory location.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or how it differs from disabling vs deleting or enabling inventory locations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_disable_notification_subscriptionB
Disable a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It does not explain what disabling entails (e.g., reversible, idempotent, side effects). Only states the action.
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?
Single sentence is concise but lacks necessary detail. Could be expanded to include usage guidance or behavioral notes without being verbose.
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 tool with no annotations and no output schema, the description should provide more context about behavior and usage. It only states the minimal purpose.
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 coverage is 100%, so baseline is 3. Description adds no extra meaning beyond schema's parameter description. No further details on how to obtain subscriptionId.
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 'Disable a notification subscription' clearly identifies the action (disable) and the resource (notification subscription). This distinguishes it from siblings like enable, create, or delete.
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?
No guidance on when to use this tool versus alternatives (e.g., delete or enable). Lacks context about prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_display_credentialsA
Display all eBay API credentials and current token information. Shows client ID, client secret (masked), environment (production/sandbox), redirect URI, and current token status including access token (masked), refresh token (masked), app token (masked), and their expiry times. Useful for debugging authentication issues and verifying configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that credentials are masked and token status including expiry times are shown. Does not explicitly state whether the tool is read-only or if it modifies state, but the verb 'display' implies no side effects.
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?
Two sentences: first states purpose, second details output and use case. No filler words or repetition. Highly efficient.
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?
No output schema, but description lists all significant output fields (client ID, client secret masked, environment, redirect URI, token status, expiry times). Could mention return format (JSON) but still sufficient for a display tool.
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?
No parameters exist (0 params, schema coverage 100%). Baseline is 4 as no additional documentation is needed. Description does not add parameter info but is not required to.
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?
Description uses specific verb 'display' and resource 'eBay API credentials and current token information', listing exact items shown. Clearly distinguishes from sibling tools which handle campaign management, inventory, etc.
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?
States it's 'useful for debugging authentication issues and verifying configuration', providing clear context. Does not explicitly exclude other tools, but sibling tools are unrelated, so differentiation is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_download_post_order_documentARead-only
Download a post-order document as an embedded PDF resource. SUBMITTED documents are owner-only; PUBLISHED documents require authorization in the post-order flow. Expired documents are unavailable. Requires commerce.post_order.document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite the readOnlyHint annotation already signaling this is a safe read operation, the description adds meaningful behavioral context: the output is an embedded PDF, document-state restrictions determine availability, and a specific scope (commerce.post_order.document) is required. No contradiction with the readOnlyHint.
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?
Three sentences with no filler. The core action is front-loaded, followed by the most decision-relevant constraints (document states, permission), so every sentence 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 single-parameter read-only download tool, the description covers the output format, access conditions, and required permission. The main gap is that no output schema exists and the description does not describe the response structure or error cases in more detail, but the essential calling context is present.
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%, and the description does not explain documentId beyond implying it identifies the post-order document. The parameter's name and constraints (non-empty string) are visible in the schema, but the agent gets no guidance on where to obtain a valid documentId or how it relates to the download states.
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 opens with a specific verb and resource: 'Download a post-order document as an embedded PDF resource.' This is distinct from generic document tools like ebay_get_document and the upload/remove post-order siblings, and the PDF-output detail further narrows the tool's role.
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 provides clear context about when the tool works: SUBMITTED documents are owner-only, PUBLISHED documents need post-order flow authorization, and expired documents are unavailable. It gives conditional usage guidance but does not explicitly name sibling alternatives or state when not to use this tool in favor of another, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_download_shipping_label_fileARead-only
Download the shipping label of a shipment as an embedded PDF resource (Logistics API downloadLabelFile). Pass the shipmentId from ebay_create_shipment_from_shipping_quote. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| shipmentId | Yes | Shipment ID returned by ebay_create_shipment_from_shipping_quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint annotation by disclosing that the Logistics API is limited release, USPS-only, and requires the sell.logistics scope which is not requested by default, including the remediation (add to EBAY_OAUTH_SCOPES and re-consent). This is exactly the kind of auth and access context that prevents failed calls.
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?
Front-loads the action and resource, then packs prerequisites and auth constraints into a compact follow-up. The second sentence is dense and runs long, but nearly every clause carries operational value.
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?
With no output schema, the description supplies the return form (embedded PDF resource), the required prerequisite call, and the full auth/eligibility conditions. An agent has everything needed to invoke this correctly or determine it cannot.
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 coverage is 100% and the schema already documents shipmentId as the ID returned by ebay_create_shipment_from_shipping_quote. The description repeats that provenance with no additional syntax or format detail, so the baseline 3 applies.
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?
States a specific verb and resource ('Download the shipping label of a shipment as an embedded PDF resource') and names the underlying API operation (downloadLabelFile). This clearly distinguishes it from adjacent siblings like ebay_get_labels, ebay_get_handover_sheet, and ebay_get_tracking.
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?
Gives a concrete precondition: the shipmentId comes from ebay_create_shipment_from_shipping_quote, which routes the agent to the correct upstream call. It also states eligibility gating (approved developers, USPS only), though it does not explicitly contrast against alternatives like ebay_get_labels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_enable_inventory_locationB
Enable an inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Enable' without explaining what that entails, such as state changes, required permissions, or potential side effects.
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 sentence with no wasted words, but it is overly minimal and lacks necessary details, making it merely adequate rather than excellent.
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?
Given the tool's simplicity (one parameter, no output schema), the description should at least elaborate on the effect of enabling a location. The current one-liner is insufficient.
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 100% for the only parameter (merchantLocationKey), so the baseline is 3. The tool description adds no additional meaning beyond what the schema already provides.
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 'Enable an inventory location' clearly states the verb (enable) and the resource (inventory location), distinguishing it from related tools like ebay_disable_inventory_location, ebay_create_or_replace_inventory_location, and ebay_get_inventory_location.
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?
No guidance is provided on when to use this tool compared to alternatives. There is no mention of prerequisites, context, or scenarios where enabling a location is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_enable_notification_subscriptionC
Enable a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It merely states 'Enable a notification subscription' without disclosing behavioral traits such as idempotency, required permissions, or side effects.
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 extremely concise at one phrase, front-loading the purpose. No extraneous text.
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?
Given no output schema and no annotations, the description does not explain the effect of enabling (e.g., status change), prerequisites, or return values. Incomplete for a state-mutating tool.
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?
The schema has 100% description coverage for the single parameter 'subscriptionId'. The description adds no additional meaning beyond what the schema already provides, so baseline score applies.
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 clearly states the tool enables a notification subscription, using a specific verb-resource pair. It distinguishes itself from sibling tools like 'disable_notification_subscription' and 'create_notification_subscription'.
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?
No guidance on when to use this tool versus alternatives like 'update_notification_subscription'. No prerequisites or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_end_campaignC
End campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=false, implying a mutating operation. The description adds no behavioral context beyond the bare action, such as whether ending is reversible, what happens to associated ads, or side effects on campaign status. With only minimal annotation coverage and no additional disclosure, this is a notable gap.
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, short sentence and is not padded with unnecessary detail. 'through the eBay Marketing API' is slightly redundant given the tool name, but the overall message is front-loaded and easy to scan.
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 mutating lifecycle operation with no output schema and only one parameter, the description is too sparse. It does not clarify the difference between ending, pausing, and deleting a campaign, nor does it describe expected outcomes or prerequisites, making it insufficient for confident invocation among many closely related tools.
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 100% for the single campaignId parameter, so the schema already documents the parameter. The description itself adds no semantic meaning, but the baseline of 3 applies when the schema carries the parameter documentation burden.
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 ('End campaign') on a specific resource, so an agent can infer the tool's core purpose. However, it does not differentiate from lifecycle siblings such as ebay_pause_campaign, ebay_resume_campaign, or ebay_delete_campaign, leaving ambiguity about what 'end' means compared to those operations.
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 provides no guidance on when to use this tool versus the many sibling campaign lifecycle tools. It does not mention campaign state prerequisites, when ending is appropriate instead of pausing or deleting, or any exclusions/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_end_listingADestructive
End/remove an active listing.
Uses the Trading API: EndFixedPriceItem for format FIXED_PRICE (default) and EndItem for format AUCTION. SellToHighBidder is only valid for auctions with bids.
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules. | |
| itemId | Yes | The eBay item ID to end | |
| reason | No | Trading API ending reason, defaulting to NotAvailable. SellToHighBidder only applies to AUCTION listings with bids. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive, and the description adds useful non-obvious behavior: it selects EndFixedPriceItem for FIXED_PRICE and EndItem for AUCTION, restricts SellToHighBidder to auctions with bids, and requires a User OAuth token. This goes beyond the annotations without contradicting them.
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?
Three short sentences, with the purpose front-loaded and each subsequent sentence earning its place by adding API routing, auction-only constraint, or the auth prerequisite. No filler or repetition beyond necessary emphasis.
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 3-parameter destructive action with fully described schema and destructive annotation, the description supplies the missing invocation context: required auth and which underlying API call applies to each format. It does not describe return values, but no output schema exists and the essential call conditions are covered.
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 100% and the schema already documents defaults, enums, and the SellToHighBidder restriction. The description repeats the format/reason behavior rather than adding new parameter meaning.
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?
Opens with 'End/remove an active listing,' which names a specific action and resource, and reinforces it by naming the Trading API calls (EndFixedPriceItem/EndItem). This clearly separates it from sibling tools like ebay_end_campaign or ebay_withdraw_offer.
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 'active listing' scope and the format-specific note (FIXED_PRICE vs AUCTION) give clear context for when to call it, and the auth requirement is stated. It does not explicitly name alternative maintenance tools such as ebay_revise_listing or ebay_relist_item, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_exchange_authorization_codeA
Exchange an OAuth authorization code for access and refresh tokens. This completes the OAuth 2.0 Authorization Code grant flow. After the user authorizes the application using the URL from ebay_get_oauth_url, eBay redirects back with an authorization code in the URL. Use this tool to exchange that code for tokens that can be used to make API calls. The tokens will be automatically stored and used for subsequent API requests.
IMPORTANT NOTES:
Authorization codes expire in ~5 minutes - if you get "invalid grant" error, get a fresh code
Codes can be URL-encoded (e.g., v%5E1.1%23...) - this tool automatically decodes them
Extract the code parameter from the redirect URL (your RuName Accept URL): https://your-redirect-uri?code=YOUR_CODE&expires_in=299
Tokens are saved to .env file and will auto-refresh every 2 hours
Refresh tokens last 18 months before requiring re-authorization
COMMON ERRORS:
"invalid or was issued to another client": Code expired, get fresh code
"Insufficient permissions": Re-run OAuth flow with additional scopes in ebay_get_oauth_url
For complete OAuth guide with scopes, troubleshooting, and examples, see: docs/auth/OAUTH_QUICK_REFERENCE.md
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The authorization code received from eBay after user authorization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully carries behavioral disclosure. Reveals automatic token storage and usage, code expiration (~5 minutes), URL decoding, .env file saving with auto-refresh every 2 hours, and refresh token duration (18 months). No contradictions.
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?
Well-structured with sections, important notes, and common errors. Length is justified by the needed detail for OAuth flow; no redundancy.
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 single-parameter tool with no output schema, the description is complete. Covers the full OAuth flow, token handling, error scenarios, and references a documentation file. No gaps.
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?
Single parameter 'code' has schema description 'The authorization code received from eBay after user authorization'. Description adds extraction details, URL-encoding, and expiration context, going beyond schema. High schema coverage (100%) means baseline is 3, but added value justifies 4.
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 clearly states the tool exchanges an OAuth authorization code for access and refresh tokens, completing the OAuth 2.0 Authorization Code grant flow. It distinguishes itself from sibling tools as the only OAuth token exchange tool among many eBay API tools.
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?
Explicitly describes when to use (after user authorization and receiving code) and how to extract the code from the redirect URL. Includes common errors with troubleshooting guidance. Does not explicitly state when not to use, but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_fetch_item_aspectsARead-only
Taxonomy API: download the aspects (item specifics) of every leaf category in a category tree as eBay's gzipped JSON file, returned as an embedded resource with eBay's content type (application/octet-stream); gunzip it to read the JSON. eBay notes the file can exceed 100 MB compressed: anything above 25 MiB fails with DownloadTooLargeError instead of being returned, so use ebay_get_item_aspects_for_category for per-category lookups, especially on large trees such as EBAY_US (0).
| Name | Required | Description | Default |
|---|---|---|---|
| categoryTreeId | Yes | Category tree ID from ebay_get_default_category_tree_id, e.g. 0 for EBAY_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint, so the description carries the rest and does so richly: gzipped JSON payload, application/octet-stream content type, embedded-resource delivery, gunzip requirement, and a hard failure mode (DownloadTooLargeError above 25 MiB vs eBay's 100 MB source file). This is far beyond what readOnlyHint provides.
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?
Boldly front-loads the primary action (download the aspects), then layers the delivery format, the size limit, and the alternative. All three sentences earn their place, though the middle sentence is dense with parenthetical detail that slightly slows scanning.
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?
No output schema exists, and the description compensates by fully describing what comes back (an embedded gzipped JSON resource with a specific content type and a decompression step) and the conditions under which nothing comes back. Nothing needed to call it correctly is missing.
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 coverage is 100% and there is only one parameter, so the schema already documents categoryTreeId and its provenance from ebay_get_default_category_tree_id. The description restates the tree concept and the EBAY_US (0) example but adds no new syntax or format detail; baseline 3 is appropriate.
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?
States a specific verb (download) and resource (aspects/item specifics of every leaf category in a category tree) plus the API family (Taxonomy). It distinguishes itself from ebay_get_item_aspects_for_category by scope (whole tree vs per-category), letting an agent tell the two apart without opening either schema.
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?
Gives an explicit alternative (ebay_get_item_aspects_for_category for per-category lookups) and the condition that selects it ('especially on large trees such as EBAY_US (0)'). The failure threshold above 25 MiB is stated as the reason to prefer the alternative, which is exactly the routing guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_fetch_payment_dispute_evidence_contentC
Download evidence file content from a payment dispute.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The file ID to download | |
| evidenceId | Yes | The evidence ID | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It states the action and scope but does not disclose behavior like error cases, file size limits, or that it returns raw file content (binary). The description is too minimal for full transparency.
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 very short (two sentences plus scope), front-loaded with the main action. Every sentence is necessary, though it could be better structured with clearer usage context.
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?
Given the simple nature of the tool (file download with 3 required params), the description lacks workflow context, such as the need to fetch evidence IDs via 'get_payment_dispute' first. No output schema means return format is unspecified.
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 coverage is 100%, so all parameters are described in the schema. The description adds no additional meaning beyond what the property descriptions already provide (e.g., 'the file ID to download'). Baseline score of 3 is appropriate.
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 clearly states the action ('Download evidence file content') and the resource ('from a payment dispute'). It is specific and distinguishable from siblings like 'upload_payment_dispute_evidence_file' or 'get_payment_dispute', though it does not explicitly differentiate.
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 only mentions the required OAuth scope. It provides no guidance on when to use this tool versus alternatives (e.g., when you need to view evidence vs. upload it), nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_active_itemsARead-only
Search active eBay listings marketplace-wide (not the seller's own inventory). Uses the Buy Browse API item_summary/search with the application access token eBay requires for Browse, minted from client credentials under the basic api_scope. Supports pagination (limit/offset), sort (price, -price, newlyListed, endingSoonest), category restriction, and condition/buying-option/price filters plus a raw Browse filter passthrough. eBay documents that a search without a buying-option filter returns only listings that still offer FIXED_PRICE, so pass buyingOptions: ["AUCTION"] (or ["AUCTION", "FIXED_PRICE"] for both) to be sure of reaching auctions that have taken a bid. Returns cleaned summaries: itemId (feed into ebay_get_item_details), title, price (an auction's current bid when there is no fixed price, with bidCount), condition, buyingOptions, seller and feedback, first advertised shipping cost, auction end date, and listing URL. hasNext is the authoritative pagination signal, derived from the next link in eBay's paged-collection response: page forward by advancing offset in whole limit-sized steps while hasNext is true, and stop as soon as it is false. Neither total nor a short page is a pagination signal — total is eBay's match count for the query and in live testing came back as 0 once offset ran past the available result window, and a page can hold fewer items than limit without being the last one. The active-listing counterpart of ebay_find_completed_items.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: "price" (asc, price+shipping), "-price" (desc), "newlyListed", or "endingSoonest". Omit for best-match relevance. | |
| limit | No | Maximum items to return (1–200). Defaults to 20. | |
| query | Yes | Search keywords for active listings (e.g. "iphone 14 pro 256") | |
| filter | No | Raw Browse filter expression appended to the generated filters for advanced cases (e.g. "sellers:{user1|user2}"). | |
| offset | No | Zero-based result offset for pagination. Must be zero or a multiple of limit (eBay pages in whole limit-sized steps). Defaults to 0. | |
| priceMax | No | Maximum price (inclusive). | |
| priceMin | No | Minimum price (inclusive). | |
| conditions | No | Condition filters, e.g. ["NEW"], ["USED"], ["CERTIFIED_REFURBISHED"]. | |
| categoryIds | No | Comma-separated eBay category ids to restrict the search (e.g. "9355"). | |
| buyingOptions | No | Buying option filters, e.g. ["FIXED_PRICE"], ["AUCTION"], ["BEST_OFFER"]. eBay documents that a search without this filter returns only listings that still offer FIXED_PRICE, and an auction loses that option once it takes a qualifying bid, so pass ["AUCTION"] (or ["AUCTION", "FIXED_PRICE"] for both) to be sure of reaching auctions. | |
| priceCurrency | No | Currency for priceMin/priceMax as a 3-letter code (e.g. "USD", "EUR"). Defaults to USD when a bound is set. eBay converts across currencies, but silently drops the entire price filter when the code is not one it recognises: an unsupported code returns unfiltered results rather than an error. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint annotation by detailing the underlying Browse API and token requirements, the auction/buying-option quirk, authoritative pagination via hasNext, the unreliability of total as a pagination signal, and the exact summary fields returned. This is substantial behavioral context that annotations alone do not provide.
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 long but densely informative, with the core purpose front-loaded and the pagination caveats earning their place given their real-world impact. It could be slightly tightened, but the length is justified by the complexity of eBay's search behavior.
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 search tool with 11 parameters, no output schema, and only a readOnlyHint annotation, the description is remarkably complete: it explains what is returned, how to paginate correctly, how filters and currency behave, and which sibling tools are related. Nothing essential for correct invocation is missing.
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?
Although the schema covers all 11 parameters, the description meaningfully enriches them: offset must advance in whole limit-sized steps while hasNext is true, buyingOptions requires an explicit AUCTION value to reach auctions, and an unrecognized priceCurrency silently drops the filter rather than erroring. These are behaviors an agent could not infer from the schema alone.
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 opens with a specific verb and resource: "Search active eBay listings marketplace-wide." It immediately distinguishes itself from seller-owned inventory and names its counterpart ebay_find_completed_items, so an agent can tell exactly which use case this tool serves.
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 clearly scopes when to use the tool: marketplace-wide active listings, not the seller's own inventory, and identifies ebay_find_completed_items as the counterpart. It does not provide an exhaustive when-not-to-use list for every sibling, but the context is clear enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_campaign_by_ad_referenceCRead-only
Find campaign by ad reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| listingId | No | listingId optional endpoint parameter | |
| inventoryReferenceId | No | inventoryReferenceId optional endpoint parameter | |
| inventoryReferenceType | No | inventoryReferenceType optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, but the description adds little beyond 'through the eBay Marketing API.' It does not disclose output shape, matching behavior, or whether any parameter is required, so it contributes minimal behavioral context beyond the annotation.
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, efficient sentence with no wasted words, and the key operation is front-loaded. It is concise without being rambling, though the brevity comes at the cost of needed detail.
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?
With three optional parameters and no output schema, an agent needs to know which parameter(s) constitute the ad reference, whether they are alternatives, and what the response contains. None of that is present, leaving the tool under-specified for correct invocation.
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 100%, so the baseline is 3. However, the schema descriptions are tautological ('listingId optional endpoint parameter') and the tool description does not clarify how 'ad reference' maps to the parameters or whether listingId and inventoryReference* are interchangeable.
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 verb ('Find'), resource ('campaign'), and qualifier ('by ad reference'), making the core purpose clear. It does not explicitly distinguish itself from sibling lookup tools like ebay_get_campaign or ebay_get_campaign_by_name, so it falls short of a 5.
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?
There is no guidance on when to use this tool over ebay_get_campaign, ebay_get_campaign_by_name, or generic search/fetch. It also does not explain whether listingId and inventoryReferenceId are alternatives or must be combined, leaving invocation choices ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_completed_itemsARead-only
Search eBay sold/completed listings for pricing research (sold comps). Uses the Finding API findCompletedItems operation with app credentials (SECURITY-APPNAME / EBAY_CLIENT_ID). Returns cleaned sold items: itemId, title, price, shippingCost, soldDate, condition, and listingUrl. Useful for market price research before listing or repricing. App credentials are sufficient for this public search data when OAuth is available.
| Name | Required | Description | Default |
|---|---|---|---|
| daysBack | No | Only include items that ended within this many days (1–90). | |
| keywords | Yes | Search keywords for sold/completed listings (e.g. "iphone 14 pro 256") | |
| maxResults | No | Maximum sold items to return (1–100). Defaults to 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds useful context beyond that: it specifies the Finding API operation, the app-credential requirement (SECURITY-APPNAME / EBAY_CLIENT_ID), that the data is public, and the cleaned fields returned. It does not describe pagination or rate limits, but the read-only annotation lowers the burden and the credential disclosure is valuable.
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 four sentences with the core purpose front-loaded. Each sentence adds distinct value: purpose, API/credential, return fields, and auth sufficiency. There is no filler or tautology, and the length is proportionate to what an agent needs to know.
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?
There is no output schema, but the description compensates by listing the returned item fields explicitly. It also covers credentials and the public-data nature. It does not mention error cases or pagination, but for a read-only search tool with three well-documented parameters, the provided context is sufficient for correct invocation.
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 100%, so the schema already documents keywords, daysBack, and maxResults. The description adds no parameter-level meaning beyond what the schema provides; it focuses on purpose and return shape. Baseline 3 is appropriate because the schema carries the parameter documentation.
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 opens with a specific verb and resource: 'Search eBay sold/completed listings for pricing research.' It names the underlying API operation and explicitly identifies this as the sold-comps search tool, distinguishing it from sibling tools like ebay_find_active_items. An agent can immediately tell what this tool does without inspecting the schema.
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 gives clear context: 'Useful for market price research before listing or repricing.' This indicates when an agent should reach for this tool. It does not explicitly name alternatives or exclusion criteria, but the sold/completed scope versus active-listing siblings makes the intended use reasonably unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_eligible_itemsC
Find items eligible for Send Offer to Buyers
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (1-200) | |
| offset | No | Number of items to skip | |
| marketplaceId | No | The eBay marketplace ID (X-EBAY-C-MARKETPLACE-ID header) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'find items eligible' without explaining what 'eligible' means (e.g., criteria like active listings, buyer interest). It does not disclose whether the tool is read-only, any authorization requirements, or the behavior for edge cases (e.g., no eligible items). This lack of detail reduces transparency.
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 sentence of 8 words, which is very concise. It avoids unnecessary words and gets straight to the point. While it is appropriately sized for a simple tool, it sacrifices important details that could be added without becoming verbose. It is front-loaded with the verb 'Find' and the resource.
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?
Given the tool has three optional parameters, no annotations, and no output schema, the description does not provide sufficient context. It does not explain what constitutes eligibility, how to interpret results, or that this tool is typically used before 'ebay_send_offer_to_interested_buyers'. The sibling tools list is large and contains many similar names, making it crucial for the description to be more informative. The description is incomplete for an agent to use effectively.
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?
The schema has 100% description coverage, so each parameter already has a description (limit, offset, marketplaceId). The tool's description adds no additional semantic meaning or usage context beyond what the schema provides. According to the guidelines, with high coverage, the baseline is 3, and the description does not exceed that.
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 clearly states the tool's purpose: finding items eligible for the 'Send Offer to Buyers' feature. It specifies the resource (items) and the context (eligibility for offers), which distinguishes it from generic listing retrieval tools. However, it could further differentiate from tools like 'ebay_find_listing_recommendations' or 'ebay_suggest_items' that also find items for different purposes.
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 provides no guidance on when to use this tool vs. alternatives. It does not indicate that this tool is a prerequisite for 'ebay_send_offer_to_interested_buyers' or mention any conditions for usage. Without context, an agent cannot determine the appropriate workflow or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_listing_recommendationsCRead-only
Find listing recommendations through the eBay Recommendation API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum recommendations to return | |
| filter | No | Recommendation filter expression | |
| offset | No | Recommendations to skip before returning results | |
| requestBody | No | ||
| marketplaceId | Yes | Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a safe read operation, but the description adds no behavioral context beyond that. It does not mention return format, pagination behavior, default limits, or how the optional filter/offset parameters affect results.
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 clear sentence with no wasted words. It is concise and readable, though it carries very little information for a tool with five parameters and nested request body structure.
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?
Given the nested requestBody, filter expression, no output schema, and a large sibling set, this description is too thin. It does not explain what recommendations are, how filtering works, whether listingIds is needed, or what a successful call returns.
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 80%, so the schema already documents limit, filter, offset, and marketplaceId. The description itself adds no parameter meaning, and the undocumented requestBody/listinIds parameter is not clarified, but the high schema coverage keeps this at baseline.
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 verb ('Find'), a resource ('listing recommendations'), and the API source ('eBay Recommendation API'). It clearly indicates what the tool does and distinguishes it from generic search/fetch siblings, though it does not explain what a 'listing recommendation' is.
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?
No guidance is provided about when to use this tool versus alternatives like ebay_suggest_items, ebay_find_eligible_items, or ebay_get_listing_violations. There are no usage conditions, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_find_seller_standards_profilesA
Find all seller standards profiles
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It merely states the action without disclosing behavioral traits such as required authentication, rate limits, or what the returned data contains. This is insufficient for an agent to understand the tool's behavior.
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 sentence with no unnecessary words. It is concise and front-loaded with the core purpose.
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 tool with no parameters and no output schema, the description is minimally complete. It states what the tool does, but lacks details about what 'seller standards profiles' are or how the results are returned. It does not add extra context to aid the agent.
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?
The input schema has zero parameters, so schema coverage is 100%. The description adds no parameter information, but none is needed. Baseline for 0 parameters is 4, and the description is adequate.
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 clearly states it finds all seller standards profiles, using a specific verb (find) and resource. It distinguishes from the sibling ebay_get_seller_standards_profile, which likely retrieves a single profile.
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?
No explicit guidance on when to use this tool versus alternatives. The sibling name suggests a singular version, but the description does not state when to choose one over the other. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_active_listingsARead-only
Get all active listings (fixed-price and auction) with SKU, quantity, price, and watch count.
Uses the Trading API (GetMyeBaySelling). Returns listings created via any method (UI, Trading API, or REST API); ListingType is Chinese for auctions and FixedPriceItem for fixed price.
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, defaulting to 1 | |
| entriesPerPage | No | Items per page, defaulting to 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already marks this as non-destructive, and the description adds useful behavioral context by naming the underlying Trading API, explaining that listings created via UI, Trading API, or REST API are all returned, and mapping ListingType values. It also discloses the OAuth token requirement, though it does not discuss pagination or sort behavior.
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 three short, information-dense sentences: core purpose first, then data provenance and listing-type details, then the auth prerequisite. Every sentence contributes meaning and there is no filler.
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 read-only tool with simple optional pagination parameters, the description supplies the returned fields, API source, listing-type encoding, and auth requirement. Minor gaps are the lack of an explicit seller/account scope clarification and no guidance on paginating through all results, but these are small given the schema and annotations.
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?
Input schema coverage is 100% and both page and entriesPerPage have descriptions in the schema, so the schema already carries the parameter documentation. The description does not add parameter-level semantics beyond the schema, so the baseline score of 3 applies.
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 uses a specific verb ('Get'), a clearly defined resource ('all active listings'), and enumerates listing types (fixed-price and auction) and returned fields (SKU, quantity, price, watch count). This makes it distinct from sibling listing actions such as ebay_get_listing and ebay_find_active_items.
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 clearly conveys that this tool retrieves complete active-listing data and notes the required User OAuth token as a prerequisite, giving an agent enough context to invoke it. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_actual_costsC
Get actual costs for shipped packages
| Name | Required | Description | Default |
|---|---|---|---|
| trackingNumbers | No | ||
| transactionEndTime | No | ||
| transactionBeginTime | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden of behavioral disclosure. It only says 'Get actual costs' which implies read-only, but doesn't clarify if it requires shipped status, what costs are included (e.g., shipping, taxes), or any side effects. This is insufficient for a tool with no annotations.
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 extremely concise at one sentence, which is efficient but lacks necessary detail. It's front-loaded but at the cost of completeness.
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?
Given 3 parameters, no output schema, and no annotations, the description is incomplete. It doesn't specify what constitutes 'actual costs', how to specify date ranges or tracking numbers, or what response format to expect.
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?
The input schema has 3 parameters with 0% schema description coverage. The description provides no explanation of the parameters (trackingNumbers, transactionEndTime, transactionBeginTime) or how they should be used. The agent has no help understanding what values to provide.
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 clearly states it retrieves actual costs for shipped packages. The verb 'Get' and resource 'actual costs' are specific, and the tool name distinguishes it from related tools like ebay_get_tracking. However, it doesn't explicitly differentiate from siblings within the description itself.
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?
No guidance on when to use this tool versus alternatives (e.g., ebay_get_tracking, ebay_get_package). No prerequisites, time context, or when-not-to-use advice is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_adCRead-only
Get ad through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| adId | Yes | adId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already discloses the read-only nature, so the description does not need to repeat it. However, the description adds no extra behavioral context such as what data is returned, any authentication requirements, or pagination. It is not contradictory, but it provides no added value beyond the annotation.
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, concise sentence with no filler words. It is front-loaded with the verb and resource, and every word earns its place. There is no unnecessary detail.
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?
Given the tool's simplicity, one might argue the description is adequate, but the large number of siblings and the absence of an output schema mean the agent needs more context. The description does not explain what the ad represents, how it relates to the campaign, or what the return payload looks like. It is incomplete for an agent to confidently select this over other ad-related tools.
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 100% (both adId and campaignId have descriptions, albeit minimal). According to the rubric, a high coverage gives a baseline of 3 even if the description adds no parameter info. The description does not enrich the parameter meanings, but the baseline applies.
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 clearly states the verb 'Get' and the resource 'ad', making the purpose obvious. However, it does not distinguish this tool from many siblings like ebay_get_ads, ebay_get_ads_by_inventory_reference, or ebay_get_ad_group. The name and description are specific enough to know it fetches a single ad, but no differentiation is provided.
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 gives no guidance on when to use this tool versus alternatives. With over a hundred sibling tools including many ad-related ones (ebay_get_ads, ebay_get_ad_group, etc.), the agent receives no indication of which scenario calls for this specific tool. This is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_address_preferencesA
Get address preferences for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool retrieves address preferences but does not mention side effects, required permissions, rate limits, or return value details. For a read operation, more context is needed.
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 sentence that immediately communicates the purpose. It is concise with no extraneous information.
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?
Given the tool's simplicity (0 params, no output schema), the description is adequate but minimal. It could mention the return format, required permissions, or that it is a read-only operation.
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?
The tool has zero parameters, and schema description coverage is 100%. Per the scoring rules, 0 parameters yields a baseline of 4. The description adds no parameter information because none are needed.
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 'Get address preferences for international shipping', which clearly specifies the verb (Get), resource (address preferences), and scope (international shipping). This distinguishes it from other eBay tools that deal with address management or shipping.
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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states what the tool does without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_ad_groupBRead-only
Get ad group through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| adGroupId | Yes | adGroupId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, and 'Get' is consistent with a read-only operation. The description adds no behavioral context such as return contents, authorization needs, or rate limits, but it does not contradict the annotations.
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 short, front-loaded sentence. 'Through the eBay Marketing API' is mildly redundant given the tool name, but it is low-cost and does not add meaningful clutter.
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 read-only retrieval with two clearly named parameters, the description is minimally adequate. It lacks return-value context and does not clarify when to use this over related ad-group tools, but the schema and annotations cover the essential mechanical details.
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 100%, so the baseline is 3. However, the schema descriptions are tautological ('adGroupId required endpoint parameter', 'campaignId required endpoint parameter'), and the tool description adds no additional meaning beyond the parameter names.
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 clearly states the operation ('Get ad group') and the API context ('eBay Marketing API'). It does not explicitly distinguish itself from similar siblings like ebay_get_ad_groups or ebay_get_ad, so it stops short of full differentiation.
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?
There is no guidance on when to use this tool, what prerequisites exist, or which alternatives might be more appropriate. An agent cannot tell from the description whether this is the right call versus related campaign/ad-group tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_ad_groupsCRead-only
Get ad groups through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter | |
| adGroupStatus | No | adGroupStatus optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the main behavioral trait, and the description's 'Get' is consistent with it. However, the description adds no further behavioral context, such as campaign scoping, pagination behavior, or default adGroupStatus filtering. It provides essentially no value beyond what the annotation already states.
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 concise sentence with no redundant phrasing or unnecessary length. 'Through the eBay Marketing API' is somewhat redundant given the ebay_ prefix, but the overall structure is clean and front-loaded.
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?
With no output schema, the description should explain what a caller receives and any meaningful response characteristics, but it does neither. It also omits the relationship between ad groups and the required campaignId and leaves adGroupStatus filter values unspecified. The tool is minimally callable but not fully understandable.
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?
The input schema describes all four parameters with 100% coverage, so the description does not need to restate them. The description adds no additional parameter-level guidance, such as how limit and offset interact or what adGroupStatus values are accepted, but the schema already documents names and requiredness. Baseline 3 is appropriate.
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 uses a specific verb ('Get') and resource ('ad groups') and identifies the eBay Marketing API, so the basic operation is clear. It does not explicitly differentiate this list operation from sibling tools like ebay_get_ad_group or ebay_get_ads; the plural noun is the main distinguishing signal.
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?
There is no guidance on when to use this tool versus ebay_get_ad_group, ebay_get_ads, or the create/update ad-group sibling tools. No use case, prerequisite, or exclusion is described, so an agent must infer the tool's role from its name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_adsCRead-only
Get ads through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| adStatus | No | adStatus optional endpoint parameter | |
| adGroupIds | No | adGroupIds optional endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter | |
| listingIds | No | listingIds optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds no behavioral context beyond naming the API. It does not disclose filtering or pagination behavior, whether campaignId is a strict scoping constraint, or what the response contains. There is no contradiction with the annotations.
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 sentence with no filler, and the core operation is front-loaded. It is appropriately concise, though it relies heavily on the schema for context.
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 six-parameter read endpoint with no output schema, the description is thin: an agent must infer that ads belong to a campaign, how the optional filters combine, and what response shape to expect. The readOnly annotation and schema make the tool minimally callable, but the selection and filter semantics are left unstated.
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 100%, so each parameter is at least named in the schema. However, the schema descriptions are thin ('limit optional endpoint parameter'), and the tool description adds nothing about how campaignId, listingIds, adStatus, and pagination relate. Baseline 3 is appropriate because the schema nominally covers parameter meaning.
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 uses a clear verb ('get') and resource ('ads') and identifies the API domain (eBay Marketing API), so an agent can tell this is a read operation for ads. It does not distinguish itself from siblings such as ebay_get_ad or ebay_get_ads_by_inventory_reference, which prevents a 5.
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?
There is no guidance on when to use this tool instead of ebay_get_ad, ebay_get_ads_by_inventory_reference, or the bulk ad tools. The only clue to scope is the required campaignId in the schema, but the description names no alternatives or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_ads_by_inventory_referenceCRead-only
Get ads by inventory reference through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter | |
| inventoryReferenceId | Yes | inventoryReferenceId required endpoint parameter | |
| inventoryReferenceType | Yes | inventoryReferenceType required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds nothing beyond that – no mention of pagination, response format, rate limits, or any behavioral nuances. Since the annotation already covers safety, the description's failure to add context like the scope of results (single campaign, all matching ads) leaves a gap.
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, short sentence – concise and front-loaded. However, it is so brief that it conveys almost no information beyond the tool name. It is not verbose, but it sacrifices substance for brevity, making it minimally acceptable.
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?
With 3 required parameters and no output schema, the description should explain what the response looks like or what 'inventory reference' means, but it does not. It also fails to clarify the scope (e.g., returns ads for a specific campaign and inventory reference) or how it relates to bulk variants. The description is incomplete for an agent to confidently invoke it without additional context.
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 100% per the signal, so the baseline is 3. However, the schema descriptions are tautological (e.g., 'campaignId required endpoint parameter'), providing no real meaning beyond parameter names. The tool description itself does not elaborate on parameter relationships or expected values, so it adds no value beyond the schema's minimal text.
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 the verb 'Get' and the resource 'ads by inventory reference', which clearly indicates what the tool does. However, it does not differentiate this from many sibling tools like ebay_get_ads, ebay_get_ad, or ebay_bulk_get_ads_by_inventory_reference. The mention of 'eBay Marketing API' adds minor context but no distinguishing detail.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for a single inventory reference, versus bulk operations, or when to prefer it over ebay_get_ads. The description provides no context for selection among the large set of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_advertising_eligibilityBRead-only
Check the seller eligibility status for eBay advertising programs. This allows developers to determine if a seller is eligible for various advertising programs on eBay.
Required OAuth Scope: sell.account.readonly or sell.account
| Name | Required | Description | Default |
|---|---|---|---|
| programTypes | No | Optional comma-separated list of program types to check eligibility for | |
| marketplaceId | Yes | eBay marketplace ID to check eligibility for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation, and the description adds operationally important authorization context by stating the required OAuth scopes ('sell.account.readonly or sell.account'). It frames the call as a status check rather than a mutation, which aligns with the annotation.
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 definition is short and front-loads the core purpose in the first sentence. The second sentence is largely redundant with the first ('This allows developers to determine...'), but the OAuth scope line is useful and the overall length is appropriate.
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?
With no output schema, the description does not explain what the eligibility response contains, such as per-program eligibility flags or status values, which could matter for interpreting results. However, both parameters are fully documented, the auth requirement is stated, and it is a simple read-only check, making the tool invocable.
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 coverage is 100%, with marketplaceId documented via a full enum and programTypes described as a comma-separated list. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.
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 uses a specific verb ('Check') and identifies the resource ('seller eligibility status for eBay advertising programs'), clearly stating the tool's function. It does not explicitly differentiate from siblings like ebay_get_opted_in_programs or ebay_get_privileges, but the advertising-eligibility scope is distinct enough for basic selection.
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?
No guidance is provided on when to use this tool instead of related advertising or account tools. The only contextual addition is the required OAuth scope, which addresses authorization rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_agentsC
Get available shipping agents for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the basic function. It does not disclose whether the operation is read-only, requires authentication, or any side effects.
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 very short (one sentence), but it omits critical information about parameters and behavior. It is under-specified rather than appropriately concise.
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?
Given two undocumented parameters and no output schema or annotations, the description is incomplete. The agent lacks sufficient context to use the tool correctly.
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%, and the description does not explain the 'limit' and 'offset' parameters. These are likely for pagination, but the agent gets no hint of their purpose.
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?
Description clearly states verb 'Get', resource 'available shipping agents', and scope 'for international shipping'. It is specific and distinguishes from sibling tools like ebay_get_services or ebay_get_dropoff_sites.
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?
No guidance on when to use this tool, prerequisites, or alternatives. The description does not help the agent decide between this and other shipping-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_api_statusA
Get the latest eBay API status and incidents from the official RSS feed. Returns recent issues, fixes, and outages for eBay APIs (e.g. Trading API, Inventory API, Sandbox). Use when the user asks about API status, outages, or fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| api | No | Optional API-name substring filter | |
| limit | No | Maximum number of feed items to return | |
| status | No | Optional incident status filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions read-only behavior via 'RSS feed' and return type, but does not disclose authentication requirements, rate limits, or behavior when no incidents exist.
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?
Two sentences with front-loaded purpose; every sentence provides value without redundancy.
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 read tool with optional parameters and no complex output schema, description sufficiently covers purpose, return content, and usage context. Slight improvement possible by noting data source (RSS).
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 coverage is 100% with descriptions for all 3 parameters. Description does not add additional value beyond what schema already defines, so baseline score of 3 is appropriate.
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?
Description uses specific verb 'Get' and resource 'latest eBay API status and incidents from the official RSS feed', clearly differentiating from sibling tools focused on promotions, listings, reports, etc.
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?
States 'Use when the user asks about API status, outages, or fixes', providing clear context but lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_audiencesCRead-only
Get audiences through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| emailCampaignType | Yes | emailCampaignType required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this is a safe read operation, and the description adds no behavioral context beyond that. It does not mention pagination, response format, or any constraints, so the description contributes little beyond the annotation.
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, front-loaded sentence with no wasted words. It is appropriately terse, though it is concise partly because it omits useful context that is penalized in other dimensions.
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?
With no output schema, no explanation of what an audience is, no guidance on valid emailCampaignType values, and no usage context, the description is insufficient for an agent to confidently select and invoke this tool. The readOnly annotation and schema cover only part of the picture.
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 100%, and the baseline is 3 even when the description adds no parameter details. The description itself does not explain emailCampaignType, limit, or offset, but the schema minimally documents each parameter, so the tool description does not need to compensate heavily.
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 clear verb and resource: 'Get audiences through the eBay Marketing API.' It is more specific than a tautology and identifies the API context, though it does not distinguish this tool from sibling tools like ebay_get_email_campaigns.
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 gives no guidance on when to use this tool versus alternatives. It does not state any prerequisites, intended scenarios, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_automotive_parts_compatibility_policiesB
Get automotive parts compatibility policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as read-only nature, required permissions, rate limits, or side effects. For a simple getter, basic transparency is missing.
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?
Single sentence of 7 words, front-loaded with key information. No superfluous text, every word 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?
Tool has no output schema and no annotations. The description is minimal; it does not explain what the policies contain, why they are needed, or format of response. Adequate for a simple getter but lacks completeness.
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?
Input schema has 2 parameters with full description coverage (100%). The schema describes 'marketplaceId' as an enum and 'filter' as a string. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.
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 clearly states the action (Get), the resource (automotive parts compatibility policies), and the scope (for a marketplace). It uses specific verb and resource, distinguishing it from other 'get_*' sibling tools like 'get_category_policies' or 'get_listing_type_policies'.
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?
No guidance on when to use this tool versus alternatives, no prerequisites, and no when-not-to-use advice. The description implies that it is for retrieving policies, but does not explain context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_awaiting_feedbackC
Get transactions awaiting feedback from the seller
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order for results | |
| limit | No | Maximum number of items to return per page (25-200) | |
| filter | No | Filter criteria for the query | |
| offset | No | Number of items to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden for behavioral disclosure. It only states the purpose and does not disclose key traits: it is a read-only operation (get), but doesn't mention if authentication is needed, rate limits, or any side effects. The description is insufficient for an agent to infer safe usage.
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 sentence with no wasted words. It is concise, though it lacks structure (e.g., no bullet points or sections). Given the simplicity of the tool, this is acceptable.
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?
The tool is a simple list retrieval with no output schema and no annotations. The description does not explain the return format, pagination behavior, or what constitutes 'awaiting feedback'. For a tool with four parameters, the description is too sparse to be fully useful.
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 coverage is 100%, meaning all four parameters (sort, limit, filter, offset) are documented in the schema with basic descriptions. The tool description adds no additional meaning beyond what the schema provides. Since schema does the heavy lifting, baseline 3 is appropriate.
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 clearly states the tool retrieves transactions awaiting feedback from the seller, specifying the verb 'get' and the resource 'transactions awaiting feedback'. It distinguishes from sibling tools like ebay_get_feedback which likely retrieves feedback already left, and ebay_leave_feedback_for_buyer which is for leaving feedback. However, it could be more explicit about the seller perspective.
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 provides no guidance on when to use this tool versus alternatives like ebay_get_feedback or ebay_leave_feedback. There is no mention of prerequisites, such as requiring authentication or having sold items. The context is only implicit from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_battery_qualificationsC
Get battery qualifications for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It only states it's a read operation ('get') but no details on side effects, permissions, rate limits, or output format, leaving key behaviors undisclosed.
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, short sentence that is front-loaded with the key purpose. It is concise, though it could be slightly enriched without harming conciseness.
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 read tool with two optional parameters and no output schema, the basic purpose is clear. However, important details like return structure or parameter usage are missing, making it adequate but incomplete.
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% and the description does not mention the two parameters (limit, offset) or their meanings, so it adds no value beyond the schema.
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 'Get battery qualifications for international shipping' clearly states the verb (get), resource (battery qualifications), and context (international shipping), making the tool's purpose specific and distinguishable from the many sibling tools.
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?
No guidance is provided on when to use this tool versus alternatives, no prerequisites or typical use cases are mentioned, and the large set of sibling tools makes this a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_billing_activitiesARead-only
Get seller billing activities (fees and credits) from the eBay Finances API. eBay requires exactly one filter criterion: activityId, listingId, orderId, or a transactionDate range starting within the last 120 days. Page with limit/offset, sort by transactionDate. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Set to transactionDate for oldest first; activities sort only by date. eBay sorts newest first by default. | |
| limit | No | Records per page, up to 200 (eBay default 100) | |
| filter | Yes | eBay requires exactly one criterion: activityId:{12**56} (a billingTransactionId), listingId:{...}, orderId:{...}, or transactionDate:[2025-10-01T00:00:00Z..2025-10-31T23:59:59Z] in UTC with a start no more than 120 days ago. | |
| offset | No | Zero-based number of records to skip before the page starts (eBay default 0) | |
| acceptLanguage | No | Overrides the Accept-Language header for the response locale, e.g. en-US or de-DE. Defaults to EBAY_CONTENT_LANGUAGE; eBay assumes en-US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, it discloses genuine behavioral traits: required OAuth scope, pagination via limit/offset, sort default (newest first), and critically that eBay requires Digital Signatures on Finances calls for EU/UK sellers which this server does not add — a failure condition an agent must know. This is substantial added context the annotations don't carry.
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?
Purpose and scope are front-loaded, followed by the filter requirement, pagination/sort, and auth/signature caveats in compact sentences. Every sentence carries operational information with no filler.
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?
Covers purpose, filtering, pagination, auth scope, and a real environmental caveat for a 5-parameter read tool. The one gap is that no output schema exists and the description doesn't hint at the return shape, but for a paginated read under readOnlyHint, the definition is otherwise complete.
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 coverage is 100%, so the schema already documents all five parameters including filter patterns and sort semantics. The description largely restates the filter-criterion rule that the schema already encodes, adding little beyond it. Baseline 3 is appropriate when the schema does the heavy lifting.
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?
States a specific verb+resource ('Get seller billing activities (fees and credits)') and names the source API (eBay Finances). The parenthetical clarifies what 'billing activities' means, distinguishing it from sibling financial reads like ebay_get_transactions, ebay_get_payouts, and ebay_get_order_earnings.
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?
Gives concrete operational constraints: exactly one filter criterion required, allowable criteria listed, 120-day window limit, and the sell.finances scope requirement. It stops short of explicitly routing to alternative tools (e.g. when to prefer get_transactions), so it's clear context without named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_bundleC
Get bundle details by ID
| Name | Required | Description | Default |
|---|---|---|---|
| bundleId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description merely restates the tool's name without disclosing any behavioral traits (e.g., read-only, side effects, permissions required).
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?
Extremely concise single sentence, but lacks important details; borderline under-specification.
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?
No output schema and minimal description; fails to indicate what bundle details are returned, leaving the agent guessing about the tool's output and usage context.
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?
Only one parameter (bundleId) with 0% schema description coverage. The description adds no semantic meaning beyond 'by ID', failing to clarify format, source, or constraints.
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 clearly states the action (get), resource (bundle details), and identifier (by ID). However, it does not differentiate from sibling tools like ebay_get_bundle_label, ebay_get_package, etc.
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?
No guidance on when to use this tool versus alternatives, no prerequisites or context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_bundle_labelC
Get shipping label for a bundle
| Name | Required | Description | Default |
|---|---|---|---|
| bundleId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It fails to disclose whether the operation is idempotent, what the output format is (URL, file, etc.), or any authentication/rate limit considerations.
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, front-loaded sentence with no unnecessary words. It is concise and directly states the tool's function.
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?
Given no output schema and no annotations, the description should explain what the tool returns (e.g., label data) and any error conditions. It does not, leaving significant gaps for a tool with only one parameter.
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 coverage is 0%, so the description must compensate. It does not explain the bundleId parameter beyond implying it identifies a bundle. No details on format or constraints.
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 'Get shipping label for a bundle' clearly states the verb (get) and resource (shipping label for a bundle). It distinguishes this tool from other ebay_get_* tools, especially those related to bundles like ebay_get_bundle.
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 provides no guidance on when to use this tool vs alternatives (e.g., ebay_get_labels, ebay_get_handover_sheet). No prerequisites or context about bundle existence are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_campaignCRead-only
Get campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a read operation, and the description adds no behavioral context beyond restating the get semantics. It does not mention what the response contains, whether authentication is required, or how errors surface. There is no contradiction with the annotations, but the description itself contributes little.
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 short sentence with no wasted words and is easy to scan. It is appropriately compact, though it is so sparse that it carries little information beyond the tool name.
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 one-parameter, read-only tool with full schema coverage, this is minimally viable: an agent can invoke it once it inspects the schema. However, within a large sibling set containing several campaign-fetching tools, the lack of selection guidance and return-value information leaves clear gaps.
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?
The schema covers the single campaignId parameter, so the baseline is 3 even though the tool description adds no parameter-level detail. The schema's parameter description is somewhat tautological, but the parameter name and required flag provide enough basic information for invocation.
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 clear action and resource: 'Get campaign through the eBay Marketing API.' It is not a bare tautology and the singular 'campaign' suggests this retrieves one campaign. However, it does not specify that identification is by campaignId or differentiate this tool from siblings like ebay_get_campaigns or ebay_get_campaign_by_name.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_get_campaigns, ebay_get_campaign_by_name, or ebay_find_campaign_by_ad_reference. No exclusions, prerequisites, or typical use cases are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_campaign_by_nameCRead-only
Get campaign by name through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignName | Yes | campaignName required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The read-only behavior is already declared by readOnlyHint=true, and the description adds only the lookup key ('by name') with no extra behavioral context such as exact-match requirements, case sensitivity, or return behavior. It is not contradictory, but it adds minimal value beyond the annotation.
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?
One sentence with the key lookup semantics front-loaded and no meaningful bloat. 'Through the eBay Marketing API' is mildly redundant given the ebay_ prefix, but it does not detract much.
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 one-parameter read-only getter, the description conveys the core call shape, but it lacks explicit distinction from nearby get/list/find campaign tools and gives no hint of response shape or edge behavior. It is adequate for invoking the tool, but incomplete for confident selection.
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?
The single parameter has a schema description, so the baseline is 3. The phrase 'by name' gives some semantic meaning to campaignName, but it does not explain format, exact-match semantics, or how the name maps to a unique campaign.
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?
States a clear verb ('Get') and resource ('campaign') with the lookup key 'by name', which is semantically useful and implicitly distinguishes it from id-based campaign lookups. It does not explicitly contrast with sibling tools such as ebay_get_campaign or ebay_get_campaigns, so differentiation is left to inference.
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?
No guidance on when to use this tool versus ebay_get_campaign, ebay_get_campaigns, ebay_find_campaign_by_ad_reference, or other campaign-related siblings. The agent must infer selection entirely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_campaignsCRead-only
Get campaigns through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| channels | No | channels optional endpoint parameter | |
| campaignName | No | campaignName optional endpoint parameter | |
| endDateRange | No | endDateRange optional endpoint parameter | |
| campaignStatus | No | campaignStatus optional endpoint parameter | |
| startDateRange | No | startDateRange optional endpoint parameter | |
| fundingStrategy | No | fundingStrategy optional endpoint parameter | |
| campaignTargetingTypes | No | campaignTargetingTypes optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a read-only operation, so the description adds no new behavioral context. It does not mention pagination behavior, response shape, defaults when no filters are supplied, or any API-specific constraints, failing to go beyond what the annotation already provides.
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 efficient sentence with no wasted words. It front-loads the verb and resource, making it easy to scan. However, its brevity is achieved by omitting important details, which slightly reduces its value as a complete description.
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?
With no output schema, nine optional parameters, and unhelpful schema descriptions, the one-sentence description is insufficient. It does not explain the purpose of limit/offset, how filters like campaignName or campaignStatus work, or what the response contains, leaving the agent with inadequate information to invoke the tool correctly.
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?
Although schema description coverage is 100%, the schema descriptions are tautological (e.g., 'limit optional endpoint parameter') and provide no real meaning. The tool description itself says nothing about the parameters, so an agent cannot determine what values are valid, how they interact, or what each filter does.
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 verb ('Get') and resource ('campaigns'), but it does not clarify whether this is a list/query operation or a singular fetch. It also fails to distinguish itself from sibling tools like ebay_get_campaign or ebay_get_campaign_by_name, leaving the agent uncertain about the operation's exact scope.
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?
No usage guidance is provided. The description does not indicate when to use this tool versus alternatives (e.g., ebay_get_campaign for a single campaign) or how the filter parameters map to different use cases. The agent is left without any decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_cancellation_requestsARead-only
Scan recent seller orders for cancellation requests. Calls Fulfillment API getOrders and returns orders whose cancelState is not NONE_REQUESTED (or that list cancel requests). Read-only helper — does not use the deprecated Post-Order API.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Optional Fulfillment getOrders filter expression (e.g. creationdate:[2024-01-01T00:00:00.000Z..2024-12-31T23:59:59.999Z]) | |
| maxResults | No | Maximum orders to scan via getOrders (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description reinforces this with 'Read-only helper.' It adds meaningful behavior beyond the annotation: it calls the Fulfillment API getOrders, filters on cancelState, avoids the deprecated Post-Order API, and specifies the required OAuth scope. No contradiction with annotations.
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 compact and front-loaded: the purpose appears in the first sentence, implementation detail follows, and the OAuth scope is appended cleanly. Every sentence earns its place with no filler or repetition of the tool name.
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?
Despite no output schema, the description explains what is returned (orders with cancelState not NONE_REQUESTED or cancel requests), necessary auth scope, and underlying API behavior. It is complete enough for an agent to invoke correctly, though pagination/date-range defaults are not explicitly spelled out.
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 coverage is 100%, so the schema already documents filter and maxResults well. The description adds little parameter-specific detail beyond saying 'recent seller orders' and 'via getOrders,' which is enough for a baseline 3 since the schema carries the parameter semantics.
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 verb ('Scan') and resource ('seller orders for cancellation requests'), and explicitly says it calls Fulfillment API getOrders and filters by cancelState. This clearly distinguishes it from the sibling ebay_get_orders, which returns all orders.
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 intended use case is clear: scan recent seller orders for cancellation requests. It also states it is a read-only helper and does not use the deprecated Post-Order API, giving useful routing context. However, it does not explicitly name ebay_get_orders as the alternative when unfiltered orders are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_category_policiesC
Get category policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states 'Get' implying read-only, but it does not mention required permissions, rate limits, error conditions (e.g., invalid marketplaceId), or what happens if the marketplace has no policies. This is a significant gap for a fetching 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, front-loaded sentence of 5 words, which is very concise. While it could benefit from more detail, the brevity avoids verbosity. Every word earns its place, but the underspecification prevents a higher score.
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?
Given the tool has 2 parameters (one optional) and no output schema, the description should compensate by explaining return values, the meaning of 'category policies', and the effect of the filter parameter. It does none of this, leaving the agent with insufficient context to use the tool effectively.
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 coverage is 100%, so baseline is 3. However, the description adds no meaning beyond the schema—'filter' is just 'Filter criteria' and 'marketplaceId' is documented as an enum. The description does not elaborate on their purpose or relationship.
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 'Get category policies for a marketplace' clearly identifies the action (get) and resource (category policies) with a scope ('for a marketplace'). While it distinguishes from sibling policy tools by specifying a different type of policy, it lacks context on what category policies entail (e.g., return policies vs. payment policies), which slightly reduces clarity.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_return_policy or ebay_get_payment_policy. Given the abundance of sibling tools for various policies, the absence of usage context makes it harder for an agent to select the appropriate tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_category_suggestionsB
Get category suggestions based on query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for category suggestions | |
| categoryTreeId | Yes | Category tree ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose whether the operation is read-only, requires authentication, or has side effects. The simple 'get' implies a read, but explicit behavioral traits are missing.
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?
Single sentence effectively communicates the core action. No unnecessary words, making it highly concise and front-loaded.
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 retrieval tool with two parameters and no output schema, the description minimally covers purpose but omits details about the nature of suggestions and expected output. Adequate but not complete.
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 100% with both parameters described. Tool description adds no additional meaning beyond what the schema provides. Baseline score of 3 is appropriate.
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?
Description states the tool gets category suggestions based on a query, which is clear and specific. It distinguishes from sibling tools like ebay_get_category_tree, as none other focus on suggestions. However, it largely restates the tool name, adding only 'based on query'.
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?
No guidance on when to use this tool versus alternatives. Description lacks any context about prerequisites, limitations, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_category_treeB
Get category tree by ID
| Name | Required | Description | Default |
|---|---|---|---|
| categoryTreeId | Yes | Category tree ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the action, omitting details like whether the operation is read-only, if there are rate limits, or what the response contains. The agent lacks information about side effects or data scope.
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 sentence, directly conveying the core purpose with no extraneous words. It is front-loaded and efficient.
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?
Given the simplicity (one parameter, no output schema), the description is minimally adequate. However, it lacks information about the return value (the category tree structure) and any dependencies on other tools, which would improve completeness.
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?
The input schema has 100% coverage for the single parameter, describing it as 'Category tree ID'. The description does not add additional context beyond the schema, so a baseline score of 3 is appropriate.
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 'Get category tree by ID' clearly states the verb and resource, making it unambiguous what the tool does. However, it does not differentiate from siblings like ebay_get_default_category_tree_id, which might be a prerequisite.
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?
No guidance on when to use this tool versus alternatives such as ebay_get_default_category_tree_id or other category-related tools. The description offers no context about prerequisites or typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_charity_orgARead-only
Charity API: get one charitable organization supported by eBay for Charity by charityOrgId (from ebay_get_charity_orgs): name, mission statement, description, logo, location, registration ID (EIN on EBAY_US) and website. Supports marketplaceId EBAY_US or EBAY_GB only. Uses an application (client-credentials) token, so EBAY_CLIENT_ID and EBAY_CLIENT_SECRET are enough; no user consent is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| charityOrgId | Yes | eBay charitable organization ID (charityOrgId from ebay_get_charity_orgs) | |
| marketplaceId | Yes | Marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header: EBAY_US or EBAY_GB |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already covering the safety profile, the description adds genuinely useful behavior: it requires only an application (client-credentials) token with EBAY_CLIENT_ID/EBAY_CLIENT_SECRET, no user consent, and it documents the two supported marketplaces. This is more than the annotations provide.
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?
Front-loaded with purpose, then return fields, then marketplace constraint, then auth model in a compact form. The field enumeration is slightly list-heavy, but every clause carries information an agent needs for this endpoint.
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 single-resource read with no output schema, the description supplies returned fields, required ID provenance, allowed marketplaces, and the exact credential model. Nothing an agent needs to call this correctly is missing.
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 100%, so both parameters are already fully documented, including the enum and the fact that marketplaceId is sent as the X-EBAY-C-MARKETPLACE-ID header. The description only restates the enum and the charityOrgId provenance, adding no meaning beyond the schema, so the baseline 3 applies.
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?
States a specific verb and resource ('get one charitable organization') and explicitly distinguishes itself from the plural sibling by sourcing charityOrgId from ebay_get_charity_orgs. It also enumerates the returned fields, so an agent knows exactly what this retrieves.
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?
Gives clear context: use it to fetch a single org by ID obtained from ebay_get_charity_orgs, and it works only for marketplaceId EBAY_US or EBAY_GB. It does not name an alternative or an explicit when-not condition beyond the marketplace restriction, but the routing to the list tool is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_charity_orgsARead-only
Charity API: search charitable organizations supported by eBay for Charity, either by keywords (q) or by comma-separated registrationIds; supply exactly one. Paginated with limit (1-100) and offset (0-10000). Supports marketplaceId EBAY_US or EBAY_GB only. Uses an application (client-credentials) token, so EBAY_CLIENT_ID and EBAY_CLIENT_SECRET are enough; no user consent is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords matched against charity name, mission statement and description. Supply q or registrationIds, not both. | |
| limit | No | Results per page, 1-100 (eBay default 20) | |
| offset | No | Results to skip, 0-10000 (eBay default 0) | |
| marketplaceId | Yes | Marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header: EBAY_US or EBAY_GB | |
| registrationIds | No | Comma-separated charity registration IDs (the EIN on EBAY_US), at most 20. Supply q or registrationIds, not both. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, it discloses the auth model (application/client-credentials token, no user consent needed) and the marketplace scoping plus pagination limits — genuinely useful context not available in structured fields. It does not describe result ordering or response shape, but the safety and auth profile is well covered.
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?
Front-loads what the tool does and then packs constraints and auth into a few dense sentences with no filler. Slightly overstuffed but every sentence carries usable information.
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 read-only search tool with no output schema and only a readOnlyHint annotation, the description covers the required inputs, mutual exclusion, marketplace restriction, pagination, and credential requirements. Only the shape of returned charity records is left unstated, which is a minor gap.
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 100%, so q, limit, offset, marketplaceId and registrationIds are all already documented, including the mutual-exclusivity rule. The description mostly restates the schema's own constraints rather than adding new semantics, so the baseline 3 applies.
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?
States a specific verb (search) and resource (charitable organizations supported by eBay for Charity), and clarifies the two lookup modes (keyword q vs. registrationIds). An agent can distinguish this from the singular ebay_get_charity_org sibling based on the search/by-IDs framing.
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?
Gives clear operational conditions: supply exactly one of q or registrationIds, marketplaceId limited to EBAY_US/EBAY_GB, and pagination bounds. It does not explicitly contrast with ebay_get_charity_org (single-org lookup), so alternatives are implied rather than named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_classified_ad_policiesC
Get classified ad policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of disclosing behavioral traits. It does not mention read-only nature, authentication requirements, or error handling (e.g., invalid marketplaceId). The description is too brief to inform an agent about side effects or constraints.
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, complete sentence with no redundant information. It is front-loaded and efficiently communicates the core functionality.
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?
Given the lack of output schema and annotations, the description should provide more context, such as what the returned policies look like or what the 'filter' parameter expects. The description is insufficient for an agent to fully understand the tool's behavior and return value.
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 100%, with both parameters having basic descriptions ('Filter criteria' and 'Marketplace ID'). The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
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 clearly states the tool retrieves classified ad policies for a marketplace, using a specific verb+resource. The tool name itself differentiates it from similar policy tools like 'ebay_get_category_policies' or 'ebay_get_item_condition_policies', but the description does not explicitly distinguish it from siblings.
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 provides no guidance on when to use this tool versus alternatives. With a large set of sibling tools, such as many other policy retrieval tools, the lack of usage context is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_combined_shipping_rulesARead-only
Get the seller's combined-shipping configuration for one marketplace (Account API v2 getCombinedShippingRules): calculated, flat and promotional rules, handling rule, and the combined payment window. Rule IDs returned here are needed by the update tools. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Requires sell.account.readonly or sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already declares the safe-read profile, so the bar is lower; the description still adds auth scope requirements (sell.account.readonly or sell.account) and the required X-EBAY-C-MARKETPLACE-ID header, plus marketplace-scoping. It does not mention failure modes or rate limits, keeping it at 4.
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?
Purpose is front-loaded in the first clause, with supporting detail about returned rules, ID workflow, and auth after. Slightly dense with some schema-duplicated header info, but no wasted sentences.
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?
With no output schema, the description usefully enumerates the returned rule types and states auth/header prerequisites, which is what an agent needs to call it correctly. Minor gap: no pagination or response-shape detail.
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 coverage is 100% and the single enum parameter is fully documented in-schema. The description's note about the marketplaceId header largely restates the schema text, adding little new meaning, so baseline 3 applies.
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?
Specific verb + resource ('Get the seller's combined-shipping configuration for one marketplace') with an enumeration of the payload (calculated, flat, promotional rules, handling rule, payment window). It clearly distinguishes itself from sibling create/update shipping-rule tools by being the read-side entry point.
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?
Explicitly states the workflow relationship: 'Rule IDs returned here are needed by the update tools', routing the agent to ebay_update_calculated/flat/promotional_shipping_rule. No when-not guidance or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_compatibilities_by_specificationC
Get compatibilities by specification
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID | |
| specification | Yes | Compatibility specification object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only repeats the tool name, offering no information about read-only nature, authentication needs, or side effects.
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 sentence, but it is under-specified rather than concise. It fails to convey necessary information within a compact structure.
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?
Given the tool's complexity (nested objects, no output schema, many siblings), the description is completely inadequate. It provides no context on return values, filtering, or how to use the specification field effectively.
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?
While the input schema has 100% description coverage, the tool description adds no value in explaining the complex nested parameters or how to construct the specification object. Schema descriptions are present but the tool description does not help interpret them.
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 it 'gets compatibilities by specification', which indicates the action and resource, but it doesn't specify what type of compatibilities (e.g., automotive parts) and fails to distinguish from sibling tools like ebay_get_product_compatibilities.
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?
No usage guidance is provided. The description does not indicate when to use this tool versus other compatibility-related tools such as ebay_get_compatibility_property_names or ebay_get_product_compatibilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_compatibility_property_namesC
Get compatibility property names
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Compatibility property-name request data | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as read-only nature, side effects, or permissions required. The name implies a read operation, but this is not explicit.
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 concise sentence, front-loaded with the key action. However, it could benefit from slight expansion for clarity.
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?
Given the complexity of the tool with nested input parameters and no output schema, the description is too brief. It does not explain what property names are, expected output format, or how it relates to other compatibility tools.
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 coverage is 100%, so all parameters have descriptions. The description adds no additional meaning beyond what the schema already provides, resulting in a baseline score of 3.
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 clearly states 'Get compatibility property names' which is a specific verb+resource. It indicates what the tool does, but does not differentiate from sibling tools like 'ebay_get_compatibility_property_values' or 'ebay_get_compatibilities_by_specification'.
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?
No usage guidelines are provided. The description does not specify when to use this tool vs alternatives, nor does it include preconditions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_compatibility_property_valuesC
Get compatibility property values
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Compatibility property-value request data | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose any behavioral traits such as read-only nature, required permissions, or side effects. The agent cannot infer behavior beyond the name.
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 sentence but is under-specified. It is not front-loaded with key details; it omits important scoping information.
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?
No output schema is provided, and the description does not explain what the tool returns. Given the complexity of the input and many sibling tools, the description is incomplete.
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?
Input schema coverage is 100%, so parameters are described in the schema. However, the description adds no additional meaning or usage hints for complex structures like propertyFilters.
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 'Get compatibility property values' specifies a verb and resource, but it is vague and does not differentiate from siblings like ebay_get_compatibility_property_names or ebay_get_multi_compatibility_property_values. It lacks clarity on what exactly 'compatibility property values' means.
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?
No guidance is provided on when to use this tool versus alternatives. With many compatibility-related sibling tools, the agent has no basis to choose this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_consign_preferencesA
Get consign preferences for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond the obvious read-only nature inferred from 'Get'. It does not mention authentication requirements, rate limits, or any side effects.
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 efficient sentence, front-loaded with the action and resource. No wasted words.
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?
Given the simplicity of the tool (no parameters, no output schema), the description is adequate but could note that preferences are set via ebay_create_consign_preference. The missing output schema reduces completeness slightly.
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?
There are no parameters, and schema description coverage is 100%. The description adds the scope 'for international shipping', which provides context beyond the empty schema. Per guidelines, 0 parameters yields a baseline of 4.
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 clearly states the verb 'Get' and the resource 'consign preferences', with a specific scope 'for international shipping'. It distinguishes effectively from siblings like ebay_create_consign_preference.
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?
No guidance is provided on when to use this tool versus alternatives, such as when to retrieve consign preferences versus create them. The description lacks context for optimal invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_conversationC
Get a specific conversation by ID
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (25-50) | |
| offset | No | Number of items to skip | |
| conversationId | Yes | The unique identifier for the conversation | |
| conversationType | Yes | Type of conversation: FROM_EBAY or FROM_MEMBERS |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states 'Get a specific conversation' without disclosing behavioral traits such as read-only nature, error handling (e.g., if conversation not found), or any side effects. For a retrieval tool, this is minimal but not misleading.
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 sentence, which is concise but lacks detail that could help the agent. It is not overly verbose, but brevity comes at the cost of completeness.
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?
No output schema is provided, and the description does not explain what the response contains (e.g., full conversation details, message list). Given the complexity of eBay conversations, this is incomplete.
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 coverage is 100% with good descriptions for each parameter. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
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 clearly states the verb ('Get') and resource ('specific conversation'), but does not explicitly distinguish from sibling tools like ebay_get_conversations which lists conversations. The name itself suggests specificity, but the description could be more explicit.
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 provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, when-not to use, or relationship to sibling tools like ebay_get_conversations or ebay_send_message.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_conversationsB
Get all buyer-seller conversations (paginated)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (25-50) | |
| offset | No | Number of items to skip | |
| endTime | No | End time for retrieving conversations (ISO 8601 format) | |
| startTime | No | Start time for retrieving conversations (ISO 8601 format) | |
| referenceId | No | Filter by reference ID (e.g., listing ID) | |
| referenceType | No | Reference type (currently only LISTING is supported) | |
| conversationType | Yes | Type of conversation: FROM_EBAY or FROM_MEMBERS | |
| conversationStatus | No | Filter by status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD | |
| otherPartyUsername | No | Filter by specific eBay user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions 'paginated' but omits details like default pagination size, authentication requirements, or output structure. Full burden falls on description, which is insufficient.
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?
Extremely concise at 5 words, front-loaded with key info. However, slight trade-off with completeness; could expand slightly without losing efficiency.
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?
With 9 parameters and no output schema, the description provides minimal context. It does not explain the meaning of parameters or the nature of conversations, leaving gaps for the agent.
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 coverage is 100%, so each parameter has a description. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
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?
Description uses specific verb 'Get' and identifies resource 'buyer-seller conversations', clearly distinguishing from sibling 'ebay_get_conversation' (singular). The term 'paginated' adds useful scope.
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?
No guidance on when to use this tool vs. alternatives like ebay_get_conversation or other retrieval tools. Lacks context for selection among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_currenciesC
Get currencies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose what happens with invalid marketplaceId, response format, or auth requirements. The brevity leaves behavioral gaps.
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?
Very short and to the point. No wasted words, but could be slightly more informative without harming conciseness.
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 tool with one enum parameter and no output schema, the description is minimally adequate. It lacks explanation of response format or edge cases, but the context signals indicate low complexity.
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 coverage is 100% with a clear enum parameter named 'marketplaceId'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
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 clearly states the verb 'Get' and resource 'currencies for a marketplace'. It distinguishes from siblings that deal with listings, campaigns, etc. However, it could be more precise, e.g., 'Get the currency code(s) used in a specific eBay marketplace'.
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?
No guidance on when to use this tool versus other get tools. No mention of prerequisites or context for invoking it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_customer_service_metricC
Get customer service metrics
| Name | Required | Description | Default |
|---|---|---|---|
| evaluationType | Yes | Evaluation type, e.g., CURRENT or PROJECTED | |
| evaluationMarketplaceId | Yes | Marketplace ID used for the evaluation | |
| customerServiceMetricType | Yes | Customer service metric type, e.g., ITEM_NOT_AS_DESCRIBED |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only indicates a read operation ('get'), but does not disclose behavioral traits like required permissions, rate limits, or return format. With zero annotation coverage, the description carries the full burden and is insufficient.
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 very short (3 words), which is concise but sacrifices necessary detail. It is minimally structured but not wasteful.
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?
Given 3 required parameters and no output schema, the description should explain what the tool returns or the purpose of the metrics. The current description is too sparse to fully understand the tool's functionality.
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 100%, so the schema already documents each parameter. The description adds no additional meaning beyond the parameter names (e.g., 'customerServiceMetricType'). Baseline score of 3 is appropriate.
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 'Get customer service metrics' identifies a verb and resource, but is vague. It does not specify what types of metrics or how they relate to other tools like ebay_get_seller_standards_profile or ebay_get_feedback.
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?
No guidance on when to use this tool versus alternatives such as ebay_get_seller_standards_profile or ebay_get_feedback_rating_summary. The description lacks context for deciding between reporting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_customer_service_metric_taskARead-only
Get one Feed API customer service metric report task by taskId: status, filter criteria and timestamps. Requires sell.analytics.readonly.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read nature is covered. The description adds behavioral context beyond that by stating the required authorization scope ('Requires sell.analytics.readonly') and by naming returned fields ('status, filter criteria and timestamps').
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 short and front-loads the core action and resource in the first sentence. The second sentence adds the authorization requirement without waste, though the returned-field list is somewhat terse.
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 single-parameter read tool with no output schema, the description gives the essential context: what it retrieves, the key returned fields, and the required authorization scope. It does not describe error behavior or the full response structure, but those gaps are minor for this tool's simplicity.
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 100%, so the schema already documents taskId as 'Feed task ID, from the Location of a create call or a task list.' The description only says 'by taskId' without adding format or sourcing details beyond the schema.
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 verb and resource: 'Get one Feed API customer service metric report task by taskId.' The singular 'one' and 'by taskId' implicitly distinguish it from the sibling list tool ebay_get_customer_service_metric_tasks, but it does not explicitly name that alternative or contrast the two.
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 phrase 'Get one ... by taskId' implies the use case: retrieving a single task when its taskId is known. However, there is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_customer_service_metric_tasksARead-only
List Feed API customer service metric report tasks (CUSTOMER_SERVICE_METRICS_REPORT), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.analytics.readonly.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | No | CUSTOMER_SERVICE_METRICS_REPORT (the only supported value) | |
| dateRange | No | Task creation window in UTC, e.g. 2026-09-01T00:00:00.000Z..2026-09-08T00:00:00.000Z (at most 90 days); do not combine with lookBackDays | |
| lookBackDays | No | Search tasks created in the last 1-90 days (eBay default 7); do not combine with dateRange |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares the safety profile, so the description adds the things annotations do not: the required scope sell.analytics.readonly and the mutually exclusive filter modes. It says nothing about result volume/ordering or what a returned task contains, but with the read-only profile covered, this is above the annotation baseline.
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?
A single front-loaded sentence that names the resource, the fixed filter value, the exclusivity rule, the paging mechanism and the auth scope. No filler, no repetition, and the most important identifier comes first.
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?
With 5 fully documented parameters, no output schema and no nesting, the description covers what is needed to invoke the tool correctly: resource, filters, paging and permissions. Only minor gaps remain (whether feedType may be omitted, and ordering of results), which are not essential to a correct call.
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 100% — every parameter (limit, offset, feedType, dateRange, lookBackDays) already documents ranges, defaults and the 'do not combine' rule. The description restates the mutual exclusivity and mentions limit/offset paging but adds no syntax or semantics beyond the schema, so baseline 3 applies.
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?
Specific verb+resource ('List Feed API customer service metric report tasks') plus scope (feedType CUSTOMER_SERVICE_METRICS_REPORT) and paging/filter behavior. It is distinguishable from the singular ebay_get_customer_service_metric_task by the plural 'tasks' and listing semantics, though no sibling is named explicitly, which keeps it just short of a 5.
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?
Gives a clear usage constraint (filter by dateRange OR lookBackDays, not both) and the required OAuth scope (sell.analytics.readonly), which is real prerequisite context. It does not, however, route the agent between this listing tool and ebay_get_customer_service_metric_task / ebay_create_customer_service_metric_task, so no explicit alternatives are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_custom_policiesBRead-only
Retrieve custom policies defined for the seller account
| Name | Required | Description | Default |
|---|---|---|---|
| policyTypes | No | Comma-delimited list of policy types to retrieve (e.g., PRODUCT_COMPLIANCE, TAKE_BACK) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a safe read operation, and the description aligns with it by using 'Retrieve.' The description adds minimal context by scoping results to the seller account, but it does not disclose behaviors such as pagination, empty result behavior, or whether omitting policyTypes returns all policy types. With annotations covering the read-only nature, the description adds some but limited value.
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 clear sentence that front-loads the verb and resource. There is no redundant wording, and it earns its place by communicating the core purpose without filler or structural clutter.
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?
The tool is fairly simple: one optional parameter, no output schema, and a read-only annotation. However, the description leaves ambiguity about what 'custom policies' includes, when the policyTypes parameter should be used, and whether omitting it returns all types. The lack of any usage guidance or output description makes this minimally complete but with clear gaps.
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 100%, with the parameter fully described as a comma-delimited list with examples. The tool description itself adds no additional meaning about the parameter, such as default behavior when omitted or valid values beyond the schema examples. Baseline 3 is appropriate because the schema carries the semantic weight.
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 clear verb+resource combination: 'Retrieve custom policies defined for the seller account.' This clearly indicates the operation and scope. However, it does not explicitly distinguish itself from sibling tools like ebay_get_custom_policy or other policy retrieval tools such as ebay_get_fulfillment_policies, so it lacks explicit sibling differentiation.
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 provides no guidance on when to use this tool instead of alternatives. It does not mention that this is for listing custom policies in bulk, that policyTypes can filter the results, or that a singular getter (ebay_get_custom_policy) exists for retrieving one policy. There are no exclusions or conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_custom_policyBRead-only
Get a specific custom policy by ID
| Name | Required | Description | Default |
|---|---|---|---|
| customPolicyId | Yes | The custom policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the readOnlyHint annotation. It merely restates the action ('Get') without disclosing return format, error behavior, rate limits, or any side effects. Since annotations already cover safety, the bar is lower, but the description itself contributes no additional behavioral transparency beyond the annotation.
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, front-loaded sentence with zero wasted words. It directly states the action and the scope without any filler or redundancy.
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 one-parameter, read-only getter, the description plus schema and annotation are largely sufficient. The agent knows the tool's purpose and the required input. It is less than perfect because it does not mention what is returned (e.g., the policy object) or any error conditions, but the low complexity keeps this a minor gap.
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 100% (customPolicyId is described as 'The custom policy ID'), so the schema already fully documents the only parameter. The description's 'by ID' phrasing adds no meaning beyond the schema, so the baseline of 3 applies with no extra credit.
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 verb ('Get') and resource ('specific custom policy by ID'), making it clearly distinct from the plural-list sibling ebay_get_custom_policies and from create/update/delete counterparts. The 'by ID' qualifier precisely scopes the operation, so an agent can tell it apart without needing to open the schema.
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 gives no guidance on when to use this tool versus the many sibling getters, especially ebay_get_custom_policies (which lists policies). There is no stated alternative, prerequisite, or condition like 'use this when you have a policy ID.' Usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_default_category_tree_idB
Get the default category tree ID for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID (e.g., EBAY_US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavior for invalid marketplaceId, return format, or error handling. Minimal information beyond purpose.
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?
Single sentence, very concise, but overly brief for a tool lacking output schema. Could include more detail without being verbose.
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?
No output schema; description fails to explain return value (e.g., a string ID) or error scenarios. Minimal context given tool's simplicity, but still incomplete.
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 coverage is 100% with a single parameter described. The description adds little beyond the schema (just provides an example). Baseline of 3 is appropriate.
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 clearly states the tool retrieves the default category tree ID for a marketplace, using specific verb 'Get' and resource 'default category tree ID'. It distinguishes from sibling tools like ebay_get_category_tree which retrieves the full tree.
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?
No guidance on when to use this tool versus alternatives, such as needing this ID to call ebay_get_category_tree. Lacks context about prerequisite steps or workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_documentARead-only
Get listing document metadata and processing status. Only ACCEPTED documents may be attached to listings. Does not download document bytes. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the read-only nature is known. The description adds useful behavioral detail beyond annotations: no byte download, required sell.inventory scope, and the ACCEPTED status constraint. This enriches the agent's understanding without contradicting the annotation.
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 compact and front-loaded: the first sentence states the purpose, and each subsequent sentence adds distinct information (usage constraint, no-download, auth scope). There is no redundant or filler content.
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?
The tool is simple with one parameter and a readOnly annotation, and the description covers core purpose, auth, and no-download behavior. However, with no output schema, it does not explain what metadata/status fields are returned, error behavior, or how to obtain documentId, leaving important details to inference.
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?
The input schema has 0% description coverage for documentId, and the description does not mention the parameter at all. It fails to compensate for the schema gap—no explanation of what documentId is, how to obtain it, or its format. The agent is left with only the parameter name to infer meaning.
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?
States a specific verb 'Get' with a clear resource: 'listing document metadata and processing status'. It also distinguishes itself from download tools by explicitly stating 'Does not download document bytes', which is a meaningful sibling differentiation.
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?
Provides some usage context: 'Only ACCEPTED documents may be attached to listings' and 'Requires sell.inventory'. However, it does not explicitly name alternative tools or state when to use this tool versus others, leaving the when-not-to-use guidance mostly implied by the no-download clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_dropoff_sitesC
Get available dropoff sites for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden, but it only states the purpose. It does not mention pagination (though limit/offset hint at it), data freshness, authentication requirements, or what happens when no sites are found.
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 very concise—one sentence with 8 words. It is front-loaded with the key action and resource, but sacrifices necessary detail for brevity.
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?
Given no output schema and no annotations, the description is incomplete. It does not explain the structure of returned dropoff sites, any constraints, or how to handle the response. The tool's simplicity (two optional params) lowers the bar, but the description still falls short.
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?
The input schema has 0% description coverage for its two parameters (limit, offset). The description adds no meaning to these parameters, leaving the agent without any guidance on their purpose or valid values.
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 clearly states the action ('Get') and the resource ('available dropoff sites'), with a specific context ('for international shipping'). It effectively distinguishes from other eBay shipping tools by focusing on dropoff sites.
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?
No guidance is provided on when to use this tool, prerequisites, or alternatives. Among many sibling tools, there is no differentiation, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_email_campaignBRead-only
Get email campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| emailCampaignId | Yes | emailCampaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already indicates this is a read-only operation. The description merely says 'Get', which is consistent but adds no additional behavioral context such as required permissions, rate limits, or response format. Since the annotation covers safety, the description adds no value beyond it.
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 concise sentence that front-loads the action ('Get email campaign'). There is no unnecessary detail, making it efficient and appropriately sized.
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?
This is a simple get-by-ID operation with one parameter and no output schema. The description is minimal but sufficient to understand the tool's purpose. However, it does not clarify what the response contains or how it relates to ebay_get_email_campaigns, which could confuse an agent. Given the low complexity, it is acceptable but not comprehensive.
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?
The input schema has one parameter with 100% description coverage ('emailCampaignId required endpoint parameter'), so the schema already documents it. The description does not add any extra meaning, such as how to obtain the ID or any format constraints. Baseline of 3 applies for high schema coverage, and no added value is provided.
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 clear verb 'Get' and resource 'email campaign' via the eBay Marketing API, so the purpose is unambiguous. However, it does not distinguish itself from the sibling tool ebay_get_email_campaigns (plural), which likely lists all campaigns. The parameter emailCampaignId implies it fetches a single campaign by ID, but the description does not explicitly say that, leaving slight ambiguity.
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 provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used when a specific campaign ID is known, nor does it reference ebay_get_email_campaigns for listing campaigns. No exclusions, alternatives, or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_email_campaignsBRead-only
Get email campaigns through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | q optional endpoint parameter | |
| sort | No | sort optional endpoint parameter | |
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, so the description does not need to restate that. It adds only that the call goes through the eBay Marketing API and says nothing about pagination behavior, return shape, or endpoint-specific constraints, so value beyond the annotation is minimal.
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?
One short, front-loaded sentence with no wasted words. It is appropriately sized for a simple read-only getter, though the phrase 'through the eBay Marketing API' adds only mild context.
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 optional-parameter list call this is near-adequate: an agent can invoke it with no arguments and interpret the result. However, no output schema exists and the description does not state the return shape or explain the optional parameters, leaving small but real gaps.
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 100%, so the score rests at the baseline of 3. The parameter descriptions in the schema are tautological ('q optional endpoint parameter', etc.) and the tool description adds no meaning about how q, sort, limit, or offset behave.
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?
States a specific action ('Get') and resource ('email campaigns'), and the plural form signals a list operation distinct from the singular ebay_get_email_campaign sibling. It does not explicitly contrast itself with sibling tools like ebay_get_campaigns, so it stops short of full differentiation.
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?
Provides no guidance on when to use this tool versus alternatives such as ebay_get_email_campaign (single) or ebay_get_campaigns (regular campaigns). No exclusions, prerequisites, or selection criteria are offered, so the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_email_previewCRead-only
Get email preview through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| emailCampaignId | Yes | emailCampaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals that this is a safe read operation, and the description adds only the API context ('through the eBay Marketing API'). It does not disclose output format, authentication needs, rate limits, or any other behavioral trait beyond the annotation.
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 front-loaded sentence with no filler. It is concise but slightly thin; the API reference is somewhat redundant with the ebay_ prefix, though not harmful.
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 one-parameter read-only tool, the description is minimally sufficient: an agent can identify the action and the required ID. However, it does not clarify what a 'preview' returns or how this differs from the adjacent email campaign tools, leaving selection and expectation-setting partially incomplete.
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 100% because the single emailCampaignId parameter has a description, so the baseline is 3 even though the tool description itself adds no param semantics. The schema's description is largely tautological ('required endpoint parameter'), but the parameter name and requirement are discoverable.
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 uses the specific verb 'Get' with the resource 'email preview' and identifies the eBay Marketing API, so an agent can tell what operation is intended. It does not explicitly contrast with sibling tools like ebay_get_email_campaign or ebay_get_email_report, so sibling differentiation is only implied by the word 'preview'.
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?
There is no guidance on when to use this tool versus the many email campaign/report siblings, and no prerequisites or exclusions are given. An agent must infer selection entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_email_reportCRead-only
Get email report through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | endDate required endpoint parameter | |
| startDate | Yes | startDate required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description's 'Get' is consistent with that. However, the description adds no behavioral context beyond the annotation: no mention of rate limits, required authentication, date range semantics, output format, or page limits. With annotations present, the bar is lower, but the description still contributes almost nothing extra.
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, front-loaded sentence with no filler words. It communicates the core action and API context efficiently. It earns its place, though it could be slightly more informative without becoming verbose.
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 two-parameter tool with no output schema, the description leaves critical gaps: no date format specification, no explanation of what an 'email report' contains, and no relationship to the many sibling reporting tools. An agent would struggle to invoke this tool correctly without external documentation.
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 100%, so baseline is 3. The parameter descriptions ('endDate required endpoint parameter', 'startDate required endpoint parameter') are trivial and add no real meaning. The tool description adds no parameter details (e.g., date format, inclusive/exclusive bounds). The schema provides only the parameter names, not usable semantics.
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 verb and resource: 'Get email report'. This is clear and not a tautology. However, it does not distinguish this from sibling tools like ebay_get_report or ebay_get_promotion_summary_report, so it lacks explicit sibling differentiation.
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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools. An agent would not know if this is appropriate for a given task until consulting the schema or other context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_exclude_shipping_locationsARead-only
Metadata API: list the regions, countries and special locations (e.g. PO Box, APO/FPO) a seller can exclude from shipping on a marketplace. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID sent as the marketplace_id path parameter, e.g. EBAY_US | |
| acceptLanguage | No | Accept-Language header. Required for French Canada (EBAY_CA + fr-CA), French Belgium (EBAY_BE + fr-BE) and Dutch Belgium (EBAY_BE + nl-BE); EBAY_CA without it returns English Canada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description goes further by disclosing what is returned (regions, countries, special locations such as PO Box, APO/FPO) and a behavioral localization rule (acceptLanguage changes the returned metadata for CA/BE). With no output schema, it responsibly fills the return-value gap, though it omits pagination or size details.
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?
Three sentences, front-loaded with purpose, then localization guidance, then the downstream use. Every sentence carries information, though the acceptLanguage sentence partially overlaps the schema description.
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 read-only metadata lookup with no output schema, the description adequately conveys what is returned and the localization edge cases. It does not describe response shape or structure in depth, but combined with full schema coverage and annotations it is largely sufficient.
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 coverage is 100% and the schema already documents both parameters, including the exact acceptLanguage localization rules. The description restates the acceptLanguage codes and localization behavior, adding little beyond what the schema provides, so the baseline 3 is appropriate.
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?
States a specific verb (list) and resource (regions, countries and special locations a seller can exclude from shipping), scoped to a marketplace. This clearly distinguishes it from sibling lookup tools like ebay_get_shipping_locations or ebay_get_shipping_carriers without needing to open a schema.
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?
Explicitly routes the agent downstream: it says to use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy), which tells the agent why and when this is called. It lacks any explicit exclusion or prerequisite statement (e.g. auth requirements), so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_expired_categoriesARead-only
Taxonomy API: list expired leaf categories in a category tree with the active categories that replaced them (fromCategoryId to toCategoryId; several may merge into one). Only mapped (merged or split) categories are returned; an empty success (HTTP 204) means the tree has none.
| Name | Required | Description | Default |
|---|---|---|---|
| categoryTreeId | Yes | Category tree ID from ebay_get_default_category_tree_id, e.g. 0 for EBAY_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safe read-only nature. The description adds valuable behavioral context beyond annotations: it clarifies that only mapped (merged or split) categories are returned and explains the meaning of an empty success (HTTP 204). It does not mention authentication needs or rate limits, but for a simple taxonomy lookup this is adequate.
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 appropriately sized and front-loads the core purpose in the first clause. The parenthetical detail about fromCategoryId to toCategoryId and the follow-up sentence about empty results earn their place, though the 'Taxonomy API:' prefix is slightly redundant.
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?
Given the tool's low complexity (one required parameter, read-only annotation, no output schema), the description covers the essential purpose and return semantics, including the special empty-success case. It omits explicit when-to-use guidance, but that gap is minor for a taxonomy lookup.
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 100% for the single parameter categoryTreeId, and the schema already explains its meaning and example. The description adds no additional parameter-level detail, so the baseline score of 3 is appropriate.
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 verb and resource: 'list expired leaf categories in a category tree with the active categories that replaced them.' It is clear enough to distinguish from generic category tree tools by its focus on expired categories and replacement mappings. However, it does not explicitly name the alternative sibling tool (e.g., ebay_get_category_tree), which would be needed for a full 5.
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 provides no guidance on when to use this tool versus alternatives. It only describes the return behavior, such as 'empty success (HTTP 204) means the tree has none,' but never states the conditions under which an agent should call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_extended_producer_responsibility_policiesB
Get extended producer responsibility policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavioral traits. It implies a read-only operation, but does not disclose aspects like rate limits, authentication requirements, or what happens on invalid input. For a simple GET tool, this is adequate but not thorough.
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 one concise sentence with no unnecessary words. It is front-loaded and to the point, though could benefit from slightly more detail.
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?
The description lacks details about the output (return format) and the 'filter' parameter's purpose and usage. Given no output schema, the description should clarify what the agent can expect upon success.
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 coverage is 100% with parameter descriptions for 'filter' and 'marketplaceId'. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
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 clearly states the verb 'Get' and the resource 'extended producer responsibility policies' for a marketplace. It is specific and distinguishes this tool from siblings, as no other tool in the list has a similar resource name.
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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It simply states what it does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feedbackC
Get feedback for a user by type
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order for results | |
| limit | No | Maximum number of items to return per page (25-200) | |
| filter | No | Filter criteria for the query | |
| offset | No | Number of items to skip | |
| userId | Yes | The unique identifier (eBay username) of the user | |
| listingId | No | Filter by listing ID | |
| feedbackId | No | Filter by specific feedback ID | |
| feedbackType | Yes | Type of feedback (FEEDBACK_RECEIVED or FEEDBACK_SENT) | |
| transactionId | No | The unique identifier of the transaction | |
| orderLineItemId | No | Filter by order line item ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'get feedback', lacking details on whether this is a read-only operation, what the response format is, or any side effects. The schema parameters imply filtering but the description does not explain behavior beyond the basic action.
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 short sentence, which is efficient and front-loaded. It could benefit from a bit more detail, but it avoids verbosity and gets the core purpose across.
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?
Given no output schema and no annotations, the description is insufficient. It does not explain return structure, pagination (sort/limit/offset), or how to use the many optional filters. The long list of sibling feedback tools further highlights the need for more context to aid selection.
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 100%, so the schema already explains all 10 parameters. The description adds minimal value by mentioning 'by type', which loosely ties to the feedbackType parameter, but does not provide additional meaning beyond what's in the schema.
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 clearly states 'Get feedback for a user by type', specifying the verb (get), resource (feedback), and key filter (by user and type). This distinguishes it from sibling tools like 'leave_feedback_for_buyer' or 'respond_to_feedback', which are write operations.
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?
No guidance on when to use this tool versus alternatives like ebay_get_awaiting_feedback or ebay_get_feedback_rating_summary. Does not mention prerequisites, required authentication, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feedback_rating_summaryB
Get feedback rating summary for a user
| Name | Required | Description | Default |
|---|---|---|---|
| filter | Yes | Filter with required ratingType parameter | |
| userId | Yes | The unique identifier of the eBay user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure but only states the basic purpose. It omits whether the operation is read-only, if authentication is required, or any side effects.
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 concise sentence with no wasted words, though it could benefit from slight expansion for clarity.
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?
The tool has no output schema and only two parameters, but the description does not explain the return format or the 'filter' parameter's usage, leaving gaps for an AI agent.
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 100%, so baseline is 3. The description adds no extra meaning beyond the schema's clear 'userId' and 'filter' descriptions.
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 clearly states the verb 'Get' and resource 'feedback rating summary for a user', distinguishing it from sibling feedback tools like 'ebay_get_feedback' and 'ebay_leave_feedback_for_buyer'.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., ebay_get_feedback), nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_scheduleARead-only
Get one Feed API schedule by scheduleId: template, trigger settings, status and last run. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | Feed schedule ID, from ebay_create_feed_schedule or a list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds non-obvious domain constraints that annotations cannot carry: schedules exist only for LMS_ORDER_REPORT, and the operation requires the sell.fulfillment scope. That is real behavioral value beyond the annotation.
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?
Two dense sentences, front-loaded with the action and resource. No filler, no tautology, no redundancy with the schema or annotations.
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 single-param read with readOnlyHint and no output schema, the definition covers what the agent needs to call it correctly: what it returns, who can call it, and the only valid schedule type. The absence of output schema means return-value shape is not described, which is a minor gap but consistent with the API's idempotent read nature.
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 coverage is 100% and the schema description already explains the scheduleId origin. The description restates that the lookup is by scheduleId and ties the ID to a specific entity type, adding a small amount of context but not exceeding what the schema provides. Baseline 3 is raised slightly because the destination-constraint sentence reinforces what the ID must reference.
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?
States a specific verb (Get) and resource (Feed API schedule) with scope (by scheduleId) and enumerates what the returned entity contains (template, trigger settings, status, last run). Immediately distinguishes it from sibling create/update/delete_feed_schedule and from ebay_get_feed_schedules (plural list).
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?
Implicitly establishes the retrieval-by-ID usage pattern, and the scheduleId schema description names the alternative sources (ebay_create_feed_schedule or a list) for obtaining an ID. Does not explicitly say when to prefer this over ebay_get_feed_schedules, but context makes the singular/plural split unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_schedule_result_fileARead-only
Download the latest report a Feed API schedule generated (compressed or plain CSV, XML or JSON). Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | Feed schedule ID, from ebay_create_feed_schedule or a list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true in annotations already signals a safe read, but the description adds meaningful behavior the annotations do not: the result is an embedded resource carrying content type and file name, and files above 25 MiB are refused. That size cap and return-shape disclosure are exactly the kind of additional context that earns credit.
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?
Three compact sentences; the primary action is front-loaded, followed by return-format and size-limit details, then scope prerequisites. No filler, though the permission note could arguably live in a separate docs section rather than the tool blurb.
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?
With no output schema, the description must explain the return value — and it does, describing an embedded resource with content type and file name. Combined with the size limit and scope requirement, an agent has what it needs to invoke this correctly; only pagination/error semantics are unaddressed, which is minor here.
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 100% and the single scheduleId parameter is fully documented in the schema itself, including its provenance (from create_feed_schedule or a list). The description adds no parameter-level detail beyond that, so it meets the baseline of 3 when the schema does the heavy lifting.
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?
States a specific verb and resource — download the latest report generated by a Feed API schedule — and even enumerates the content formats (compressed/plain CSV, XML, JSON). An agent can distinguish it from the sibling ebay_get_feed_task_result_file because it explicitly scopes to reports a *schedule* generated.
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?
Adds concrete usage context: schedules exist only for LMS_ORDER_REPORT and require the sell.fulfillment scope. This tells the agent when the tool is applicable and what prerequisite access is needed, though it does not explicitly route the agent away from the similarly-named task-result sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_schedulesARead-only
List the seller's Feed API report schedules for a feedType (required), with limit/offset paging. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | Yes | Feed type; schedules exist only for LMS_ORDER_REPORT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation. The description adds meaningful behavioral context beyond the annotation: the only supported feed type and the required sell.fulfillment scope, which an agent needs in order to invoke it correctly.
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?
Two sentences, front-loaded with the core action and immediately followed by the critical constraint. Every sentence earns its place with no wasted wording.
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 read-only list tool with full schema parameter coverage, no output schema, and a readOnlyHint annotation, the description supplies everything needed: the action, required parameter, paging behavior, and the only valid feedType with its permission requirement.
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 100%, so the input schema already documents feedType, limit, and offset, including their defaults and constraints. The description reinforces that feedType is required and that limit/offset provide paging, but adds no syntax or format details beyond the schema.
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 verb and resource: listing the seller's Feed API report schedules for a required feedType with limit/offset paging. It is clearly distinguishable from sibling tools such as ebay_get_feed_schedule (singular), ebay_create_feed_schedule, and ebay_delete_feed_schedule.
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?
It gives important usage context: schedules exist only for LMS_ORDER_REPORT, and that feed type requires sell.fulfillment. It does not explicitly name alternative sibling tools or when not to use this one, but the constraint is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_schedule_templateARead-only
Get one Feed API schedule template by scheduleTemplateId: feed type, frequency and which schedule fields are required or optional (with defaults). Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleTemplateId | Yes | Schedule template ID from ebay_get_feed_schedule_templates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds meaningful scope context the annotations do not: the tool returns required/optional field metadata with defaults, and schedules only exist for LMS_ORDER_REPORT, which needs the sell.fulfillment scope. That scope requirement is real behavioral context not available in structured fields.
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?
A single dense sentence plus a short constraint clause. The verb+resource leads, the return contents follow, and the LMS_ORDER_REPORT/sell.fulfillment constraint is stated compactly with zero filler.
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?
Given one required param, 100% schema coverage, no output schema, and read-only annotations, the description is nearly complete: it covers what the tool does, what it returns, and the API-scope constraint. It stops short of explicitly telling the agent to fetch the ID via the list sibling or noting that non-LMS_ORDER_REPORT feed types will fail.
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 100% and the schema already documents the scheduleTemplateId parameter, so the baseline is 3. The description adds value by clarifying that the ID originates from ebay_get_feed_schedule_templates, matching the schema description but reinforcing the data source; it does not add format or validation nuance beyond the schema, keeping it just above baseline.
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?
States a specific verb and resource ('Get one Feed API schedule template by scheduleTemplateId') and enumerates what the response contains (feed type, frequency, required/optional schedule fields with defaults). An agent can identify the sibling ebay_get_feed_schedule_templates (plural) as the list counterpart, and the LMS_ORDER_REPORT scope pins down the API surface.
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 implicitly routes to ebay_get_feed_schedule_templates for obtaining the ID, but it never explicitly says when to call this vs. the sibling list tool or when to use the schedule template vs. an actual schedule (ebay_create_feed_schedule). Usage is implied by the required ID lookup rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_schedule_templatesARead-only
List the Feed API schedule templates for a feedType (required), with limit/offset paging; use a template ID with ebay_create_feed_schedule. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | Yes | Feed type; schedules exist only for LMS_ORDER_REPORT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds genuinely non-obvious behavior: only one valid feedType namespace and a required OAuth scope (sell.fulfillment). That is real context beyond the structured fields, though return shape is not described (no output schema).
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?
A single dense sentence front-loads the verb and resource, then packs paging, the sibling handoff, and the feasibility constraint without waste. Every clause 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 read-only list tool with full schema coverage and no output schema, the definition covers scope, paging, the downstream link, and auth prerequisites. Not describing the returned template object is acceptable given no output schema is declared.
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 coverage is 100%, so feedType, limit, and offset are already documented in the schema, including the LMS_ORDER_REPORT constraint and the 1-500 / default-10 paging bounds. The description adds the 'required' emphasis but no syntax or format beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb (List) and resource (Feed API schedule templates), scoped by a required feedType. This cleanly separates it from the singular sibling ebay_get_feed_schedule_template and from ebay_get_feed_schedules, which the agent can infer without opening any schema.
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?
Gives the follow-on path ('use a template ID with ebay_create_feed_schedule') and a hard precondition ('Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment'). It stops short of an explicit when-to-use-this-vs-singular-template rule, but the routing context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_taskARead-only
Get one Feed API task by taskId: feed type, status (QUEUED, IN_PROCESS, then COMPLETED or COMPLETED_WITH_ERROR when the file is ready), timestamps and the upload summary (success and failure counts). The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, but the description adds real context: the status lifecycle (QUEUED, IN_PROCESS, COMPLETED/COMPLETED_WITH_ERROR), that the file is ready at completion, and the OAuth scope requirements per feed type. This exceeds what annotations provide.
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?
Two sentences, purpose front-loaded, with the OAuth scope detail second. Efficient, though the parenthetical about reserved feed types is somewhat tangential to invoking the tool.
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?
With no output schema, the description helpfully enumerates the return fields and status progression, and covers the non-obvious OAuth scope dependence. An agent has enough to call it correctly, though it doesn't mention polling cadence or where to fetch the ready file.
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 100% and the schema already explains taskId's origin (from the Location of a create call or a task list). The description merely repeats 'by taskId' without adding format or constraint detail, so the baseline 3 applies.
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?
States a specific verb and resource - get one Feed API task by taskId - and enumerates the returned content (feed type, status, timestamps, upload summary). The singular 'one ... by taskId' clearly distinguishes it from the sibling ebay_get_feed_tasks list tool.
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?
Usage is only implied: retrieve a task's status/details after creating or listing feeds. There is no explicit when-to-use, no direction to the related siblings like ebay_get_feed_task_result_file, and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_task_input_fileARead-only
Download the file previously uploaded to a Feed API task (not available for LMS_ORDER_REPORT or LMS_ACTIVE_INVENTORY_REPORT tasks). Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description goes well beyond that by disclosing the 25 MiB size refusal, the embedded-resource return format, that eBay supplies the content type and file name, and the per-feed-type OAuth scope requirements. These are operationally important traits not present in the structured fields.
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?
Three sentences, front-loaded with the core action and immediately followed by the exclusion and return/limit details. The OAuth scope sentence is dense but earns its place by linking scope to feed type; slightly verbose but well organized.
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?
With no output schema, the description compensates by explaining the return as an embedded resource with content type and file name, plus a hard size limit and the auth scope. An agent has everything needed to call it and interpret the result; nothing material is missing.
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 coverage is 100% for the single taskId parameter, and the schema already documents its origin (Location of a create call or a task list). The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.
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?
States a specific verb+resource: download the file previously uploaded to a Feed API task. It clearly differentiates from the sibling ebay_get_feed_task_result_file by emphasizing 'previously uploaded' (the input file) rather than the result, and it scopes the operation via feed-type exclusions.
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?
Gives explicit when-not guidance by naming LMS_ORDER_REPORT and LMS_ACTIVE_INVENTORY_REPORT as unsupported feed types, and ties the required OAuth scope to specific feed types. It does not explicitly contrast with ebay_get_feed_task_result_file, but the 'previously uploaded' framing implies the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_task_result_fileARead-only
Download the result file of a Feed API task once it is COMPLETED or COMPLETED_WITH_ERROR: the generated report (order, inventory or customer service metric task IDs work too) or an upload's processing results, often csv.gz or zipped XML. Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=true, the description adds rich behavioral context: the result is returned as an embedded resource with content type and file name, files above 25 MiB are refused, and OAuth scope varies by feed type (sell.inventory for LMS listing/inventory, sell.fulfillment for LMS_ORDER_ACK/LMS_ORDER_REPORT). This goes well beyond what annotations provide.
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 front-loaded with the core action and then packs necessary constraints (status, file types, size limit, auth scopes) into a dense but well-organized sentence with no wasted words.
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?
Given the absence of an output schema and minimal annotations, the description covers all critical aspects an agent needs: when to call it, what it returns (embedded resource with content type and file name), size limits, and required OAuth scopes. Nothing essential is missing.
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 100%, so the single taskId parameter is already documented as coming from the Location of a create call or a task list. The description adds only minor context by noting that order, inventory, and customer service metric task IDs are also valid, which is useful but not essential beyond the schema.
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 verb ('Download') and resource ('result file of a Feed API task'), and explicitly distinguishes it from sibling tools such as ebay_get_feed_task_input_file and ebay_get_feed_task. It also names the task statuses required and the types of reports covered.
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?
It clearly specifies the condition for use ('once it is COMPLETED or COMPLETED_WITH_ERROR') and notes that order, inventory, and customer service metric task IDs also work. It does not explicitly name alternative tools or exclusions beyond the status requirement, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_feed_tasksARead-only
List Feed API tasks (uploads and downloads, on-demand and scheduled) by feedType or scheduleId (not both), filtered by dateRange or lookBackDays (not both), with limit/offset paging. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | No | Feed type, e.g. LMS_ORDER_REPORT, LMS_ORDER_ACK, LMS_ADD_FIXED_PRICE_ITEM or a Seller Hub feed type; do not combine with scheduleId | |
| dateRange | No | Task creation window in UTC, e.g. 2026-09-01T00:00:00.000Z..2026-09-08T00:00:00.000Z (at most 90 days); do not combine with lookBackDays | |
| scheduleId | No | Only tasks generated by this schedule; do not combine with feedType | |
| lookBackDays | No | Search tasks created in the last 1-90 days (eBay default 7); do not combine with dateRange |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes this is a safe read, but the description adds real context beyond the annotation: which OAuth scope is required per feed type (sell.inventory vs sell.fulfillment) and that sell.marketing and commerce.catalog.readonly feed types are reserved by eBay. Auth prerequisites are exactly the kind of non-obvious detail annotations cannot carry.
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?
Two tight sentences with the core operation and filtering rules front-loaded. The second sentence on OAuth scopes is dense but earns its length by covering auth requirements that would otherwise be invisible; no filler.
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 read-only list tool with annotations covering safety and no output schema, the description covers operation, filters, constraints, and auth scopes. It omits what the returned task records contain and how to chain to ebay_get_feed_task for details, which keeps it short of full completeness.
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 coverage is 100%, so the individual parameter descriptions, including the "do not combine with" notes and the 90-day limits, are already documented. The description mostly restates those same mutual-exclusion rules; only the per-feedType OAuth scope mapping is genuinely additive over the schema, so baseline 3 is right.
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?
States a specific verb and resource ("List Feed API tasks") and scopes it precisely to uploads/downloads and on-demand/scheduled tasks. It is clear enough to separate from ebay_get_feed_schedule(s) by contrast, but never explicitly distinguishes itself from the sibling ebay_get_feed_task (singular) that fetches one task, so it falls short of the 5 bar.
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?
Gives concrete filtering rules with mutual-exclusion constraints: feedType or scheduleId (not both), dateRange or lookBackDays (not both), plus limit/offset paging. It does not name a sibling alternative or state when this tool is the wrong choice, so it is clear context without full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_fulfillment_policiesBRead-only
Get fulfillment policies for the seller.
Required OAuth Scope: sell.account.readonly or sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID (e.g., EBAY_US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered by structured data. The description adds value by specifying the required OAuth scopes (sell.account.readonly or sell.account), which is useful auth context beyond the annotation. However, it does not disclose what the response contains, whether results are paginated, or how the list is ordered.
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 purpose sentence is short and front-loaded, and the two OAuth scope lines are compact and informative without redundancy. There is no wasted text. A slightly longer sentence differentiating from the singular-policy sibling would have improved it, but the current size is efficient.
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 one-parameter read tool, the schema and readOnlyHint cover the mechanical aspects of invocation, but the description leaves the critical distinction from ebay_get_fulfillment_policy and ebay_get_fulfillment_policy_by_name implicit. With no output schema and a very thin description, an agent choosing among roughly 200 siblings gets little disambiguating help.
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 100% — marketplaceId has a full enum of 41 values and a descriptive example ('eBay marketplace ID (e.g., EBAY_US)'). The description text itself adds nothing about the parameter, never even mentioning marketplaceId. Per the rubric, baseline 3 is correct when the schema does the heavy lifting.
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 verb and resource: 'Get fulfillment policies for the seller.' The plural 'policies' hints at a list operation that is distinct from the singular sibling ebay_get_fulfillment_policy, and 'fulfillment' disambiguates from payment/return/shipping policy tools. However, it does not explicitly call out that differentiation, relying on the plural noun to carry it.
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 offers no guidance about when to use this tool versus its close siblings such as ebay_get_fulfillment_policy, ebay_get_fulfillment_policy_by_name, or the payment/return policy listing tools. The only extra content is the OAuth scope requirement, which is a prerequisite rather than a usage rule. No alternatives, exclusions, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_fulfillment_policyARead-only
Get a specific fulfillment policy by ID
| Name | Required | Description | Default |
|---|---|---|---|
| fulfillmentPolicyId | Yes | The fulfillment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description's 'Get' wording is consistent with that. However, the description adds no further behavioral context such as what happens when the ID is invalid, whether the response is partial, or what fields are returned. This is acceptable for a simple read operation but adds no extra transparency beyond the annotation.
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 entire description is one short, front-loaded sentence with no filler or redundancy. Every word contributes meaning, and the key discriminating qualifier 'by ID' appears early.
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 one-parameter getter with a readOnlyHint annotation, the description is sufficient to guide invocation: the agent knows the action, the lookup key, and that it is a safe read. It does not describe the return value shape, but for an obvious 'get by ID' operation this is a minor gap rather than a critical omission.
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 100%: the schema already documents fulfillmentPolicyId as 'The fulfillment policy ID'. The description adds no additional semantic detail about the parameter, but none is needed given the schema fully describes it. This matches the baseline for high schema coverage.
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 uses a specific verb ('Get') and states the exact resource ('a specific fulfillment policy by ID'). The 'by ID' qualifier distinguishes it from sibling tools like ebay_get_fulfillment_policies and ebay_get_fulfillment_policy_by_name, so an agent can select the right operation confidently.
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 phrase 'by ID' clearly implies this tool should be used when the caller already has a fulfillmentPolicyId, rather than when listing policies or searching by name. It does not explicitly name alternatives or state exclusions, but the intended usage context is clear from the wording and the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_fulfillment_policy_by_nameBRead-only
Get a fulfillment policy by name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Policy name | |
| marketplaceId | Yes | eBay marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals a safe read operation, and the description's 'Get' is consistent. However, the description adds no additional behavioral context, such as whether a non-existent policy returns an error or what fields the policy object contains. It neither contradicts nor enriches beyond the annotation.
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 short sentence, which is concise but borderline under-specified. It essentially restates the tool name without adding context that would help an agent decide to use it. It is not verbose, but it also does not earn its place by conveying unique information.
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?
Given the simplicity of a getter with fully described parameters and no output schema, the description is minimally adequate. It does not mention what the returned policy looks like or any error conditions, but for a straightforward lookup this may be acceptable. Still, a note about the return structure would improve completeness.
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?
The schema description coverage is 100%: 'name' is described as 'Policy name' and 'marketplaceId' as 'eBay marketplace ID'. The description adds nothing beyond the schema, but since the schema fully documents both parameters, the baseline of 3 is appropriate.
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 the verb 'Get' and the resource 'fulfillment policy', with the modifier 'by name' distinguishing it from retrieval by ID or listing. It is clear but does not explicitly contrast with sibling tools like ebay_get_fulfillment_policy (which likely retrieves by ID) or ebay_get_fulfillment_policies (list).
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?
No guidance on when to use this tool versus alternatives. The description does not mention that this is the preferred choice when the policy name is known, or that ebay_get_fulfillment_policy should be used when an ID is available. An agent must infer the usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_handling_timesARead-only
Metadata API: list the handling times (maximum business days to ship after cleared payment, flagged when extended) a marketplace allows. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID sent as the marketplace_id path parameter, e.g. EBAY_US | |
| acceptLanguage | No | Accept-Language header. Required for French Canada (EBAY_CA + fr-CA), French Belgium (EBAY_BE + fr-BE) and Dutch Belgium (EBAY_BE + nl-BE); EBAY_CA without it returns English Canada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares this is a safe read, so the bar is low, yet the description adds real context: it identifies the Metadata API, explains what a handling time represents, and discloses the 'extended' flag and the localization constraints. It does not mention auth or rate limits, keeping it below 5.
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?
Three sentences, front-loaded with the core purpose before the parameter detail and downstream usage. Dense but no filler; slightly repetitive with the schema on acceptLanguage.
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?
No output schema exists, and the description compensates by sketching the return (handling times with an extended flag) plus the downstream consumer. Combined with the read-only annotation and complete schema, an agent has enough to call it correctly, though return-shape detail is thin.
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 100%, so both parameters are already documented in the schema, and the description largely restates the acceptLanguage localization rules. It adds only marginal meaning over the schema, matching the baseline 3.
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?
States a specific verb (list) and resource (handling times) with scoping ('a marketplace allows') and even defines the concept: 'maximum business days to ship after cleared payment, flagged when extended'. An agent can distinguish it from fulfillment-policy tools and other metadata listers without opening a schema.
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?
Explicitly routes the agent to a downstream use: 'Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).' It also tells when to supply acceptLanguage per marketplace. It stops short of stating when not to call this tool, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_handover_sheetC
Get handover sheet for packages
| Name | Required | Description | Default |
|---|---|---|---|
| trackingNumbers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond the action. It fails to mention authentication, rate limits, or side effects.
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 short sentence, which is concise but lacks structure and detail. It under-specifies the tool's purpose and behavior.
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?
Given the lack of annotations, output schema, and parameter descriptions, the description is severely incomplete. It does not explain what a handover sheet is or what the response contains.
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?
The only parameter 'trackingNumbers' is not described beyond its schema. With 0% schema description coverage, the description adds no meaning over the raw schema.
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 clearly states the action 'Get' and the resource 'handover sheet for packages'. However, among many sibling tools with similar 'get' prefixes, it does not differentiate itself from tools like ebay_get_tracking or ebay_get_labels.
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?
There is no guidance on when to use this tool versus alternatives. No context about prerequisites or conditions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_hazardous_materials_labelsB
Get hazardous materials labels for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not mention any side effects, required permissions, rate limits, or what the labels entail, leaving significant information unaddressed.
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 concise and front-loaded, consisting of one efficient sentence. It avoids verbosity but could benefit from slightly more structure or detail.
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 tool with one parameter and no output schema, the description is minimally adequate. However, it lacks information about the return format or expected output, which may be necessary for the agent to use the result correctly.
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?
The parameter 'marketplaceId' is fully defined in the schema with enums and a description. The description adds no additional meaning beyond the schema, achieving the baseline score.
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 clearly states the action ('Get hazardous materials labels') and the scope ('for a marketplace'). It is specific and distinguishes from siblings like 'ebay_get_product_safety_labels' by focusing on hazardous materials.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_itemB
Get a specific inventory item by SKU.
Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only mentions OAuth scopes and implies a read-only operation via 'Get', but does not describe return format, error handling, rate limits, or any side effects. This is insufficient for full transparency.
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 extremely concise: one line for the function and two lines for scopes. It is front-loaded with the core purpose. No superfluous information.
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?
Given the tool's simplicity (1 parameter, no output schema, no nested objects), the description is adequate for basic usage but lacks details about the return value, potential errors, or prerequisites beyond authentication. It does not fully equip an agent to handle edge cases.
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?
The input schema has 100% description coverage for the sole parameter 'sku', so the description adds no extra meaning. The baseline of 3 applies as the description does not compensate for any missing schema detail.
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 clearly states the action ('Get'), resource ('inventory item'), and identification method ('by SKU'). It effectively distinguishes from sibling tools like ebay_bulk_get_inventory_item (multi-item) and ebay_get_inventory_items (list).
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?
No explicit guidance on when to use this tool vs alternatives (e.g., bulk_get_inventory_item or get_inventory_items). Only OAuth scopes are listed, which are prerequisites, not usage context. The description assumes the agent knows to use it for a single item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_item_groupB
Get an inventory item group (variation group)
| Name | Required | Description | Default |
|---|---|---|---|
| inventoryItemGroupKey | Yes | The inventory item group key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations to lean on. Description only says 'Get an inventory item group' implying read-only, but doesn't disclose behavior on invalid keys, pagination, rate limits, or return format.
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?
Extremely concise—single phrase, no wasted words. Front-loaded with the essential action and resource.
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?
Minimal description lacks context about response, error handling, or relationship to other inventory group tools. Given no output schema and no annotations, the description is insufficiently complete.
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 coverage is 100% with a clear description for the single parameter. Description adds no extra meaning beyond what the schema already provides.
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?
Description clearly states the action (Get) and resource (inventory item group, with parenthetical 'variation group' for clarity). Unambiguous and distinguishes from sibling tools like ebay_get_inventory_item.
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?
No guidance on when to use this tool versus alternatives (e.g., ebay_bulk_get_inventory_item, ebay_get_inventory_items). No usage context or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_itemsC
Retrieve all inventory items for the seller.
Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of records to return | |
| offset | No | Number of records to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions OAuth scopes (authentication requirement) but does not state that the tool is read-only, what happens during retrieval (e.g., pagination behavior), or any other side effects. The description lacks sufficient behavioral context.
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 highly concise, with two sentences that directly state the purpose and required OAuth scope. No unnecessary words, and the essential information is front-loaded.
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?
Given that there is no output schema and no annotations, the description should provide more behavioral and contextual details (e.g., pagination, rate limits, response format). It only covers the OAuth requirement, leaving significant gaps for a retrieval tool in a large set of siblings.
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?
The input schema covers both parameters (limit, offset) with descriptions, achieving 100% coverage. The description does not add additional meaning beyond the schema, so it meets the baseline but does not exceed it.
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 clearly states the tool retrieves all inventory items for the seller, using a specific verb and resource. However, it does not distinguish from siblings like ebay_get_inventory_item (single item) or ebay_create_or_replace_inventory_item, which could be inferred from the name but lacks explicit differentiation.
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 provides the required OAuth scope as a prerequisite but does not indicate when to use this tool versus alternatives (e.g., ebay_get_inventory_item for a single item, or ebay_bulk_get_inventory_item for bulk retrieval). No exclusions or context for selection are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_locationB
Get a specific inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description should disclose behavioral traits like authentication requirements or the nature of the read operation. It only states 'Get', which implies read-only but lacks explicit details, leaving significant gaps.
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 sentence with no fluff, but it lacks any additional structure or context that would improve readability. It is concise but could be expanded slightly without losing efficiency.
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 read operation with one parameter, the description provides the core purpose. However, it omits any mention of return values, prerequisites, or error conditions, which would be helpful given no output schema.
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?
The schema has 100% coverage, describing the one parameter 'merchantLocationKey' as 'The merchant location key'. The description adds no additional meaning, so it meets the baseline but does not enhance understanding.
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 'Get a specific inventory location' clearly states the verb 'Get' and the resource 'inventory location', with 'specific' distinguishing it from sibling tools like ebay_get_inventory_locations which retrieves multiple locations.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_get_inventory_locations, or any prerequisites. The description is too minimal to aid in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_locationsC
Get all inventory locations
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of records to return | |
| offset | No | Number of records to skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only states the action without disclosing read-only nature, rate limits, pagination behavior, or response structure. The minimal description fails to convey behavioral traits.
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 sentence with no unnecessary words. It is appropriately concise for a straightforward list operation, though it could benefit from slight expansion.
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?
Given the tool's simplicity and full schema coverage, the description is minimally adequate. However, it lacks details about response format or use cases, and the absence of output schema reduces completeness.
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 coverage is 100% for both parameters (limit, offset). The description does not add any extra meaning beyond the schema, so it meets the baseline for high coverage.
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 clearly states the verb 'Get' and resource 'inventory locations'. It distinguishes itself from singular location retrieval tools (e.g., ebay_get_inventory_location) by implying plural, but does not explicitly highlight pagination or filtering behavior.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_inventory_location. There is no mention of prerequisites or contextual use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_taskARead-only
Get one Feed API active inventory report task by taskId: status, filter criteria and timestamps. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only; the description goes beyond them by stating the required OAuth scope ('Requires sell.inventory') and enumerating the fields returned. That auth/scope disclosure is genuinely useful context an agent cannot get from the schema. It stops short of describing pagination or failure behavior, so it isn't a 5.
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?
One compact sentence front-loads the resource and key, then appends the return contents and scope requirement with no filler. Every clause 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?
With no output schema, the description usefully summarizes the returned fields and the required scope, which is enough for an agent to call and interpret it. It lacks any note on error cases or what an inactive/complete task returns, a minor gap.
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 coverage is 100% and the single taskId parameter is already documented in the schema, including its origin (Location header of a create call or a task list). The description adds nothing beyond repeating 'by taskId', so the baseline 3 applies.
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?
Names a specific verb and resource: fetches a single Feed API active inventory report task by taskId, and lists what the response carries (status, filter criteria, timestamps). The word 'one' implicitly distinguishes it from the plural ebay_get_inventory_tasks, but the description never names that sibling explicitly, so the differentiation is left to inference.
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 'by taskId' phrasing implies this is a lookup after a task exists, but there is no explicit when-to-use versus ebay_get_inventory_tasks or ebay_get_feed_task. No exclusions or alternative routing are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_inventory_tasksARead-only
List Feed API active inventory report tasks (LMS_ACTIVE_INVENTORY_REPORT), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | No | LMS_ACTIVE_INVENTORY_REPORT (the only supported value) | |
| dateRange | No | Task creation window in UTC, e.g. 2026-09-01T00:00:00.000Z..2026-09-08T00:00:00.000Z (at most 90 days); do not combine with lookBackDays | |
| scheduleId | No | Reserved: eBay does not offer schedules for ActiveInventoryReport yet | |
| lookBackDays | No | Search tasks created in the last 1-90 days (eBay default 7); do not combine with dateRange |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description adds real value beyond the annotation: it discloses the required OAuth scope ('Requires sell.inventory'), the paging behavior, and the exclusive filter constraint. It stops short of describing the 90-day window limit and result shape, but the added context is solid.
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?
A single dense sentence with the verb and resource front-loaded and no filler. It is efficient, though the trailing 'Requires sell.inventory' prerequisite is tacked on and could have been integrated more cleanly.
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 read-only list tool with no output schema and full schema coverage, the description supplies the key operational facts an agent needs: feed type, filtering modes, paging, and auth scope. The absence of any hint about returned task fields is a minor gap given there is no output schema to lean on.
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 100%, so the schema already documents all six parameters including their bounds and mutual exclusivity. The description restates the 'not both' constraint and 'limit/offset paging' but adds no new syntax or format detail beyond the schema, making the baseline 3 appropriate.
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 gives a specific verb ('List') and a precise resource ('Feed API active inventory report tasks (LMS_ACTIVE_INVENTORY_REPORT)'), and names the concrete feed type, so the agent knows exactly which task family this returns. It does not, however, distinguish itself from near siblings like ebay_get_feed_tasks or ebay_get_inventory_task, so the reader must 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the mutual exclusivity of dateRange vs lookBackDays ('not both'), which is actionable filtering guidance. However, it never says when to reach for this tool versus the many other task-listing siblings (ebay_get_feed_tasks, ebay_get_report_tasks, ebay_get_order_tasks), leaving the alternative-selection decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_item_aspects_for_categoryA
Identify required and recommended item specifics for a category before creating an inventory item or checking listing fees
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | Yes | Category ID | |
| categoryTreeId | Yes | Category tree ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'Identify' implies a read-only lookup–useful but not stated. The description does not mention response format, pagination, or any constraints, though for a simple lookup this may be acceptable.
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?
A single clear sentence that front-loads the action and resource, then provides usage context. No filler words or redundant details.
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 two-parameter read tool with no output schema, the description covers the core purpose and a clear use-case. It could mention what the response contains, but the tool name and description already imply item-aspect data.
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 100% for both parameters ('Category ID' and 'Category tree ID'), so the description adds no additional parameter meaning. This meets the baseline for a well-documented schema.
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 uses a specific verb ('Identify') and clearly states the resource ('required and recommended item specifics for a category'). It conveys the purpose without repeating the tool name, but does not explicitly differentiate it from closely related sibling tools like ebay_get_category_policies.
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 gives concrete context for when to use the tool: 'before creating an inventory item or checking listing fees'. This is an explicit usage condition, though it does not name alternative tools or describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_item_condition_policiesB
Get item condition policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It states 'Get' implying a read operation, but provides no details about side effects, permissions, rate limits, or return behavior beyond the schema.
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, front-loaded sentence with no wasted words. It earns its place by being direct and minimal.
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?
Given low complexity and no output schema, the description is adequate but minimal. It does not explain what 'item condition policies' are or what the response contains, leaving some gap for an agent unfamiliar with eBay's taxonomy.
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 coverage is 100%, so baseline is 3. The description repeats 'for a marketplace' which echoes the marketplaceId parameter, but adds no additional meaning about 'filter' or the nature of the policies.
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 clearly states the verb 'Get' and the resource 'item condition policies' with scope 'for a marketplace'. It is specific and distinguishable from sibling tools like ebay_get_fulfillment_policy or ebay_get_return_policy, though it does not explicitly differentiate.
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?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, when it is appropriate, or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_item_detailsARead-only
Get full detail for one active eBay listing by its Browse RESTful item id (from ebay_find_active_items, e.g. "v1|110587051479|0"). Uses the Buy Browse API item resource. Returns cleaned details: title, price, condition and condition description, short description, category path, buying options, seller and feedback, estimated available quantity, returns-accepted flag, item location, auction end date, images, and listing URL. For the seller's own listings use ebay_get_listing (Trading) instead.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Browse RESTful item id from ebay_find_active_items (e.g. "v1|110587051479|0"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds useful behavioral context by naming the underlying API and enumerating the cleaned fields returned. It does not contradict the read-only annotation, and the extra detail helps the agent know what the operation returns.
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 compact and well-structured: purpose and input first, then API/source context, then return fields, then the sibling alternative. Each sentence earns its place and there is no filler.
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 single-required-parameter read-only tool with no output schema, the description is complete: it identifies the input, the source API, the returned fields, and the alternative tool when appropriate. An agent has enough information to select and invoke it correctly.
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 coverage is 100%, and the itemId parameter is already well documented in the schema. The description repeats the same provenance ('from ebay_find_active_items') but adds no new parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
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 clearly states the action ('Get full detail'), the resource ('one active eBay listing'), and the exact input type ('Browse RESTful item id'). It also names the sibling alternative (ebay_get_listing) for the seller's own listings, making differentiation explicit.
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 specifies when to use the tool: for active listings found via ebay_find_active_items, using the Buy Browse API. It also provides an explicit when-not condition and alternative: 'For the seller's own listings use ebay_get_listing (Trading) instead.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_item_price_markdown_promotionCRead-only
Get item price markdown promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already conveys that this is a safe read operation, and the description adds no further behavioral context. It does not mention potential failure modes, response format, or how to obtain the promotionId. While it does not contradict the annotation, it provides no additional transparency beyond the structured data.
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, front-loaded sentence with no unnecessary words. It states the verb and resource clearly. While it is minimal, it is appropriately sized for the simplicity of the action, though it could benefit from a bit more context without becoming verbose.
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?
The description is too bare for a tool within a large domain. It does not explain what a 'price markdown promotion' is, how to obtain a promotionId (e.g., from ebay_get_promotions), or what the response contains (since there is no output schema). It also lacks differentiation from similar tools like ebay_get_item_promotion, leaving an agent under-informed for correct usage.
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?
The input schema has 100% coverage for the single parameter promotionId, so the baseline is 3. The tool description does not mention the parameter at all, and the schema description only notes it is required. No additional semantic meaning (e.g., format, source, examples) is provided beyond what the schema already states.
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 the verb 'Get' and the specific resource 'item price markdown promotion', which is distinct from the broader 'item promotion' or 'promotions' tools. However, it does not explicitly differentiate itself from ebay_get_item_promotion, which could be confused. The resource name is specific enough that an agent can likely infer the purpose.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_item_promotion or ebay_get_promotions. The description only states the basic action without mentioning any conditions, prerequisites, or exclusion criteria. An agent has to infer usage from the name and parameter alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_item_promotionCRead-only
Get item promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already convey readOnlyHint=true, and the description adds no behavioral context beyond naming the Marketing API. It does not describe response shape, authorization needs, errors, or scope, so it fails to add value beyond the structured data.
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 brief and front-loaded, which is good for conciseness. The phrase 'through the eBay Marketing API' adds little selection value and contributes to the overall sparse context, keeping this from a perfect score.
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?
Despite the low parameter complexity, the tool sits among many promotion endpoints and has no output schema. The description leaves the agent unable to understand what an item promotion is, how the returned data looks, or how promotionId should be obtained and used.
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 100%, but the parameter description is tautological ('promotionId required endpoint parameter'). The baseline of 3 applies because the schema already names and types the parameter, but the description contributes no additional semantic value.
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 uses a clear verb and resource ('Get item promotion') and states the relevant API. However, it does not distinguish this from sibling promotion tools such as ebay_get_item_price_markdown_promotion or ebay_get_promotions, so it falls short of full sibling differentiation.
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?
There is no guidance on when to use this tool versus the many promotion-related alternatives, no prerequisites, and no exclusions. The only hint is the word 'item promotion', which the agent must interpret without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_keywordCRead-only
Get keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| keywordId | Yes | keywordId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral detail beyond the annotation readOnlyHint: true. It does not mention authentication needs, rate limits, response behavior, or any side effects; it simply restates the read-only nature already captured by annotations.
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 short sentence with no padding, which is concise, but it mostly restates the tool name and adds little informative value. It is appropriately sized but under-specified.
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?
Given the simple read-only operation, complete parameter schema, and readOnlyHint annotation, the description is minimally adequate. However, it does not describe the return value or clarify how it differs from ebay_get_keywords, leaving some context gaps.
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 100%, so the baseline is 3. The parameter descriptions in the schema only restate that keywordId and campaignId are required endpoint parameters, and the tool description provides no additional semantic meaning for either parameter.
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 uses a specific verb and resource ('Get keyword') and mentions the eBay Marketing API, making the basic operation clear. However, it does not differentiate from siblings like ebay_get_keywords or ebay_get_negative_keyword.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_get_keywords, ebay_create_keyword, or ebay_update_keyword. There are no context cues, exclusions, or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_keywordsCRead-only
Get keywords through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| adGroupIds | No | adGroupIds optional endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter | |
| keywordStatus | No | keywordStatus optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only repeats the name and does not disclose any behavioral details like pagination, sorting, or default limits. With readOnlyHint true, the description adds no extra context beyond what annotations already provide.
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 sentence with no fluff, but it lacks substantive information. It is concise but not informative, making it minimally acceptable.
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?
The description is too sparse for a tool with 5 parameters and no output schema. It does not mention what the response contains, whether results are paginated, or how to interpret the keyword status field. Given the sibling tools and marketing API context, more detail is needed.
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?
All parameters are documented in the schema with generic descriptions like 'optional endpoint parameter,' and the description adds no additional meaning. It does not explain the relationship between parameters (e.g., campaignId is required) or their purpose.
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 clear action: retrieving keywords via the eBay Marketing API. However, it does not specify the scope (e.g., per campaign) or differentiate from siblings like ebay_get_keyword, which retrieves a single keyword, making it ambiguous which tool to use when.
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?
No guidance is provided on when to use this tool versus ebay_get_keyword or other keyword-related tools. There is no mention of context such as retrieving all keywords for a campaign or filtering criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_kycBRead-only
Get seller KYC (Know Your Customer) status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates the read-only nature. The description adds no behavioral context beyond that, such as what the KYC status payload contains, whether authentication is required, or how to interpret the response. It does not contradict the annotation, but provides no additional transparency.
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?
A single, front-loaded sentence that states the operation and expands the acronym. There is no filler or redundancy, which is appropriately concise for a zero-argument getter.
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 no-parameter read-only getter, the description is minimally sufficient for invocation. However, with no output schema present, the description gives no hint about the returned KYC status structure or how to interpret it, leaving a clear contextual gap.
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?
The tool has zero parameters and the schema coverage is trivially 100%, so the description carries no parameter burden. The baseline of 4 applies because there is nothing for the description to add about parameters.
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 clearly states a specific verb ('Get') and resource ('seller KYC status'), and expands the acronym. It is unambiguous, though it does not explicitly differentiate itself from the many other ebay_get_* sibling tools.
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?
There is no guidance about when to use this tool versus alternatives, no prerequisites, and no mention of exclusions or related status/seller tools. The agent is left to infer usage solely from the name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_labelsC
Get shipping labels for packages
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| printPreference | No | ||
| trackingNumbers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It only states 'Get shipping labels' with no details on limitations, required permissions, rate limits, or error handling.
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 sentence, so it is concise. However, it lacks structure and additional details that would be expected for completeness.
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?
Given no annotations, no output schema, and 0% parameter coverage, the description is woefully incomplete. It does not explain inputs, outputs, or constraints.
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%, yet the description adds no meaning to the three parameters (pageSize, printPreference, trackingNumbers). The description fails to explain their roles or format.
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 clearly states the verb 'Get' and the resource 'shipping labels for packages'. It distinguishes from sibling tools like ebay_get_bundle_label and ebay_get_handover_sheet, though it lacks specifics on scope.
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?
No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description is absent of any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listingARead-only
Get full details for a single listing by item ID.
Uses the Trading API (GetItem). Returns all listing fields including description, specifics, shipping, images, and ListingType (Chinese = auction, FixedPriceItem = fixed price).
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | The eBay item ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the underlying Trading API GetItem call, the OAuth token requirement, and the return contents. This gives the agent meaningful behavioral context that structured fields do not provide.
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 compact and front-loaded with the primary action, then adds only high-value details: API source, return fields, and required auth. Every sentence earns its place without redundancy.
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 one-parameter read-only tool with no output schema, the description is complete: it covers input purpose, API behavior, key return fields, and authentication. Nothing essential is missing for correct invocation.
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?
The single parameter is already fully documented in the schema as the eBay item ID to retrieve, giving 100% schema coverage. The description adds no new per-parameter semantics, so the baseline score of 3 is appropriate.
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?
Description uses a specific verb and resource: Get full details for a single listing by item ID. It narrows scope to one listing and even clarifies ListingType values, distinguishing it from collection, search, fees, and violation tools among the siblings.
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 context is clear: use when you have a known item ID and need the full listing record, including description, specifics, shipping, and images. It states the OAuth prerequisite but does not explicitly name alternative tools or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_feesB
Get listing fees for offers before publishing
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated OfferKeysWithId request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose whether this operation is read-only, requires authentication, or has any side effects. For a tool that likely retrieves data, this is insufficient behavioral transparency.
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 concise sentence that front-loads the verb and resource. Every word serves a purpose with no extraneous content.
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?
Given the lack of an output schema, the description omits any information about the return value or fee structure. An agent would not know what to expect in the response, making the tool contextually incomplete.
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?
The schema covers the single parameter with 100% coverage, but the parameter description 'Generated OfferKeysWithId request body' is vague. The tool description adds no additional meaning or structure hints for this body parameter.
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 clearly states the verb 'Get' and the resource 'listing fees for offers', with a specific timing cue ('before publishing'). However, it does not differentiate from sibling tools like ebay_get_offer, which might also return fee information.
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 phrase 'before publishing' implies a use case, but there is no explicit guidance on when to use this tool versus alternatives (e.g., ebay_get_offer) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_setCRead-only
Get listing set through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | q optional endpoint parameter | |
| sort | No | sort optional endpoint parameter | |
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| status | No | status optional endpoint parameter | |
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already informs the agent this is a read-only operation. The description adds no further behavioral context: it does not mention pagination (despite limit/offset parameters), response format, or that the listing set is tied to a promotion. With annotations covering safety, the bar is lower, but the description still fails to disclose what the operation returns or any constraints beyond the schema.
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 concise sentence with no wasted words, and the key action is front-loaded. It is appropriately sized for such a simple statement, though the content is vague. The structure is clean and efficient.
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?
The tool has no output schema, so the description should explain what a 'listing set' is and what the response contains, but it does not. Given the large sibling context and the need to distinguish this tool from many similar ones, the description is inadequate for an agent to invoke it correctly without additional external knowledge.
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 100%, so the baseline is 3. However, the schema descriptions are minimal ('q optional endpoint parameter'), and the tool description adds no explanation of what 'q', 'sort', 'status', or other parameters mean in this context. The description does not compensate for the lack of semantic detail, but since the schema covers every parameter, a 3 is appropriate.
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 verb and resource ('Get listing set') and identifies the API ('eBay Marketing API'), but it does not explain what a 'listing set' is or how it differs from sibling tools like ebay_get_promotions, ebay_get_listing, or ebay_get_promotion_reports. The purpose is vague because the key term is undefined and no distinguishing context is given.
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 provides no guidance on when to use this tool versus alternatives. It merely states the action and API without any context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_structure_policiesC
Get listing structure policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states a read operation ('Get') but doesn't disclose any behavioral traits such as data freshness, idempotency, rate limiting, or whether the operation requires authentication. The description adds no transparency beyond the obvious.
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 sentence with no unnecessary words. It is front-loaded and efficient.
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?
The tool has no output schema, and the one-sentence description is insufficient for a getter in a large sibling group. It fails to explain what listing structure policies are, how they differ from similar policies, or what the response contains. More context is needed for effective agent use.
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 100% (both 'marketplaceId' and 'filter' have descriptions). The description adds no additional meaning beyond the schema, so baseline 3 applies.
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 uses a specific verb ('Get') and resource ('listing structure policies') and indicates the scope ('for a marketplace'). However, it doesn't differentiate from sibling tools like 'ebay_get_listing_type_policies' or 'ebay_get_classified_ad_policies', leaving ambiguity about what 'listing structure policies' entails.
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 provides no guidance on when to use this tool vs. alternatives. There is no mention of use cases, when not to use it, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_type_policiesC
Get listing type policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the purpose, lacking details on read-only nature, permission requirements, rate limits, or error behavior.
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 very short (one sentence) but lacks essential information. It is under-specified, not appropriately concise for a tool with multiple siblings and two parameters.
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?
Given the complexity (many sibling tools, no output schema), the description is incomplete. It does not clarify what 'listing type policies' are, how the filter parameter works, or what the return value contains.
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?
Both parameters are documented in the schema with descriptions ('Marketplace ID' and 'Filter criteria'). The description adds no additional meaning beyond the schema, so it meets the baseline for 100% schema coverage.
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 'Get listing type policies for a marketplace' clearly specifies the verb and resource. However, it does not differentiate from many sibling tools like ebay_get_item_condition_policies or ebay_get_shipping_cost_type_policies, which also retrieve policies for a marketplace.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_violationsA
DECOMMISSIONED: eBay shut down the Sell Compliance API on 2026-03-30. This tool always fails with a clear message. Use Seller Hub → Performance → Issue Resolution Center instead (no API equivalent).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| filter | No | ||
| offset | No | ||
| complianceType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses the tool's behavior: it always fails due to API shutdown. No hidden surprises.
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?
Extremely concise, front-loaded with 'DECOMMISSIONED', and every sentence provides critical information. No wasted words.
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 decommissioned tool, the description is fully complete: it states the failure, reason, and alternative. Nothing more is needed.
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?
Parameters are irrelevant since the tool is dead. The description sensibly avoids misleading parameter explanations, implying their irrelevance.
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 clearly states the tool is decommissioned and always fails, with explicit reason and alternative. The purpose is unambiguously communicated: this tool is non-functional.
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 explicitly warns not to use the tool and provides a concrete alternative (Seller Hub). This is perfect usage guidance for a decommissioned tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_listing_violations_summaryA
DECOMMISSIONED: eBay shut down the Sell Compliance API on 2026-03-30. This tool always fails with a clear message. Use Seller Hub → Performance → Issue Resolution Center instead (no API equivalent).
| Name | Required | Description | Default |
|---|---|---|---|
| complianceType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool always fails with a clear message. While it doesn't specify the exact error, it is sufficiently transparent about the expected behavior. No annotations are provided, so the description carries the full burden, and it meets the need.
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 concise sentence that front-loads the decommissioning status. Every part is essential; there is no waste. It is optimally structured for quick comprehension.
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?
Given the tool is decommissioned, the description provides enough information: it states it always fails, gives a reason (API shut down), and offers a manual alternative. No output schema or further details are needed for this context.
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?
The input schema has one parameter (complianceType) with 0% schema description coverage. The description does not mention this parameter or its meaning. Even though the tool is decommissioned, the description adds no value for the parameter.
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 clearly states the tool is decommissioned and always fails. The tool name includes "listing_violations", and the description mentions "Sell Compliance API", which implies the original purpose. This is adequate for an agent to understand it was about listing violations but is now non-functional.
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 explicitly tells the agent that the tool always fails and provides an alternative (manual process via Seller Hub). This is excellent guidance on when not to use the tool and what to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_motors_listing_policiesC
Get motors listing policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states it's a read operation ('Get'). It lacks details on rate limits, authentication requirements, or what data is returned.
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 sentence that merely restates the tool's name. It is too terse and does not justify its existence by adding value beyond the title.
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?
Given the lack of output schema and annotations, the description is incomplete. It does not mention return values, pagination, or any operational nuances, which is inadequate for a tool with two parameters.
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?
The input schema has 100% coverage but descriptions are minimal ('Marketplace ID', 'Filter criteria'). The description adds no extra meaning beyond the schema, and does not explain the filter parameter's usage.
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 clearly states the verb 'Get' and the resource 'motors listing policies' with a marketplace scope. However, it does not differentiate it from sibling tools like 'ebay_get_listing_structure_policies' or 'ebay_get_listing_type_policies'.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_multi_compatibility_property_valuesB
Get multiple compatibility property values
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Multi-property values request data | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'Get multiple compatibility property values' with no mention of behavior such as whether it is read-only, required permissions, rate limits, or error handling. This is insufficient for an agent to anticipate tool behavior.
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, concise phrase front-loaded with the key action and resource. While it is efficient, it could include more useful information without becoming verbose.
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?
Given the complexity of the input (nested object with multiple subproperties) and absence of an output schema, the description is incomplete. It does not explain the return format, how results are structured, or how to interpret the response, leaving significant gaps for the agent.
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 100%, so the baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions. It does not clarify how to use the nested 'data' object or the relationship between 'propertyNames' and 'propertyFilters'.
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 'Get multiple compatibility property values' clearly specifies the verb (Get) and resource (multiple compatibility property values). It distinguishes itself from siblings like ebay_get_compatibility_property_values (singular) and ebay_get_compatibility_property_names, making its purpose unambiguous.
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?
No explicit guidance on when to use this tool vs alternatives (e.g., instead of calling get_compatibility_property_values multiple times) is provided. The usage is only implied by the tool name, lacking explicit when/when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_negative_keywordCRead-only
Get negative keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| negativeKeywordId | Yes | negativeKeywordId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description simply repeats the read intent via 'Get' without adding any behavioral context (e.g., authentication needs, rate limits, return format). No additional insight is provided beyond the annotation.
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 one short, complete sentence with no filler. It states the purpose directly and earns its place without wasteful wording.
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?
Given the simple tool, the description is adequate for a basic get-by-id operation, but it lacks important context: no mention of return value, no distinction from the plural sibling, and no indication of prerequisites. The single parameter name mitigates ambiguity but does not fully compensate.
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 coverage is 100% for the single parameter, so the baseline is 3. The description adds no information about negativeKeywordId, relying entirely on the schema's minimal 'negativeKeywordId required endpoint parameter' text. No extra meaning is contributed.
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 clearly states the verb (Get) and resource (negative keyword) and mentions the eBay Marketing API. It is distinguishable from create/update/delete siblings, though it does not explicitly differentiate from the plural ebay_get_negative_keywords.
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?
No guidance is given about when to use this tool versus alternatives like ebay_get_negative_keywords (list) or ebay_create_negative_keyword. The description does not mention that this fetches a single negative keyword by ID or the relationship to the plural variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_negative_keywordsCRead-only
Get negative keywords through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| adGroupIds | No | adGroupIds optional endpoint parameter | |
| campaignIds | No | campaignIds optional endpoint parameter | |
| negativeKeywordStatus | No | negativeKeywordStatus optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds no behavioral context beyond the annotation – it does not mention pagination, filtering behavior, or what data is returned. It simply restates the operation without enriching the agent's understanding.
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 sentence with no filler. It is front-loaded with the action and resource, and every word adds meaning. It is appropriately concise for a straightforward read operation.
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?
With five optional parameters)Skip no output schema,Skip and a singular sibling tool,Skip this description is too sparse to be complete. It does not mention return format,Skip filtering options,Skip pagination,Skip or the relationship to ad groups/campaigns. An agent would need to infer essential context from the parameter names and external knowledge.
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 100%, so the baseline is 3 even though the tool description itself adds no parameter detail. However, the schema descriptions are tautological ("limit optional endpoint parameter") and do not explain the meaning of parameters like adGroupIds or negativeKeywordStatus. The description does not compensate, so the score stays at the baseline.
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 clear verb and resource: "Get negative keywords." It identifies the operation as retrieving negative keywords through the eBay Marketing API icantly. However, it does not differentiate from the sibling tool ebay_get_negative_keyword (singular), so an agent might not know whether this returns a list or a single item.
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?
No guidance is provided on when to use this tool versus ebay_get_negative_keyword, ebay_bulk_create_negative_keyword, or other keyword-related tools. There is no mention of prerequisites, filtering, or typical use cases. The description leaves all usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_negotiated_price_policiesC
Get negotiated price policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry full behavioral disclosure. It only states the action, no mention of read-only nature, required permissions, rate limits, or return format.
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?
Extremely concise at 7 words, single sentence, no fluff. However, it sacrifices completeness.
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?
Given the simplicity of the tool (2 params), the description is minimal but lacks details on expected output and what constitutes 'negotiated price policies.' Could improve with brief context.
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 coverage is 100% with descriptions for both parameters. The description adds no additional semantic value beyond the schema, earning the baseline score.
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?
Description clearly states the tool gets negotiated price policies for a marketplace. The verb 'get' and resource are specific. However, it does not distinguish this from many other policy-getter sibling tools like 'ebay_get_shipping_cost_type_policies'.
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?
No guidance on when to use this tool versus alternatives, no prerequisites or exclusions. Simply states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_configC
Get notification configuration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, required permissions, or side effects. The description is merely a verb phrase with no transparency.
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 extremely concise ('Get notification configuration'), but it lacks structure and context. It is front-loaded and earns its place as a brief statement, but it is too minimal to be considered well-structured.
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?
Given the tool has no parameters or output schema, the description is still inadequate because it does not clarify what 'notification configuration' refers to or what the output represents. It lacks completeness for an AI agent to understand its exact usage.
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?
The input schema has zero parameters and 100% coverage, so the description does not need to add parameter information. Baseline 4 for zero parameters is appropriate, as no additional explanation is required.
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 'Get notification configuration' states the action (get) and the resource (notification configuration), but it is vague and does not distinguish from sibling tools like ebay_get_notification_destination, ebay_get_notification_subscription, etc. The term 'notification configuration' is ambiguous.
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?
No information is provided about when to use this tool versus alternative tools such as ebay_get_notification_destination or ebay_get_notification_subscription. There is no guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_destinationA
Get a specific notification destination by ID
| Name | Required | Description | Default |
|---|---|---|---|
| destinationId | Yes | The unique identifier for the destination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates a read-only operation ('Get'), but does not disclose potential auth requirements, rate limits, or any side effects. Lacks detail beyond the obvious.
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?
Single sentence, front-loaded, no wasted words. Every word contributes to clarity.
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 get-by-ID tool with one parameter and no output schema, the description is adequate. It clearly states what the tool does and how. Could mention return format, but not essential.
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?
Only one parameter, fully documented in schema. Description adds no extra meaning beyond what the schema already provides. Baseline 3 given 100% schema coverage.
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?
Description clearly states verb 'Get' and resource 'notification destination' with the method 'by ID'. Distinguishes from sibling 'ebay_get_notification_destinations' which retrieves all.
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?
No explicit guidance on when to use this tool vs alternatives. It's implied that you need a specific destination ID, but no mention of prerequisites, alternatives, or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_destinationsB
Get all notification destinations (paginated)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return per page (10-100) | |
| continuationToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions pagination, but does not disclose authentication needs, rate limits, idempotency, or potential errors. For a read operation, more is expected.
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 sentence that efficiently conveys the core purpose and the fact that it supports pagination. No wasted words.
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?
Given the tool's simplicity (2 parameters, no nested objects, no output schema) and the clear schema, the description is adequate. It could hint at the return structure but is not critically missing given the context.
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?
The input schema already describes both parameters fully (limit with range, continuationToken as pagination token). The description adds no additional meaning beyond what the schema provides. With 100% schema coverage, baseline is 3.
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 clearly states the verb 'Get', the resource 'notification destinations', and includes 'paginated' to indicate it returns a list. This distinguishes it from its sibling 'ebay_get_notification_destination' which gets a single destination.
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 provides no guidance on when to use this tool versus alternatives, such as when to use get vs create/update/delete or when pagination is needed. No context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_public_keyB
Get a public key for verifying notification signatures
| Name | Required | Description | Default |
|---|---|---|---|
| publicKeyId | Yes | The unique identifier for the public key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It only states 'Get', implying a read-only operation, but does not mention side effects, required permissions, error cases (e.g., key not found), or any limitations. The description is insufficient for an agent to understand the tool's full behavior.
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, concise sentence with no wasted words. It is appropriately front-loaded with the key action. However, it could include more useful information without becoming verbose.
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 read tool with one parameter and no output schema, the description is minimally adequate. But it lacks details on what the response contains (the public key value) and any prerequisites, making it somewhat incomplete for an agent to fully understand the tool's output and usage context.
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 coverage is 100% (publicKeyId is described as 'The unique identifier for the public key'). The tool description adds no further meaning beyond the schema. Since schema already covers parameters well, baseline 3 is appropriate.
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 clearly states the tool's function: 'Get a public key for verifying notification signatures'. It uses a specific verb 'Get' and a clear resource 'public key', with the purpose of verifying signatures. This distinguishes it from sibling notification tools which manage configs, destinations, subscriptions, etc.
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?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing a publicKeyId from prior steps, nor does it explain when signature verification is needed. Sibling tools like ebay_get_notification_config or ebay_get_notification_destination serve different purposes, but no context is provided for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_subscriptionB
Get a specific notification subscription by ID
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states basic function. Does not disclose authentication needs, error behavior, or that this is a read-only operation. Burden falls on description, but it fails to add behavioral context.
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?
Description is a single sentence with no wasted words. Concise and to the point, though it could include more context without becoming verbose.
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 getter with one parameter and no output schema, the description is adequate but lacks behavioral transparency and usage guidelines. It is minimally complete.
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 coverage is 100% for the single parameter. Description does not add meaning beyond schema; baseline score of 3 applies.
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?
Description clearly states the verb 'Get' and resource 'notification subscription by ID'. It distinguishes from sibling tools like ebay_get_notification_subscriptions (list all) by specifying 'by ID'.
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?
No guidelines on when to use this tool or when to use alternatives. Among many notification subscription siblings, context is missing to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_subscription_filterC
Get a specific subscription filter
| Name | Required | Description | Default |
|---|---|---|---|
| filterId | Yes | The unique identifier for the filter | |
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the action without detailing behavior such as return value, side effects, permissions, or idempotency. A simple read operation is implied but not disclosed.
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 short sentence, which is concise but misses opportunity to include useful details without becoming verbose. It is not sufficiently structured for an agent understanding.
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?
Given the simplicity of the tool (GET with 2 params) and absence of output schema or annotations, the description is minimally complete. It does not explain what a subscription filter is or what the response contains.
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?
The input schema has 100% coverage with descriptions for both parameters. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
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 clearly states the action (Get) and the resource (specific subscription filter). The tool name includes 'notification' to disambiguate, making the purpose specific. However, it does not explicitly mention 'notification' in the description, relying on the name.
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?
No guidance on when to use this tool versus alternatives like get_notification_subscription or delete_notification_subscription_filter. The description does not provide context for its usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_subscriptionsA
Get all notification subscriptions (paginated)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return per page (10-100) | |
| continuationToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions pagination, but fails to disclose authentication requirements, rate limits, or any side effects. Minimal behavioral context.
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 very concise with one short phrase. It is efficient but could benefit from a slightly more structured format (e.g., stating what it returns). No wasted words.
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?
With no output schema, the description does not explain the return format (e.g., list of subscription objects). While parameters are fully documented, the lack of output description leaves agents uncertain about the response structure.
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 coverage is 100% with both parameters fully described (limit with range, continuationToken as pagination token). The description adds '(paginated)' which reinforces pagination but does not add semantic value beyond the schema.
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 'Get all notification subscriptions (paginated)' clearly specifies the verb (Get), resource (notification subscriptions), and scope (all, with pagination). This distinguishes it from sibling tools like ebay_get_notification_subscription (singular) and CRUD operations.
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 usage for listing all subscriptions with pagination, and the name contrasts with ebay_get_notification_subscription (singular). However, no explicit when-to-use or when-not-to-use guidance is provided, and alternatives are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_topicA
Get a specific notification topic by ID
| Name | Required | Description | Default |
|---|---|---|---|
| topicId | Yes | The unique identifier for the topic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the basic action and does not mention permissions, rate limits, error handling, or return behavior. This is a significant gap for transparency.
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 sentence with no fluff. It is front-loaded and concise, earning its place without extraneous information.
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?
Given the tool's simplicity (one parameter, no output schema), the description mildly covers the basics. However, it omits any indication of the return format or behavior when the topic is not found. For a minimalist tool, a score of 3 is reasonable.
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 coverage is 100% (the only parameter 'topicId' is fully described in the schema). The description adds no additional meaning beyond the schema's description of the parameter. Baseline 3 is appropriate as the tool is simple with no need for extra param detail.
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 'Get a specific notification topic by ID' clearly states the action (get), the resource (notification topic), and the method of identification (by ID). It effectively distinguishes from sibling tools like 'ebay_get_notification_topics' which retrieves multiple topics.
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 provides no explicit guidance on when to use this tool versus alternatives. The usage is implied from the name and description, but no when-not or alternative suggestions are given. This is adequate for a simple retrieval tool but lacks proactive direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_notification_topicsB
Get all available notification topics (paginated)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return per page (10-100) | |
| continuationToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions pagination, which is useful, but lacks details on authentication, rate limits, or response behavior. For a read operation, more context would be helpful.
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?
Single sentence with no extraneous words. Front-loads the core action and pagination aspect. Highly efficient.
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?
Given the absence of annotations and output schema, the description is minimal but covers the basic purpose. However, it lacks detail on what a 'notification topic' represents and how the paginated response works, making it only moderately complete.
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?
Input schema covers both parameters (limit, continuationToken) with descriptions, achieving 100% schema coverage. Description adds no additional value beyond the schema, so baseline 3 applies.
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?
Clearly states 'Get all available notification topics', with verb and resource explicitly named. The inclusion of '(paginated)' adds precision. Distinguished from sibling tools like ebay_get_notification_topic (singular) and ebay_get_notification_subscriptions.
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?
No guidance on when to use this tool vs alternatives (e.g., ebay_get_notification_topic for a single topic). No mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_oauth_urlA
Generate the eBay OAuth authorization URL for user consent. The user should open this URL in a browser to grant permissions to the application. This supports the OAuth 2.0 Authorization Code grant flow. The redirect URI can be provided as a parameter or will be read from EBAY_REDIRECT_URI environment variable.
IMPORTANT: eBay has different OAuth scopes available for production vs sandbox environments:
Sandbox includes additional Buy API scopes (e.g., buy.order.readonly, buy.guest.order, buy.shopping.cart) and extended Identity scopes
Production includes sell.edelivery, commerce.message (explicit), and commerce.shipping scopes not available in sandbox
If you provide custom scopes, they will be validated against the current environment (set via EBAY_ENVIRONMENT). Any scopes not valid for the environment will generate warnings.
OAUTH FLOW INSTRUCTIONS:
Generate OAuth URL with this tool (optionally specify scopes)
User opens URL in browser, authorizes, and gets redirected with a code parameter
Use ebay_exchange_authorization_code tool with the code (URL-encoded format accepted)
Tokens are automatically stored and will auto-refresh every 2 hours
COMMON SCOPES:
Basic (always included): https://api.ebay.com/oauth/api_scope
Inventory: https://api.ebay.com/oauth/api_scope/sell.inventory
Inventory (readonly): https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
Fulfillment: https://api.ebay.com/oauth/api_scope/sell.fulfillment
TROUBLESHOOTING:
Authorization codes expire in ~5 minutes - get fresh code if "invalid grant" error
"Insufficient permissions" errors mean you need to re-authorize with additional scopes
OAuth URL format: Use + to separate scopes (e.g., scope=scope1+scope2), not %2B
Refresh tokens last 18 months and are saved to .env file for persistence
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Optional state parameter for CSRF protection | |
| scopes | No | Optional array of OAuth scopes. If not provided, uses environment-specific default scopes (production or sandbox based on EBAY_ENVIRONMENT). Custom scopes will be validated against the environment. | |
| redirectUri | No | Optional redirect URI registered with your eBay application (RuName). If not provided, will use EBAY_REDIRECT_URI from .env file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It thoroughly discloses behavioral traits: it involves user interaction via browser, scopes differ by environment, tokens auto-refresh every 2 hours, authorization codes expire in ~5 minutes, and refresh tokens last 18 months. It also includes troubleshooting tips, making the behavior fully transparent.
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 lengthy but well-structured with sections (IMPORTANT, OAUTH FLOW, COMMON SCOPES, TROUBLESHOOTING). Each section adds value, and the main purpose is front-loaded. Minor redundancy could be trimmed, but overall it is efficient for the complexity.
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?
Given the complexity of OAuth and no output schema, the description is exceptionally complete. It covers the full flow, environment differences, common scopes, troubleshooting, and even references the next tool. No critical information is missing for correct usage.
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 coverage is 100%, baseline 3. The description adds significant value beyond schema: it explains that omitting scopes uses defaults, redirectUri can come from environment variable, and provides a list of common scopes with details. It also clarifies the scope format (using +) and validation against environment. This greatly enhances understanding.
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 clearly states 'Generate the eBay OAuth authorization URL for user consent', specifying the verb (generate), resource (OAuth authorization URL), and purpose. It distinguishes itself from the many sibling tools, which are unrelated to OAuth flow.
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 provides explicit step-by-step OAuth flow instructions (steps 1-4) and mentions the follow-up tool 'ebay_exchange_authorization_code'. It also explains when to use it (to initiate user consent) but does not explicitly state when not to use it or alternatives. The guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_offerC
Get a specific offer by ID
| Name | Required | Description | Default |
|---|---|---|---|
| offerId | Yes | The offer ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavioral traits. It only states a read operation, but does not disclose authentication requirements, rate limits, side effects, or what exactly is returned. The lack of detail leaves the agent uninformed about critical behavioral aspects.
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 clear sentence with no extraneous words. It is appropriately concise, though it could be slightly more informative without losing brevity.
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 get operation with no output schema, the description should at least hint at the return value (e.g., 'returns offer details'). It fails to do so, leaving the agent without information on what to expect from the tool's output.
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?
The input schema has 100% coverage with a single parameter 'offerId' described as 'The offer ID'. The description adds no additional meaning beyond the schema, so it meets the baseline for high coverage but provides no extra value.
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 'Get a specific offer by ID', which clearly identifies the action (get) and resource (specific offer). It distinguishes from sibling 'get' tools by specifying 'offer' and 'by ID', though it does not explicitly contrast with similar tools like 'ebay_get_offers'.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_get_offers for listing multiple offers or ebay_create_offer for creation. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_offersA
Get offers for one seller-defined SKU. To enumerate offers across SKUs, call ebay_get_inventory_items first, then call this tool once per SKU.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | Seller-defined SKU whose offers to return | |
| limit | No | Number of offers to return | |
| format | No | Filter offers by listing format | |
| offset | No | Number of offers to skip | |
| marketplaceId | No | Filter offers by marketplace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It does not disclose any behavioral traits such as pagination behavior, response format, authentication requirements, or error conditions. For a read operation, this is a significant gap.
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?
Two concise sentences, front-loaded with the primary purpose, followed by a usage hint. No wasted words, and the structure is efficient.
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 read tool with 5 parameters and no output schema, the description provides the essential workflow and clarifies the single-SKU scope. It does not mention pagination details, but the schema includes limit/offset, so that is partially covered. Overall, fairly complete for its simplicity.
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?
The input schema covers all parameters with descriptions (100% coverage), so the description adds no additional parameter meaning. The baseline of 3 is appropriate since the schema handles parameter semantics.
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 clearly states the tool gets offers for one seller-defined SKU, using a specific verb and resource. It also differentiates from the workflow of enumerating across SKUs by referencing ebay_get_inventory_items, distinguishing it from sibling tools like ebay_get_offers_by_skus and ebay_get_offer.
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?
Explicitly provides when to use this tool (for a single SKU) and when to use an alternative workflow (call ebay_get_inventory_items first, then this tool per SKU). This gives clear usage direction without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_offers_by_skusA
Get offers for 1-25 SKUs. Exact duplicates are queried once, at most 3 eBay requests run concurrently, and every SKU has its own success or failure result.
| Name | Required | Description | Default |
|---|---|---|---|
| skus | Yes | 1-25 seller SKUs; exact duplicates are queried once in first-occurrence order | |
| format | No | Filter by listing format | |
| marketplaceId | No | Filter by marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states that exact duplicates are queried once, at most 3 eBay requests run concurrently, and each SKU has its own success/failure result. This gives the agent important expectations about execution semantics and error handling, which is valuable beyond a generic 'get offers' statement.
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?
Two sentences with zero waste. The core action is front-loaded, and the additional behavioral details (duplicates, concurrency, per-SKU results) are appended efficiently. Every sentence earns its place, and there is no redundancy with the schema.
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?
Given the tool has no output schema, the description could be expected to hint at the return format, but it does not. However, it does cover important execution semantics (deduplication, concurrency, per-SKU results) that an agent needs to call the tool correctly. The optional filter parameters are documented in the schema, so the description is largely complete for a read operation.
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 100% for all parameters, so the baseline is 3. The description adds minimal extra value beyond the schema: it reiterates the 1-25 range and duplicate handling (already in the schema) and mentions concurrency, which is not parameter-specific. The description does not clarify the format or marketplaceId parameters further, but the schema already does.
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 clearly states the verb 'Get offers' and the resource scope '1-25 SKUs'. It is specific about the input range and implies a batch operation, distinguishing it from singular 'ebay_get_offer'. However, it does not explicitly differentiate itself from the sibling 'ebay_get_offers' (which might retrieve all offers), leaving a small ambiguity.
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 usage when you need offers for multiple SKUs and mentions deduplication and per-SKU results, but it does not provide explicit guidance on when to use this tool versus alternatives like 'ebay_get_offers' or 'ebay_get_offer'. No exclusions or preferred scenarios are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_opted_in_programsARead-only
Get seller programs the account is opted into
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is safe and non-mutating, and the description 'Get seller programs' is consistent with that. The description adds the scope ('seller programs the account is opted into') but no additional behavioral context such as return shape or authentication implications. With the annotation carrying the safety profile, a 3 is appropriate.
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?
One short sentence, front-loaded with the action ('Get') and the resource. Every word earns its place; there is no filler, redundancy, or unnecessary context.
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 zero-parameter, read-only retrieval tool, the description is nearly complete. It tells the agent what the tool returns conceptually (seller programs the account is opted into). A small gap is the lack of any indication of the response format, but this is minor for such a simple operation.
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?
There are zero parameters, so the input schema is trivially complete and there is nothing for the description to clarify. The baseline of 4 for parameterless tools applies, and the description appropriately references the resource being retrieved.
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 uses a specific verb ('Get') and a clear resource ('seller programs the account is opted into'). It clearly reads as the retrieval counterpart to sibling tools ebay_opt_in_to_program and ebay_opt_out_of_program, though it doesn't explicitly differentiate itself from other getter tools like ebay_get_privileges or ebay_get_advertising_eligibility.
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 usage context is implied rather than stated: it is a read-only lookup for opted-in programs, and the sibling naming pattern indicates it is not the tool for changing opt-in status. There is no explicit guidance about when to prefer this over related getters, but for a zero-parameter getter the absence is not critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_orderB
Get details of a specific order.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | The unique identifier of the order | |
| fieldGroups | No | Response field group, e.g. TAX_BREAKDOWN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states it retrieves order details and lists OAuth scope. Does not disclose rate limits, response format, or side effects. For a read operation, the description fails to add behavioral context beyond the bare minimum.
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?
Very concise: one sentence for purpose plus scope. Front-loaded with action and resource. Efficient use of space, though could include a brief note on return format without being verbose.
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?
No output schema, so description should explain what is returned. It does not. For a simple tool this is adequate but lacking completeness. Considering the complexity and richness of sibling tools, more context would help.
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 coverage is 100%, so baseline is 3. Description adds OAuth scope but does not elaborate on parameter usage or formats beyond what the schema provides. No additional semantic value.
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?
Name and description clearly indicate the tool retrieves details of a specific order. The verb 'Get' and resource 'order' are specific and unambiguous. Distinguishes from sibling ebay_get_orders (plural) which lists orders.
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?
No guidance on when to use this tool versus alternatives. For instance, there is no mention of when to prefer ebay_get_order over ebay_get_orders or other order-related tools. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_order_earningsARead-only
Get order-level earnings from the eBay Finances API: gross amount, expenses (fees, shipping labels, donations), refunds, and net earnings per order. Filter by orderCreationDate range (defaults to the past year), page with limit/offset, sort by orderCreationDate. Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read scope, which is not requested by default: add it to EBAY_OAUTH_SCOPES and re-run OAuth consent. eBay grants it only to approved US, CN, or HK sellers with USD payouts. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort field; only orderCreationDate is supported. eBay sorts ascending by orderCreationDate by default. | |
| limit | No | Records per page, up to 200 (eBay default 20) | |
| filter | No | Order creation date range in UTC; orderCreationDate is the only supported filter, e.g. orderCreationDate:[2024-10-23T00:00:01.000Z..2024-11-09T00:00:01.000Z]. eBay returns the past year when omitted. | |
| offset | No | Zero-based number of orders to skip, up to 10,000 (eBay default 0) | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the readOnlyHint annotation: it discloses the required optional OAuth scope and the fact it is not requested by default, the seller eligibility constraints (US/CN/HK, USD payouts), and the EU/UK Digital Signature caveat that the server does not support. These are exactly the operational details an agent needs before calling.
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?
Functionally front-loaded with the primary purpose and returned fields, then the access constraints. The scope/signature caveats are dense but necessary; a single run-on sentence at the end slightly reduces readability.
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 read-only, no-output-schema tool with fully documented parameters, the description covers the purpose, scope/auth prerequisites, defaults, and known platform limitations. Nothing an agent needs to invoke it correctly is missing.
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 100%, so the schema already documents all five parameters, including format examples and defaults. The description restates the same semantics (date range, limit/offset, sort) without adding syntax or edge-case detail beyond the schema, landing at the baseline.
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?
States a specific verb (Get) and resource (order-level earnings from eBay Finances API) and enumerates exactly what fields are returned (gross amount, expenses, refunds, net earnings). This makes it distinguishable from siblings like ebay_get_order_earnings_by_id and ebay_get_order_earnings_summary, which address a single order and a summary view respectively.
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 explains filtering, paging, sorting, and scope prerequisites, which define when it can be used. It does not explicitly name alternatives (e.g. use the by-id variant for a single order) or state exclusions, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_order_earnings_by_idARead-only
Get earnings for one order from the eBay Finances API: gross amount, expenses, refunds, and net earnings for the orderId. Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read scope, which is not requested by default: add it to EBAY_OAUTH_SCOPES and re-run OAuth consent. eBay grants it only to approved US, CN, or HK sellers with USD payouts. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | eBay order ID whose earnings are requested, e.g. 12-12345-12345 | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only readOnlyHint, and the description adds substantial behavioral context beyond that: the required OAuth scope (and that it is not requested by default), seller-eligibility restrictions (approved US/CN/HK sellers with USD payouts), and a server limitation (no Digital Signatures for EU/UK Finances calls). This is exactly the kind of auth and constraint disclosure an agent needs before invoking.
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?
Front-loads the core purpose in the first sentence, then layers in scope/eligibility/signature caveats. All sentences are relevant and dense, though the caveats section is somewhat long for a single-sentence purpose.
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?
With no output schema, the description compensates by naming the return fields (gross amount, expenses, refunds, net earnings), and it fully covers auth scope, eligibility, and known server limitations. An agent has everything needed to decide whether it can call this and what to expect.
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 100%, so both orderId and marketplaceId are already documented in the schema. The description only echoes 'for the orderId' and adds no new meaning about parameter format or the marketplaceId override — baseline 3 is appropriate.
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?
States a specific verb ('Get earnings'), the resource ('for one order from the eBay Finances API'), and enumerates the returned fields (gross amount, expenses, refunds, net earnings). The 'for one order' scoping implicitly distinguishes it from the sibling summary/list variants, though no alternative is named explicitly.
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?
Provides clear context for when this is usable: it requires the optional sell.finances.earnings.read scope, which must be added to EBAY_OAUTH_SCOPES. It doesn't explicitly compare to ebay_get_order_earnings or ebay_get_order_earnings_summary, but the prerequisites are well stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_order_earnings_summaryARead-only
Get aggregated order earnings from the eBay Finances API for orders created in an orderCreationDate range (defaults to the past year). Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read scope, which is not requested by default: add it to EBAY_OAUTH_SCOPES and re-run OAuth consent. eBay grants it only to approved US, CN, or HK sellers with USD payouts. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Order creation date range in UTC; orderCreationDate is the only supported filter, e.g. orderCreationDate:[2024-10-23T00:00:01.000Z..2024-11-09T00:00:01.000Z]. eBay returns the past year when omitted. | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring readOnlyHint, the description carries the behavioral burden and does so richly: it discloses the optional scope that is not requested by default (with remediation steps), eligibility restrictions (approved US/CN/HK sellers with USD payouts), and a hard caveat that EU/UK calls require Digital Signatures this server does not add. These are exactly the operational facts an agent needs before invoking.
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?
Purpose and scope are front-loaded in the first sentence, followed by the prerequisite and caveat sentences. The auth/eligibility sentences are dense but each earns its place given the Finances API's access complexity; nothing is padded.
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 finance tool with unusual auth and geographic constraints, the description covers the tricky prerequisites thoroughly, and with no output schema the return values need not be explained. The only gap is the absence of tie-breaking guidance against its close siblings.
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 100%, so the schema already documents both filter and marketplaceId. The description restates the orderCreationDate range and past-year default without adding syntax or format beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb and resource ('Get aggregated order earnings') plus a scope constraint ('for orders created in an orderCreationDate range'). The word 'aggregated' hints at how it differs from ebay_get_order_earnings and ebay_get_order_earnings_by_id, but no sibling is named explicitly, so the differentiation is left to inference.
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?
It notes the date range defaults to the past year and lists prerequisites (scope, seller eligibility), but never says when to choose this over ebay_get_order_earnings or ebay_get_order_earnings_by_id. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_ordersB
Retrieve orders for the seller.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of orders to return per page | |
| filter | No | Filter criteria for orders (e.g., creationdate:[2024-01-01..2024-12-31]) | |
| offset | No | Number of orders to skip for pagination | |
| orderIds | No | Comma-separated list of order IDs | |
| fieldGroups | No | Response field group, e.g. TAX_BREAKDOWN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states that the tool retrieves orders and requires specific scopes, but fails to mention if the operation is idempotent, safe, or has rate limits. This is insufficient for a mutation-aware agent.
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 very concise (1 sentence plus scope lines) and front-loads the core purpose. It could include slightly more detail without becoming verbose, but the brevity is generally effective.
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?
Given the complexity (5 parameters, no output schema, many siblings), the description is incomplete. It does not explain pagination, filtering behavior, return value structure, or how it differs from 'ebay_get_order'. An agent would need to infer too much.
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?
The input schema has 100% description coverage for all 5 parameters, so the schema already documents each parameter. The description adds no additional meaning beyond what is in the schema, hence a baseline score of 3.
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 clearly states that the tool retrieves orders for the seller, which is a specific verb and resource. However, it does not differentiate from the sibling tool 'ebay_get_order' (singular), leaving ambiguity about when to use each.
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 provides OAuth scope requirements, which is important context for using the tool. However, it does not specify when not to use this tool, nor does it mention alternatives like 'ebay_get_order' for single order retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_order_taskARead-only
Get one Feed API order report task by taskId: status (QUEUED, IN_PROCESS, then COMPLETED or COMPLETED_WITH_ERROR when the file is ready), filter criteria and timestamps. Requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already signals a safe read, but the description adds genuine context beyond annotations: the status state machine (QUEUED, IN_PROCESS, then COMPLETED or COMPLETED_WITH_ERROR when the file is ready) and the required scope 'sell.fulfillment'. What it omits is any note on polling behavior or how the eventual result file is retrieved.
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?
A single dense sentence that front-loads the verb+resource and appends the scope requirement. Every clause (taskId, statuses, fields, scope) earns its place with no filler.
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?
With no output schema, the description carries the burden of describing the return, and it does reasonably well by naming status, filter criteria and timestamps plus the auth scope. It stops short of explaining asynchronous file readiness or downstream retrieval, but is largely sufficient for a one-parameter read tool.
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?
There is a single required parameter at 100% schema description coverage, so the schema already documents taskId fully ('Feed task ID, from the Location of a create call or a task list'). The description only restates 'by taskId' without adding provenance or format detail, so the baseline 3 applies.
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?
It names a specific verb ('Get') and resource ('one Feed API order report task'), and crucially scopes it to a single record by taskId, distinguishing it from the plural sibling ebay_get_order_tasks. The enumeration of returned fields (status, filter criteria, timestamps) makes the purpose unambiguous.
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?
Usage is strongly implied by 'Get one ... by taskId' versus siblings like ebay_create_order_task and ebay_get_order_tasks, but no explicit when-to-use guidance or alternative routing is stated. The reader must infer the retrieve-vs-create and single-vs-list distinction from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_order_tasksARead-only
List Feed API order report tasks (LMS_ORDER_REPORT) by feedType or scheduleId (not both), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-500 (eBay default 10) | |
| offset | No | Zero-based number of results to skip (default 0) | |
| feedType | No | LMS_ORDER_REPORT (the only supported value); do not combine with scheduleId | |
| dateRange | No | Task creation window in UTC, e.g. 2026-09-01T00:00:00.000Z..2026-09-08T00:00:00.000Z (at most 90 days); do not combine with lookBackDays | |
| scheduleId | No | Only tasks generated by this schedule; do not combine with feedType | |
| lookBackDays | No | Search tasks created in the last 1-90 days (eBay default 7); do not combine with dateRange |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, so the description usefully adds the required OAuth scope (sell.fulfillment) and the paging mechanism (limit/offset). It does not describe return contents or default behavior beyond what the schema states, but it adds real context beyond the annotation.
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?
A single dense sentence that front-loads the resource and identifier, then the selection constraints, then paging, then the auth requirement. No filler.
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?
With no output schema and no required parameters, the description covers what an agent needs to invoke it: resource scope, mutually exclusive filters, paging, and required auth. Only the shape of returned task data is left unspecified, which is minor for a list endpoint.
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 100%, so the schema already documents every parameter including the mutual-exclusion constraints. The description restates those constraints but adds no new syntax, defaults, or format detail, making it a baseline case.
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?
States a specific verb (List) and resource (Feed API order report tasks, LMS_ORDER_REPORT), which is enough to distinguish it from the many sibling task tools. It does not explicitly contrast with the closest sibling ebay_get_order_task (singular) or ebay_get_report_tasks, so it stops short of full sibling differentiation.
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?
Gives explicit parameter-combination rules: feedType or scheduleId, not both; dateRange or lookBackDays, not both. That is genuine usage guidance for selecting an invocation. It offers no guidance on when to prefer this over ebay_get_order_task or other task-listing siblings, so it isn't a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_packageC
Get package details by ID
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states 'Get package details by ID' without mentioning side effects, permissions, or return behavior. It fails to indicate that this is a read-only operation.
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 very concise (one sentence), but it sacrifices necessary detail. It is under-specified for a tool with no annotations or schema descriptions.
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 get operation, the description is incomplete. It does not specify what 'package details' include (e.g., tracking info, status). No output schema makes it harder for the agent to understand the response.
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%, and the description adds no additional meaning to the 'packageId' parameter beyond 'by ID'. The agent gets no insight into what the ID represents or its format.
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 clearly states the action 'Get', the resource 'package details', and the input 'by ID'. It effectively distinguishes from sibling tools like ebay_create_package or ebay_delete_package through the verb and resource specificity.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_packages_by_line_item_id or ebay_get_tracking. The description lacks context for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_packages_by_line_item_idC
Get package details by order line item ID
| Name | Required | Description | Default |
|---|---|---|---|
| orderLineItemId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It states 'Get package details' but does not mention authentication requirements, rate limits, or whether it returns all details or a summary. The behavior is implied but not fully transparent.
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 sentence, which is concise. However, it is underinformative for the level of detail needed. Conciseness is not penalized, but the brevity sacrifices clarity.
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?
Given the lack of output schema and annotations, the description is insufficient. It does not explain the relationship between order line item ID and packages, nor what 'package details' entail. Sibling tools exist but are not differentiated.
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 coverage is 0%, so the description must compensate. The only parameter, orderLineItemId, is mentioned in the description but with no additional semantics beyond its name. No format or constraints are provided.
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 clearly states the action (get), resource (package details), and key identifier (order line item ID). It distinguishes from other package-related tools like ebay_get_package by specifying the lookup method. However, it could be more explicit about the read-only nature.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_package. The context of 'by order line item ID' implies a specific use case, but no explicit when-not or alternative comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_disputeB
Get detailed information about a specific payment dispute.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states it retrieves information; lacks disclosure of behavioral traits such as rate limits, error handling, or response details.
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?
Two efficient sentences: one for purpose, one for OAuth scope. No redundant information, front-loaded.
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?
Lacks details on return values (no output schema). Missing behavioral context like pagination or what 'detailed information' includes. OAuth scope is helpful but insufficient.
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 coverage is 100% for the single parameter, so baseline is 3. Description adds no additional meaning beyond what the schema provides.
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?
Clearly states it gets detailed information about a specific payment dispute. The verb 'Get' and resource 'detailed information' are specific, and it distinguishes from sibling tools like ebay_accept_payment_dispute or ebay_get_payment_dispute_summaries.
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?
No guidance on when to use this tool vs alternatives. It only mentions required OAuth scope, which is a prerequisite but not comparative usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_dispute_activitiesA
Get activity history for a payment dispute, including all actions taken by buyer, seller, and eBay.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the OAuth scope requirement, which is important for authorization, but does not mention behavioral traits like rate limits, pagination, idempotency, or whether it is a read-only operation. The description is adequate but not comprehensive.
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 concise: two sentences that front-load the action and include essential scope information. Every sentence adds value with no wasted words.
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 tool with one parameter and no output schema, the description is fairly complete. It states the purpose, included content, and required scope. However, it could hint at the return format (e.g., 'returns an array of activity records') to be fully self-contained.
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?
The input schema has 100% coverage (the parameter 'paymentDisputeId' has a description). The tool description adds no further meaning beyond the schema, so it meets the baseline but does not exceed it.
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 clearly states the verb 'Get activity history' and the resource 'payment dispute', and specifies the content: 'all actions taken by buyer, seller, and eBay'. This distinguishes it from sibling tools like ebay_get_payment_dispute (which gets dispute details) and ebay_get_payment_dispute_summaries (which lists disputes).
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 usage by describing the tool's purpose, but it does not explicitly state when to use it versus alternatives (e.g., 'for a summary, use ebay_get_payment_dispute'). No exclusions or prerequisites beyond the OAuth scope are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_dispute_summariesA
Get summaries of all payment disputes. Use filters to narrow results by dispute status, buyer username, or order ID.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of disputes to return | |
| offset | No | Number of disputes to skip | |
| orderId | No | Filter by one order ID | |
| openDateTo | No | End date for dispute open date filter | |
| openDateFrom | No | Start date for dispute open date filter | |
| buyerUsername | No | Filter by buyer username | |
| paymentDisputeStatus | No | Filter by payment dispute status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states it retrieves summaries, indicating a read operation, and lists required OAuth scope. However, it does not disclose pagination behavior, rate limits, or detailed response characteristics. Given no output schema, more behavioral context would be beneficial.
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 extremely concise: two sentences plus OAuth scope. It is front-loaded with the main purpose, and every sentence adds value without redundancy. No wasted words.
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 tool with 7 parameters, no output schema, and no annotations, the description is adequate but not thorough. It explains the purpose and filters but omits details like output format, default behavior, and pagination. It meets a minimal viable standard but leaves gaps.
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?
The input schema has 100% coverage with descriptions for all 7 parameters. The description reiterates a few filter types (e.g., dispute status, buyer username, order ID) but does not add significant meaning beyond the schema. The baseline of 3 is appropriate as the schema already provides adequate context.
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 clearly states the tool's purpose: 'Get summaries of all payment disputes.' It specifies the action (Get), the resource (payment dispute summaries), and the ability to filter. This distinguishes it from sibling tools like ebay_get_payment_dispute (single dispute) and ebay_get_payment_dispute_activities (activities).
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 mentions filters and required OAuth scope, providing context for usage. However, it does not explicitly contrast with alternatives or state when not to use it. The guidelines are implied rather than explicit, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_policiesCRead-only
Get payment policies for the seller
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description only restates the read nature with 'Get'. It adds no additional behavioral context such as pagination, result limits, data scope, or seller authorization requirements. With annotations present, the description contributes almost nothing beyond the structured data.
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 efficient sentence with no filler, and the core action and resource are front-loaded. It is appropriately concise, though it sacrifices useful usage context for brevity.
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 one-parameter read-only tool, the description is minimally viable: an agent can infer the resource and action. However, it lacks sibling differentiation and does not clarify that this returns all policies rather than a single policy, leaving some contextual ambiguity despite the plural name.
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?
The schema covers 100% of the single parameter with a clear description ('eBay marketplace ID') and an enum of valid values. Since schema coverage is high, the baseline of 3 applies; the description adds no extra parameter-level meaning.
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 clear verb and resource: 'Get payment policies for the seller'. It is immediately understandable as a read operation returning payment policy data. However, it does not differentiate itself from the sibling tools ebay_get_payment_policy and ebay_get_payment_policy_by_name, aside from the plural/aggregate implication in the name.
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?
No guidance is provided about when to use this aggregate 'get policies' call versus the singular ebay_get_payment_policy or ebay_get_payment_policy_by_name. There is no mention of prerequisites, alternatives, or exclusions, so an agent must infer the appropriate context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_policyARead-only
Get a specific payment policy by ID
| Name | Required | Description | Default |
|---|---|---|---|
| paymentPolicyId | Yes | The payment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a safe read operation, and the description adds no behavioral context beyond that. It does not disclose what the response contains, whether the ID must belong to the current seller, or any edge-case behavior.
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, efficient sentence with every word carrying meaning. The key scoping detail ('by ID') is front-loaded and there is no redundancy or filler.
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 single-parameter read operation with a fully documented schema and a readOnly annotation, the description is mostly complete. It does not explicitly cover return values or alternatives, but the low complexity reduces the need for those details.
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 coverage is 100%; the parameter is already documented as 'The payment policy ID'. The description merely reinforces the 'by ID' semantics and adds no new information about format, constraints, or valid values.
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 verb ('Get'), a specific resource ('payment policy'), and a distinguishing retrieval method ('by ID'). This clearly differentiates it from siblings like ebay_get_payment_policy_by_name and ebay_get_payment_policies.
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 phrase 'by ID' implies the tool should be used when a specific payment policy ID is known, but it does not explicitly mention alternatives or state when not to use it. The agent must infer the distinction from sibling names rather than receiving direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payment_policy_by_nameBRead-only
Get a payment policy by name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Policy name | |
| marketplaceId | Yes | eBay marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The read-only behavior is already captured by the `readOnlyHint: true` annotation, and the description adds no additional behavioral context (e.g., what happens if no policy matches, whether names are unique, or what fields are returned). It is consistent but does not go beyond the annotation.
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, short, front-loaded sentence with no wasted words. It is appropriately concise for the simplicity of the operation.
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?
The basic callability is satisfied by the schema and short description, but it lacks disambiguation from the similar `ebay_get_payment_policy` tool and does not state uniqueness or not-found behavior. With no output schema, return expectations are only implicit.
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 coverage is 100%, with both `name` and `marketplaceId` described. The description adds no semantic detail beyond the phrase 'by name', so the baseline score of 3 is appropriate.
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 uses a specific verb and resource ('Get a payment policy') and includes the distinctive 'by name' modifier, which helps distinguish it from `ebay_get_payment_policy`. It does not explicitly name the sibling or explain the difference, so it stops short of a 5.
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?
There is no guidance on when to use this tool instead of `ebay_get_payment_policy` or `ebay_get_payment_policies`. The 'by name' distinction is implicit, but no explicit context or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payments_programARead-only
Get payments program status for a marketplace. Note: This method is deprecated as all seller accounts globally have been enabled for the new eBay payment and checkout flow.
Required OAuth Scope: sell.account.readonly or sell.account
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | The eBay marketplace ID | |
| paymentsProgramType | Yes | The type of payments program |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description aligns with that by saying 'Get'. It adds valuable behavioral context beyond the annotation: the method is deprecated and requires specific OAuth scopes, which is important for an agent deciding whether and how to invoke it.
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?
Three sentences with no filler. The first sentence states the purpose, the second delivers the critical deprecation warning, and the third gives the required OAuth scopes. Everything is front-loaded and 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 read-only getter, the description covers purpose, deprecation status, and authentication requirements. Since there is no output schema, a bit more detail about the shape or meaning of the returned 'status' would make it fully complete, but it is otherwise sufficient.
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?
The schema has 100% description coverage for both parameters, including an enum for marketplaceId. The description itself adds no parameter-level detail, so the baseline of 3 applies; the schema already carries the semantic weight.
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 uses a specific verb ('Get') and resource ('payments program status') with a clear marketplace scope. It is unambiguous about what the tool returns, though it does not explicitly differentiate itself from sibling tools like ebay_get_payments_program_onboarding.
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 deprecation note clearly tells an agent when not to use this tool, since all seller accounts have been enabled for the new payment flow. It lacks an explicit pointer to an alternative tool, but the 'do not call' signal is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payments_program_onboardingARead-only
Get payments program onboarding information. Note: This method is deprecated as all seller accounts globally have been enabled for the new eBay payment and checkout flow.
Required OAuth Scope: sell.account.readonly or sell.account
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | The eBay marketplace ID | |
| paymentsProgramType | Yes | The type of payments program |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so the read-only nature is covered. The description adds valuable behavioral context: deprecation status and OAuth scope requirements. There is no contradiction between annotations and description. It doesn't detail response contents, but for a simple getter with readOnlyHint, the added context is sufficient.
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 two short sentences, with the core purpose first, followed by the critical deprecation note and OAuth scopes. No wasted words; every sentence 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?
Given the simple two-parameter getter with readOnlyHint annotation, the description covers the essential operational details: deprecation, OAuth scopes, and purpose. No output schema exists, but the description doesn't explain return format—a minor gap for a deprecated informational endpoint. Overall, enough context for an agent to decide whether to call it.
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 100%, so both parameters are already documented in the input schema. The description adds no additional parameter-level detail. Baseline 3 applies because the schema carries the full burden, and the description doesn't need to compensate.
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 verb and resource: 'Get payments program onboarding information.' The tool name already makes this clear. However, it does not explicitly differentiate itself from the sibling tool 'ebay_get_payments_program,' and the deprecation note is the only distinguishing behavioral hint. Still, the purpose is unambiguous.
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 provides clear usage context by noting the method is deprecated because all accounts are enabled for the new payment flow. This tells the agent this tool should generally be avoided. It also specifies required OAuth scopes, which is essential for invocation. It does not name an alternative tool, but the deprecation message effectively communicates when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payoutARead-only
Get one seller payout by payoutId from the eBay Finances API, including amount, status, payout instrument, and transaction count. Find IDs with ebay_get_payouts. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| payoutId | Yes | Payout ID from ebay_get_payouts or Seller Hub. A split-payout payoutReference returns 404. | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=true. The description goes beyond that by disclosing three behavioral constraints the annotations cannot: the authorization scope, the EU/UK Digital Signature limitation (a hard blocker this server cannot satisfy), and the fact that the schema-referenced split payouts return 404. This is high-value context aligning with read-only behavior.
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?
Three tightly packed sentences: (1) what it returns, (2) how to find the ID, (3) prerequisites. Front-loaded with the action and result, zero filler.
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?
With no output schema, the description enumerates the returned fields, and it covers the critical authorization and regional signature caveats. Complete for a single-resource getter.
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 100% and the schema already documents payoutId format patterns and marketplaceId defaults/enums. The description adds no syntax or format details beyond the schema, so the baseline 3 applies.
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?
States a specific verb ('Get'), resource ('one seller payout by payoutId'), API ('eBay Finances API') and enumerates returned fields (amount, status, instrument, transaction count). Clearly distinguishable from ebay_get_payouts (list) by the singular scope.
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?
Explicitly tells the agent how to obtain the required ID ('Find IDs with ebay_get_payouts'), names the required OAuth scope (sell.finances), and warns about the Digital Signature requirement for EU/UK sellers that this server does not fulfill. This is exactly the when-to-use / when-not context an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payoutsARead-only
List seller payouts from the eBay Finances API (last five years). Filter by payoutDate range and/or payoutStatus, page with limit/offset, sort by payoutDate. Returns a success status with no data when nothing matches. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Set to payoutDate (or lastAttemptedPayoutDate for retryable failures) for oldest first. eBay sorts newest first by default. | |
| limit | No | Records per page, up to 200 (eBay default 20) | |
| filter | No | Payout filter. Criteria: payoutDate:[2024-12-17T00:00:01.000Z..2024-12-24T00:00:01.000Z] (within the last five years, range up to 36 months); payoutStatus:{SUCCEEDED} (one PayoutStatusEnum value, e.g. INITIATED, SUCCEEDED, RETRYABLE_FAILED, TERMINAL_FAILED, REVERSED); lastAttemptedPayoutDate:[start..end] (requires payoutStatus:{RETRYABLE_FAILED}); payoutReference:{5********3} (mainland China sellers only). Separate multiple criteria with commas. eBay returns payouts in all states from the last five years when omitted. | |
| offset | No | Zero-based number of payouts to skip; keep below 5000 for response time (eBay default 0) | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses real operational constraints: the required sell.finances scope, the fact that EU/UK Finances calls need Digital Signatures this server does not add (a silent-failure risk), and that empty results return a success status with no data. Rate limits and response shape are not covered, but the auth and edge-case disclosures are genuinely useful.
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?
Front-loaded with the core action and resource, then scope/filters/edge cases in short clauses. Some sentences restate schema content (filters, paging, sort), so it is efficient but not maximally tight.
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?
With no output schema, the description carries the return burden and does note the empty-result success behavior; it also covers auth scope and the Digital Signature limitation. It stops short of describing pagination totals or the full payout object, but an agent has enough to invoke it correctly.
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 100%, so the schema already documents all five parameters in detail. The description only summarizes the same filters (payoutDate range, payoutStatus, limit/offset, sort by payoutDate), adding no syntax or edge-case detail beyond the schema. Baseline 3 applies.
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?
States a specific verb and resource (List seller payouts) plus the source API and the five-year window. It does not explicitly route against the closest siblings (ebay_get_payout singular, ebay_get_payout_summary, ebay_get_transactions), so it is clear but not fully differentiated.
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?
Filter and paging options are described, but there is no explicit when-to-use or when-not guidance and no named alternative among the many payout/transaction siblings. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payout_settingsARead-only
Get the seller's payout instruments (ID, type, status, nickname, last four digits) and current split-payout percentages (Account API v2 getPayoutSettings). Use instrumentId with ebay_update_payout_percentage; only ACTIVE instruments can receive split payouts. Split payouts are only available to mainland China sellers (Payoneer + bank account). Requires the sell.finances scope.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely useful context beyond that: the required sell.finances scope (an auth need) and the geographic restriction that split payouts are only available to mainland China sellers via Payoneer + bank account. The absence of any return-format/pagination note is a minor gap for a zero-param read 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?
Front-loads the core purpose and the returned fields, then layers in the sibling relationship, availability constraints, and scope in a tight three-sentence block. The '(Account API v2 getPayoutSettings)' reference is the only slightly decorative element and is harmless.
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?
Although there is no output schema, the description enumerates the returned fields, and it covers the auth scope and regional availability. An agent has everything needed to decide to call it and understand what it yields.
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?
The tool takes zero parameters, so the baseline is 4 and there is nothing schema-side to describe. The description does reference instrumentId, but that is an output field consumed by ebay_update_payout_percentage rather than an input here.
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?
States a specific verb (Get) and resource (seller's payout instruments), and enumerates the concrete fields returned (ID, type, status, nickname, last four digits) plus split-payout percentages. This is clearly distinguishable from other payout-related siblings like ebay_get_payout or ebay_get_payouts, which describe different resources.
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?
Names the related sibling ebay_update_payout_percentage and the condition (use instrumentId, only ACTIVE instruments can receive split payouts), giving clear operational context. It does not explicitly contrast with the many other payout siblings (ebay_get_payout, ebay_get_payouts, ebay_get_payout_summary), so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_payout_summaryARead-only
Get cumulative payout totals from the eBay Finances API: payout count, related transaction count, and total amount, optionally filtered by payoutDate range and one payoutStatus. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Payout summary filter. Criteria: payoutDate:[2024-12-17T00:00:01.000Z..2024-12-24T00:00:01.000Z] (within the last five years, range up to 36 months); payoutStatus:{SUCCEEDED} (one PayoutStatusEnum value, e.g. INITIATED, SUCCEEDED, RETRYABLE_FAILED, TERMINAL_FAILED, REVERSED). Separate multiple criteria with commas. eBay summarizes payouts in all states from the last five years when omitted. | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, it discloses two operationally important facts: the required sell.finances scope and the caveat that eBay requires Digital Signatures on Finances calls for EU/UK sellers which this server does not add. That limitation materially affects whether calls succeed, which is exactly the kind of context annotations do not carry.
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 purpose and returned aggregates are front-loaded, followed by the auth requirement and the signature caveat. It is a compact, well-ordered two-sentence-plus structure with no filler.
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?
With no output schema, the description compensates by naming the returned aggregates, and it covers prerequisites (scope) and a key failure mode (missing Digital Signatures for EU/UK). For a two-parameter read tool this is close to complete, though pagination/limits are unmentioned.
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 100%, so the schema already fully documents both the filter criteria and marketplaceId. The description only restates the filterable dimensions at a high level, adding little syntax or format detail beyond the schema; baseline 3 is appropriate.
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 gives a specific verb+resource (get cumulative payout totals) and enumerates the returned aggregates: payout count, related transaction count, and total amount, plus the available filters. It is clear and distinguishable from a plain list tool, but it never names a sibling (e.g. ebay_get_payouts or ebay_get_seller_funds_summary), so the agent must 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the optional filtering (payoutDate range, one payoutStatus), which implies when the tool applies, but gives no explicit when-to-use or when-not guidance relative to the many sibling payout/earnings/transaction tools. Usage is inferable rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_privilegesARead-only
Get seller's current set of privileges, including whether or not the seller's eBay registration has been completed, as well as the details of their site-wide sellingLimit (the maximum dollar value and quantity of items a seller can sell per day).
Required OAuth Scope: sell.account.readonly or sell.account
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description adds meaningful context by stating the required OAuth scopes and elaborating on the sellingLimit meaning. This goes beyond what annotations alone provide.
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?
Two focused sentences: the first front-loads the core action and key returned fields, the second gives the required auth scope. No filler or redundant restatement.
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 zero-parameter, read-only tool with no output schema, the description covers enough: what it retrieves, the key output components, and the auth prerequisite. It could be slightly richer about the exact response shape, but it is adequate for correct invocation.
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?
The tool has zero parameters and the schema has full coverage, so there is nothing for the description to clarify param-wise. The description instead adds value by explaining what the returned data represents, which is appropriate for this schema.
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 opens with a specific verb+resource ('Get seller's current set of privileges') and immediately clarifies the two key outputs: registration completion status and site-wide sellingLimit details. This is specific enough to distinguish the tool from the many other ebay_get_* siblings.
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 intended use is clear: call this when you need a seller's current privileges, registration status, or selling limits. It doesn't name alternatives or exclusions, but no sibling tool appears to overlap with this exact responsibility, so the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_product_compatibilitiesC
Get product compatibilities
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Product compatibility request data | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description gives no behavioral details (e.g., what data is returned, limits, prerequisites). Only restates the name.
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?
Extremely minimal – only 4 words. While concise, it lacks sufficient information to be useful, crossing into under-specification.
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?
Given the tool's complexity (nested parameters, many sibling tools, no output schema), the description is woefully incomplete and does not help the agent understand what the tool does or how to use it.
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 coverage is 100% and well-documented, so description adds no extra meaning. Baseline 3 is appropriate.
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?
States verb 'Get' and resource 'product compatibilities', but does not differentiate from sibling tool 'ebay_get_product_compatibility' (singular). The plural implies multiple results, but not explicit.
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?
No guidance on when to use this tool versus related tools like ebay_get_compatibilities_by_specification or ebay_get_product_compatibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_product_compatibilityB
Get product compatibility information for an inventory item
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states 'Get ...' without disclosing behavioral traits like authentication requirements, rate limits, or whether it returns a list or single item.
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 concise sentence. It is front-loaded and contains no filler, though it could be slightly more informative.
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?
Given the lack of output schema and no explanation of what 'product compatibility information' entails (e.g., vehicle fitments), the description is insufficient for an agent to fully understand the return value.
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 coverage is 100% with a clear description for 'sku'. The description adds no additional meaning beyond the schema.
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 clearly states the action (Get), the resource (product compatibility information), and scope (for an inventory item). It distinguishes itself from sibling tools like 'ebay_get_product_compatibilities' (plural) and create/delete variants.
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?
No guidance on when to use this tool versus alternatives like 'ebay_get_product_compatibilities' or create/delete. The usage is only implied as a read operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_product_safety_labelsB
Get product safety labels for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The tool is read-only (Get), but no annotations are provided. The description does not disclose return value details or any side effects, though the simple nature and minimal parameters make behavior somewhat transparent.
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?
A single sentence that is concise and front-loaded with all essential information. No wasted words.
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?
The description lacks information about return values (no output schema), and does not provide enough context for a complete understanding of what the tool produces. Given the specificity of 'product safety labels', more detail would be helpful.
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 coverage is 100%, so the parameter is already documented. The description adds no additional meaning beyond the schema's enum values. Baseline score is appropriate.
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 clearly states the action (Get) and the resource (product safety labels) with a context (for a marketplace). It distinguishes from other tools by its specific resource, though not explicitly differentiating from get_hazardous_materials_labels.
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?
No guidance on when to use this tool versus alternatives like get_hazardous_materials_labels. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_promotion_reportsCRead-only
Get promotion reports through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | q optional endpoint parameter | |
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| marketplaceId | Yes | marketplaceId required endpoint parameter | |
| promotionType | No | promotionType optional endpoint parameter | |
| promotionStatus | No | promotionStatus optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true, so the safe-read nature is known. The description adds no behavioral context beyond the trivial statement that it 'gets' reports—no mention of pagination, return format, filtering semantics, or rate limits. It provides no additional transparency over the annotation.
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 sentence without fluff, but the phrase 'through the eBay Marketing API' is redundant and doesn't earn its place. It is concise yet not informationally efficient, as it repeats the tool's name and adds no useful context.
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?
Given no output schema and a simple two-sentence description, this tool is under-specified for practical use. It lacks details about the kind of report data returned, available promotion types, parameter purpose, and any prerequisites or limits. The 100% schema coverage helps with parameter names, but not with usage context.
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 100%, so the schema documents all 6 parameters. The description adds no parameter meaning beyond what the schema already provides, which is a baseline 3. There is no extra clarification of what the parameters represent or how they interact.
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 clear action ('Get') and resource ('promotion reports'), so an agent understands what the tool does. However, it does not differentiate from sibling tools like ebay_get_promotion_summary_report or ebay_get_report, which also deal with reports, leaving ambiguity in selection.
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?
There is no guidance about when to use this tool versus alternatives. It only mentions the eBay Marketing API, which is trivial given the tool's prefix and sibling context. No exclusions, prerequisites, or decision criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_promotionsCRead-only
Get promotions through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | q optional endpoint parameter | |
| sort | No | sort optional endpoint parameter | |
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| marketplaceId | Yes | marketplaceId required endpoint parameter | |
| promotionType | No | promotionType optional endpoint parameter | |
| promotionStatus | No | promotionStatus optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description's 'Get' is consistent with it. But the description adds no behavioral context beyond naming the API—no indication of pagination, list response shape, filtering semantics, or required scope. With zero extra behavioral disclosure, the annotation carries the entire burden.
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 sentence with no filler and the core action is front-loaded. It is terse to the point of being thin on content, but structurally it wastes nothing.
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 tool with seven parameters, no output schema, and a large sibling family in the promotions domain, one sentence is insufficient. It leaves the agent uninformed about how marketplaceId, promotionType, and promotionStatus combine, what result set to expect, and when to prefer this over ebay_get_item_promotion or ebay_get_promotion_reports.
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 100%, so the schema already documents each parameter's existence and optionality. The description adds no semantic meaning beyond what the schema states, and the parameter descriptions themselves are tautological ('q optional endpoint parameter'). Baseline 3 is appropriate because the schema does the heavy lifting.
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 names a specific verb and resource: 'Get promotions' and identifies the API domain ('eBay Marketing API'). This distinguishes it from more targeted sibling tools like ebay_get_item_promotion and ebay_get_item_price_markdown_promotion. However, it does not explicitly differentiate itself from promotion report or summary-report siblings.
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?
No guidance is given about when to use this tool versus alternatives such as ebay_get_item_promotion, ebay_get_promotion_reports, or ebay_get_promotion_summary_report. The description provides no inclusion/exclusion criteria or mention of required marketplace context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_promotion_summary_reportCRead-only
Get promotion summary report through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | marketplaceId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is covered, but the description adds almost no behavioral context beyond that. It does not mention response format, pagination, asynchronous report generation, or any caveats. The phrase 'through the eBay Marketing API' is context, but not behavior.
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, front-loaded sentence with no wasted words. It is concise, though the brevity comes at the expense of useful behavioral and usage detail.
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?
With no output schema, the description should clarify what the returned summary report contains or how results are returned, but it does not. It also fails to differentiate from sibling report-related tools, leaving an agent uncertain about when this tool is the right choice.
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 100% because the sole parameter marketplaceId has a description, albeit a low-value one ('marketplaceId required endpoint parameter'). The description adds no parameter semantics beyond the schema, so the baseline 3 applies.
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 verb ('Get') and a specific resource ('promotion summary report'), and identifies the API ('eBay Marketing API'). However, it does not distinguish this tool from nearly identical siblings such as ebay_get_promotion_reports or ebay_get_report, so it lacks clear sibling differentiation.
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?
No guidance is given about when to use this tool versus alternatives. The description only names the operation and API, and does not mention conditions, exclusions, or related tools such as ebay_get_promotions or ebay_get_promotion_reports.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_rate_limitsB
Get application rate limits for eBay APIs. Returns call quota, remaining calls, and time until reset for each API resource.
| Name | Required | Description | Default |
|---|---|---|---|
| apiName | No | Optional API name filter, e.g. browse, inventory, taxonomy, or tradingapi | |
| apiContext | No | Optional API context filter, e.g. buy, sell, commerce, developer, or tradingapi |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool 'gets' data, implying a read-only operation, and describes return fields. However, it does not mention authentication requirements, whether it incurs API calls, or if it has its own rate limits.
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 two sentences, clearly front-loaded with the action, and every word adds value. No unnecessary information.
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 read-only tool with no output schema and no annotations, the description is reasonably complete. It states what it returns and the parameters. It could mention that results are per API resource, but overall adequate.
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 coverage is 100% for both optional parameters, and their descriptions already provide meaning (e.g., 'Optional API name filter'). The tool description adds minimal additional context beyond the schema.
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?
Description clearly states the tool gets application rate limits and specifies return fields (quota, remaining, reset). However, it does not explicitly differentiate from similar tools like ebay_get_user_rate_limits listed among siblings.
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?
Description lacks guidance on when or why to use this tool versus alternatives. No mention of prerequisites, context, or conditions limiting its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_rate_tableARead-only
Get one shipping rate table with its rates, rateIds, regions, and shipping costs (Account API v2 getRateTable). Pass rateTableId from ebay_get_rate_tables; use the rateIds with ebay_update_rate_table_shipping_cost. Rate tables are supported on US, CA, GB, DE, AU, FR, IT and ES. Requires sell.account or sell.account.readonly.
| Name | Required | Description | Default |
|---|---|---|---|
| rateTableId | Yes | Shipping rate table ID (from Account API v1 getRateTables) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds genuinely useful context beyond that: the returned fields, the supported marketplaces, and the required OAuth scopes (sell.account or sell.account.readonly). It stops short of describing anything about pagination or error behavior, but for a single-item read this is strong.
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?
Front-loaded with the core action, then the ID provenance, downstream usage, region constraints and scopes. Every sentence earns its place, though the parenthetical API citation is slightly redundant with the purpose statement.
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?
No output schema exists, so the description correctly carries the return-shape burden by naming the returned fields. Combined with the auth scope, region coverage, ID source and downstream sibling, an agent has everything needed to select and invoke it correctly.
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 100% for the single rateTableId parameter, so the baseline is 3. The description adds provenance for the ID (call ebay_get_rate_tables), though the schema also states this (attributing it to v1 getRateTables), so the marginal gain is modest rather than decisive.
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?
States a specific verb and resource ('Get one shipping rate table') and enumerates exactly what it returns (rates, rateIds, regions, shipping costs). It also names the sibling used to obtain the ID and the sibling that consumes the rateIds, so it is clearly distinguishable from ebay_get_rate_tables and ebay_update_rate_table_shipping_cost.
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?
Explicitly says where the required rateTableId comes from ('from ebay_get_rate_tables') and how the result is consumed ('use the rateIds with ebay_update_rate_table_shipping_cost'), establishing both the input path and downstream workflow. Region support (US, CA, GB, DE, AU, FR, IT, ES) further narrows when this tool is applicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_rate_tablesCRead-only
Get seller rate tables
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already conveys that this is a safe read operation, but the description adds nothing beyond that. It does not mention any specific behaviors like response format, pagination, or authentication requirements, which are not covered by the annotation.
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, concise sentence with no wasted words, which is structurally sound. However, it is under-specified—it fails to provide any context about the response or usage, making it too terse to be fully helpful.
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?
Given the absence of an output schema and the minimal annotations, the description carries the full burden of explaining the tool's behavior. It only states the purpose and does not describe what the returned rate tables contain, how they are structured, or any limitations, leaving the agent without crucial information.
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?
The tool has zero parameters, and the schema coverage is trivially 100%. According to the rubric, zero parameters warrant a baseline score of 4, and the description correctly implies no inputs are needed.
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 clearly states the action 'Get' and the resource 'seller rate tables', making the tool's purpose unambiguous. However, it does not differentiate itself from numerous sibling 'get' tools like ebay_get_rate_limits or ebay_get_user_rate_limits, so it misses the top score.
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?
There is no guidance on when to use this tool versus alternatives. The description provides no context about typical use cases, prerequisites, or when another rate-related tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_refunded_ordersARead-only
Scan recent seller orders for refunds. Calls Fulfillment API getOrders and returns orders with a non-empty paymentSummary.refunds array. Read-only helper — does not issue refunds or call the Post-Order API.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Optional Fulfillment getOrders filter expression (e.g. creationdate:[2024-01-01T00:00:00.000Z..2024-12-31T23:59:59.999Z]) | |
| maxResults | No | Maximum orders to scan via getOrders (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already in annotations, the description reinforces this by stating 'Read-only helper' and adds valuable behavioral context beyond the annotation: it details the filtering mechanism (returns orders with non-empty paymentSummary.refunds), names the exact API invoked (getOrders), and discloses the required OAuth scope. This is consistent with the annotations and provides operational detail an agent needs before calling.
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 compact and front-loaded, with the core purpose in the first clause and the restrictive behavior ('Read-only helper') stated early. The appended scope requirements are useful contextual detail. It is slightly verbose with the duplicate scope statements ('Required OAuth Scope' and 'Minimum Scope'), but overall every sentence earns its place and there is no fluff.
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?
Given a simple 2-parameter tool with no output schema and readOnlyHint annotation already present, the description is quite complete: it defines the input behavior (filtering for refunds), the underlying API, the read-only nature, and auth requirements. It does not describe the return value structure in detail, but it explains what the result set is (orders with non-empty refunds array), which is sufficient for a scanning helper.
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 100%, so the schema already documents both parameters (filter with a date-range example, maxResults with default and exclusiveMinimum). The tool description does not add parameter-specific meaning beyond what the schema provides, but the overall behavioral context (scanning for refunds) helps interpret how filter and maxResults are applied. This meets the baseline for full schema coverage.
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 verb and resource ('Scan recent seller orders for refunds'), names the underlying API call (Fulfillment API getOrders), and precisely defines the selection criterion (non-empty paymentSummary.refunds array). It clearly distinguishes itself from siblings like ebay_issue_refund (which issues refunds) and ebay_get_orders (which fetches all orders) by scoping its purpose to refunded orders only.
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 provides clear context about when to use this tool — for scanning recent orders for refunds — and explicitly states what it does not do ('does not issue refunds or call the Post-Order API'). However, it does not name specific sibling alternatives to route the agent toward when a broader unfiltered order scan or an actual refund action is needed, leaving some selection logic to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_regulatory_policiesC
Get regulatory policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or pagination. The minimal description implies a read operation but fails to elaborate.
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 concise but too minimal; it is a single sentence that does not provide enough information to be considered well-structured for effective tool usage.
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?
Given the lack of output schema and the presence of two parameters (including an optional filter), the description does not explain what the tool returns or how to use the filter. This leaves significant context gaps.
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?
The schema provides full descriptions for both parameters (100% coverage), so the description adds no additional semantics. Baseline 3 is appropriate as the schema already carries the burden.
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 clearly states the tool retrieves 'regulatory policies' for a 'marketplace', with a specific verb and resource. However, it does not distinguish itself from other similar policy retrieval tools like 'get_category_policies'.
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?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for invoking it. The description lacks usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_reportCRead-only
Get report through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| reportId | Yes | reportId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description adds no behavioral detail beyond that. It does not disclose response format, authentication needs, or any constraints such as report availability windows.
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 extremely short, but this is under-specification rather than useful conciseness. The phrase 'through the eBay Marketing API' is redundant given the ebay_ prefix and does not help the agent.
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?
With no output schema and many sibling report tools, the description is insufficient. It does not explain what report is retrieved, how reportId is obtained, or what the response will contain, leaving the agent to guess from the parameter name.
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 100%, so the single reportId parameter is already documented in the schema. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies.
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 verb and resource ('Get report') but is vague about which report and how it is identified. It does not distinguish this from many sibling report tools such as ebay_get_report_task, ebay_get_report_metadata, ebay_get_traffic_report, or ebay_get_email_report.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention that reportId refers to a previously created report task, nor does it point to related tools like ebay_create_report_task or ebay_get_report_tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_report_metadataCRead-only
Get report metadata through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | No | channel optional endpoint parameter | |
| fundingModel | No | fundingModel optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a safe read operation, so the description does not need to restate that. The description adds no behavioral context beyond the annotation, such as what metadata is returned, whether it requires a report type, or any rate-limit considerations. With annotations covering the safety profile, a 3 is appropriate.
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, short sentence with no wasted words. It is front-loaded with the verb and resource, though it could have used the space to add differentiating detail without becoming verbose.
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 tool with no output schema and a highly ambiguous sibling name, the description is too thin. It does not explain what report metadata is, what the response contains, or how this differs from ebay_get_report_metadata_for_report_type. The two optional parameters are documented in the schema, but the overall context is incomplete.
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 100%, so both parameters (channel, fundingModel) are already documented in the schema. The description adds no additional meaning about how these parameters affect the metadata returned, so the baseline 3 applies.
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 verb and resource ('Get report metadata through the eBay Marketing API'), which is clear enough at a basic level. However, it does not distinguish this from the sibling ebay_get_report_metadata_for_report_type, which sounds nearly identical, so an agent could pick the wrong one without deeper investigation.
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?
No guidance is given about when to use this tool versus ebay_get_report_metadata_for_report_type or ebay_get_report. The description only names the API, not the conditions or alternatives, so the agent is left to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_report_metadata_for_report_typeBRead-only
Get report metadata for report type through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | No | channel optional endpoint parameter | |
| reportType | Yes | reportType required endpoint parameter | |
| fundingModel | No | fundingModel optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with readOnlyHint=true and implies no side effects, so there is no contradiction. However, it adds little behavioral context beyond the annotation: it does not describe the structure of the returned metadata, valid reportType values, or any error/edge-case behavior. The read-only annotation lowers the required burden, making this adequate but minimal.
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 efficient sentence with no filler, front-loading the verb and resource. It is concise, though it prioritizes brevity over explanatory richness.
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 read-only metadata lookup, the schema and annotation cover the basic parameters and safety profile, and no output schema exists to shift the burden. Still, the description leaves gaps around the expected return shape, valid reportType values, and how this tool fits with the many report-related siblings, so it is only minimally complete.
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?
All three parameters are covered by schema descriptions, but those descriptions only restate the parameter names and optionality (e.g., 'channel optional endpoint parameter'). The prose description adds no additional meaning about valid formats or relationships between reportType, channel, and fundingModel, so the baseline 3 for high schema coverage is appropriate.
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 specifies a concrete action ('Get'), a concrete resource ('report metadata'), and a qualifier ('for report type') within the eBay Marketing API, so it is not just a restatement of the tool name. It does not explicitly explain how it differs from the sibling ebay_get_report_metadata, but the 'for report type' scope gives enough of a hint.
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?
No when-to-use or when-not-to-use guidance is provided. The description does not point to alternatives such as ebay_get_report_metadata, ebay_get_report_tasks, or ebay_create_report_task, nor does it say when the reportType-specific variant is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_report_taskBRead-only
Get report task through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| reportTaskId | Yes | reportTaskId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds minimal behavioral context beyond that—it identifies the API domain but doesn't disclose response format, pagination, or any side effects. With annotations covering the safety profile, a 3 is appropriate.
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?
Single sentence with no waste. It's appropriately sized for a simple get-by-ID tool, though it could have added a bit more context without becoming verbose.
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 read tool with one parameter and readOnlyHint=true, the description is mostly adequate. However, it doesn't mention what a report task is, what the response contains, or how it relates to the report task lifecycle (e.g., created via ebay_create_report_task). The output schema is absent, so a bit more context would help.
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 100%, so the schema already documents the single parameter. The description adds no additional meaning beyond what the schema provides. Baseline 3 is correct when schema does the heavy lifting.
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 verb ('Get') and resource ('report task') and identifies the API domain ('eBay Marketing API'). It clearly distinguishes from sibling tools like ebay_get_report_tasks (plural) and ebay_create_report_task, though it doesn't explicitly name them.
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?
No guidance on when to use this tool versus alternatives. The description doesn't mention that this is for retrieving a single report task by ID, nor does it contrast with ebay_get_report_tasks or ebay_get_report. The context is implied by the name and parameter, but no explicit usage guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_report_tasksCRead-only
Get report tasks through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| reportTaskStatuses | No | reportTaskStatuses optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals this is a read-only operation, and the description's 'Get' aligns with that. However, the description adds no additional behavioral context, such as pagination behavior, default limits, or that it returns a list. With annotations covering the safety profile, the bar is lower, but still no extra value is added.
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, focused sentence with no filler or redundancy. It front-loads the core action and resource. It is appropriately concise, though it could include a bit more detail without becoming verbose.
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?
Given the tool is a simple list operation with three optional parameters and no output schema, the description provides the essential purpose. However, it lacks details such as what the response contains, how filtering by reportTaskStatuses works, or any differences from similar tools like ebay_get_report_task. It is adequate but not comprehensive.
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?
The input schema documents all three parameters (limit, offset, reportTaskStatuses) with 100% coverage. The description adds no parameter-specific information, so it does not compensate for anything the schema already provides. Baseline 3 is appropriate since schema carries the semantic weight.
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 clearly states the action (Get) and resource (report tasks), and mentions the eBay Marketing API. It distinguishes from the singular ebay_get_report_task by being plural, so an agent can tell it fetches a list. However, it is brief and doesn't elaborate on what a report task is, but the purpose is unambiguous.
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?
No guidance is provided on when to use this tool versus alternatives like ebay_get_report_task, ebay_create_report_task, or ebay_get_report. The description does not mention exclusions or prerequisites, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_return_policiesBRead-only
Get return policies for the seller
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, so the description doesn't need to repeat that. However, the description adds no behavioral context beyond the seller scope, such as whether the result is a list, whether policies are filtered by the required marketplaceId, or what fields are returned. It does not contradict the annotations.
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 sentence with no filler and the action is front-loaded. For a one-parameter getter, this length is appropriately concise.
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 read-only getter with one fully documented parameter, the definition is minimally viable. However, with no output schema, the description could usefully clarify that it returns a list of return policies, that the seller identity comes from the authenticated context, and that marketplaceId selects the eBay marketplace. These gaps prevent a higher score.
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 coverage is 100%: the single required marketplaceId parameter has a full enum and a short description ('eBay marketplace ID'). The tool description adds no parameter-specific meaning beyond what the schema already provides, so the baseline 3 is appropriate.
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 uses a specific verb ('Get') and a clear resource ('return policies for the seller'), so the core purpose is understandable. It stops short of full differentiation because it doesn't explicitly say it lists all of the seller's policies, and it could be confused with singular siblings like ebay_get_return_policy or ebay_get_return_policy_by_name.
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?
There is no guidance about when to use this tool versus the many related policy tools, such as ebay_get_return_policy, ebay_get_return_policy_by_name, ebay_get_return_policy_metadata, or ebay_create_return_policy. Given the large sibling list, the absence of any selection criteria is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_return_policyARead-only
Get a specific return policy by ID
| Name | Required | Description | Default |
|---|---|---|---|
| returnPolicyId | Yes | The return policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds no further behavioral details such as return format, error handling, or rate limits. For a simple get-by-ID, this is minimally sufficient but does not go beyond the annotation; it only confirms the read nature of the operation.
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, front-loaded sentence with no filler. Every word contributes to explaining the tool's purpose and input requirement. There is no redundancy or unnecessary detail, making it highly efficient for an agent to parse.
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 tool with a single required parameterable and readOnlyHint annotation, the description is nearly complete. It does not specify the response shape, but no output schema exists so an agent might need to infer the return policy structure. However, this is a standard get-by-ID operation, and the tool name plus description give enough context to invoke it correctly. Missing explicit details about response contents lower it slightly from a 5.
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?
The input schema covers 100% of the parameter, and the description 'return policy ID' matches the schema's own description. The description's 'by ID' adds no new meaning beyond what the schema already provides. With full schema coverage, the baseline of 3 is earned, but there is no extra semantic nuance or format detail given.
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 uses a specific verb ('Get') and resource ('return policy'), and qualifies it with 'specific' and 'by ID', which clearly distinguishes it from listing all return policies (ebay_get_return_policies) or fetching by name (ebay_get_return_policy_by_name). The agent can confidently know this tool retrieves a single return policy identified by its ID.
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 clearly implies the usage context: use this tool when you already have the return policy ID. Sibling tools like ebay_get_return_policy_by_name provide natural alternatives, but the description does not explicitly mention them or provide exclusion criteria. Still, the 'by ID' phrasing gives an unambiguous condition of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_return_policy_by_nameCRead-only
Get a return policy by name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Policy name | |
| marketplaceId | Yes | eBay marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description simply restates the tool's name without adding any behavioral detail. It does not disclose that policies are scoped to a marketplace, nor what happens when no matching policy name is found.
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 sentence with no redundant words, making it concise and front-loaded. However, its brevity comes at the cost of missing contextual details captured under other dimensions.
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 two-parameter read tool with full schema coverage and a readOnly annotation, the description is minimally adequate. It lacks context about marketplace scoping and how this tool relates to ebay_get_return_policy and ebay_get_return_policies, which an agent needs for correct selection.
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?
The input schema already describes both parameters fully (100% coverage), and the description adds no additional semantics beyond confirming that lookup is by name. Baseline 3 applies because the schema handles parameter documentation.
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 clear action ('Get') and resource ('return policy') with a specific lookup criterion ('by name'). However, it doesn't explicitly distinguish itself from the sibling ebay_get_return_policy, which likely retrieves by ID, so some ambiguity remains for an agent choosing among return policy tools.
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?
No guidance is given about when to use this tool versus ebay_get_return_policy or ebay_get_return_policies. The description does not mention prerequisites like the required marketplaceId or that the name is a user-defined, marketplace-scoped policy name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_return_policy_metadataB
Get marketplace return policy requirements and guidelines. Returns eBay policies that define whether return policies are required for categories and the guidelines for creating domestic and international return policies.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains that the tool returns policies defining requirements and guidelines for return policies, which is helpful. However, it does not mention any side effects, authentication requirements, rate limits, or error conditions. The read-only nature is implied but not explicitly stated.
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 very concise: two sentences front-load the purpose and then detail the output. No extraneous words or redundant information. Every sentence adds value.
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?
Given that the tool has only two parameters (one required) and no output schema, the description is fairly complete. It explains the purpose and what the returned data represents. However, it could be improved by noting the effect of the optional `filter` parameter, which is currently vague ('Filter criteria'). Overall, it covers the essential context.
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 coverage is 100% (both `marketplaceId` and `filter` have descriptions in the schema). The description adds no additional meaning beyond what the schema already provides for these parameters. Baseline 3 is appropriate given high schema coverage.
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 clearly states the tool gets marketplace return policy requirements and guidelines. The verb 'Get' and resource are specific. However, it does not explicitly distinguish itself from the sibling tools `ebay_get_return_policy` and `ebay_get_return_policies`, which might cause confusion about when to use this metadata endpoint vs those that retrieve specific policies.
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 provides no guidance on when to use this tool versus alternatives. It does not mention any preconditions, exclusions, or situations where another tool would be more appropriate. The sibling list contains many related policy tools, but the description fails to contextualize this tool among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_sales_taxCRead-only
Get sales tax table for a jurisdiction
| Name | Required | Description | Default |
|---|---|---|---|
| countryCode | Yes | Two-letter ISO 3166 country code | |
| jurisdictionId | Yes | Tax jurisdiction ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, and the description merely repeats that idea with 'Get'. It adds no additional behavioral context such as required prerequisites, return format, or relationship to jurisdiction discovery.
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 efficient sentence with no filler. It is front-loaded with the core action and resource, though the phrase 'sales tax table' could be more precise about the returned data.
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 two-parameter read-only getter with fully documented parameters, the description is minimally viable. However, it does not clarify what the sales tax table contains, how jurisdictionId is obtained, or how this relates to sibling tools like ebay_get_sales_tax_jurisdictions.
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 100%, so both parameters are already documented ('Two-letter ISO 3166 country code' and 'Tax jurisdiction ID'). The description adds only the word 'jurisdiction' and does not provide meaningful detail beyond the schema, so baseline 3 is appropriate.
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 uses a specific verb ('Get') and names the resource ('sales tax table') scoped to a jurisdiction. It is clear what the tool does, though it does not explicitly distinguish itself from siblings like ebay_get_sales_taxes or ebay_get_sales_tax_jurisdictions.
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 gives no guidance on when to use this tool versus alternatives. Given close siblings like ebay_get_sales_taxes and ebay_get_sales_tax_jurisdictions, an agent is not told which tool fits which scenario or whether jurisdiction IDs must first be obtained from another call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_sales_taxesBRead-only
Get all sales tax tables for a country
| Name | Required | Description | Default |
|---|---|---|---|
| countryCode | Yes | Required: Two-letter ISO 3166-1 country code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description's 'Get all' phrasing is consistent with that. The description adds mild value by indicating the result covers the full set of sales tax tables for a country, but it does not disclose response format, pagination, or any other behavioral details beyond what annotations imply.
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, efficient sentence with no redundant words. It front-loads the action and clearly states the object and scope.
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 read-only tool with a single, well-documented parameter, the description is almost sufficient. The absence of an output schema means the agent is not told what the response looks like, but the low complexity and readOnlyHint keep this from being a major gap.
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 100%, and the schema already fully documents 'countryCode' as a required ISO 3166-1 code. The description only restates the country-level scope and adds no additional semantic or format details.
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 clear verb ('Get'), resource ('sales tax tables'), and scope ('for a country'). It communicates that this is the plural/bulk retrieval operation, but it does not explicitly differentiate itself from similar siblings like 'ebay_get_sales_tax' or 'ebay_get_sales_tax_jurisdictions'.
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?
There is no guidance on when to use this tool versus alternatives such as 'ebay_get_sales_tax' or 'ebay_create_or_replace_sales_tax'. The description only states what the tool does, with no context about when it is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_sales_tax_jurisdictionsC
Get sales tax jurisdictions for a country
| Name | Required | Description | Default |
|---|---|---|---|
| countryCode | Yes | Country code (e.g., US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose side effects, auth needs, or rate limits. It only says 'Get', implying read-only, but lacks explicit behavioral info.
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 sentence with no wasted words, but it is too minimal to be fully useful. It earns a middle score for being concise but incomplete.
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 tool with one parameter and no output schema, the description is adequate but leaves ambiguity about what a 'jurisdiction' entails. Could be improved with an example.
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?
The schema has 100% coverage with a description for 'countryCode'. The description adds no extra meaning beyond the schema, earning the baseline score of 3.
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?
Clearly states it gets sales tax jurisdictions for a country, distinguishing it from tax rate tools like ebay_get_sales_tax. The verb 'Get' and resource 'jurisdictions' are specific.
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?
No guidance on when to use this tool versus alternatives. The description only states what it does without mentioning context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_seller_funds_summaryARead-only
Get the seller's funds not yet paid out from the eBay Finances API: available, processing, on-hold, and total amounts. Returns a success status with no data when no funds are pending. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint already declaring a safe read, the description still adds real operational context: the required sell.finances scope, the empty-success edge case, and the critical caveat that eBay demands Digital Signatures on Finances calls for EU/UK sellers while this server does not add them. That last point is exactly the kind of failure-mode disclosure an agent needs and cannot get from annotations.
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?
Three tight sentences with no filler, front-loaded with what the tool returns, followed by edge cases and prerequisites in order of importance.
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 one-parameter read tool with no output schema, the description covers the data shape, the empty-result case, the auth scope, and a platform-level limitation — nothing an agent needs in order to call it correctly is missing.
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 coverage is 100% and the single marketplaceId parameter is fully described in the schema (header override, defaults, examples). The description adds nothing about the parameter, so the baseline 3 applies.
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?
States a specific verb and resource ('Get the seller's funds not yet paid out') and enumerates exactly what is returned (available, processing, on-hold, total). This scope ('not yet paid out') cleanly separates it from sibling payout/transaction summary tools, so an agent can route correctly without opening the schema.
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 'not yet paid out' framing and the note that it returns success with no data when nothing is pending give clear context for when the call is meaningful. It stops short of naming an alternative (e.g. ebay_get_payout_summary) or stating an explicit when-not, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_seller_standards_profileB
Get a specific seller standards profile
| Name | Required | Description | Default |
|---|---|---|---|
| cycle | Yes | Seller standards cycle, e.g., CURRENT or PROJECTED | |
| program | Yes | Seller standards program identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'Get a specific seller standards profile' with no mention of side effects, authentication needs, rate limits, or response contents. This is minimal behavioral disclosure.
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 sentence of 5 words, which is extremely concise. However, it is somewhat under-specified for a tool with no output schema, so it earns a 4 rather than a 5.
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?
Given that there is no output schema, the description should explain what the profile contains. It does not. Additionally, with many sibling tools, some usage context would help the agent decide when to use this tool. The description is incomplete for effective tool selection.
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 coverage is 100% (both parameters have descriptions in the schema). The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
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 specifies 'Get a specific seller standards profile'. The verb 'Get' and resource 'seller standards profile' are clear. It distinguishes from the sibling tool 'ebay_find_seller_standards_profiles' by emphasizing 'specific' versus searching or listing.
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?
No when-to-use or when-not-to-use guidance is provided. The description implies use when you have the required identifiers (program, cycle), but it does not mention alternatives or exclusions. The sibling 'find' tool is not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_servicesC
Get available shipping services for international shipping
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description gives no behavioral insights beyond the implied read-only nature. Missing details on authentication requirements, rate limits, or whether it has side effects.
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?
Single sentence, concise, but lacks essential information. Not overly verbose, but under-specified.
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?
Tool has 2 parameters and no output schema. Description does not explain what constitutes a shipping service, how results are formatted, or any constraints. Incomplete for effective use.
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?
Description does not mention the two parameters (limit, offset). With 0% schema coverage, the description must compensate, but it fails to add any meaning to the parameter semantics.
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?
Description clearly states it retrieves available shipping services for international shipping. It is specific about the resource and scope, but does not explicitly differentiate from sibling tools like ebay_get_shipping_policies.
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?
No guidance on when to use this tool versus alternatives such as ebay_get_shipping_policies or ebay_get_fulfillment_policies. Lacks any context about prerequisites or suitable scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipmentARead-only
Get a shipment by shipmentId: purchased rate, costs, addresses, tracking number, label URL, and cancellation status (Logistics API getShipment). Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| shipmentId | Yes | Shipment ID returned by ebay_create_shipment_from_shipping_quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known, and the description goes well beyond it by disclosing the limited-release gating, the exact OAuth scope not present by default, and the re-consent requirement. It also names the fields returned. Only minor gaps (e.g., error behavior when shipmentId is unknown) remain.
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 retrieval purpose and returned fields are front-loaded in the first sentence, with the prerequisites following. The scope sentence is dense but every clause (limited release, scope URL, default omission, re-consent steps) carries operational value, so it is not padding.
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 one-parameter read tool with a full schema, the description is essentially complete: it covers what is returned, the auth/scope requirement, and the limited-release restriction. Since no output schema exists, enumerating the return fields is a real contribution; only fine-grained error or pagination behavior is unaddressed.
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 100% and the single parameter is already documented in the schema (including its origin from ebay_create_shipment_from_shipping_quote). The description only says 'by shipmentId', adding no format or constraint meaning beyond the schema, so the baseline 3 applies.
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?
States a specific verb and resource ('Get a shipment by shipmentId') and then enumerates the returned payload (purchased rate, costs, addresses, tracking number, label URL, cancellation status), so an agent knows exactly what it retrieves. It is clearly separable from siblings like ebay_create_shipment_from_shipping_quote and ebay_get_shipping_quote.
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?
Provides clear calling context: the Logistics API is limited release (eBay-approved developers only, USPS rates/labels only) and requires the sell.logistics scope, which must be added via EBAY_OAUTH_SCOPES and re-consent. It gives no explicit when-not or routing to alternatives, but the eligibility and prerequisite information tells the agent when this call can even succeed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_carriersARead-only
Metadata API: list the shipping carriers supported on a marketplace. Each shippingCarrier value is the enum to use when supplying shipment tracking. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID sent as the marketplace_id path parameter, e.g. EBAY_US | |
| acceptLanguage | No | Accept-Language header. Required for French Canada (EBAY_CA + fr-CA), French Belgium (EBAY_BE + fr-BE) and Dutch Belgium (EBAY_BE + nl-BE); EBAY_CA without it returns English Canada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description adds the useful detail that this is a Metadata API whose values are enums for shipment tracking plus a localization edge case (EBAY_CA without fr-CA returns English Canada). Still, most of that behavioral detail is a restatement of the acceptLanguage schema field, and nothing is said about auth requirements, caching, or rate limits.
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 core purpose is front-loaded in the first sentence and each sentence carries information, but the acceptLanguage sentence repeats what the schema already states, which is mild redundancy against a two-parameter tool.
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?
With no output schema, the description does explain the shape of the return ('Each shippingCarrier value is the enum to use when supplying shipment tracking') and ties it to a downstream tool, which is adequate for a two-param read. Minor gaps remain around authentication and how the localization value affects the result set.
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 100%, so both parameters are already documented in the schema, and the description's acceptLanguage sentence largely duplicates the schema text. The description adds no new syntax, defaults, or constraints beyond the schema, so the baseline 3 applies.
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 verb and resource ('list the shipping carriers supported on a marketplace') and pins the scope to a marketplace, so the agent knows exactly what is returned. It does not explicitly distinguish itself from the nearby 'get_shipping_services' sibling, which is the main reason this is a 4 rather than a 5.
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?
It gives clear downstream context ('Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy)') and conditions for localization. However, it never states when to prefer this over alternatives or any prerequisites/exclusions, so it stops short of the explicit when/when-not guidance a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_fulfillmentB
Get a specific shipping fulfillment by ID.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | The unique identifier of the order | |
| fulfillmentId | Yes | The unique identifier of the shipping fulfillment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions auth requirements but does not disclose read-only nature, return format, error behavior, or rate limits. The agent has minimal insight into what happens when the tool is invoked.
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 two sentences with no superfluous content. The purpose is front-loaded, and the OAuth info follows succinctly.
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?
Despite having no output schema, the description does not explain what the tool returns (e.g., fulfillment details). It also lacks context on error conditions or pagination, leaving the agent underinformed.
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 coverage is 100% with descriptions for both parameters. The tool description adds no extra meaning beyond the schema, so baseline score is appropriate.
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 clearly states the verb 'Get' and the resource 'shipping fulfillment' and specifies retrieval by ID. However, it does not differentiate from the sibling tool 'ebay_get_shipping_fulfillments' which lists all fulfillments for an order.
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 includes required OAuth scopes, which are prerequisites, but provides no guidance on when to use this tool versus alternatives like ebay_get_shipping_fulfillments or ebay_create_shipping_fulfillment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_fulfillmentsA
Get all shipping fulfillments for an order.
Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | The unique identifier of the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the required OAuth scope, which is behavioral, but does not mention idempotency, rate limits, return format, or potential data limits. A read operation is implied, but not explicitly stated.
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 two sentences: the first clearly states the purpose, the second provides necessary OAuth scope information. No unnecessary words or repetition.
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?
Given the tool's simplicity (one required parameter, no output schema), the description covers the essential purpose and authorization needed. It could be improved by noting the return type or any pagination, but it is generally complete for its complexity.
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?
The input schema covers 100% of parameters with descriptions. The description adds no additional meaning beyond stating the scope. According to guidelines, high schema coverage warrants baseline 3, so no extra credit.
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 clearly states the action ('Get'), the resource ('all shipping fulfillments'), and the context ('for an order'). It distinguishes from the singular sibling 'ebay_get_shipping_fulfillment' by specifying 'all' and from 'ebay_create_shipping_fulfillment' by indicating retrieval.
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 provides clear context for when to use the tool (to retrieve all shipping fulfillments for a given order) and includes required OAuth scopes. It does not explicitly exclude alternative tools or provide when-not-to-use guidance, but the purpose is sufficiently clear for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_locationsARead-only
Metadata API: list the regions, countries and special locations a seller can ship to on a marketplace. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID sent as the marketplace_id path parameter, e.g. EBAY_US | |
| acceptLanguage | No | Accept-Language header. Required for French Canada (EBAY_CA + fr-CA), French Belgium (EBAY_BE + fr-BE) and Dutch Belgium (EBAY_BE + nl-BE); EBAY_CA without it returns English Canada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful behavior beyond that: it enumerates what is returned (regions, countries, special locations) and explains the localization nuance for EBAY_CA/EBAY_BE. No auth, rate-limit, or pagination notes, but value is added beyond the annotations.
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?
Three front-loaded sentences with no filler; the core purpose leads, followed by localization and downstream use. Minor overlap with the schema's acceptLanguage text, but overall tight and well ordered.
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?
With no output schema, the description does describe the return content (regions, countries, special locations) and how consumers should use it. For a two-parameter read-only metadata call backed by a full-fidelity schema and annotations, this is nearly complete, lacking only pagination/size expectations.
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 coverage is 100%, so both parameters are already documented. The description's acceptLanguage explanation largely restates the schema description (fr-CA/fr-BE/nl-BE mapping, EBAY_CA falling back to English), adding little new syntax or format detail. Baseline 3 applies when the schema carries the semantics.
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?
Clear specific verb+resource: 'list the regions, countries and special locations a seller can ship to on a marketplace.' An agent can identify the tool's output. However, it never explicitly distinguishes itself from close siblings like ebay_get_exclude_shipping_locations, so routing among the shipping-location tools is left to inference.
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?
Provides clear downstream context: 'Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy),' naming the consuming tool. Also frames the acceptLanguage conditional per marketplace. It stops short of stating when-not-to-use or explicitly contrasting with the exclude-locations sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_policiesC
Get shipping policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It fails to indicate whether the operation is read-only, what authorization is required, or any side effects. The minimal text provides no transparency beyond the basic function.
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 concise sentence, but it is overly terse. It lacks important details that would make it more useful. Conciseness is valued, but not at the expense of completeness.
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?
Without an output schema, the description should explain what the tool returns. It does not mention return value format, structure, or any pagination. The context of 'shipping policies' is vague and could mislead an agent about the scope of results.
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?
Input schema coverage is 100%, with both parameters having descriptions. The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate. The vague 'Filter criteria' could benefit from elaboration, but the description does not provide it.
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 clearly states the verb 'Get' and the resource 'shipping policies' and specifies the context 'for a marketplace'. It is unambiguous and distinct from sibling tools like ebay_get_fulfillment_policies, though it could be more specific about the scope.
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?
No usage guidelines are provided. The description does not indicate when to use this tool, what prerequisites exist, or when alternatives might be more appropriate. There is no mention of related tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_quoteARead-only
Get a shipping quote by shippingQuoteId with its rates, package, addresses, and expiry (Logistics API getShippingQuote). Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.
| Name | Required | Description | Default |
|---|---|---|---|
| shippingQuoteId | Yes | Shipping quote ID returned by ebay_create_shipping_quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true is already declared, but the description adds genuinely non-obvious context beyond annotations: limited release gating, USPS-only constraint, and the scope that is not requested by default with re-consent requirements. No output schema exists, so the list of returned fields is also useful disclosure.
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?
Front-loaded with the core purpose before the operational caveats. The second sentence is long but every clause (limited release, scope name, key-set remediation) carries actionable information, so it earns its space.
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?
With no output schema, the description compensates by enumerating return contents, and it covers the auth/eligibility prerequisites that would otherwise block a successful call. Nothing essential for correct invocation is missing.
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?
Only one parameter, and schema coverage is 100% — the schema description already explains it is a shipping quote ID returned by ebay_create_shipping_quote. The description restates 'by shippingQuoteId' without adding format, lookup, or error semantics, so the baseline 3 applies.
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?
States a specific verb and resource ('Get a shipping quote by shippingQuoteId') and enumerates what the response contains (rates, package, addresses, expiry), plus names the underlying API operation. An agent can distinguish this from sibling quote tools such as ebay_create_shipping_quote.
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 gives strong preconditions: limited-release API, eBay-approved developers only, USPS rates/labels only, and the exact OAuth scope required with remediation steps (add to EBAY_OAUTH_SCOPES and re-consent). It does not, however, route the agent to alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_shipping_servicesARead-only
Metadata API: list the shipping services available on a marketplace with carrier, category, domestic/international flag, shipping times, cost types and package limits. Only services with validForSellingFlow=true can be used in listings or fulfillment policies. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace ID sent as the marketplace_id path parameter, e.g. EBAY_US | |
| acceptLanguage | No | Accept-Language header. Required for French Canada (EBAY_CA + fr-CA), French Belgium (EBAY_BE + fr-BE) and Dutch Belgium (EBAY_BE + nl-BE); EBAY_CA without it returns English Canada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read. Beyond that, the description adds real behavioral context: the validForSellingFlow=true filter constraint and the marketplace-specific localization requirement (acceptLanguage for EBAY_CA/EBAY_BE). This is the kind of value-add that goes beyond the annotation. Minor gap: no note on rate limits or output size.
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?
Front-loaded with the core purpose, then the important filter constraint, then localization, then the downstream use. All four sentences earn their place. Slightly dense but no filler.
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 read-only metadata tool with no output schema, the description covers purpose, return fields, filtering constraint, localization, and downstream usage — everything an agent needs to invoke it correctly. The absence of an output schema means more return-value detail would help, but the field enumeration largely compensates.
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 coverage is 100% and both parameters are fully described in the schema, including the acceptLanguage localization rules. The description reiterates the acceptLanguage guidance but adds no syntax beyond what the schema already states, so baseline 3 is appropriate.
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?
States a specific verb+resource ('list the shipping services available on a marketplace') and enumerates the returned fields (carrier, category, domestic/international, shipping times, cost types, package limits). This clearly distinguishes it from siblings like ebay_get_shipping_carriers (carriers only) and ebay_get_shipping_locations.
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?
Provides a clear 'when' by naming the downstream consumer: 'Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).' It does not explicitly state when NOT to use it or contrast with the closely related ebay_get_shipping_carriers, but the intended use context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_signing_keyA
Get a specific signing key by ID. Returns public key and metadata (private key is not stored by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
| signingKeyId | Yes | System-generated eBay signing key identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds valuable context: it notes that the private key is not stored by eBay, a behavioral trait not obvious from the schema.
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 two short sentences, front-loaded with the main purpose, and contains no unnecessary words.
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 get operation with one parameter and no output schema, the description adequately covers purpose, return value, and a key behavioral note, making it complete.
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 coverage is 100% and the description only mentions 'by ID', adding no extra meaning beyond what the schema already provides for the single parameter.
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 clearly states the action 'Get' and the resource 'signing key by ID', distinguishing it from sibling tools like 'ebay_get_signing_keys' which lists all keys.
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 usage to retrieve a specific signing key by ID but does not explicitly state when to use this versus alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_signing_keysA
Get all signing keys for the application. Returns public keys and metadata (private keys are not stored by eBay).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility for behavioral disclosure. It reveals that the tool returns public keys and metadata, and importantly states that private keys are not stored by eBay, clarifying a key limitation. However, it omits details on authentication, rate limits, or any potential side effects, though the read-only nature limits risk.
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 extremely concise, consisting of two short sentences that directly explain the tool's purpose and output. Every sentence adds value with no unnecessary words.
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?
The description explains the return value (public keys and metadata) but not the structure. Given the tool has no parameters and no output schema, it is fairly complete, though a note about the format or pagination would improve it. However, the simplicity of the tool makes this acceptable.
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?
There are zero parameters, so schema coverage is 100%. According to the rubric, this gives a baseline of 4. The description does not add parameter semantics because none exist.
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 clearly states the tool retrieves all signing keys for the application, using the specific verb 'Get' and the resource 'signing keys'. It distinguishes from the singular 'ebay_get_signing_key' by specifying 'all', and clarifies the return includes public keys and metadata with an important note about private keys.
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 does not provide explicit guidance on when to use this tool versus alternatives like 'ebay_get_signing_key' or 'ebay_get_notification_public_key'. It implies retrieval of all keys, but lacks when-not-to-use or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_site_visibility_policiesC
Get site visibility policies for a marketplace
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter criteria | |
| marketplaceId | Yes | Marketplace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, leaving the description as the sole source of behavioral info. The description only says 'Get', implying a read operation, but fails to disclose any traits like authentication needs, rate limits, pagination, or error handling. This is insufficient for a tool with no structured behavioral hints.
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, concise sentence that front-loads the core action. It is appropriately sized given the tool's simplicity, though it could benefit from additional structure like a note on returns or usage.
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?
With no output schema and minimal parameter descriptions, the description fails to explain what the returned policies look like, what 'site visibility' means, or any edge cases. This leaves an agent insufficiently informed about the tool's output and behavior.
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 coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions. It does not explain the 'filter' parameter's valid values or behavior, nor does it provide context for the marketplaceId enum. No added value beyond what the schema already provides.
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 clearly states it retrieves 'site visibility policies' for a marketplace, combining a specific verb and resource. However, among many sibling tools like ebay_get_category_policies or ebay_get_shipping_policies, it does not differentiate what makes 'site visibility' distinct, so it lacks sibling differentiation.
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 provides no guidance on when to use this tool versus other policy retrieval tools (e.g., ebay_get_classified_ad_policies, ebay_get_regulatory_policies). It also does not mention any prerequisites or contexts where site visibility policies are relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_sku_location_mappingB
Get inventory locations for a specific listing and SKU.
Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The seller-defined SKU | |
| listingId | Yes | The listing ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates a read operation with OAuth scope requirements, but lacks details on error behavior, response format, or any side effects. Since output schema is missing, the agent cannot infer return structure.
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 concise: two sentences followed by scope requirements. It is front-loaded with the core action. However, the scope information could be considered administrative rather than functional.
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 tool with only two simple string parameters, the description covers the basic purpose and required scopes. However, without an output schema, it fails to indicate what the response contains (e.g., list of locations, location details), leaving the agent underinformed.
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 100%, so the schema already documents both parameters. The description adds no additional meaning beyond restating 'listing and SKU'. Baseline 3 is appropriate.
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 clearly states the verb ('get'), the resource ('inventory locations'), and the specific condition ('for a specific listing and SKU'). This distinguishes it from sibling tools like 'ebay_create_or_replace_sku_location_mapping' and 'ebay_get_inventory_locations'.
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?
No guidance is provided on when to use this tool versus alternatives such as 'ebay_get_inventory_location' or the create/delete variants. The description does not exclude any scenarios or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_storeARead-only
Get the seller's eBay Store details (Stores API getStore): store name, URL, URL path, description, logo, and last opened time. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already covering the safety profile, the description adds useful context beyond annotations: the required subscription and sell.stores scope, plus the specific fields returned. No contradiction with annotations.
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?
A single front-loaded sentence that lists the resource, returned fields, and precondition with no wasted words.
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 read operation with no parameters, no output schema, and readOnlyHint already present, the description is nearly complete: it names the returned fields and the required subscription/scope. It could mention error behavior when no store exists, but that is a minor gap.
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?
The tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to add. Schema coverage is 100% trivially.
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?
States a specific verb and resource ('Get the seller's eBay Store details') and enumerates the returned fields, which clearly separates it from siblings like ebay_get_store_categories or ebay_get_store_tasks. It does not explicitly name an alternative tool, so it stops short of a 5.
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?
Usage is implied by the purpose, and a key precondition is given ('Requires an active eBay Store subscription'), but the description never says when to choose this tool over other store-related siblings or clarifies exclusions. It is adequate but lacks explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_store_categoriesARead-only
Get the eBay Store's custom category hierarchy (Stores API getStoreCategories): categoryId, categoryName, level, order, and childrenCategories for up to three levels. Use these store category IDs (not eBay marketplace category IDs) with the store category tools. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds meaningful non-obvious context beyond that: the required sell.stores scope, the active-Store-subscription prerequisite, and the three-level depth limit of the hierarchy.
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?
Two dense sentences, front-loaded with the core purpose before the usage caveat and prerequisite. Every clause carries information (API name, field list, ID disambiguation, auth requirement), though the parenthetical field enumeration makes it slightly heavy.
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?
With no output schema and no parameters, the description compensates well by enumerating the returned fields (categoryId, categoryName, level, order, childrenCategories) and the depth limit, and by disclosing the auth/scope requirement. An agent has everything needed to call and interpret it.
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?
Zero parameters, so the baseline is 4; there is nothing for the description to disambiguate on the input side. The field list it provides describes the return payload rather than inputs, which is helpful but not a parameter concern.
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?
States a specific verb and resource ('Get the eBay Store's custom category hierarchy') and names the underlying API operation. Crucially, it distinguishes itself from the marketplace category tools by noting these are store category IDs, not marketplace category IDs, so an agent can separate it from siblings like ebay_get_category_tree.
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?
Explicitly tells the agent to use these IDs 'with the store category tools' and warns against confusing them with eBay marketplace category IDs, and it names the prerequisite (active Store subscription). It stops short of naming a specific alternative sibling tool by name, but the when/when-not guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_store_taskARead-only
Get the status of one asynchronous eBay Store category task (Stores API getStoreTask) by the taskId returned from ebay_add_store_category, ebay_rename_store_category, ebay_move_store_category, or ebay_delete_store_category. Returns task id, type, status, and message. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Store task ID returned as taskId by the add, rename, move, or delete store category tools |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the readOnlyHint annotation by disclosing the auth requirement (active eBay Store subscription, sell.stores scope) and the shape of the response (task id, type, status, message). It does not cover polling cadence or task expiry, which would be useful for an async status-check tool, so it falls short of a 5.
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?
Three tight sentences with the core action front-loaded, followed by return values and the auth prerequisite. No filler or restated name/title padding.
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?
No output schema exists, but the description enumerates the returned fields, and it covers the parameter origin and the subscription prerequisite — enough for an agent to invoke correctly. Missing only async-specific behavior such as polling expectations or eventual-consistency timing.
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 coverage is 100% and the single taskId parameter is fully documented in the schema. The description only reinforces the same point (taskId originates from the add/rename/move/delete tools), so the baseline 3 applies.
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?
States a specific verb ('Get the status'), a specific resource ('one asynchronous eBay Store category task'), and even names the underlying API operation (Stores API getStoreTask). An agent can distinguish it from ebay_get_store_tasks (plural) and the mutation siblings without opening any schema.
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?
Explicitly tells the agent when to use it by naming the four producer tools (ebay_add/rename/move/delete_store_category) whose returned taskId feeds this call. It does not name a competing tool as an exclusion, but the context is clear enough that an agent knows exactly when to reach for it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_store_tasksARead-only
List the status of all asynchronous eBay Store tasks (Stores API getStoreTasks). Every task ends as COMPLETED or FAILED within 24 hours; use it to check whether a store category change is still in flight. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read nature is covered. The description adds meaningful context beyond that: terminal states, the 24-hour completion horizon, and an active eBay Store subscription requirement with the sell.stores scope.
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?
Three compact sentences, front-loaded with the core action and API name before the usage hint and prerequisite. Every sentence carries information, though the parenthetical API reference is slightly redundant with the tool name.
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 zero-parameter read tool with no output schema, the description covers what the agent needs: what it returns in aggregate, the possible terminal states, and the subscription/scope prerequisite. Only the shape of individual task fields is left unspecified, which is a minor gap.
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?
The tool takes zero parameters, so the schema has nothing to document and the description has nothing to compensate for. Baseline 4 is appropriate; nothing about parameter meaning is missing or misleading.
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?
States a specific verb (List) and resource (asynchronous eBay Store tasks), names the backing API (getStoreTasks), and is clearly distinguishable from the singular sibling ebay_get_store_task. An agent can tell immediately this returns the full task collection rather than one task.
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?
Gives an explicit use case ("check whether a store category change is still in flight") and a lifecycle constraint (COMPLETED/FAILED within 24 hours), which frames when it is worth calling. It does not explicitly contrast with the singular ebay_get_store_task sibling, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_subscriptionCRead-only
Get seller subscription information
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional subscription page size limit | |
| continuationToken | No | Optional continuation token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, so the read-only nature is covered. The description adds no additional behavioral context such as pagination behavior, single vs. list return, or auth requirements. Since the description carries minimal behavioral disclosure beyond the annotation, it earns a low score.
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, efficient sentence with no filler. It front-loads the primary action and resource. However, it might be slightly under-specified, though that is more a completeness issue than a conciseness issue.
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?
With no output schema and only a terse description, an agent cannot tell what the response looks like or what 'subscription information' includes. The optional pagination parameters hint at a list, but the description doesn't clarify. For a tool with two parameters and no output schema, this description is overly minimal.
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 coverage is 100%: both limit and continuationToken have descriptions in the input schema. The tool description adds no additional parameter semantics, but the high schema coverage sets the baseline at 3.
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 'Get seller subscription information' clearly identifies the action (get) and the resource (seller subscription information). It distinguishes from the sibling 'ebay_get_notification_subscription' by using 'seller subscription' rather than 'notification subscription', though it does not explicitly name the alternative.
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 provides no guidance on when to use this tool vs. the many subscription-related siblings (e.g., ebay_get_notification_subscription). No context is given about prerequisites, scenarios, or exclusions, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_token_statusA
Check the current OAuth token status. Returns information about whether user tokens or client credentials are being used, and whether tokens are valid.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only check but does not explicitly state side effects, safety, or prerequisites. The return info is mentioned, which adds transparency.
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?
Two sentences, 28 words, no fluff. Every sentence adds value: the first states the action, the second describes the return. Highly concise.
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 zero-parameter tool, the description covers the core functionality. It could optionally detail the return structure (e.g., JSON fields) since no output schema is provided, but the current info is likely sufficient.
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?
There are zero parameters, and schema coverage is 100%, so baseline is 4. The description adds meaning by explaining the return information (user tokens vs client credentials, validity), which goes beyond the empty schema.
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 clearly states the verb 'Check' and the resource 'current OAuth token status', and specifies the returned information (user tokens vs client credentials, validity). This purpose is distinct from sibling token tools like validation or refresh.
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 provides no guidance on when to use this tool versus alternatives (e.g., ebay_validate_token_expiry, ebay_refresh_access_token). No when-to-use or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_trackingC
Get tracking information for packages
| Name | Required | Description | Default |
|---|---|---|---|
| trackingNumber | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It does not mention any side effects, authentication requirements, rate limits, or error handling (e.g., invalid tracking number). This is a significant gap.
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 very concise (one sentence) but lacks crucial information. While brevity is positive, this case borders on under-specification. A 3 is given for being short but not optimally informative.
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?
With no output schema, no annotations, and minimal description, the tool is severely incomplete. The agent needs to know what tracking details are returned (e.g., status, location, timestamps) and how to handle errors, none of which is covered.
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?
The input schema has a single parameter 'trackingNumber' with 0% description coverage, and the tool description adds no additional meaning. The agent receives no help on what the parameter represents or its format.
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 'Get tracking information for packages' clearly states the tool's verb (get) and resource (tracking information). It distinguishes itself from sibling tools like order or inventory tools, though no explicit differentiation is made.
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?
No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. The description provides no context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_traffic_reportC
Get traffic report for listings
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Optional metric sort expression | |
| filter | Yes | eBay traffic report filter expression | |
| metric | Yes | Comma-delimited report metrics to retrieve | |
| dimension | Yes | Report dimension, e.g., LISTING or DAY |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. However, it only states the basic function without disclosing behavioral traits such as required permissions, data freshness, idempotency, or any side effects.
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 very concise (7 words), but it lacks structure and fails to front-load critical information. While brevity is positive, it sacrifices clarity and completeness.
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?
Given the 4 parameters, no output schema, and many sibling tools, the description is incomplete. It does not explain what the report contains, how to combine parameters, or any usage notes, leaving the agent underinformed.
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?
The input schema has 100% coverage with descriptions for all parameters (dimension, filter, metric, sort). The tool description adds no further semantic value beyond the schema, so baseline score of 3 is appropriate.
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 'Get traffic report for listings', which clearly indicates the verb (get) and resource (traffic report). However, it does not differentiate from sibling report tools like ebay_get_report or ebay_get_report_tasks, which could cause ambiguity.
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?
No guidance on when to use this tool versus alternatives. There is no context about prerequisites, constraints, or scenarios where this tool is appropriate, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_transactionsARead-only
List monetary transactions (sales, refunds, credits, fees, transfers, and more) from the eBay Finances API, last five years. Filter by transactionDate, transactionType, transactionStatus, buyerUsername, payoutId, orderId, or transactionId; page with limit/offset; sort by transactionDate. Returns a success status with no data when nothing matches. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Set to transactionDate for oldest first; transactions sort only by date. eBay sorts newest first by default. | |
| limit | No | Records per page, up to 1000 (eBay default 20) | |
| filter | No | Monetary transaction filter. Criteria: transactionDate:[2024-10-23T00:00:01.000Z..2024-11-09T00:00:01.000Z] (last five years, range up to 36 months); transactionType:{SALE} (TransactionTypeEnum); transactionStatus:{PAYOUT} (TransactionStatusEnum, sales only); buyerUsername:{buyer1234}; payoutId:{5********8}; orderId:{0*-0***0-3***3}; transactionId:{0*-0***0-3***3}, which must be combined with transactionType; payoutReference:{5*******3} (mainland China sellers only). Separate multiple criteria with commas. eBay returns all transactions from the last five years when omitted. | |
| offset | No | Zero-based number of transactions to skip; keep below 5000 for response time (eBay default 0) | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint annotation by disclosing the empty-result behavior ('returns a success status with no data when nothing matches'), the required sell.finances scope, and a critical API limitation (Digital Signatures required for EU/UK sellers, not added by this server). The last item alone materially changes an agent's chance of success.
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?
Front-loads purpose before constraints, and each clause carries information. Slightly dense as a single paragraph and the 'last five years' range is repeated from the filter schema, but there is little genuine waste.
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 read-only list tool with full schema coverage and no output schema, the description covers auth scope, the digital-signature caveat, and empty-result behavior, which is nearly everything an agent needs. It does not describe the shape of returned transaction records, though that is a minor gap given no output schema exists.
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 100%, so the schema already documents sort, limit, offset, marketplaceId, and the complex filter syntax. The description only restates the filterable fields at a high level and adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema carries the parameter burden.
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?
States a specific verb ('List') plus resource ('monetary transactions') and enumerates the transaction kinds covered (sales, refunds, credits, fees, transfers). This clearly distinguishes it from siblings like ebay_get_transaction_summary, ebay_get_payouts, and ebay_get_transfer.
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?
Gives clear operational context: which fields can be filtered (transactionDate, transactionType, buyerUsername, payoutId, orderId, transactionId), that paging uses limit/offset, and sorting is by date. It does not explicitly name alternatives to use instead (e.g., summary or payout tools), so it falls short of the explicit when/when-not bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_transaction_summaryARead-only
Get cumulative transaction counts and amounts from the eBay Finances API, including on-hold payments. eBay requires a transactionStatus criterion in filter, e.g. transactionStatus:{PAYOUT}. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | Yes | Transaction summary filter. eBay requires a transactionStatus criterion, e.g. transactionStatus:{PAYOUT}; other criteria are optional: transactionDate:[2024-10-23T00:00:01.000Z..2024-11-09T00:00:01.000Z] (last five years, range up to 36 months); transactionType:{SALE} (TransactionTypeEnum); transactionStatus:{PAYOUT} (TransactionStatusEnum, sales only); buyerUsername:{buyer1234}; payoutId:{5********8}; orderId:{0*-0***0-3***3}; transactionId:{0*-0***0-3***3}, which must be combined with transactionType. Separate multiple criteria with commas. | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses meaningful operational traits: the sell.finances scope requirement, that on-hold payments are included in the totals, and crucially that EU/UK sellers require Digital Signatures which this server does not add – a real limitation an agent must know about. It stops short of describing return shape or pagination, but adds genuine context annotations do not provide.
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?
Front-loads the purpose, then adds prerequisites and the digital-signature caveat. Every sentence carries information, though the filter example is somewhat redundant with the schema and could be trimmed.
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 read-only finance summary with no output schema and only a readOnlyHint annotation, the description supplies the essential auth scope and a critical EU/UK limitation. The main gap is return-value/pagination behavior, which is minor given no output schema exists to constrain it.
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 coverage is 100% and both parameters are thoroughly documented in the schema, so baseline 3 applies. The description restates the required transactionStatus criterion (already in the schema) and adds nothing about marketplaceId or filter syntax beyond what the schema provides.
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?
States a specific verb (Get) and resource (transaction summary), and clarifies the payload as cumulative counts and amounts from the eBay Finances API, which distinguishes it from the sibling ebay_get_transactions (individual transactions). However, it never names that sibling explicitly, so the differentiation is implied rather than stated.
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 conveys prerequisites (transactionStatus criterion required, sell.finances scope needed) but gives no explicit when-to-use/when-not guidance and never names alternatives like ebay_get_transactions or ebay_get_seller_funds_summary. Usage context is inferable from the required filter and scope, but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_transferARead-only
Get one TRANSFER transaction (the seller reimbursing eBay, e.g. for a buyer refund) from the eBay Finances API. Find IDs with ebay_get_transactions and filter transactionType:{TRANSFER}. Read-only; does not move money. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.
| Name | Required | Description | Default |
|---|---|---|---|
| transferId | Yes | TRANSFER transaction ID: the transactionId returned by ebay_get_transactions with filter transactionType:{TRANSFER}. Other transaction types return 404. | |
| marketplaceId | No | Overrides the X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US, EBAY_GB or EBAY_DE. Defaults to EBAY_MARKETPLACE_ID; eBay assumes EBAY_US when the header is absent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint with three behavioral facts an agent cannot get from structured fields: it does not move money, it requires the sell.finances scope, and eBay mandates Digital Signatures on Finances calls for EU/UK sellers that this server does not supply. The last point is a genuine failure-mode warning for a specific seller segment.
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?
Front-loaded with the resource and its meaning, then the ID-discovery path, then caveats. Nearly every clause earns its place, though 'Read-only; does not move money' partially restates the readOnlyHint annotation.
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?
Covers purpose, auth scope, and the significant EU/UK signing caveat for a tool with no output schema, which is the main risk an agent must know. It stops short of describing what the returned transfer record contains, a minor gap given there is no output schema to lean on.
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 coverage is 100%, and the schema already documents both transferId (with the 404 caveat for other types) and marketplaceId. The description only restates that the ID comes from a TRANSFER-filtered transaction list, adding little beyond what the schema provides. Baseline 3 is appropriate.
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?
States a specific verb+resource ('Get one TRANSFER transaction') and defines the domain term inline ('the seller reimbursing eBay, e.g. for a buyer refund'). It also distinguishes itself from the sibling that lists everything, so an agent can tell it apart from ebay_get_transactions without opening the schema.
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?
Tells the agent how to obtain the required ID (use ebay_get_transactions with filter transactionType:{TRANSFER}), which is a concrete usage path. It does not, however, contrast itself with other single-resource finance getters (e.g. ebay_get_payout), so the exclusionary guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_userB
Get user identity information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only says 'Get user identity information' and does not mention required authentication, the specific data returned, or whether the operation has side effects. This is insufficient for safe usage.
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 short sentence with no wasted words. It is concise but could benefit from slightly more structure to improve clarity.
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?
Given the tool has no parameters and no output schema, the description is minimal but does not explain what 'user identity information' includes or how to interpret the result. A more complete description would specify the kind of identity data returned.
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?
Since there are no parameters and schema coverage is 100% (empty schema), the description adds no additional meaning, but the baseline for zero parameters is 4 because no parameter documentation is needed.
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 'Get user identity information' uses a specific verb and resource, clearly distinguishing this tool from the many siblings that deal with other eBay operations like disputes, ads, campaigns, etc.
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?
No guidance on when to use this tool versus alternatives such as ebay_get_privileges or ebay_get_user_rate_limits. The description does not mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_user_preferencesARead-only
Get the seller's preferences for one marketplace (Account API v2 getUserPreferences): combined payment, dispatch cut-off time, unpaid item assistance, end-of-auction email, Out-of-Stock control, Business Policies opt-in, excluded ship-to locations, carrier rates, and more. Optional fieldgroups (comma-separated, default ALL) limits the groups returned. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Requires sell.account.readonly or sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| fieldgroups | No | Comma-separated preference groups; omit or ALL for every group. Values: COMBINED_PAYMENT, DISPATCH_CUTOFF_TIME, EMAIL_SHIPMENT_TRACKING_NUMBER, END_OF_AUCTION_EMAIL, GLOBAL_SHIPPING_PROGRAM, GLOBAL_SHIPPING_PROGRAM_LISTING, ITEMS_AWAITING_PAYMENT, OUT_OF_STOCK_CONTROL, SELLER_PROFILE, OVERRIDE_GSP_SERVICE_WITH_INTL_SERVICE, PICKUP_DROPOFF_SELLER, PURCHASE_REMINDER_EMAIL, REQUIRED_SHIP_PHONE_NUMBER, SELLER_EXCLUDE_SHIP_TO_LOCATION, SHIPPING_CARRIER_RATE | |
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description goes further by naming the required OAuth scopes (sell.account.readonly or sell.account), explaining that marketplaceId is transmitted as the X-EBAY-C-MARKETPLACE-ID header, and disclosing the default-ALL behavior of fieldgroups. It stops short of describing rate limits or error behavior, so not a 5.
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 first sentence is front-loaded but bloated by a long enumeration of preference topics that overlaps with the fieldgroups enum already in the schema. The remaining two sentences are tight and informative, but the field list is padding that does not earn 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 read-only getter with no output schema, the description covers the authentication scopes, the header requirement, the optional filtering parameter, and the breadth of returned preferences. An agent has enough to invoke it correctly; only the shape of the response is left unspecified, which is acceptable given no output schema exists.
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 100% and the schema already documents the marketplaceId enum/header mapping and the full fieldgroups value list, so the description's restatement adds little. The 'comma-separated, default ALL' note is mildly useful but largely duplicates the schema text.
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?
States a specific verb and resource ('Get the seller's preferences'), scopes it ('for one marketplace'), and names the underlying API operation (Account API v2 getUserPreferences). It is unambiguously the read counterpart to the sibling ebay_set_user_preferences, and the enumerated preference topics confirm what data is returned.
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?
Usage is implied by the getter verb and the readOnly annotation, and the description explains the fieldgroups narrowing behavior, but it never states when to prefer this over ebay_set_user_preferences or any other account-related sibling, nor any exclusions or prerequisites beyond the scope requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_user_rate_limitsB
Get user-specific rate limits for eBay APIs. Returns call quota per user for APIs that limit by user.
| Name | Required | Description | Default |
|---|---|---|---|
| apiName | No | Optional API name filter, e.g. browse, inventory, taxonomy, or tradingapi | |
| apiContext | No | Optional API context filter, e.g. buy, sell, commerce, developer, or tradingapi |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it returns call quota per user. No mention of side effects, safety (read-only), authorization needs, or rate limit concerns. Minimal behavioral context beyond purpose.
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?
Single sentence front-loads key information. Concise but could be slightly improved by adding a brief note on return format without losing efficiency.
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?
Tool is simple with optional parameters; description gives basic purpose but omits return format (no output schema) and any edge-case behavior. Adequate but leaves minor gaps for a complete understanding.
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 covers 100% of parameters with descriptions; description adds no extra meaning beyond schema. Baseline score of 3 applies as schema does the heavy lifting.
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?
Clearly states 'Get user-specific rate limits for eBay APIs' with verb 'Get' and resource 'user-specific rate limits'. Distinguishes from siblings only implicitly (e.g., ebay_get_rate_limits likely for general limits), but no explicit differentiation.
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?
Implies usage when needing per-user rate limits, but no explicit when-not-to-use or alternatives like ebay_get_rate_limits. Lacks guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_vero_reason_codeB
Get a specific VERO reason code by ID. Reason codes categorize the types of intellectual property violations.
| Name | Required | Description | Default |
|---|---|---|---|
| veroReasonCodeId | Yes | VeRO reason-code identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states basic operation without disclosing side effects, permissions, rate limits, or data scope. Minimal beyond purpose.
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?
Two concise sentences, front-loaded with main action. No extraneous information.
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 get-by-ID tool with one parameter and no output schema, description adequately covers purpose and input. Could mention return value but not required.
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?
Parameter 'veroReasonCodeId' is fully described in schema (100% coverage). Description adds no additional meaning or examples beyond what schema already provides.
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 clearly states the verb ('Get'), resource ('VERO reason code'), and purpose ('categorize the types of intellectual property violations'). It distinguishes itself from sibling ebay_get_vero_reason_codes (which lists all) by specifying retrieval by ID.
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?
No guidance on when to use this tool vs alternatives (e.g., ebay_get_vero_reason_codes). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_vero_reason_codesA
Get all available VERO reason codes. These codes are used when creating VERO reports to specify the type of intellectual property violation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It indicates a read operation with no side effects, but lacks details on authentication or response format.
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?
Two sentences efficiently convey purpose and context with no wasted words.
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?
Given no parameters and no output schema, the description provides adequate completeness by explaining what the tool returns and its use case. Minor gaps exist regarding authentication or caching.
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?
The tool has no parameters, so the description does not need to add parameter information. Baseline 4 applies per guidelines.
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 clearly states the verb 'Get' and the resource 'all available VERO reason codes', distinguishing it from the sibling tool ebay_get_vero_reason_code which likely retrieves a specific code.
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 explains that these codes are used when creating VERO reports, providing context for when to use the tool. However, it does not explicitly exclude alternatives or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_vero_reportC
Get a specific VERO report by ID
| Name | Required | Description | Default |
|---|---|---|---|
| veroReportId | Yes | VeRO report identifier returned by createVeroReport |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It does not mention idempotency, side effects, error handling, permissions, or what happens if the report does not exist.
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 sentence with no unnecessary words. However, it is slightly under-specified for a tool with no output schema or annotations.
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?
Given no output schema and one parameter, the description should at least mention what the tool returns or prerequisites. It misses both, leaving the agent without needed context.
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?
The single parameter 'veroReportId' is fully described in the schema as 'VeRO report identifier returned by createVeroReport'. The description adds no new meaning beyond 'by ID', so the baseline of 3 applies (schema covers 100%).
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 'Get a specific VERO report by ID' clearly states the action (get) and resource (VERO report), and specifies retrieval by identifier. It is distinct from sibling tools like ebay_get_vero_report_items, but lacks context explaining what a VERO report is.
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 provides no guidance on when to use this tool versus alternatives (e.g., ebay_get_vero_report_items) or prerequisites like first creating a report via ebay_create_vero_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_vero_report_itemsA
Get VERO report items (listings reported for intellectual property infringement). Supports filtering, pagination via limit and offset parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| filter | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure. It correctly identifies this as a read operation (get), but it does not mention any security requirements (e.g., authentication scopes), rate limits, or whether the report must exist. However, the description is accurate and non-misleading.
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, well-structured sentence that front-loads the main purpose, then lists key features. It is efficient but could be slightly more structured (e.g., separating pagination details).
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?
The description is adequate for a simple read tool, but it does not explain what the returned items contain (no output schema). It also lacks details like prerequisites (e.g., an existing VERO report) or whether the tool returns a list or a single item. Given no output schema, more completeness would be helpful.
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?
The input schema has 3 parameters (limit, filter, offset) with 0% description coverage. The description says 'supports filtering, pagination via limit and offset parameters' but does not explain the format or expected values of filter (e.g., a query string syntax). limit and offset are vaguely described. This adds minimal value over the schema.
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 clearly states the tool retrieves VERO report items (listings reported for intellectual property infringement), which is a specific and unique resource. It distinguishes from sibling tools like ebay_create_vero_report or ebay_get_vero_reason_code by focusing on items within a report.
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 mentions filtering and pagination support, implying these are the primary use cases, but it does not explicitly state when to use this tool versus alternatives (e.g., ebay_get_vero_report for the report itself). No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_get_videoARead-only
Get a Media API video by ID: processing status (PENDING_UPLOAD, PROCESSING, LIVE, BLOCKED, PROCESSING_FAILED), statusMessage, expiry, and playlists. Use it to re-check a video that was still PROCESSING after ebay_upload_video.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | eBay video ID returned by ebay_upload_video |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates read-only behavior. The description adds useful behavioral context by enumerating the possible processing statuses and explaining what data is returned, which goes beyond the annotation. It does not disclose error behavior, but for a simple read operation with annotation coverage this is a minor gap.
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?
Two focused sentences with no filler. The primary purpose is front-loaded, the returned fields are summarized, and the usage guidance is placed immediately after. Every sentence 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 single-parameter read-only lookup with no output schema, the description fully covers what the agent needs: what the tool returns, the videoId source, and when to call it. There is no missing critical information for correct invocation.
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?
The input schema already fully documents videoId with the description 'eBay video ID returned by ebay_upload_video', giving 100% schema description coverage. The tool description adds little beyond 'by ID', so the schema carries the semantic load. A score of 3 is appropriate because the description does not need to compensate.
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 verb ('Get') and resource ('Media API video by ID'), and concretely lists the returned fields: processing status, statusMessage, expiry, and playlists. It clearly distinguishes this from the upload companion tool and other listing/media tools in the sibling list.
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 explicitly tells the agent when to use this tool: to re-check a video that was still PROCESSING after ebay_upload_video. This gives a clear usage trigger and a direct connection to the upstream operation, leaving no ambiguity about the intended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_issue_refundB
Issue a full or partial refund for an eBay order. Use this to refund buyers for orders, including specifying the refund amount and reason.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| orderId | Yes | The unique identifier of the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It only mentions OAuth scopes, but does not disclose idempotency, failure modes, rate limits, or confirmation of issuance. Adding scope is useful but insufficient.
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 short (two sentences plus OAuth line) and front-loaded with the main purpose. It is concise but could benefit from a bit more structure (e.g., bullet points for key info).
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?
Given the tool's complexity (nested objects, partial/full refund options) and lack of output schema or annotations, the description is incomplete. It does not explain how to specify partial vs full refund, or how to handle multiple line items. The OAuth scope is helpful but not enough.
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 50%, so the description should add meaning. It mentions 'refund amount and reason' but does not elaborate on the distinction between item-level and order-level refunds, or how refundItems structure works. The schema has some descriptions, but nested objects are not clarified.
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 clearly states the action ('Issue a full or partial refund') and resource ('for an eBay order'). It distinguishes this tool from siblings as there is no other refund-issuing tool in the list.
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 says 'Use this to refund buyers for orders', providing clear guidance on when to use it. It does not explicitly mention when not to use, but the context is sufficient given sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_launch_campaignC
Launch campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false already indicates this is a mutating operation, but the description adds no behavioral context beyond that. It does not disclose what state a campaign moves into, whether launching requires prerequisites, whether it is idempotent, or what side effects or errors might occur.
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, efficient sentence with no filler or repetition. However, it is so terse that it omits useful scoping or lifecycle context, so while it earns a strong conciseness score, it is not maximally helpful in structure.
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 campaign-lifecycle action, the description is incomplete: it does not explain what launching entails, how it relates to create/resume/end/pause, whether a campaign must exist first, or what the outcome will be. With no output schema and minimal annotations, the description should carry more context than it does.
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 coverage is 100%: the only parameter, campaignId, is described as 'campaignId required endpoint parameter' in the schema. The tool description itself adds no parameter meaning beyond that, so the schema carries the full burden and the baseline of 3 applies.
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 names a specific verb and resource: 'Launch campaign through the eBay Marketing API.' It is clear that this tool launches a campaign, but it does not differentiate itself from related siblings such as ebay_create_campaign, ebay_resume_campaign, or ebay_end_campaign, leaving some ambiguity about what 'launch' specifically means in the campaign lifecycle.
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 provides no guidance about when to use this tool instead of alternatives like ebay_resume_campaign, ebay_pause_campaign, or ebay_create_campaign. It only states the generic context 'through the eBay Marketing API,' which does not help an agent choose among the many campaign-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_leave_feedback_for_buyerC
Leave feedback for a buyer. Provide orderLineItemId, commentType (POSITIVE/NEUTRAL/NEGATIVE), and commentText.
| Name | Required | Description | Default |
|---|---|---|---|
| images | No | Array of up to 5 images | |
| listingId | No | The listing ID related to the transaction | |
| commentText | No | The feedback comment text (max 500 characters) | |
| commentType | No | Overall rating: POSITIVE, NEUTRAL, or NEGATIVE | |
| sellerRatings | No | Array of seller performance ratings | |
| transactionId | No | The unique identifier of the transaction | |
| orderLineItemId | No | The unique identifier of the line item |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions leaving feedback but fails to disclose that the operation is likely irreversible, that it may affect buyer-seller ratings, or that it requires authentication. Additionally, it omits four parameters (images, listingId, sellerRatings, transactionId) from the behavioral description.
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 very short (one sentence) and front-loaded with the primary action. It is concise and to the point. However, it omits important information about other parameters, which could be considered too brief for a tool with 7 parameters.
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?
Given that there are 7 parameters and no output schema or annotations, the description is incomplete. It only addresses 3 of 7 parameters, leaving the purpose of images, listingId, sellerRatings, and transactionId unexplained. The agent cannot determine which parameters are mandatory or how they relate to the feedback action.
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 100%, so each parameter has a description in the schema. The description lists three key parameters (orderLineItemId, commentType, commentText) but adds no additional meaning beyond what the schema already provides. It does not explain the relationship between parameters or provide formatting details.
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 clearly states the tool's purpose: 'Leave feedback for a buyer.' It identifies the verb (leave) and resource (feedback for a buyer). However, it does not differentiate from sibling tools like ebay_respond_to_feedback, which is for responding to received feedback, not leaving new feedback.
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 provides minimal guidance by listing three parameters to provide but does not explain when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context such as when feedback should be left (e.g., after a transaction).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_move_store_categoryA
Move one custom eBay Store category under a new parent (Stores API moveStoreCategory). Pass categoryId, destinationParentCategoryId (-999 for top level), and listingDestinationCategoryId when a leaf category with listings stops being a leaf. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | Yes | eBay Store custom category ID from ebay_get_store_categories (not an eBay marketplace category ID) | |
| destinationParentCategoryId | Yes | New parent store category ID; pass -999 to move the category to the top level | |
| listingDestinationCategoryId | No | Needed only when the moved leaf category has listings and stops being a leaf; its listings move to this store category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false supplied by annotations, the description carries the full behavioral burden and does so well: it discloses asynchronous acceptance, the returned taskId/location, polling requirements until COMPLETED or FAILED, a concurrency limit, and the required sell.stores scope.
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 front-loaded with purpose and then adds operational details in a logical order. It is somewhat dense and includes some schema-repeating parameter instructions, but nearly every sentence 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 no-output-schema mutation tool, this is highly complete: it explains async return handling, polling follow-up, concurrency limits, prerequisites, and the exact conditions for optional parameters.
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 100%, so the schema already documents all three parameters in detail. The description repeats the parameter usage (including -999 and the leaf-listing condition) but adds no meaningful semantics beyond the schema.
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 precise verb and resource ('Move one custom eBay Store category under a new parent'), names the underlying API operation, and distinguishes the target from marketplace categories. It also clearly separates this move operation from add/rename/delete store category changes.
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?
It gives strong context: async behavior, polling via named sibling tools, the one-change-at-a-time constraint, and the required eBay Store subscription. It does not explicitly route to add/rename/delete alternatives, but the usage conditions and exclusions are otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_opt_in_to_programC
Opt-in to a seller program
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Program opt-in request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=false annotation already signals a mutating operation, and the description adds no behavioral context beyond that. It does not disclose consequences of opting in, reversibility, eligibility requirements, or any side effects the agent should anticipate.
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 extremely short and front-loaded, with no filler words. However, the brevity reflects under-specification rather than efficient coverage of necessary context, so it is not fully 'appropriately sized'.
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 mutating tool with no output schema and minimal annotations, the description omits important context: valid programType values, what opting in entails, whether it can be reversed, and how it relates to ebay_opt_out_of_program or ebay_get_opted_in_programs. An agent cannot reliably invoke this without external knowledge.
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 100% because the only documented parameter, 'request', has a description, and its nested 'programType' is at least named. The tool description itself adds no meaning about what programType values are valid or where to find them, so it stays at the baseline without improving parameter understanding.
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 clear verb ('Opt-in') and resource ('seller program'), so an agent can tell this is an enrollment action. It is not a tautology, and it is directionally distinct from the sibling ebay_opt_out_of_program, though it does not mention that sibling or specify what kind of seller program is involved.
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?
There is no guidance about when to use this tool versus alternatives like ebay_opt_out_of_program or ebay_get_opted_in_programs. It gives no conditions, prerequisites, or context for when an opt-in is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_opt_out_of_programC
Opt-out of a seller program
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Program opt-out request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=false already signals mutation, and the description adds no further behavioral context. It does not disclose reversibility, side effects, permission requirements, or what happens to the seller's program status after opting out.
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, direct sentence with no filler or redundant wording. It is front-loaded and every word contributes to the meaning, even though more content would be beneficial elsewhere.
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 mutation with one nested parameter and no output schema, the description is too minimal. It leaves out what programType values are valid, how to discover current program opt-ins, whether the action is reversible, and how this relates to ebay_opt_in_to_program or ebay_get_opted_in_programs.
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 100%, so the baseline is 3. The description does not add meaning about accepted programType values, which is a gap since the schema only types it as a string with no enums or examples, but the schema itself documents the nested request structure.
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 verb (opt-out) and resource (seller program), making the core action clear. It is semantically distinct from ebay_opt_in_to_program, but it does not explicitly differentiate from sibling tools like ebay_get_opted_in_programs or explain what qualifies as a 'seller program'.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_opt_in_to_program or ebay_get_opted_in_programs. An agent is left to infer usage solely from the tool name and the verb 'opt-out'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_pause_campaignC
Pause campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only readOnlyHint: false, signaling mutation. The description adds no behavioral context: no side effects, no mention that pausing halts delivery, no reversibility details, no permission requirements, and no idempotency information. For a mutating action with only one annotation, the description carries the burden but does not fulfill it.
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 concise sentence, front-loaded with the action. However, 'through the eBay Marketing API' is redundant filler given the tool name and context, so not every word 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 one-parameter mutation, the description states the core action and the schema covers the required input. However, with no output schema and no behavioral annotations, an agent is left without knowledge of return values, error conditions, or the relationship to sibling tools like ebay_resume_campaign. It is minimally adequate but has clear gaps.
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 100%, so the baseline is 3. The only parameter, campaignId, has a schema description, but it is tautological ('campaignId required endpoint parameter'). The tool description adds nothing beyond the schema, yet the parameter's name is self-explanatory, so no significant deduction is warranted.
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 clear verb + resource: 'Pause campaign'. This makes the primary action unambiguous and distinguishes it from related campaign mutations like resume, end, or delete, though it does not explicitly name those siblings. It is clear but lacks an explicit differentiation statement.
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?
No usage guidance is provided beyond the bare action. There is no mention of when to pause versus resume, end, or delete a campaign, no prerequisites (e.g., campaign must be active), and no alternative tool pointers. The implied usage from the name is the only signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_pause_promotionB
Pause promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only indicate readOnlyHint=false, so the description's word 'Pause' adds a useful behavioral distinction: it's a state change, not a read operation, and not a destructive delete. However, it doesn't disclose side effects, reversibility, or whether pausing requires the promotion to be in a specific state, so there is room for more transparency.
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?
One short, front-loaded sentence with no filler. Every word earns its place, and for a one-parameter tool the length is perfectly appropriate.
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 pause operation with a single documented parameter and no output schema, the description provides the essential action. It is missing any note about expected response, side effects, or prerequisites, but it is minimally sufficient for an agent to attempt the call.
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 100%, so the schema already documents promotionId sufficiently. The description adds no additional meaning about what promotionId refers to or how to obtain it, which is acceptable under the baseline, but not more.
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 uses a specific verb ('Pause') and resource ('promotion'), making the core action clear. It is easily distinguishable from sibling tools like ebay_pause_campaign or ebay_resume_promotion, but it doesn't explicitly differentiate among the various promotion lifecycle tools (e.g., delete, end, resume), so it stops short of a perfect score.
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?
No guidance is given on when to use this tool versus alternatives such as ebay_resume_promotion, ebay_delete_item_promotion, or ebay_get_promotions. The only implied usage is the action itself; no prerequisites, conditions, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_publish_offerB
Publish an offer to create a listing
| Name | Required | Description | Default |
|---|---|---|---|
| offerId | Yes | The offer ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the action ('publish an offer to create a listing') but omits important details: whether this operation is idempotent, if it modifies the offer's state, if it triggers any downstream effects (e.g., fees, visibility), or required permissions. This is minimal disclosure 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 sentence, concise and front-loaded. However, given the tool's simplicity, a slightly longer description with essential usage hints would improve clarity without losing conciseness.
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?
The description is insufficient for an agent to use the tool correctly. It lacks context about the offer lifecycle (e.g., must be created via ebay_create_offer, not already published) and what the result is (a listing). For a simple but critical operation, more detail is needed.
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?
The schema has 100% coverage for the sole parameter 'offerId', already described as 'The offer ID'. The description adds no further semantics (e.g., where to obtain the ID, format constraints, or state requirements). Baseline score is appropriate as the schema does the heavy lifting.
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 'Publish an offer to create a listing' uses a specific verb ('publish') and resource ('offer'), clearly indicating that this tool takes an existing offer and transforms it into a live listing. This distinguishes it from sibling tools like ebay_create_offer, ebay_update_offer, or ebay_withdraw_offer.
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?
No usage guidelines are provided. The description does not specify prerequisites (e.g., the offer must exist and be in a publishable state), conditions under which publishing fails, or when to use alternative tools like ebay_bulk_publish_offer. An agent has no guidance on context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_publish_offer_by_inventory_item_groupC
Publish an offer for an inventory item group (variation listing).
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated PublishByInventoryItemGroup body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It states 'Publish an offer' implying a write/mutation operation but does not describe side effects, required prior state, error conditions, or the outcome (e.g., creating an eBay listing). The OAuth scope is provided but insufficient for understanding the tool's impact.
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 short (two sentences) and includes only essential information: purpose and OAuth scope. No unnecessary words. However, it could be slightly improved by integrating the scope into the first sentence or using a clearer structure (e.g., separating purpose and prerequisites).
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 publish action with minimal schema and no output schema, the description should cover prerequisites, what the body should contain, and the return value. It fails to provide context on how to construct the body, what a successful publish returns, or how this differs from similar tools. Significant gaps remain.
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?
The parameter description ('Generated PublishByInventoryItemGroup body') is generic and adds no meaningful guidance beyond the schema. While schema coverage is 100%, the single parameter's description does not hint at required fields, structure, or constraints. The agent gains no additional insight from the description.
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 clearly states the action ('Publish an offer') and the resource ('inventory item group') with an explanatory parenthetical ('variation listing'). This distinguishes it from sibling tools like ebay_publish_offer (single offer) and ebay_withdraw_offer_by_inventory_item_group. The purpose is specific and unambiguous.
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 lists the required OAuth scope but provides no guidance on when to use this tool versus alternatives like ebay_publish_offer or ebay_bulk_publish_offer. There is no mention of prerequisites (e.g., the offer must be created first via ebay_create_offer) or situations where this tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_refresh_access_tokenA
Manually refresh the user access token using the stored refresh token. This is useful when you want to proactively refresh an access token before it expires, or when recovering from authentication errors. Requires that user tokens are already set (either via EBAY_USER_REFRESH_TOKEN in .env or via ebay_set_user_tokens_with_expiry). Returns the new access token and expiry time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states that tokens must already be set and that it returns a new access token and expiry. However, it does not mention potential side effects (e.g., old token invalidation), rate limits, or failure modes (e.g., expired refresh token). For a simple token refresh, this is adequate but not thorough.
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 two sentences, front-loaded with the main action. It conveys purpose, use cases, and prerequisites without any extraneous information. Every sentence serves a purpose, making it highly concise and well-structured.
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?
Given that the tool has no parameters and no output schema, the description adequately covers the tool's purpose, usage, and return value. The mention of prerequisites and recovery scenarios adds completeness. It could mention that a valid refresh token is required, but this is implied by the prerequisite statement.
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?
The input schema has zero parameters, so the description adds no parameter information beyond what is already present. With 100% schema coverage (nothing to cover), the baseline score of 4 applies as the description does not compete with the schema.
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 clearly states the verb 'refresh' and the resource 'user access token'. It distinguishes from sibling tools by specifying 'manual' refresh and mentions recovery from auth errors, which differentiates it from other token-related tools like ebay_get_token_status or ebay_validate_token_expiry.
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 provides explicit usage scenarios: proactive refresh before expiry or recovery from auth errors. It also mentions a prerequisite (tokens must be set via .env or ebay_set_user_tokens_with_expiry). While it does not explicitly state when not to use or list alternatives, the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_register_clientA
Register a third party financial application with eBay (Open Banking / PSD2). Requires valid eIDAS certificate via MTLS.
| Name | Required | Description | Default |
|---|---|---|---|
| clientSettings | Yes | Generated ClientSettings request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only mentions prerequisites, not side effects, idempotency, or what happens after registration. For a write operation, this is insufficient.
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?
Two sentences: first defines the purpose, second adds a critical requirement. Every sentence is essential and front-loaded. No waste.
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?
With one nested parameter and no output schema, the description covers the purpose and prerequisite but omits details about the response or any registration ID. It is adequate but not comprehensive.
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 coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond stating the purpose, meeting the baseline expectation.
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 clearly states the action ('Register'), the resource ('third party financial application'), and the context ('Open Banking / PSD2'). This distinguishes it from sibling tools, which focus on reports, promotions, listings, etc.
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 notes a critical prerequisite ('Requires valid eIDAS certificate via MTLS'), guiding the agent on when to use. It does not explicitly state when not to use, but the purpose is niche enough to imply exclusivity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_relist_itemA
Relist an ended listing, optionally with modifications.
Uses the Trading API: RelistFixedPriceItem for format FIXED_PRICE (default) and RelistItem for format AUCTION.
AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request.
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules. | |
| itemId | Yes | The eBay item ID to relist | |
| modifications | No | Optional Trading API Item fields to change while relisting |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint:false, so the description carries the full burden of behavioral disclosure. It goes well beyond that by explaining the internal API selection per format, the specific constraints (e.g., AUCTION Quantity=1, FIXED_PRICE only GTC, ReservePrice/BuyItNowPrice restrictions), and the pre-request rejection of mixed-format payloads. It also states the required OAuth token. This is rich behavioral transparency.
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 detailed but every sentence is purposeful. It leads with the core action, then efficiently covers the API routing and format-specific rules, ending with the OAuth requirement. There is no filler or redundancy. The structure makes it easy to scan and understand the key constraints.
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?
Given the tool's complexity—two distinct formats with different rules, a rejection path, and an optional modifications object—the description is exceptionally complete. It covers all necessary details for correct invocation, including the OAuth token, format constraints, and the default format. With no output schema, it does not need to describe return values. Nothing essential for an agent to call this tool correctly is missing.
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?
The input schema has 100% coverage with descriptions for all three parameters, so the baseline is 3. The description adds significant value by explaining how the 'format' parameter changes behavior (AUCTION vs FIXED_PRICE) and what fields each format accepts. However, it does not elaborate on the 'modifications' object beyond what the schema says, leaving that partially open. Overall, the added semantics for format are crucial and elevate it above baseline.
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 opens with a precise verb+resource: 'Relist an ended listing, optionally with modifications.' This clearly distinguishes it from siblings like ebay_create_listing, ebay_revise_listing, and ebay_end_listing. The mention of the underlying Trading API calls (RelistFixedPriceItem, RelistItem) reinforces the specific purpose.
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 explicitly states the tool is for relisting ended listings, which is the primary usage context. It does not name alternative tools or explicitly say 'use this instead of X', but the scope is unambiguous. The format-specific rules further guide when each internal API path applies, though they don't address exclusions (e.g., 'do not use for active listings').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_remove_post_order_documentADestructive
Delete a SUBMITTED post-order document. PUBLISHED documents cannot be deleted; eBay enforces state and access restrictions. Requires commerce.post_order.document.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with destructiveHint=true and adds valuable context beyond annotations: state restrictions, access enforcement, and the required commerce.post_order.document scope. No contradiction found.
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?
Three compact sentences with no filler: the core action is front-loaded, followed by state constraints and the permission requirement. Every sentence 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 single-parameter destructive tool, the description adequately covers the operation, valid/invalid states, and permission requirements. It omits return/error behavior, but that is a minor gap at this complexity.
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?
With schema description coverage at 0%, the description provides no explanation of documentId. The parameter name is self-explanatory, but the description does not compensate for the missing schema documentation.
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?
States the exact action ('Delete'), the specific resource ('SUBMITTED post-order document'), and an explicit ineligibility condition for PUBLISHED documents. This clearly distinguishes it from related upload/download post-order document tools.
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?
Gives explicit state-based guidance: use it for SUBMITTED documents, and do not attempt it on PUBLISHED documents. It does not name sibling alternatives, but no direct alternative delete tool exists in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_rename_store_categoryA
Rename one custom eBay Store category (Stores API renameStoreCategory). Pass the store categoryId and the new categoryName. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | Yes | eBay Store custom category ID from ebay_get_store_categories (not an eBay marketplace category ID) | |
| categoryName | Yes | Seller-specified store category name (max 35 characters); cannot be empty or 'Other' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the readOnlyHint=false annotation: it explains the asynchronous return (taskId, location), the polling workflow, the concurrency constraint (only one store category change at a time), and the required eBay Store subscription with sell.stores scope. This gives the agent everything needed to understand side effects and prerequisites.
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 front-loaded with the purpose and API call, then flows into operational details. It is somewhat dense but every sentence adds value, with only the brief 'Pass the store categoryId and the new categoryName' sentence being marginally redundant given the schema descriptions.
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 an asynchronous mutation tool with no output schema, the description covers the return shape, polling mechanism, concurrency limits, and subscription requirement. An agent has all the information needed to invoke and follow up correctly.
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 100%, so the input schema already documents categoryId and categoryName thoroughly. The description repeats the parameter names but adds no new syntax, format, or edge-case information beyond what the schema provides, so a baseline 3 is appropriate.
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 verb ('Rename') and resource ('one custom eBay Store category'), and explicitly names the underlying API operation. It is clearly distinguishable from sibling tools like ebay_add_store_category, ebay_move_store_category, and ebay_delete_store_category.
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 provides clear context for usage: it is asynchronous, requires polling with ebay_get_store_task, and is subject to a one-change-in-flight constraint. It does not explicitly name alternative tools or state when not to use this one, but the verb and constraints make the appropriate context inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_respond_to_feedbackA
Respond to feedback received from a buyer
| Name | Required | Description | Default |
|---|---|---|---|
| feedbackId | No | The unique identifier of the feedback being responded to | |
| responseText | No | The text content of the response (max 500 characters) | |
| responseType | No | The type of response: REPLY or FOLLOW_UP | |
| recipientUserId | No | The user ID of the feedback provider |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the tool responds to feedback (a write operation) but does not mention side effects, whether it overwrites existing responses, or any permissions required. This is minimal disclosure.
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 sentence that conveys the core purpose without any wasted words. It is front-loaded and efficient.
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?
The description is brief and covers the basic purpose. However, it lacks information about return values (no output schema), does not specify that some parameters might be required (despite schema showing 0 required), and no examples or constraints beyond what is in the schema. For a straightforward tool, this is adequate but not rich.
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 descriptions cover all 4 parameters (100% coverage), so the description does not need to repeat them. The description adds no additional meaning beyond what the schema provides. Baseline score of 3 is appropriate.
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?
Description clearly states the action ('Respond'), the resource ('feedback'), and specifies it is for feedback from a buyer. This distinguishes it from sibling tools like ebay_leave_feedback_for_buyer (leaving new feedback) and ebay_get_feedback (retrieving feedback).
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?
Description implies usage when a buyer has given feedback, but does not provide explicit guidance on when to use this tool versus alternatives like ebay_leave_feedback_for_buyer or ebay_get_feedback. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_resume_campaignC
Resume campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds little beyond the readOnlyHint: false annotation. It does not disclose what resuming a campaign does, whether it changes status, requires a currently paused campaign, is idempotent, or what side effects occur.
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 short sentence that front-loads the core action. 'Through the eBay Marketing API' is mild boilerplate, but the overall structure is appropriately minimal for a one-parameter tool.
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?
While the schema fully documents the parameter, the overall context is thin for a mutating operation. There is no output schema and no explanation of campaign state transitions, prerequisites, or relationships to pause/launch/end, leaving the agent to infer critical behavior.
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?
The schema has 100% coverage for the single parameter, so the baseline is 3. However, the parameter description ('campaignId required endpoint parameter') is essentially redundant with the property name, and the tool description adds no additional semantic detail.
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 clearly states the action ('Resume') and the resource ('campaign'), and the tool name reinforces this. It is distinguishable from siblings like ebay_pause_campaign and ebay_end_campaign, though it does not specify that this applies only to paused campaigns.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_launch_campaign or ebay_pause_campaign. The description does not mention prerequisites, state requirements, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_resume_promotionC
Resume promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false, the description adds minimal behavioral context beyond the annotations. It essentially restates the action without providing side effects, idempotence, auth requirements, or preconditions. There is no contradiction with annotations, but also no added transparency.
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?
A single terse sentence with no filler, front-loading the action. It is appropriately concise for simple operation, though it sacrifices valuable usage guidance for brevity.
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 one-parameter mutation without an output schema, the basic mechanically necessary information is present. Missing are when-to-use context against sibling promotion/campaign tools and expected outcome, leaving it minimally viable but incomplete in guidance.
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?
The input schema covers the single required parameter with a description ('promotionId required endpoint parameter'), so the schema carries 100% of the load. The description itself adds no extra meaning, giving the baseline score of 3.
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 uses a specific verb 'Resume' targeting the 'promotion' resource, which is clear and distinct from sibling tools like ebay_get_promotions or ebay_delete_item_promotion. It does not explicitly differentiate itself from ebay_pause_promotion, but the action and resource are unambiguous.
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 provides no guidance on when to use this tool versus alternatives such as ebay_pause_promotion, nor does it mention any prerequisite like the promotion needing to be in a paused state. Context signals also don't provide this information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_revise_listingA
Revise an existing listing. Update quantity, price, title, description, or any other field.
Uses the Trading API: ReviseFixedPriceItem for format FIXED_PRICE (default) and ReviseItem for format AUCTION (check ListingType with ebay_get_listing when unsure; eBay limits auction revisions once bids exist). Only send the fields you want to change.
Examples:
Update quantity: { "Quantity": 10 }
Update price: { "StartPrice": 14.99 }
Update title: { "Title": "New Title" }
Raise an auction reserve: { "format": "AUCTION", "fields": { "ReservePrice": 30 } }
AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request.
Required: User OAuth token.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Trading API Item fields to update | |
| format | No | Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules. | |
| itemId | Yes | The eBay item ID to revise |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the minimal readOnlyHint=false annotation. It discloses that different Trading API calls are used per format, that mixed-format payloads are rejected before any eBay request, that auction revisions are constrained once bids exist, and that a user OAuth token is required. These are meaningful behavioral details an agent needs to invoke the tool safely.
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 long, but nearly every sentence carries critical constraints, examples, or field semantics. The purpose is front-loaded, and the examples are compact and varied. It is not as lean as the ideal, but the complexity of the Trading API format rules justifies the length.
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?
Given that there is no output schema and only sparse annotations, the description covers the essential invocation context: required auth, format default, allowed fields, and format-specific safeguards. It does not describe the response shape or common error conditions, but the core usage and constraints are sufficiently complete for correct invocation.
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?
The schema only says 'fields' is a Trading API Item fields object, but the description adds extensive semantics: example payloads for Quantity, StartPrice, Title, and ReservePrice, plus format-specific rules for ListingDuration, Quantity, BuyItNowPrice, and Best Offer. This strongly compensates for the open-ended additionalProperties schema and clarifies how to structure a valid request.
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 opens with a clear verb and object: 'Revise an existing listing.' It lists concrete updatable fields (quantity, price, title, description) and explains that it uses ReviseFixedPriceItem for FIXED_PRICE and ReviseItem for AUCTION, which distinguishes it from create/end/relist siblings. The purpose is unambiguous and connected to both the tool name and the domain.
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?
It gives actionable guidance: send only changed fields, choose format via the format parameter or default to FIXED_PRICE, and check ListingType with ebay_get_listing when unsure. It also warns that auction revisions are limited once bids exist. It does not explicitly mention when to prefer create_listing or end_listing, but the 'existing listing' framing makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_send_messageA
Send a direct message to a buyer regarding a specific transaction or inquiry. Use this to communicate about orders, answer questions, resolve issues, or provide updates.
| Name | Required | Description | Default |
|---|---|---|---|
| reference | No | Reference to associate with the conversation | |
| messageText | No | The text of the message (max 2000 characters) | |
| messageMedia | No | Array of up to 5 media attachments | |
| conversationId | No | ID of existing conversation (required if sending in existing conversation) | |
| emailCopyToSender | No | Whether to email a copy to the sender | |
| otherPartyUsername | No | eBay username to send message to (required for new conversations) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It fails to mention important traits: that it can start new conversations or reply to existing ones, any prerequisites (e.g., authentication), rate limits, or that messages are sent immediately. The description is too brief to ensure the agent understands side effects or constraints.
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 two sentences, no extraneous words, and front-loads the primary action. Every sentence adds value, achieving maximum efficiency.
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?
Given 6 parameters (some conditionally required), no output schema, and the need to distinguish between new and existing conversations, the description is insufficiently complete. It does not explain parameter interdependence or media attachment capabilities, leaving the agent with gaps despite good schema coverage.
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 coverage is 100%, so baseline is 3. The description adds no extra parameter semantics beyond what the schema already provides. It does not clarify conditional parameter relationships (e.g., conversationId vs. otherPartyUsername) or usage patterns, so it does not enhance understanding.
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 clearly states the action ('Send a direct message'), the recipient ('to a buyer'), and the context ('regarding a specific transaction or inquiry'). It enumerates specific use cases (orders, questions, issues, updates), making the purpose distinct from sibling communication tools like getting conversations or leaving feedback.
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 provides clear when-to-use guidance: 'communicate about orders, answer questions, resolve issues, or provide updates.' However, it does not explicitly state when not to use this tool or mention alternative tools (e.g., ebay_get_conversations for reading messages), leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_send_offer_to_interested_buyersC
Send offer to interested buyers
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Seller-defined message to buyers (max 2000 characters) | |
| offeredItems | No | Array of items to offer (currently limited to one item) | |
| marketplaceId | No | The eBay marketplace ID (X-EBAY-C-MARKETPLACE-ID header) | |
| offerDuration | No | Duration the offer is valid (default: 2 days) | |
| allowCounterOffer | No | Whether to allow counter-offers (currently must be false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and the description provides no behavioral details. It does not disclose what side effects occur (e.g., whether it modifies listings, sends notifications, requires permissions), leaving the agent without critical operational context.
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 concise sentence, which is efficient for a simple action. However, it lacks any structural elements like examples or sections that could enhance usability.
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?
Given the absence of annotations and output schema, the description is insufficient. It does not explain the required preconditions (e.g., existence of interested buyers), error scenarios, or the expected outcome, making it incomplete for an agent to reliably invoke.
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?
The input schema has 100% coverage with descriptions for all 5 parameters, so the schema itself carries the semantic weight. The tool description adds no additional meaning beyond what the schema provides.
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 clearly states the action ('send offer') and target ('interested buyers'), making the purpose immediately understandable. It distinguishes itself from sibling tools like 'create_offer' or 'update_offer' by specifying the audience, though it could be more specific about the context.
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?
No guidance on when to use this tool versus alternatives like 'ebay_create_offer' or 'ebay_update_offer'. The description lacks any context about prerequisites, when to use it, or when not to use it, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_setup_quick_campaignC
Setup quick campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Setup quick campaign request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only annotation, readOnlyHint=false, indicates a write operation, but the description adds no behavioral details beyond that. It does not disclose side effects, required permissions, reversibility, or what happens to existing campaigns. With annotations providing minimal coverage, the description should carry more weight and fails to do so.
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 short sentence with no wasted words, making it concise. It front-loads the action and resource, but lacks expansion that could justify a higher score. It is appropriately sized for what it does.
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 tool with nested objects, multiple optional fields, and no output schema, the description is far too sparse to enable correct invocation. It does not explain the quick campaign concept, prerequisites, or how the request body should be constructed. An agent would need to infer too much from the schema alone.
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?
The schema has a 100% description coverage for the top-level 'request' parameter, so the baseline is 3. The description adds no additional meaning about required fields, formats, or nested object semantics. It merely restates the operation without clarifying the parameter structure.
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 the verb 'Setup' and resource 'quick campaign', giving a basic sense of the operation. However, it does not explain what distinguishes a quick campaign from related tools like ebay_create_campaign, and it largely restates the tool name without defining the term. It is clear but not fully specific or well-differentiated from siblings.
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?
There is no guidance on when to use this tool versus alternatives such as ebay_create_campaign or ebay_clone_campaign. No prerequisites, conditions, or exclusions are mentioned, leaving the agent to guess based on the name. This is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_set_user_preferencesAIdempotent
Change one or more seller preferences for one marketplace (Account API v2 setUserPreferences, HTTP PATCH): include only the preferences to change under preferences, e.g. combinedPaymentPreferences, dispatchCutoffTimePreference, itemsAwaitingPaymentPreferences, outOfStockControlPreference. Excluded ship-to locations cannot be changed here (My eBay only). marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_user_preferences. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| preferences | Yes | Only the preferences to change (PATCH semantics); omitted preferences are left as-is | |
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses PATCH semantics (omitted preferences are left as-is), the empty 204 No Content success response, the sell.account authorization requirement, and the excluded ship-to-location restriction that forces a different channel. The only gap is that it doesn't elaborate on partial-failure behavior, but the auth, mutation semantics, and response shape are all covered.
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?
Single dense paragraph with the core purpose front-loaded; each sentence carries information (PATCH semantics, header mapping, response, auth, alternative tool). Slightly overloaded with parenthetical citations (v2, HTTP PATCH) that add little for an agent, but there is no filler.
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 2-param nested mutation with no output schema, the description supplies everything required: mutation semantics, required scope, the header mapping for marketplaceId, the absence of a response body, and the tool to verify the change. Nothing an agent needs in order to call it correctly is missing.
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 100% and the schema already enumerates every preference object and documents that marketplaceId is sent as the X-EBAY-C-MARKETPLACE-ID header, so most of the description's parameter text repeats structured data. Listing a few example preference keys (combinedPaymentPreferences, dispatchCutoffTimePreference, etc.) is only mildly additive given the full schema enumeration. Baseline 3 is appropriate.
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?
States a specific verb+resource with scope: 'Change one or more seller preferences for one marketplace', citing the underlying Account API v2 setUserPreferences PATCH operation. It is immediately distinguishable from ebay_get_user_preferences, which the description explicitly frames as the read-back/confirmation tool.
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?
Gives explicit when-to-use (include only the preferences to change under 'preferences'), a when-not/limitation (excluded ship-to locations cannot be changed here, My eBay only), and names the alternative flow (confirm with ebay_get_user_preferences). All three routing conditions an agent needs are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_set_user_tokensA
Set the user access token and refresh token for authenticated API requests. These tokens should be obtained through the OAuth authorization code flow. Tokens will be persisted to disk and automatically refreshed when needed. User tokens provide higher rate limits (10,000-50,000 requests/day) compared to client credentials (1,000 requests/day).
| Name | Required | Description | Default |
|---|---|---|---|
| accessToken | Yes | The user access token obtained from OAuth flow | |
| refreshToken | Yes | The refresh token obtained from OAuth flow |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that tokens are persisted to disk and automatically refreshed, and mentions rate limit benefits. This is good behavioral transparency. It could be improved by mentioning any potential side effects or prerequisites.
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 concise, with three sentences that front-load the main action. Every sentence adds value, no redundant or verbose language.
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?
Given the tool's simplicity (2 required parameters, no output schema), the description adequately explains the behavior (persistence, auto-refresh, rate limits). It could mention that the tokens are used for subsequent API calls, but it is still fairly complete.
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 coverage is 100% with parameter descriptions. The description adds no additional semantic information about the parameters beyond what is in the schema. Baseline 3 is appropriate.
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 clearly states the tool sets user access and refresh tokens for authenticated API requests. It specifies the verb 'set' and the resource 'user access token and refresh token'. However, it does not explicitly differentiate from the sibling tool 'ebay_set_user_tokens_with_expiry', which likely has a similar purpose.
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 explains that tokens should be obtained via OAuth authorization code flow and notes the benefit of higher rate limits compared to client credentials. This helps agents decide when to use this tool. However, it does not explicitly state when not to use it or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_set_user_tokens_with_expiryA
Set user access and refresh tokens with custom expiry times. This is an enhanced version of ebay_set_user_tokens that accepts expiry times and can automatically refresh the access token if it's expired but the refresh token is valid. Useful when user provides tokens that may already be partially expired.
| Name | Required | Description | Default |
|---|---|---|---|
| accessToken | Yes | eBay user access token | |
| autoRefresh | No | Whether to validate and refresh the access token immediately | |
| refreshToken | Yes | eBay user refresh token | |
| accessTokenExpiry | No | Optional access-token expiry. Supports ISO date strings, Unix timestamps, and relative time. | |
| refreshTokenExpiry | No | Optional refresh-token expiry. Supports ISO date strings, Unix timestamps, and relative time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the auto-refresh behavior ('can automatically refresh the access token if it's expired but the refresh token is valid'). However, it does not mention potential failure scenarios, authentication requirements, or side effects. The description adds some value but lacks comprehensive behavioral detail.
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 concise with two sentences, front-loading the main purpose and quickly adding key differentiators. Every sentence provides value without unnecessary verbosity.
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?
Given the tool has 5 parameters, no output schema, and no annotations, the description explains the purpose, variant, and auto-refresh behavior. However, it does not specify the return value (e.g., success/failure) or prerequisites like needing prior authorization. It is adequate but has gaps for a complex token-setting operation.
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 100%, so baseline is 3. The description adds context about custom expiry times and auto-refresh but does not add meaning beyond the schema descriptions, which are already clear. Thus, it meets but does not exceed the baseline.
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 clearly states the verb ('Set') and the resource ('user access and refresh tokens'), and distinguishes itself from the sibling 'ebay_set_user_tokens' by mentioning it is an enhanced version that accepts expiry times and can auto-refresh.
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 provides useful context by stating 'Useful when user provides tokens that may already be partially expired,' implying the scenario for using this tool over the basic version. However, it does not explicitly state when not to use it or mention other alternatives beyond the implied basic version.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_suggest_bidsC
Suggest bids through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Suggest bids request body | |
| adGroupId | Yes | adGroupId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false indicates this is not a read-only operation, but the description doesn't clarify what side effects occur. It doesn't state whether this creates, updates, or merely calculates suggested bids, whether it modifies campaign state, or what the response contains. With no output schema and minimal description, the agent lacks critical behavioral context.
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 short sentence, which is concise, but it's under-specified. It front-loads the verb and resource but provides no additional context. The sentence is not wasteful, but it doesn't earn its place beyond restating the tool name.
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 tool with 3 required parameters, a nested request object, no output schema, and a non-read-only annotation, the description is incomplete. It doesn't explain what the suggestion is based on, what the response format is, or how the bid value in the request relates to the suggestion. An agent would need to consult external API documentation to use this correctly.
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 100%, so the schema documents all three parameters. The description adds no additional meaning beyond the schema. The nested 'request' object with 'bid' and 'listingId' is self-explanatory from the schema, but the description doesn't clarify the relationship between bid suggestions and the provided bid value, which could be ambiguous.
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 verb and resource ('Suggest bids through the eBay Marketing API'), which is clear enough to identify the operation. However, it doesn't distinguish this from closely related siblings like ebay_suggest_budget, ebay_suggest_items, ebay_suggest_keywords, or ebay_suggest_max_cpc, all of which share the same 'suggest' pattern. The name itself carries most of the meaning.
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention that this is for bid suggestions in advertising campaigns, nor does it explain the relationship to ebay_suggest_max_cpc or ebay_update_bid. An agent would have to infer usage from the parameter names (adGroupId, campaignId) and the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_suggest_budgetCRead-only
Suggest budget through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, and the description does not contradict it. However, the description adds no behavioral context beyond the annotation: it does not say what a budget suggestion returns, whether it is per campaign, or what the API computes.
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 very short and easy to scan, but it is under-specified rather than efficiently informative. It essentially restates the tool name and offers no additional detail that would help an agent understand the endpoint's behavior in the same sentence count.
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?
With no output schema, the description should clarify what the returned budget suggestion looks like or what it is based on, but it does not. It also fails to explain how this tool differs functionally from the many other suggest_* siblings, leaving the agent with only the tool name as context.
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 100%, and the parameter description explains that marketplaceId is sent as the X-EBAY-C-MARKETPLACE-ID header, which is useful. The tool description itself adds no further parameter meaning, so the baseline score of 3 applies.
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 verb and a resource: 'Suggest budget' through the eBay Marketing API. It is somewhat distinguishable from sibling tools like ebay_suggest_bids and ebay_suggest_max_cpc by the word 'budget', but it never clarifies what kind of budget is being suggested or in what context, so the purpose remains vague.
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?
There is no guidance about when to call this tool versus its alternatives. It does not mention prerequisites, campaign context, or how it relates to ebay_suggest_bids, ebay_suggest_max_cpc, or budget-related campaign tools, leaving the usage decision entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_suggest_itemsCRead-only
Suggest items through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | limit optional endpoint parameter | |
| offset | No | offset optional endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter | |
| categoryIds | No | categoryIds optional endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true discloses that this is a safe read operation, but the description itself adds no behavioral context. It does not explain whether suggestions are based on campaignId, whether they are generated in real-time, or what the response format is. With annotations present, the burden is lower, but a one-line generic statement still provides minimal transparency.
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 extremely short and front-loaded with the verb, which is structurally efficient. However, its terseness sacrifices informative content. It is concise but not sufficiently informative for a tool with four parameters and no output schema.
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?
The description fails to provide essential context for an agent to call the tool correctly. It does not explain what 'suggest items' returns, how the required campaignId is used, or what the optional categoryIds, limit, and offset do. With no output schema and minimal context, an agent would be left guessing at the tool's purpose and behavior.
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 100%, so the baseline is 3 even though the description provides no parameter details. However, the schema descriptions ('limit optional endpoint parameter') are tautological and add no meaning. The description does nothing to clarify how the parameters affect the suggestion behavior, so it stays at baseline.
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 verb ('suggest') and a resource ('items'), which gives some indication of the action hon the eBay Marketing API. However, it does not clarify what 'suggest items' means in practice—whether it returns recommendations for advertising, search, or something else—and it does not distinguish this tool from similar suggestions like ebay_suggest_bids or ebay_suggest_keywords.
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?
No guidance is provided about when to use this tool versus alternatives. The sibling list contains several suggestion-related tools (ebay_suggest_bids, ebay_suggest_keywords), but the description does not mention any selection criteria, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_suggest_keywordsC
Suggest keywords through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Suggest keywords request body | |
| adGroupId | Yes | adGroupId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, meaning this is not a read-only operation, but the description adds no behavioral context. It does not mention side effects, required permissions, rate limits, or any constraints on the request. With such minimal annotation coverage, the description should carry more weight, but it fails to disclose any behavioral traits beyond the generic 'suggest' action.
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 short sentence, which is concise but severely under-specified. It lacks any structure or front-loading of important information. There is no explanation of what the tool does beyond the literal wording, and it does not provide useful details that an agent would need to decide on invocation. It is not a well-crafted concise description; it is merely sparse.
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?
The tool has three required parameters including a nested object, and there is no output schema. The description does not mention what the tool returns (e.g., a list of suggested keywords with metrics) or any context about the marketing campaign/ad group requirements. Given the complexity, the description is grossly incomplete and leaves the agent without critical information for correct invocation.
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 stated as 100%, and the schema provides basic descriptions for adGroupId and campaignId (as 'required endpoint parameter') and a generic description for the request object. The tool description adds no additional meaning to parameters, such as explaining what the bid object, matchType, or keywordText represent in context. Since the schema covers the basics, a baseline score of 3 is appropriate, but the description does not enhance understanding.
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 clear verb and resource ('Suggest keywords') and specifies the API, so it avoids a tautology. However, it is very generic and does not explain what kind of suggestions are provided (e.g., based on ad group context, match types, or bids). It does differentiate from siblings like ebay_suggest_items or ebay_suggest_max_cpc by mentioning keywords, but lacks specificity on the actual function.
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?
There is no guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, conditions, or scenarios where this tool is preferred over other suggestion tools (e.g., ebay_suggest_bids or ebay_suggest_budget). The agent is left to infer usage from the schema, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_suggest_max_cpcC
Suggest max cpc through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Suggest max cpc request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotation readOnlyHint=false, the description adds no behavioral detail such as side effects, required permissions, rate limits, or response characteristics. It is not contradictory to the annotation, but it does not disclose what happens when the tool is invoked.
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 concise sentence that front-loads the action and API context. The phrase 'through the eBay Marketing API' is somewhat generic, but overall the description is not padded.
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?
Given the nested request parameter, no output schema, and the large pool of sibling suggestion tools, the description is too minimal. It does not explain what the suggestion is based on, what the return value looks like, or what marketplace/listing constraints apply.
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 100%, so the request object and its nested properties are documented structurally. However, the description adds no semantic meaning to listingIds or marketplaceId, leaving the schema to carry the full explanatory burden.
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 uses a specific verb-resource pair: 'Suggest max cpc' through the eBay Marketing API. It is not a tautology, but it does not explicitly differentiate this tool from closely related siblings like ebay_suggest_bids or ebay_suggest_budget.
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?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no explanation of which campaign or listing context applies. The phrase 'through the eBay Marketing API' only names the channel, not the usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_test_notification_subscriptionB
Test a notification subscription by sending a test message
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It only states that a test message is sent, but fails to disclose whether this triggers a real notification, whether it is destructive, or what impact it has on the subscription. This lack of detail leaves the agent unsure of the tool's side effects.
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, concise sentence that immediately conveys the tool's purpose. It contains no redundant information and is front-loaded, making it easy for an AI agent to parse quickly.
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 test action with one required parameter, the description is adequate but could be improved. It does not explain what happens after sending the test message (e.g., no output schema or return value description). An agent may need to know whether the tool returns confirmation or errors, which is missing.
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?
The input schema covers the sole parameter with a clear description: 'The unique identifier for the subscription'. With 100% schema description coverage, the description adds no additional meaning, but it does not need to. Baseline of 3 is appropriate since the schema already documents the parameter adequately.
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 clearly states the action: 'Test a notification subscription by sending a test message'. It identifies both the verb ('test') and the resource ('notification subscription'), and distinguishes it from sibling tools like create, update, delete, enable, and disable notification subscriptions. This makes the purpose unambiguous.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring an active subscription, nor does it clarify when testing is appropriate. Without any explicit usage context, an AI agent may use it incorrectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_translateC
Translate listing text
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | No | ||
| text | Yes | ||
| translationContext | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Translate listing text' with no information about side effects, authentication requirements, rate limits, or whether the operation is read-only or mutating. This is a significant gap.
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 extremely short (3 words), but this is not conciseness—it is under-specification. It fails to provide essential information that would fit in a few more sentences, making it insufficiently informative.
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?
Given the complexity of the tool (4 parameters, no output schema, no annotations), the description is completely inadequate. It does not explain what the text is translated to/from, the expected format of input text, or what the output looks like. An agent would be unable to use this tool correctly based on the description alone.
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?
The input schema has 4 parameters with 0% description coverage in the schema itself. The description does not explain any of the parameters (to, from, text, translationContext), leaving their purpose and format entirely unclear.
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 'Translate listing text' uses a specific verb and resource, clearly indicating the tool's function. Among the many sibling tools (e.g., ebay_create_report_task, ebay_update_offer), this tool uniquely focuses on translation, so it is well-distinguished.
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 gives no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. While no sibling tools directly overlap in function, the description does not provide any context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_ad_groupCIdempotent
Update ad group through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update ad group request body | |
| adGroupId | Yes | adGroupId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, idempotentHint=true) already declare this is a mutating, idempotent operation, and the description does not contradict them. However, the description adds zero behavioral context beyond a restatement of the name — it does not disclose whether the update is partial or full replacement, what happens to unspecified fields, or any auth/scope needs.
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?
A single, front-loaded sentence with no wasted words. It is suitably brief, though 'through the eBay Marketing API' adds little beyond the ebay_ name prefix; the brevity is efficient rather than bloated.
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 mutation tool with a nested request body and no output schema, the description is far too sparse. It does not clarify update semantics (patch vs. full replacement), valid values for adGroupStatus, bid value/currency formats, or that only the listed request fields are updatable — leaving an agent to rely on a schema whose own descriptions are mostly restatements.
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 100%, so the baseline is 3 even though the description itself adds nothing about parameters. The schema's own parameter descriptions are tautological ('adGroupId required endpoint parameter'), and the request body fields (name, defaultBid, adGroupStatus) have no semantic explanation, but that gap belongs to the schema rather than the description.
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 verb and resource ('Update ad group') with an API context, so an agent can tell it modifies an existing ad group rather than creating or fetching one. However, it does not explicitly differentiate itself from closely related siblings like ebay_create_ad_group or ebay_update_ad_rate_strategy; the name alone carries that distinction.
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?
No when-to-use guidance is provided: no mention that this applies to already-created ad groups, no prerequisites (e.g., that the campaign and ad group must exist), and no exclusions or alternatives. The agent is left to infer usage entirely from the name and the required parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_ad_rate_strategyC
Update ad rate strategy through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update ad rate strategy request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the description carries the burden of behavioral disclosure. It simply says 'Update' with no mention of side effects, reversibility, rate limits, or requirements. This is minimal and does not enrich the agent's understanding of the operation's impact.
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 concise sentence with no fluff, front-loading the action and resource. It is appropriately sized but arguably too sparse; however, conciseness is a strength here, so a 4 is warranted.
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 write operation with a nested object and no output schema, the description is incomplete. It does not explain what ad rate strategy values are valid, what the update does, or any prerequisites. An agent lacks critical context to correctly invoke this tool.
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 100%, so both parameters are documented in the schema. The description adds no additional meaning about parameters, such as accepted values for adRateStrategy or constraints on campaignId. Baseline 3 is appropriate since the schema covers the basics.
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 clearly states the action ('Update') and the resource ('ad rate strategy'), which is specific and distinct from siblings like ebay_update_bidding_strategy. However, it does not explicitly differentiate itself from other update tools beyond the resource name, so it lacks explicit sibling differentiation.
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?
No guidance is given on when to use this tool versus alternatives, nor are there any prerequisites or conditions mentioned. The description only states what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_bidC
Update bid through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| adId | Yes | adId required endpoint parameter | |
| request | Yes | Update bid request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations provide readOnlyHint=false, so the write behavior is already indicated; the description simply repeats 'Update' without adding context about side effects, authorization needs, rate limits, or reversibility. It does not go beyond what the annotation already conveys.
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 short sentence with the core action front-loaded. There is no wasted text, though the brevity leaves out potentially valuable elaboration about the bid update context.
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?
The schema is rich and covers all parameters, and the annotation indicates a write operation. However, the description does not explain the relationship between adId and campaignId or the expected effect of updating the bid, and it is not sufficient to distinguish from similar bid-update tools on its own.
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?
The schema description coverage is 100% and clearly documents adId, campaignId, and request.bidPercentage, so the baseline is 3. The description adds no extra meaning beyond the schema, merely restating the operation.
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 uses the specific verb 'Update' with the resource 'bid' and identifies the eBay Marketing API, making the primary action clear. It does not explicitly differentiate from sibling tools like ebay_update_bidding_strategy or ebay_bulk_update_ads_bid_by_inventory_reference, which also involve bid-related updates.
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?
No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, whether adId/campaignId must already exist, or any exclusions for bulk or strategy-specific updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_bidding_strategyC
Update bidding strategy through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update bidding strategy request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with readOnlyHint=false, so there is no annotation contradiction. However, it adds no behavioral context beyond the word 'update': it does not disclose whether the strategy is replaced partially or fully, what side effects may occur, whether certain fields are required conditionally, or any API-specific constraints. With only a false readOnly hint, the description carries more burden than this sentence carries.
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 front-loaded sentence with no obvious filler. It is appropriately short for the tool's simplicity, though 'through the eBay Marketing API' adds little. It earns a 4 for conciseness but not a 5 because the brevity leaves important behavioral and usage context unstated.
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?
Given the nested request body, no output schema, and many sibling bidding/campaign tools, the description is not complete enough for reliable invocation. It does not explain valid biddingStrategy values, the meaning or format of bidPercentage, or whether the update has any prerequisites or consequences. An agent could infer the endpoint's purpose but not confidently know how or when to use it correctly.
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 100%, so the baseline is 3 even though the description adds no parameter-level meaning. The schema documents campaignId and the request object, but the nested bidPercentage and biddingStrategy fields lack value-domain explanations, and the description does not compensate for that. The description adds no practical meaning beyond what the schema already exposes.
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 clearly states a specific action ('Update bidding strategy') on a specific resource, and identifies the API domain ('eBay Marketing API'). It reads as clear and actionable rather than vague, and it is sufficiently distinct from related siblings like ebay_update_ad_rate_strategy and ebay_update_bid. It does not explicitly call out sibling differentiation, so it stops short of a 5.
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?
There is no guidance about when to use this tool versus alternatives such as ebay_update_bid, ebay_update_ad_rate_strategy, or ebay_update_campaign_budget. No context, prerequisites, or exclusions are provided. The only usage signal is implied by the verb 'update,' which is not enough guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_calculated_shipping_rulesAIdempotent
Update existing calculated combined-shipping rules (Account API v2 updateCalculatedShippingRules): change discount percentages, weight offsets, amounts, handling rule, and/or combinedDuration. Reference rules by combinedShippingRuleId from ebay_get_combined_shipping_rules. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdateCalculatedShippingRulesRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint=false and idempotentHint=true. The description adds real value beyond them: it discloses the auth scope (sell.account), the required X-EBAY-C-MARKETPLACE-ID header mapping, and the 204 No Content success response with a verification path via the get tool. It stops short of stating whether omitted fields are preserved or overwritten, which matters for a mutation.
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?
A single dense, front-loaded sentence-block that opens with the action and resource before descending into details. Every clause (IDs source, header mapping, return code, scope) carries information, though the run-on length slightly reduces scannability.
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 mutation tool with nested objects and no output schema, the description supplies the key missing pieces: auth scope, return semantics (204), and a confirmation path. It is nearly complete; the only gap is an explicit statement of update semantics (partial vs full replacement), which matters given the array/nested body.
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 100%, so the schema already documents both top-level parameters and their nested fields in detail. The description adds context (combinedShippingRuleId originates from the get tool, marketplaceId is a header), but that is minor value over a fully-documented schema. Baseline 3 applies.
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?
States a specific verb (Update) plus resource (existing calculated combined-shipping rules) and enumerates the mutable fields (discount percentages, weight offsets, amounts, handling rule, combinedDuration). It maps directly to the Account API v2 updateCalculatedShippingRules operation and is cleanly distinguishable from ebay_create_calculated_shipping_rules and ebay_get_combined_shipping_rules.
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?
Explicitly routes the agent to ebay_get_combined_shipping_rules for rule IDs and to confirm results, and states the update context. It doesn't spell out when NOT to use it (e.g. creating a new rule), but the 'update existing' phrasing implies the boundary against its create sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_campaign_budgetC
Update campaign budget through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update campaign budget request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false in annotations, the description becomes the primary source for behavioral details significantly more than with richer annotations. It only states 'Update' implying mutation, but does not disclose side effects like whether the budget is fully replaced, whether the endpoint requires a specific authorization scope, or any rate-limiting implications. It adds no context beyond what the annotation already suggests.
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 sentence with no filler. It is front-loaded with the verb and object and ends with the API context, which is appropriate. Every word contributes to identifying the tool's core purpose.
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?
The tool has no output schema promoted and only a minimal annotation. The description's brevity leaves out critical details such as whether the budget update is a full replacement or partial update, the required structure of the request body (though the schema partially covers this), potential endpoint-specific requirements like needing to pause the campaign first, or any rate-limit constraints. An agent cannot fully understand all invocation requirements from this description alone.
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 100% (both top-level parameters have descriptions), so the baseline is 3. However, those descriptions are tautological ('campaignId required endpoint parameter', 'Update campaign budget request body') and provide no semantic depth. The tool description itself adds no parameter-level meaning. The nested budget object and its fields (daily, amount, currency) have no descriptions at all.
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 uses a specific verb+resource combination: 'Update campaign budget' and identifies the API ('eBay Marketing API'). It clearly states the tool's function and distinguishes it from similar campaign-related tools like ebay_update_bidding_strategy or ebay_update_campaign_identification, though it does not explicitly name these siblings.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as having an existing campaign or required auth scopes, nor does it state when another tool might be more appropriate (e.g., for updating campaign identification vs budget). The context is implied but no explicit direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_campaign_identificationC
Update campaign identification through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update campaign identification request body | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'Update campaign identification,' which aligns with readOnlyHint=false but reveals nothing beyond it. No mention of side effects, reversibility, authorization requirements, or scope of changes. With minimal annotation coverage, the description fails to add behavioral context.
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 concise sentence with no fluff, but 'through the eBay Marketing API' is redundant given the tool name already starts with 'ebay_'. It is front-loaded and appropriately brief, though the redundancy costs a small deduction.
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 mutating tool with no output schema and only a basic readOnlyHint annotation, this description is inadequate. It does not explain what 'campaign identification' changes, when to use the tool, or how it differs from other campaign update tools. An agent must open the schema to understand basic purpose and parameters.
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 100% and both parameters (campaignId and request with campaignName) are described. The description adds no additional meaning about parameter format, behavior, or relationships beyond what the schema already provides.
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 ('Update') and resource ('campaign identification'), which distinguishes it from sibling tools targeting budget, bidding strategy, or ads. However, 'campaign identification' is slightly ambiguous without reading the schema, so it doesn't fully name the exact field being updated.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_update_campaign_budget or ebay_update_bidding_strategy. The description does not mention conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_combined_paymentsAIdempotent
Change how long unpaid orders from one buyer can be combined into a single invoice (Account API v2 updateCombinedPayments): combinedPayments.combinedDuration DAYS_3, DAYS_5, DAYS_7, DAYS_14, DAYS_30 or INELIGIBLE. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| combinedPayments | Yes | UpdateCombinedPaymentsRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag it as a write (readOnlyHint=false) and idempotent. The description adds real value beyond that: the 204 No Content success shape, the required sell.account scope, and the header-based marketplace transmission. It does not detail reversibility or error modes, so not a 5.
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?
Single dense but front-loaded passage: purpose first, then the value enum, header note, return behavior, and scope requirement. Every element is functional with little waste, though the parenthetical API reference is slightly redundant filler.
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 mutation with no output schema, the description covers the return semantics (204), a confirmation path, and the auth scope, which is what an agent needs. The only minor gap is enumerating failure/edge behavior, keeping it just below fully complete.
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 coverage is 100%, so the schema already documents both parameters including the enum. The description restates the combinedDuration enum and the header convention but adds no syntax or constraints beyond what the schema provides. Baseline 3 is correct.
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?
States a specific verb ("Change") and resource (the duration window in which unpaid orders can be combined into one invoice), and disambiguates from the sibling ebay_get_combined_shipping_rules by naming the mapping tool explicitly. An agent can tell this is a config mutation distinct from the read tool without opening either schema.
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?
Gives clear usage context: this sets the combined-payment window, and success should be confirmed via ebay_get_combined_shipping_rules. Also names the required scope (sell.account). It stops short of stating when not to use it or listing alternative config tools, so it is clear context without full exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_conversationA
Update a single conversation (conversationStatus: ACTIVE, ARCHIVE, DELETE; or read flag).
| Name | Required | Description | Default |
|---|---|---|---|
| read | No | The read status to set (true = read, false = unread) | |
| conversationId | No | The unique identifier of the conversation | |
| conversationType | No | The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated) | |
| conversationStatus | No | The updated status: ACTIVE, ARCHIVE, DELETE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it updates a conversation and lists possible status values. However, with no annotations, it fails to describe effects of DELETE, required permissions, or return behavior.
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?
Single sentence with key information, no wasted words. Could be slightly more structured but effective.
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?
Lacks description of return value or output. For a mutation tool with no output schema, this omission reduces completeness.
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 coverage is 100%, so baseline is 3. Description adds value by explaining the meaning of conversationStatus values and that conversationType is required but cannot be updated.
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?
Description clearly states the verb 'Update' and resource 'single conversation', listing allowed statuses and read flag. Distinguishes from sibling 'ebay_bulk_update_conversation' by specifying single conversation.
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?
Implies when to use by specifying the fields to update (status or read flag). Does not explicitly exclude bulk updates or provide prerequisites, but naming and context make usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_custom_policyBIdempotent
Update an existing custom policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes | Updated custom policy details | |
| customPolicyId | Yes | The custom policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutating operation (readOnlyHint: false) and idempotent (idempotentHint: true), but the description adds no behavioral context beyond the word 'Update'. It does not clarify whether the policy is fully replaced, partially merged, or what side effects occur.
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, focused sentence with no filler or repetition. It is concise and front-loaded, though it is minimal enough that some useful context is sacrificed.
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 nested-object mutation tool with no output schema, the description is too thin. It does not explain whether policy.customPolicyId must match the top-level customPolicyId, whether updates are partial or full replacements, or how to distinguish this from related policy update tools. An agent could invoke this incorrectly without additional information.
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 100% for top-level parameters, so the baseline is 3. The description itself adds no parameter-level meaning; nested fields like policyType and the duplicated customPolicyId are not clarified, but the schema already provides basic descriptions.
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 clear verb ('Update') and a specific resource ('existing custom policy'), which distinguishes it from create/get custom policy tools. It is not a tautology and directly maps to the tool's name.
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 provides no guidance on when to use this tool over alternatives such as ebay_create_custom_policy, ebay_get_custom_policy, or the other update policy tools. No prerequisites, exclusions, or conditional use cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_email_campaignCIdempotent
Update email campaign through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update email campaign request body | |
| emailCampaignId | Yes | emailCampaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, idempotent operation, so the description does not need to restate those facts. However, it adds no additional behavioral context: it does not describe what happens to existing campaign settings, whether fields are patched or replaced, what permissions are needed, or what errors are likely. Since there is no output schema, the description leaves important behavior undisclosed.
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 concise and front-loaded, but its only substantive content is nearly identical to the tool name. It has no waste, yet it also contributes little new information. This is more under-specification than achieved brevity.
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?
The tool accepts a complex nested 'request' object with many undocumented subproperties, yet the description offers only a one-line overview. With no output schema and no explanation of update semantics, required fields, or response behavior, the description is not complete enough for an agent to invoke the tool confidently.
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 100% at the top level, so the baseline of 3 applies. The description adds no meaning beyond the schema, and the nested request properties have type information but no semantic explanations. An agent can still inspect the schema, but the description does not help clarify which fields matter for an update.
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 verb and resource: 'Update email campaign through the eBay Marketing API.' This identifies the tool's purpose well enough to distinguish it from sibling tools like ebay_create_email_campaign, ebay_get_email_campaign, and ebay_delete_email_campaign. It does not add much differentiation beyond the resource name, so it stops short of a 5.
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 gives no guidance on when to use this tool instead of alternatives such as ebay_create_email_campaign or ebay_update_item_promotion. There are no stated prerequisites, exclusions, or scenarios where another tool would be preferable. An agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_feed_scheduleA
Update a Feed API schedule's name, trigger hour/day, start/end dates or schemaVersion. eBay validates the fields against the schedule's current template and returns 204. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule | Yes | UpdateUserScheduleRequest body; include every field the template requires | |
| scheduleId | Yes | Feed schedule ID, from ebay_create_feed_schedule or a list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, indicating a write operation. The description adds that eBay validates fields against the current template and returns 204, which is useful behavioral info beyond annotations. However, it omits other key behaviors: whether changes are reversible, if validation errors return 400, permission nuances, or rate limits. Some credit for extra context, but still gaps.
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?
Two compact sentences with zero waste. The key action is front-loaded, followed by essential constraints. Efficient and well-structured.
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 mutation tool with no output schema, the description covers the core operation and some constraints but misses important context: full permission details, error behaviors, and the fact that only some fields are valid depending on the template. Adequate but incomplete.
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 100%, so the schema fully documents both parameters. The description lists some fields but adds no syntax, format, or constraint details beyond what the schema already provides. Baseline 3 is appropriate when schema does the heavy lifting.
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 verb (update) and resource (Feed API schedule), and enumerates the updatable fields (name, trigger hour/day, start/end dates, schemaVersion). It does not explicitly differentiate from sibling tools like ebay_create_feed_schedule or ebay_delete_feed_schedule, but the verb 'update' distinguishes it reasonably. Clear but lacks explicit sibling differentiation.
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 provides some usable context: it states schedules exist only for LMS_ORDER_REPORT and require the sell.fulfillment scope. However, it does not explicitly state when to use this tool versus alternatives (e.g., create or delete), nor does it mention preconditions like needing an existing schedule. Implied usage but not explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_flat_shipping_rulesAIdempotent
Update existing flat-rate combined-shipping rules and/or combinedDuration (Account API v2 updateFlatShippingRules). Reference rules by combinedShippingRuleId from ebay_get_combined_shipping_rules. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdateFlatShippingRulesRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutating-but-idempotent profile, and the description adds real value on top: the 204 No Content response, the need to re-query to confirm, and the sell.account requirement. Minor gap in not detailing failure/partial-update behavior.
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?
Three compact sentences, each carrying distinct information (what, ID sourcing, header/return/auth). Dense but front-loaded and free of filler.
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 two-parameter, deeply nested request with no output schema, the description covers the mutation effect, the header placement, the auth scope, and the return/confirmation path. Only minor behavioral detail (error handling) is absent.
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 coverage is 100%, so the schema already documents both the marketplaceId header semantics and every nested rule field. The description only restates that combinedShippingRuleId comes from ebay_get_combined_shipping_rules, adding little beyond the schema.
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?
States a specific verb (Update) plus the exact resource (flat-rate combined-shipping rules and/or combinedDuration) and the underlying API operation. It clearly separates this from the sibling create_flat_shipping_rules by specifying it updates existing rules.
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?
Tells the agent to obtain rule IDs from ebay_get_combined_shipping_rules and to confirm the result with the same tool, and notes the required sell.account scope. It gives clear context but does not explicitly contrast when to choose create vs update (that hint only appears in the schema).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_fulfillment_policyBIdempotent
Update an existing fulfillment policy.
Required OAuth Scope: sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes | Updated fulfillment policy details | |
| fulfillmentPolicyId | Yes | The fulfillment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds OAuth scope details that annotations do not cover, which is useful auth context. However, it does not disclose whether the update merges with an existing policy or replaces all omitted fields, which is meaningful behavioral information an agent would benefit from for this mutation. It does not contradict the readOnlyHint=false or idempotentHint=true annotations.
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 three short lines with the main action first and OAuth scope as necessary supporting detail. Every sentence earns its place, and there is no filler or repetition.
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?
The rich input schema plus idempotentHint annotation make the tool minimally callable, and the OAuth scope requirement is present. However, with no output schema and no behavioral detail about update semantics or alternative policy tools, the description leaves noticeable gaps for an agent.
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 100% for top-level parameters, so the schema carries the parameter documentation burden and the baseline is 3. The description itself adds no parameter semantics, and the policy property's schema description 'Updated fulfillment policy details' is tautological.
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 clearly states a concrete verb ('Update') and a specific resource ('an existing fulfillment policy'), and the word 'existing' helps distinguish this from create/delete fulfillment policy siblings. However, it does not explicitly name alternative tools or describe the boundary between this and get operations, so it falls short of full differentiation.
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?
There is no guidance on when to choose this tool versus ebay_create_fulfillment_policy, ebay_get_fulfillment_policy, ebay_delete_fulfillment_policy, or update_payment_policy. The phrase 'existing' only weakly implies a prerequisite, and no exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_inventory_locationC
Update an inventory location
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated InventoryLocation request body | |
| merchantLocationKey | Yes | The merchant location key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'Update an inventory location', implying mutation but giving no details about side effects, required permissions, reversibility, or what happens to existing settings. The agent is left guessing about the tool's behavior beyond the surface level.
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?
At four words, the description is extremely concise but under-specifies, lacking any structure or additional informative content. Conciseness should not come at the cost of completeness; here, the description is too brief to be useful.
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?
Given the tool has 2 required parameters (one of which is a complex 'body' object), no output schema, and no annotations, the description is incomplete. It fails to explain what fields can be updated, the format of the body, or any response behavior, leaving significant gaps for the agent.
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?
While schema coverage is 100%, the parameter descriptions are minimal: 'The merchant location key' and 'Generated InventoryLocation request body'. The description adds no additional meaning beyond the schema's own minimal text, and the body parameter remains opaque without specification of its structure or required fields.
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 'Update an inventory location' clearly states the verb 'Update' and the resource 'inventory location', making the core purpose immediately understandable. However, it does not differentiate from sibling tools like ebay_create_inventory_location or ebay_enable_inventory_location, which could cause confusion.
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 provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, typical use cases, or situations where it should not be used. The agent has no information to decide between update, create, enable, or disable inventory location tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_item_price_markdown_promotionBIdempotent
Update item price markdown promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update item price markdown promotion request body | |
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=true, so the agent knows this is a mutating but idempotent operation. The description adds no behavioral context beyond the annotations: it doesn't mention that this is a full replacement update, that unspecified fields may be reset, or that the promotion must be in a certain status to be updated. The description is consistent with the annotations, so no contradiction, but it adds minimal behavioral value.
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 sentence that is concise and front-loaded with the verb and resource. It earns its place by naming the API ('eBay Marketing API'), which helps disambiguate from other eBay domains. It could add a bit more context, but it is appropriately sized for a tool whose schema carries most of the detail.
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?
Given the tool has a complex nested request schema and no output schema, the description is minimal but not inadequate: the schema documents the request body thoroughly, and the annotations cover idempotency. However, the description doesn't explain the effect of the update (e.g., whether it replaces the entire promotion configuration), which is important for a mutating tool with a large nested body. It also doesn't clarify the relationship to ebay_update_item_promotion.
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 100%: the request object has a description ('Update item price markdown promotion request body') and promotionId has a description ('promotionId required endpoint parameter'). The description itself adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies. The nested request object is complex, but the schema already documents its structure.
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 verb ('Update') and resource ('item price markdown promotion') via the eBay Marketing API. It clearly identifies the operation and resource, and the sibling tools include create/get/delete variants, so the update intent is clear. However, it doesn't explicitly distinguish itself from the similar ebay_update_item_promotion sibling, so it loses a point for not differentiating between the two update-promotion tools.
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 usage context: it is for updating an existing item price markdown promotion, and the required promotionId parameter signals that the promotion must already exist. However, it provides no explicit guidance on when to use this tool versus ebay_update_item_promotion or the create/get/delete siblings, and no mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_item_promotionCIdempotent
Update item promotion through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update item promotion request body | |
| promotionId | Yes | promotionId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'Update', which aligns with readOnlyHint=false, but adds nothing beyond that. It does not disclose whether the update is partial or full replacement, what happens to unspecified fields, or any required permissions. The idempotentHint=true in annotations is not elaborated on, so the description contributes minimal behavioral transparency beyond the annotations.
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 short sentence with no wasted words, but it is also extremely under-specified given the tool's complexity. It is concise but not appropriately sized for an agent to understand the tool's purpose and usage without relying heavily on other sources.
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?
The tool has a large nested request schema and no output schema, yet the description says nothing about the update semantics (e.g., patch vs. put), prerequisites, or expected response. It is significantly incomplete for guiding correct invocation of such a complex tool.
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 100% for the two root parameters (promotionId and request each have short descriptions), so the baseline is 3. The description text adds no additional meaning about how to construct the request or interpret the nested fields; it does not go beyond what the schema already provides.
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 the tool updates an item promotion via the eBay Marketing API, using a specific verb ('Update') and resource ('item promotion'). It is clear and distinguishable from the directly related siblings (e.g., ebay_create_item_promotion, ebay_update_item_price_markdown_promotion) based on the explicit 'item promotion' phrasing, though it does not explicitly name alternatives.
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 provides no guidance on when to use this tool versus alternatives such as ebay_create_item_promotion, ebay_pause_promotion, or ebay_update_item_price_markdown_promotion. The only implicit usage cue is the verb 'update' and the required promotionId, but no conditions, prerequisites, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_keywordCIdempotent
Update keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update keyword request body | |
| keywordId | Yes | keywordId required endpoint parameter | |
| campaignId | Yes | campaignId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and idempotentHint=true, and the description adds no further behavioral context. It does not mention whether the update is partial, what fields are affected, what the response contains, or what side effects may occur.
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, efficient sentence with the core action front-loaded. It is concise and free of unnecessary filler, though it omits detail that would improve usefulness.
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 mutation tool with a nested request body and no output schema, this description is incomplete. The agent is left without information about which keyword fields are updatable, how request.bid and keywordStatus interact, and how this differs from the bulk and negative-keyword variants.
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 coverage is 100%, so the schema documents the three parameters, even though individual descriptions are mostly tautological (e.g., 'keywordId required endpoint parameter'). The tool description adds no parameter semantics beyond the schema, so the baseline score of 3 is appropriate.
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 clearly states the verb (Update) and resource (keyword) and provides API context (eBay Marketing API). It does not, however, distinguish this from closely related siblings like bulk_update_keyword or ebay_update_negative_keyword.
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?
No guidance is provided about when to use this tool versus alternatives such as bulk_update_keyword, create_keyword, or ebay_update_negative_keyword. An agent cannot infer selection criteria from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_negative_keywordBIdempotent
Update negative keyword through the eBay Marketing API.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Update negative keyword request body | |
| negativeKeywordId | Yes | negativeKeywordId required endpoint parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. Annotations already indicate readOnlyHint=false and idempotentHint=true, and the description simply restates that it updates, without explaining idempotency behavior, side effects, or status transition constraints. No contradiction with annotations.
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?
A single sentence with no filler. It states the operation and API context directly, and every word contributes to the minimal meaning.
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?
The input schema is complete and the annotations provide safety-relevant hints, so the core input understanding is sufficient. However, there is no output schema and the description does not mention response behavior or when to choose this over the bulk variants, leaving some contextual gaps.
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 100%, so the schema already documents both negativeKeywordId and the request object with negativeKeywordStatus. The description does not add additional parameter meaning, but the baseline of 3 is appropriate since the schema carries the load.
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 uses a specific verb and resource: 'Update negative keyword through the eBay Marketing API.' This clearly identifies the operation, though it does not explicitly distinguish it from sibling tools like ebay_bulk_update_negative_keyword or ebay_update_keyword.
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?
No guidance is provided on when to use this tool versus alternatives such as ebay_bulk_update_negative_keyword, ebay_create_negative_keyword, or ebay_get_negative_keyword. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_notification_configC
Update notification configuration
| Name | Required | Description | Default |
|---|---|---|---|
| alertEmail | No | Email address for Notification API alerts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior. It only says 'Update', implying mutation, but does not explain whether the update merges with existing settings or replaces them, what permissions are needed, or any side effects. The optional single parameter is noted in the schema but the description adds no behavioral context.
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 very concise (one sentence) and front-loaded with the action. It is efficient but lacks structure or additional contextual sentences. Every word earns its place given the simple tool, though it could benefit from more detail.
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?
Given the tool performs a mutation (update) with one optional parameter, no output schema, and no annotations, the description is incomplete. It does not explain what 'notification configuration' comprises, whether other config aspects exist, or what the response looks like. The sibling list is extensive but not leveraged for disambiguation.
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 coverage is 100% (1 parameter described). The description adds no additional information about the parameter beyond what the schema provides (alertEmail for alerts). Since the schema already documents the parameter, the description meets the baseline but does not enhance understanding.
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 'Update notification configuration' clearly states the verb ('Update') and resource ('notification configuration'). It accurately reflects the tool's function but does not differentiate it from sibling tools like ebay_get_notification_config or ebay_update_notification_destination, which are distinct 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?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives (e.g., when to update vs get config, or context for updating notification configurations). There is no indication of prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_notification_destinationC
Update a notification destination
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Destination name | |
| status | No | Status: ENABLED or DISABLED | |
| destinationId | Yes | The unique identifier for the destination | |
| deliveryConfig | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention idempotency, partial updates, or required permissions. The tool is mutative, but no side effects or constraints are described.
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 extremely concise, consisting of a single sentence. While it is not verbose, it may be too brief to be helpful, but it does follow the principle of being front-loaded.
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?
Given the tool has four parameters including a nested object, no output schema, and no annotations, the description is insufficient. It does not explain the effect of updating each field or the response behavior, leaving the agent with limited information.
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 coverage is high at 75%, so the input schema already documents most parameters. The description adds no additional meaning beyond 'update'. For properties like 'deliveryConfig', the schema includes detailed descriptions, so the marginal value of the description is minimal.
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 clearly states the verb 'Update' and resource 'notification destination', providing a straightforward purpose. However, it does not differentiate from sibling tools like ebay_update_notification_config or ebay_update_notification_subscription, which are also 'Update' operations on notifications.
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?
No guidance is provided on when to use this tool versus alternatives. The description lacks any context about prerequisites, such as needing a destinationId, or when to update vs. create/delete destinations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_notification_subscriptionC
Update a notification subscription
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Status: ENABLED or DISABLED | |
| payload | No | ||
| destinationId | No | The unique identifier of the destination | |
| subscriptionId | Yes | The unique identifier for the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states 'Update'. It fails to disclose whether mutations are partial or complete, required permissions, or side effects.
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 extremely concise at one sentence, but it sacrifices valuable details that could fit without becoming verbose. It is not optimally structured.
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?
Given no output schema, no annotations, and minimal description, the tool is under-documented. Important details like update semantics, valid values, and response behavior are missing.
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 coverage is 75%, so the schema already documents most parameter meanings. The description adds no extra value beyond the schema's parameter descriptions.
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 clearly states the action ('Update') and the resource ('a notification subscription'). It is specific enough to understand the tool's core function, though it does not differentiate from sibling enable/disable tools.
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?
No guidance on when to use this tool versus alternatives like enable or disable subscriptions. The description lacks context on prerequisites or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_offerA
Update an existing offer. Send the full offer details; the format itself cannot change. Auction fields (auctionStartPrice, auctionReservePrice, day-count listingDuration) follow the same rules as ebay_create_offer, and a reserve price must stay above the starting bid.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| offerId | Yes | The offer ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden and does disclose important constraints: full details must be sent, format cannot change, and auction rules (including reserve price above start bid) apply. However, it does not address state prerequisites, effects on published offers, or failure behavior, which leaves gaps 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?
Three sentences with no filler; the purpose is front-loaded and each sentence adds a distinct constraint. It is concise without sacrificing the most important usage information.
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 tool with a large nested body, no output schema, and no annotations, the description covers the core update semantics and auction-specific rules but omits practical context such as retrieving the existing offer first, state restrictions, and how omissions in the body are handled. It is adequate but not complete.
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 only 50%, and the description adds modest value by naming auctionStartPrice, auctionReservePrice, and listingDuration and pointing to create-offer rules. It does not compensate for the many undocumented nested fields, and most parameter semantics still rely on the schema.
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 opens with 'Update an existing offer,' a specific verb and resource that clearly distinguishes this tool from ebay_create_offer, ebay_delete_offer, and ebay_publish_offer. It also adds the scope constraint that the format itself cannot change, which further clarifies its role.
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?
It gives the key instruction to send full offer details and cross-references ebay_create_offer for auction field rules, but it never explicitly states when to choose this tool over alternatives or when not to use it. The usage context is implied by the name and sibling list rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_payment_dispute_evidenceB
Update existing evidence in a payment dispute.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated updateEvidence request body | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose behavioral traits such as whether the update replaces or merges evidence, idempotency, error cases, or return values.
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 very short and front-loaded with the core purpose. OAuth scope is included as a separate line. No filler or redundant information.
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?
Despite complete schema, the description lacks context on how the update works, what the body structure requires (e.g., evidenceId is required), and any output or side effects. Not complete for a mutation with nested parameters.
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?
Input schema covers 100% of parameters with descriptions. The description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
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 explicitly states 'Update existing evidence in a payment dispute,' providing a specific verb ('Update') and resource ('existing evidence in a payment dispute'). It clearly distinguishes from sibling tools like 'add' and 'upload'.
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?
No guidance on when to use this tool versus alternatives (e.g., adding evidence, uploading files). No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_payment_policyCIdempotent
Update an existing payment policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes | Updated payment policy details | |
| paymentPolicyId | Yes | The payment policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and idempotentHint=true, so the safety and idempotency profile is known. The description adds no extra behavioral context beyond 'update'—for instance, whether it performs a full replacement, whether omitted fields are reset, or what side effects occur. With a mutation tool and only a one-word verb, the description fails to disclose anything meaningful beyond the annotations.
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 sentence with no filler words. It is front-loaded with the action and the resource, making it immediately scannable. Every word 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 an update operation on a complex nested object with no output schemaabbiamouse, the description is extremely thin. It does not explain the semantics of the 'policy' object (e.g., does it replace the entire existing policy?), does not mention that the policy must already exist, and does not reference related operations like get_payment_policy or get_payment_policies. An agent is left to infer important context from the schema and sibling names.
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?
The input schema has 100% coverage: paymentPolicyId is described as 'The payment policy ID' and policy is described as 'Updated payment policy details'. The nested fields are fully typed with enums and structure. The description adds little beyond the schema, so the baseline 3 is appropriate—it does not harm, but also does not enrich parameter understanding.
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 uses the specific verb 'Update' with the specific resource 'payment policy', which clearly distinguishes it from sibling tools that operate on other policy types (e.g., ebay_update_fulfillment_policy, ebay_update_return_policy). However, it does not explicitly differentiate itself from other payment-policy operations like create or delete, so it stops short of a 5.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for modifying an existing policy (as opposed to creating one), nor does it note any prerequisites such as obtaining the policy ID or retrieving the current policy first. The description simply restates the tool's purpose without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_payout_percentageAIdempotent
Set the split-payout percentage for the seller's two payout instruments (Account API v2 updatePayoutPercentage). Pass payoutSplit.payoutInstruments[] with instrumentId (from ebay_get_payout_settings) and a whole-number payoutPercentage; the values must total 100 or eBay rejects the call. Returns success (eBay 204 No Content). Split payouts are only available to mainland China sellers (Payoneer + bank account). Requires the sell.finances scope.
| Name | Required | Description | Default |
|---|---|---|---|
| payoutSplit | Yes | UpdatePayoutPercentageRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare this is a write (readOnlyHint=false) and idempotent. The description adds real behavioral context beyond that: the payload must total 100 or eBay rejects the call, the response is a 204 No Content success, the scope requirement, and the mainland-China eligibility restriction. This is unusually complete disclosure 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?
Front-loads what the tool does, then packs payload shape, validation constraint, return behavior, eligibility, and scope into dense, waste-free sentences. Every sentence carries distinct information.
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 single nested-parameter write tool with annotations covering write/idempotency, the description covers payload structure, the cross-field 100-sum rule, response code, geographic eligibility, and the required scope. Nothing an agent needs to call it correctly is missing.
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 100%, so the baseline is 3. The description still adds value by clarifying that instrumentId is sourced from ebay_get_payout_settings and that the two payoutPercentage values must collectively sum to 100 or the call is rejected, going slightly beyond the per-field schema text.
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?
States a specific verb and resource: 'Set the split-payout percentage for the seller's two payout instruments', citing the underlying Account API v2 method. An agent can distinguish this from read-side siblings like ebay_get_payout_settings without opening any schema.
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?
Explicitly routes the agent to ebay_get_payout_settings for instrumentId and states the eligibility condition (mainland China sellers only) plus the required sell.finances scope. It gives clear prerequisites but does not spell out explicit when-not alternatives beyond the geographic limit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_promotional_shipping_ruleAIdempotent
Update the existing promotional combined-shipping rule: thresholds, item count, shipping cost, and/or combinedDuration (Account API v2 updatePromotionalShippingRule). marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplaceId | Yes | eBay marketplace sent as the required X-EBAY-C-MARKETPLACE-ID header, e.g. EBAY_US | |
| shippingRules | Yes | Create/UpdatePromotionalShippingRuleRequest body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal a non-read-only, idempotent write, so the bar is lower. The description adds useful context beyond them: the mutation returns 204 No Content (so no body to parse) and requires the sell.account scope, both of which matter for a write call.
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?
Front-loaded with the action and mutable fields, followed by the header, return, and auth facts in compact form. Dense with no filler, though the parenthetical API reference is mildly redundant.
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 mutation with no output schema, the description covers what an agent needs: the mutable scope, required scope, marketplace header handling, and a verification path. Return behavior is addressed via the 204 note, leaving only granular field semantics to the (complete) schema.
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 100%, so the nested fields, enums, and the marketplaceId header are already fully documented structurally. The description restates the updatable fields at a high level without adding syntax or format detail beyond the schema, matching the baseline of 3.
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?
States a specific verb (Update) and resource (existing promotional combined-shipping rule) and enumerates the mutable fields (thresholds, item count, shipping cost, combinedDuration). 'Existing' implicitly separates it from ebay_create_promotional_shipping_rule, though it never names that sibling.
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?
Gives clear context: update (not create) an existing rule, requires the sell.account scope, and directs the agent to ebay_get_combined_shipping_rules to confirm the result. No explicit when-not-to-use note or named alternative for other rule types, but the operating context is well specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_rate_table_shipping_costAIdempotent
Update shippingCost and/or additionalCost for rates in a shipping rate table (Account API v2 updateShippingCost). Pass rateTableId (from ebay_get_rate_tables) and rateTableUpdate.rates[] with each rateId (from ebay_get_rate_table). Returns success (eBay 204 No Content). Rate tables are supported on US, CA, GB, DE, AU, FR, IT and ES. Requires sell.account.
| Name | Required | Description | Default |
|---|---|---|---|
| rateTableId | Yes | Shipping rate table ID (from Account API v1 getRateTables) | |
| rateTableUpdate | Yes | RateTableUpdate request body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=true, so the safety profile is covered. The description adds real context beyond the annotations: success is a 204 No Content response (no body), the supported marketplaces, and the required OAuth scope.
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?
Front-loaded with the action and target, then layers provenance, response, marketplaces and scope. Dense but every clause earns its place; no filler or repetition.
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?
Covers the mutation's outcome (204), the scope needed, marketplace support, and where to source the IDs. With 100% schema coverage, annotations present, and no output schema to explain, this is complete for correct invocation.
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 100%, so the schema already documents both params and the nested rate fields. The description adds provenance for the two IDs (which sibling tools supply them), which is useful but marginal over the fully-documented schema.
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?
States a specific verb (Update) plus the exact resources mutated (shippingCost and/or additionalCost for rates in a shipping rate table). It also names the underlying eBay API operation, so the agent can distinguish this from the many other shipping-related siblings.
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?
Provides clear prerequisites and routing: rateTableId comes from ebay_get_rate_tables, each rateId from ebay_get_rate_table, and the operation requires the sell.account scope. It stops short of an explicit when-to-use/when-not statement, but for this narrow mutation there is no competing sibling to steer away from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_update_return_policyCIdempotent
Update an existing return policy
| Name | Required | Description | Default |
|---|---|---|---|
| policy | Yes | Updated return policy details | |
| returnPolicyId | Yes | The return policy ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and idempotentHint=true, so the description adds no additional behavioral context. It does not disclose whether updates are full replacements or partial merges, how unspecified fields are handled, or any side effects. The description is neutral and does not contradict annotations, but also provides no extra insight.
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 concise sentence with no filler. It is appropriately front-loaded with the action and target. However, it is extremely brief and could benefit from a sentence on usage or scope, but it avoids verbosity.
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 tool with a complex nested policy object and many optional fields, the description is too sparse. It does not explain update semantics (e.g., replace vs. merge), required fields beyond schema hints, or what the response contains. With no output schema and minimal description, an agent may not fully understand how to construct a valid update.
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 100% with returnPolicyId described as 'The return policy ID' and policy as 'Updated return policy details'. The description adds nothing beyond the schema, which already documents parameter purposes. The nested structure and enums are well-defined in the schema, so the description's contribution is minimal.
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 'Update an existing return policy' clearly states the verb (update) and resource (return policy), distinguishing it from create/delete operations. It is unambiguous and specific, though it doesn't explicitly name sibling tools like ebay_create_return_policy or ebay_get_return_policy, relying on the verb to differentiate.
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?
No usage guidance is provided. The description does not mention when to use this tool versus creating a new policy, retrieving one, or deleting it. It lacks any context about prerequisites, typical scenarios, or alternatives, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_documentA
Upload a local PDF, JPEG/JPG or PNG (up to 10 MiB) to a staged documentId. Animated/multi-page PNG is unsupported. Check ebay_get_document for ACCEPTED. Requires sell.inventory. Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path or media:// reference inside the media allowlist | |
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, it discloses file-format limitations, the 10 MiB cap, the required sell.inventory scope, environment-variable allowlist, media:// anchoring, and symlink resolution. These are exactly the behavioral details an agent needs before attempting a local-file upload.
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?
Three dense sentences, each carrying distinct constraints (core upload, unsupported formats/status, auth/path rules), with no filler. The main verb and target appear first.
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?
Covers the high-complexity local-file constraints well: format, size, auth, allowlist, symlink resolution, and status check. It does not describe the return value or the staging prerequisite (how documentId was created), but this is minor compared to the operational detail provided.
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?
It supplies the meaning of documentId ('staged') that the schema omits, and enriches path with EBAY_MCP_MEDIA_DIRS, EBAY_MCP_MEDIA_ROOT, and symlink behavior. With only 50% schema coverage, it compensates for the undocumented documentId but does not spell out how to obtain or validate it.
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 opening sentence names the action ('Upload'), the target ('staged documentId'), and the accepted input types and size, which is specific enough to distinguish it from fetch/create/read siblings. 'Check ebay_get_document for ACCEPTED' further places it in the document upload lifecycle.
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?
It makes the local-file context explicit ('Upload a local PDF...', media allowlist) and gives a follow-up tool to verify success. It does not explicitly name alternatives like ebay_create_document_from_url or ebay_upload_post_order_document, so the 'when not to use' guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_feed_task_fileA
Upload a local feed file to a Feed API upload task from ebay_create_feed_task: XML or zipped XML for LMS feed types, CSV for Seller Hub feed types (.xml, .zip, .gz or .csv, UTF-8 text, up to 15 MiB, eBay's data file limit). Sent as multipart/form-data; eBay then processes it asynchronously, so poll ebay_get_feed_task until COMPLETED or COMPLETED_WITH_ERROR and read per-record errors with ebay_get_feed_task_result_file. Not for LMS_ORDER_REPORT or LMS_ACTIVE_INVENTORY_REPORT. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay). Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path or media:// reference inside the media allowlist; .xml, .csv, .zip or .gz up to 15 MiB | |
| taskId | Yes | Feed task ID, from the Location of a create call or a task list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give readOnlyHint=false, so the description carries the burden and delivers: multipart/form-data transport, asynchronous downstream processing, per-feed-type OAuth scopes, the EBAY_MCP_MEDIA_DIRS/EBAY_MCP_MEDIA_ROOT allowlist opt-in, and symlink resolution before the check. This is exactly the operational context an agent needs before invoking a file-upload mutation.
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?
Dense but front-loaded: purpose and format constraints come first, then lifecycle, exclusions, scopes, and the local-file security model. Every clause carries information, though a single very long paragraph packed with edge cases could be broken into shorter units for scanability.
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?
Given a high-complexity async upload tool with a two-parameter schema and no output schema, the description covers formats, size limits, transport, async completion semantics, result retrieval, scope requirements, and the local-file access model. Nothing material to a correct invocation is missing.
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 coverage is 100% and both params are documented, so the baseline is 3; the description goes beyond by tying `path` to the media allowlist, symlink resolution, accepted extensions and the 15 MiB limit, and by tying `taskId` usage to the create-call flow. It adds genuine meaning rather than restating the schema.
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?
States a specific verb and resource ('Upload a local feed file to a Feed API upload task') and anchors it to the sibling that creates the task (ebay_create_feed_task). An agent can immediately distinguish this from ebay_get_feed_task and ebay_get_feed_task_result_file, which are named as the follow-on steps.
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?
Explicit about when to use it (after ebay_create_feed_task, per feed type), what to do next (poll ebay_get_feed_task until COMPLETED or COMPLETED_WITH_ERROR, then read errors via ebay_get_feed_task_result_file), and when not to use it ('Not for LMS_ORDER_REPORT or LMS_ACTIVE_INVENTORY_REPORT'). Alternatives and exclusions are all named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_imagesA
Upload local pictures to eBay Picture Services and return the EPS image URLs in the same order, ready for product.imageUrls on an inventory item. Uses the Media API (createImageFromFile). Unused images expire after a while; they become permanent once a listing uses them.
Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Image files in listing order: JPG, PNG, GIF, BMP, TIFF, WEBP, AVIF, or HEIC, up to 12 MB each |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, which is consistent with the description's write operation. The description adds key behavioral details: images expire if unused, become permanent when used, and the opt-in local file access mechanism. While it doesn't detail failure modes or rate limits, it covers significant operational behavior beyond annotations.
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 concise, with the core purpose in the first sentence, followed by critical behavioral notes. It's front-loaded and avoids redundancy. The second paragraph about opt-in file access is necessary but slightly verbose; could be tightened, but overall efficient.
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?
Given there is no output schema, the description explains the return format (EPS URLs in order) but not the exact structure or potential errors. It covers all necessary input constraints, but for a write operation it could mention error handling or side effects more thoroughly. However, it is well-rounded for the tool's complexity.
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?
The schema already documents 'paths' with format, allowed types, size limit, and ordering. The description reinforces the media:// resolution and directory constraints but adds little beyond the schema. Since schema coverage is 100%, the baseline is 3, and the description provides minor confirmation of the media:// handling.
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 clearly states the tool uploads local pictures to eBay Picture Services and returns EPS URLs in order, directly tied to product.imageUrls. It distinguishes itself from siblings like ebay_create_image_from_url by specifying local file upload via Media API, and ebay_upload_video for different media type.
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 explicitly explains when to use it (for local images destined for inventory items) and mentions alternatives implicitly through sibling differentiation (e.g., ebay_create_image_from_url for URLs). It also provides critical preconditions: file must be in EBAY_MCP_MEDIA_DIRS or under EBAY_MCP_MEDIA_ROOT, with symlink resolution noted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_payment_dispute_evidence_fileA
Upload a file as evidence for a payment dispute (e.g., shipping receipt, photos). Returns a file ID to use with add_evidence.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Multipart-compatible file body to upload | |
| paymentDisputeId | Yes | The unique payment dispute ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the return value and required scope, but lacks details on file limits, accepted formats, or error conditions. Adequate but minimal beyond basic purpose.
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?
Extremely concise—two sentences plus scope info. No filler, every sentence adds value (purpose, return value, scope). Well front-loaded.
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 upload tool, description covers purpose, return value, and scope. Lacks output schema details but return type is implied. Slightly incomplete regarding file constraints but overall adequate.
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 coverage is 100% with clear descriptions. The description adds examples (shipping receipt, photos) and clarifies that data is Base64-encoded, enhancing understanding beyond the schema.
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 'Upload a file as evidence' with specific examples (shipping receipt, photos) and clarifies the return value (file ID for add_evidence), clearly distinguishing it from sibling tools like add_payment_dispute_evidence.
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?
Provides required OAuth scope and states the file ID is for use with add_evidence, indicating this is a preparatory step. However, it does not explicitly mention when not to use the tool or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_post_order_documentA
Upload a PDF, JPEG/JPG, BMP, GIF or PNG (up to 5 MiB) for a post-order entity. Returns documentId and Location; initial state is SUBMITTED. Publishing requires a separate eBay GraphQL mutation. Animated/multi-page PNG is unsupported; PDF page limits depend on usage. Requires commerce.post_order.document consent and keyset eligibility. Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path or media:// reference inside the media allowlist | |
| entityId | Yes | Identifier of the post-order entity | |
| entityType | Yes | Post-order entity type, e.g. RETURNS | |
| documentUsageType | Yes | Document usage, e.g. RETURN_SHIPPING_LABEL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint:false and destructiveHint:false annotations, the description carries the full behavioral burden and does so excellently. It discloses the initial SUBMITTED state, that publishing needs a separate mutation, unsupported animated/multi-page PNG, PDF page-limit dependency, the consent and keyset eligibility requirement, the opt-in local file access model with environment-variable directories, and symlink resolution before checks. This is far beyond what annotations provide and is fully consistent with them (no contradiction).
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 dense and every sentence earns its place, but it is on the longer side. It is well front-loaded with the core action (format and size) before moving to state, constraints, and file-access rules. The length is justified by the tool's complexity, though a slightly tighter structure around the file-access rules would push it higher.
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?
This is a complex tool (file upload, consent scoping, state transitions, and restrictive file-access model), and the description covers formats, size, return values (documentId and Location), initial state, publishing follow-up, unsupported formats, page limits, consent, directory allowlisting, and symlink behavior. Even without an output schema, the return contract is explained. Nothing an agent needs to call it correctly is missing.
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 coverage is 100%, so the schema already documents all four parameters, giving a baseline of 3. The description adds meaningful depth to the path parameter by naming the actual environment variables (EBAY_MCP_MEDIA_DIRS, EBAY_MCP_MEDIA_ROOT) and the media:// anchoring behavior, plus the symlink-resolution detail. It does not add new meaning for entityType or documentUsageType beyond the schema's examples, so it meets but does not exceed the baseline.
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 opens with a specific verb (upload), a concrete resource (post-order entity document), and precise constraints (formats: PDF/JPEG/BMP/GIF/PNG, size: up to 5 MiB). It is clearly distinguishable from sibling tools like ebay_upload_video, ebay_upload_images, and ebay_create_document by the 'post-order entity' scope. However, it never names an alternative tool explicitly, so differentiation is inferred rather than stated.
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?
Usage context is implied rather than explicit. The statement 'initial state is SUBMITTED' and 'Publishing requires a separate eBay GraphQL mutation' signal that this is a prerequisite step in a workflow, and the consent/keyset eligibility line describes prerequisites. But there is no direct 'use this when X, otherwise use Y' guidance that would help an agent choose between this and ebay_upload_document or ebay_create_document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_upload_videoA
Upload a local video through the Media API lifecycle (createVideo → uploadVideo → getVideo) and return the videoId with its processing status. Waits up to waitForProcessingSeconds (default 120) for status LIVE; PROCESSING means check again with ebay_get_video, BLOCKED or PROCESSING_FAILED explain why eBay rejected it (statusMessage). MP4/MOV up to 150 MB; one video per listing.
Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute local path or media:// reference to an MP4 or MOV file up to 150 MB | |
| title | No | Video title shown in eBay; defaults to the file name | |
| description | No | Optional video description | |
| waitForProcessingSeconds | No | Seconds to wait for eBay to finish processing a video before returning (default 120). A video still PROCESSING can be checked later with ebay_get_video |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description carries the burden of behavioral disclosure. It adds substantial context: the tool waits up to waitForProcessingSeconds, maps resulting statuses, enforces MP4/MOV up to 150 MB and one-video-per-listing, and explains the opt-in local file access model including symlink resolution.
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?
Two tight paragraphs: the first states the operation, result, and status behavior; the second covers the essential file-access security caveat. Every sentence contributes either to calling the tool correctly or handling its result, with no filler.
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?
With no output schema and sparse annotations, the description makes the tool self-sufficient: it explains the return value, status transitions, retry path via ebay_get_video, rejection messaging, size/format constraints, and the local path security model. Nothing essential is missing for an agent to invoke it correctly.
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 coverage is 100%, so the baseline is 3, but the description adds non-obvious semantics not in the schema: valid path locations, media:// anchoring to EBAY_MCP_MEDIA_ROOT, and symlink behavior. It adds less for title/description/wait, but those are already well documented in the schema.
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 names a specific operation ('Upload a local video'), walks through the Media API lifecycle (createVideo → uploadVideo → getVideo), and states the concrete return value: videoId plus processing status. It also distinguishes itself from ebay_get_video, which is the sibling used for checking a still-processing video.
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?
It gives explicit follow-up guidance: PROCESSING means check again with ebay_get_video, while BLOCKED and PROCESSING_FAILED expose rejection reasons via statusMessage. It also states local-file prerequisites upfront: the file must live under EBAY_MCP_MEDIA_DIRS or EBAY_MCP_MEDIA_ROOT, with symlinks resolved before the access check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_validate_token_expiryA
Validate token expiry times and get recommendations. Checks if access/refresh tokens are expired or expiring soon, and provides actionable recommendations (e.g., refresh access token, re-authorize user).
| Name | Required | Description | Default |
|---|---|---|---|
| accessTokenExpiry | Yes | Access token expiry as an ISO date string, Unix timestamp, or relative time | |
| refreshTokenExpiry | Yes | Refresh token expiry as an ISO date string, Unix timestamp, or relative time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the tool checks expiry and provides recommendations, indicating a read-like behavior. No mention of side effects or auth needs, but the behavior is straightforward for a validation function.
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 two sentences, zero wasted words. It front-loads the core purpose and immediately provides specific details.
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 validation tool with no output schema, the description sufficiently explains what the tool does and its output (recommendations). Could mention return format but not necessary given simplicity.
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 coverage is 100% with each parameter described as ISO date string, Unix timestamp, or relative time. The description reinforces but does not add meaning beyond the schema's own descriptions. Baseline of 3 is appropriate.
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 clearly states the tool validates token expiry times and provides actionable recommendations, specifying it checks if tokens are expired or expiring soon. This specific verb-resource combination distinguishes it from all sibling tools, which focus on listings, promotions, reports, etc.
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 when to use: when needing to check token expiry and get recommendations. No explicit when-not or alternatives are given, but given the sibling list contains no other token-related tool, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_withdraw_offerB
Withdraw a published offer
| Name | Required | Description | Default |
|---|---|---|---|
| offerId | Yes | The offer ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits itself. It only states the action ('withdraw') without explaining consequences (e.g., offer becomes inactive, buyer notifications) or required state (published). Minimal transparency.
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 concise sentence with no extraneous words. However, it lacks structure such as prerequisites or effects. It earns high marks for efficiency but could be slightly more informative.
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 1-parameter tool with no output schema and no annotations, the description is minimal. It covers the basic action but omits context like state requirements (offer must be published) and what happens after withdrawal. Adequate but not comprehensive.
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 coverage is 100%, and the schema already describes 'offerId' as 'The offer ID'. The description adds no additional meaning beyond the schema, meeting baseline expectation.
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 'Withdraw a published offer' uses a specific verb and resource, clearly distinguishing it from sibling tools like ebay_delete_offer (delete unpublished) and ebay_publish_offer.
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?
No guidance on when to use this tool versus alternatives (e.g., ebay_delete_offer, ebay_end_listing) or prerequisites like the offer being published. The description provides no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebay_withdraw_offer_by_inventory_item_groupA
Withdraw an offer for an inventory item group (variation listing).
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Generated WithdrawByInventoryItemGroup body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states action and required OAuth scope. It does not disclose side effects, reversibility, or any behavioral traits beyond the basic mutation.
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?
Two sentences: first states purpose, second lists required scope. Very concise and front-loaded, though scope could be integrated into the first sentence.
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?
With one parameter and no output schema, description covers purpose and scope. But it omits prerequisites, return values, and any state dependencies, leaving gaps for a mutation tool.
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 coverage is 100% with one parameter 'body', but its description 'Generated WithdrawByInventoryItemGroup body' is vague. The tool description adds no extra meaning beyond the schema.
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 clearly states the tool withdraws an offer for an inventory item group (variation listing), using specific verb and resource. It distinguishes from sibling ebay_withdraw_offer which is for single offers.
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 usage for variation listings via 'inventory item group (variation listing)', providing clear context. However, it lacks explicit exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchBRead-only
Fetch a specific eBay inventory item by SKU
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item SKU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the safe read behavior is covered. The description adds no behavioral context beyond that, such as what happens when the SKU is not found, whether the response is a full inventory item, or any rate-limit considerations.
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, tightly written sentence with no filler. It front-loads the action and resource and conveys everything it intends to convey efficiently.
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 minimal one-parameter read operation, the description is mostly sufficient, but the absence of an output schema and lack of sibling differentiation mean it does not fully prepare an agent to know what response to expect or when this accessor is the right one among many.
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 100%, and the single 'id' parameter is already documented as 'Item SKU'. The description repeats this without adding deeper meaning, so it stays at the baseline rather than adding semantic value.
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 clearly states a specific verb ('Fetch'), resource ('eBay inventory item'), and access path ('by SKU'). It is easy to understand, but it does not differentiate itself from the sibling tool 'ebay_get_inventory_item', which appears to serve the same purpose.
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?
There is no guidance about when to use this tool versus alternatives such as 'ebay_get_inventory_items' or 'ebay_get_inventory_item'. With a very large sibling list, an agent would need more explicit routing information to select this tool confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchBRead-only
Search for eBay inventory items
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, which covers the safety profile. The description adds nothing beyond that, such as whether results are paginated, what entity types are included, or any rate-limit considerations. Since the annotation covers the primary risk, a 3 is appropriate, but the description does not enrich behavioral understanding.
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, efficient sentence with no filler. It is appropriately front-loaded with the action and resource, though it could have added a brief clarifying clause to distinguish from siblings without becoming verbose.
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?
Given the tool's generic name and the presence of many specific search tools in the sibling list, this description is too sparse. It does not specify whether it searches only active items, all inventory, or something else, nor does it mention result format or pagination. With no output schema and no usage guidance, an agent may misapply it.
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?
The input schema fully documents both parameters (query and limit) with descriptions, achieving 100% coverage. The description does not add any extra meaning beyond what the schema provides, so the baseline of 3 applies.
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 'Search for eBay inventory items' clearly states the verb (search) and resource (eBay inventory items), making the core purpose unambiguous. However, it does not differentiate from many sibling search tools like ebay_find_active_items or ebay_get_active_listings, so it misses the opportunity to disambiguate.
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?
There is no guidance on when to use this tool versus the many alternatives (e.g., ebay_find_active_items, ebay_find_completed_items, ebay_get_inventory_items). The description gives no context about scope, filters, or which sibling it complements or replaces, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
71 tool updates
v1.18.0- Added
ebay_add_store_category - Added
ebay_cancel_shipment - Added
ebay_create_calculated_shipping_rules - Added
ebay_create_customer_service_metric_task - Added
ebay_create_feed_schedule - Added
ebay_create_feed_task - Added
ebay_create_flat_shipping_rules - Added
ebay_create_inventory_task - Added
ebay_create_order_task - Added
ebay_create_promotional_shipping_rule - Added
ebay_create_shipment_from_shipping_quote - Added
ebay_create_shipping_quote - Added
ebay_delete_feed_schedule - Added
ebay_delete_store_category - Added
ebay_download_shipping_label_file - Added
ebay_fetch_item_aspects - Added
ebay_get_billing_activities - Added
ebay_get_charity_org - Added
ebay_get_charity_orgs - Added
ebay_get_combined_shipping_rules - Added
ebay_get_customer_service_metric_task - Added
ebay_get_customer_service_metric_tasks - Added
ebay_get_exclude_shipping_locations - Added
ebay_get_expired_categories - Added
ebay_get_feed_schedule - Added
ebay_get_feed_schedule_result_file - Added
ebay_get_feed_schedule_template - Added
ebay_get_feed_schedule_templates - Added
ebay_get_feed_schedules - Added
ebay_get_feed_task - Added
ebay_get_feed_task_input_file - Added
ebay_get_feed_task_result_file - Added
ebay_get_feed_tasks - Added
ebay_get_handling_times - Added
ebay_get_inventory_task - Added
ebay_get_inventory_tasks - Added
ebay_get_order_earnings - Added
ebay_get_order_earnings_by_id - Added
ebay_get_order_earnings_summary - Added
ebay_get_order_task - Added
ebay_get_order_tasks - Added
ebay_get_payout - Added
ebay_get_payout_settings - Added
ebay_get_payout_summary - Added
ebay_get_payouts - Added
ebay_get_rate_table - Added
ebay_get_seller_funds_summary - Added
ebay_get_shipment - Added
ebay_get_shipping_carriers - Added
ebay_get_shipping_locations - Added
ebay_get_shipping_quote - Added
ebay_get_shipping_services - Added
ebay_get_store - Added
ebay_get_store_categories - Added
ebay_get_store_task - Added
ebay_get_store_tasks - Added
ebay_get_transaction_summary - Added
ebay_get_transactions - Added
ebay_get_transfer - Added
ebay_get_user_preferences - Added
ebay_move_store_category - Added
ebay_rename_store_category - Added
ebay_set_user_preferences - Added
ebay_update_calculated_shipping_rules - Added
ebay_update_combined_payments - Added
ebay_update_feed_schedule - Added
ebay_update_flat_shipping_rules - Added
ebay_update_payout_percentage - Added
ebay_update_promotional_shipping_rule - Added
ebay_update_rate_table_shipping_cost - Added
ebay_upload_feed_task_file
8 tool updates
v1.17.0- Added
ebay_create_document - Added
ebay_create_document_from_url - Added
ebay_create_image_from_url - Added
ebay_download_post_order_document - Added
ebay_get_document - Added
ebay_remove_post_order_document - Added
ebay_upload_document - Added
ebay_upload_post_order_document
16 tool updates
v1.16.0- Added
ebay_attach_media_to_inventory_item - Changed
ebay_bulk_create_offer5 fields changed- added
Input schema / properties / body / additionalPropertiesAdded value: +false - removed
Input schema / properties / body / descriptionRemoved value: -"Generated BulkEbayOfferDetailsWithKeys request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "requests": { + "items": { + "additionalProperties": true, + "properties": { + "availableQuantity": { + "description": "Purchasable quantity. FIXED_PRICE offers take any quantity; AUCTION offers list a single unit, so omit it or set it to 1", + "type": "number" + }, + "categoryId": { + "type": "string" + }, + "charity": { + "additionalProperties": false, + "properties": { + "charityId": { + "type": "string" + }, + "donationPercentage": { + "type": "string" + } + }, + "type": "object" + }, + "extendedProducerResponsibility": { + "additionalProperties": false, + "properties": { + "producerProductId": { + "type": "string" + }, + "productDocumentationId": { + "type": "string" + }, + "productPackageId": { + "type": "string" + }, + "shipmentPackageId": { + "type": "string" + } + }, + "type": "object" + }, + "format": { + "description": "FIXED_PRICE (price + GTC) or AUCTION (auctionStartPrice + day-count listingDuration; availableQuantity omitted or 1)", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" + }, + "hideBuyerDetails": { + "type": "boolean" + }, + "includeCatalogProductDetails": { + "type": "boolean" + }, + "listingDescription": { + "type": "string" + }, + "listingDuration": { + "description": "FIXED_PRICE offers use GTC. AUCTION offers need a day count (DAYS_1, DAYS_3, DAYS_5, DAYS_7, or DAYS_10 everywhere; DAYS_14, DAYS_21, and DAYS_30 only where ebay_get_listing_type_policies lists them for the category) and never GTC", + "enum": [ + "DAYS_1", + "DAYS_3", + "DAYS_5", + "DAYS_7", + "DAYS_10", + "DAYS_14", + "DAYS_21", + "DAYS_30", + "GTC" + ], + "type": "string" + }, + "listingPolicies": { + "additionalProperties": true, + "properties": { + "bestOfferTerms": { + "additionalProperties": true, + "properties": { + "autoAcceptPrice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "currency", + "value" + ], + "type": "object" + }, + "autoDeclinePrice": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "bestOfferEnabled": { + "description": "Enable Best Offer where the category allows it. On AUCTION offers it cannot be combined with a Buy It Now price (pricingSummary.price)", + "type": "boolean" + } + }, + "type": "object" + }, + "eBayPlusIfEligible": { + "description": "FIXED_PRICE offers only; not applicable to auctions", + "type": "boolean" + }, + "fulfillmentPolicyId": { + "type": "string" + }, + "paymentPolicyId": { + "type": "string" + }, + "productCompliancePolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "returnPolicyId": { + "type": "string" + }, + "takeBackPolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "listingStartDate": { + "description": "Schedules the listing to go live later (ISO 8601 UTC). Only set it when the user explicitly asked for a scheduled start — eBay may charge a scheduling fee; never add it on your own", + "type": "string" + }, + "lotSize": { + "type": "number" + }, + "marketplaceId": { + "enum": [ + "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" + ], + "type": "string" + }, + "merchantLocationKey": { + "type": "string" + }, + "pricingSummary": { + "additionalProperties": true, + "properties": { + "auctionReservePrice": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Optional AUCTION reserve; must be higher than auctionStartPrice and eBay charges a reserve fee whether or not the item sells" + }, + "auctionStartPrice": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Opening bid for AUCTION offers (required before publish); not allowed on FIXED_PRICE offers" + }, + "minimumAdvertisedPrice": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "originalRetailPrice": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "price": { + "$ref": "#/properties/body/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Listing price for FIXED_PRICE offers (required before publish). For AUCTION offers this is the optional Buy It Now price, at least 30% above auctionStartPrice and not combinable with Best Offer" + }, + "pricingVisibility": { + "enum": [ + "NONE", + "PRE_CHECKOUT", + "DURING_CHECKOUT" + ], + "type": "string" + } + }, + "type": "object" + }, + "quantityLimitPerBuyer": { + "description": "Per-buyer purchase cap for FIXED_PRICE offers; not applicable to auctions", + "type": "number" + }, + "secondaryCategoryId": { + "type": "string" + }, + "sku": { + "type": "string" + }, + "storeCategoryNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tax": { + "additionalProperties": true, + "properties": { + "applyTax": { + "type": "boolean" + }, + "thirdPartyTaxCategory": { + "type": "string" + }, + "vatPercentage": { + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "sku", + "marketplaceId", + "format" + ], + "type": "object" + }, + "type": "array" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "requests" +] - added
Input schema / properties / body / typeAdded value: +"object"
- Changed
ebay_create_listing2 fields changed- added
Input schema / properties / formatAdded value: +{ + "description": "Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules.", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" +} - changed
Input schema / properties / item / descriptionPrevious value: -"Trading API Item payload for AddFixedPriceItem"New value: +"Trading API Item payload. FIXED_PRICE: StartPrice is the listing price and ListingDuration is GTC. AUCTION: StartPrice is the opening bid, ListingDuration is a day count (Days_1/3/5/7/10), Quantity is 1, an optional ReservePrice must exceed StartPrice, an optional BuyItNowPrice must be at least 30% above it (and excludes Best Offer); ListingType Chinese is added for you."
- Changed
ebay_create_offer5 fields changed- added
Input schema / properties / body / additionalPropertiesAdded value: +true - removed
Input schema / properties / body / descriptionRemoved value: -"Generated EbayOfferDetailsWithKeys request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "availableQuantity": { + "description": "Purchasable quantity. FIXED_PRICE offers take any quantity; AUCTION offers list a single unit, so omit it or set it to 1", + "type": "number" + }, + "categoryId": { + "type": "string" + }, + "charity": { + "additionalProperties": false, + "properties": { + "charityId": { + "type": "string" + }, + "donationPercentage": { + "type": "string" + } + }, + "type": "object" + }, + "extendedProducerResponsibility": { + "additionalProperties": false, + "properties": { + "producerProductId": { + "type": "string" + }, + "productDocumentationId": { + "type": "string" + }, + "productPackageId": { + "type": "string" + }, + "shipmentPackageId": { + "type": "string" + } + }, + "type": "object" + }, + "format": { + "description": "FIXED_PRICE (price + GTC) or AUCTION (auctionStartPrice + day-count listingDuration; availableQuantity omitted or 1)", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" + }, + "hideBuyerDetails": { + "type": "boolean" + }, + "includeCatalogProductDetails": { + "type": "boolean" + }, + "listingDescription": { + "type": "string" + }, + "listingDuration": { + "description": "FIXED_PRICE offers use GTC. AUCTION offers need a day count (DAYS_1, DAYS_3, DAYS_5, DAYS_7, or DAYS_10 everywhere; DAYS_14, DAYS_21, and DAYS_30 only where ebay_get_listing_type_policies lists them for the category) and never GTC", + "enum": [ + "DAYS_1", + "DAYS_3", + "DAYS_5", + "DAYS_7", + "DAYS_10", + "DAYS_14", + "DAYS_21", + "DAYS_30", + "GTC" + ], + "type": "string" + }, + "listingPolicies": { + "additionalProperties": true, + "properties": { + "bestOfferTerms": { + "additionalProperties": true, + "properties": { + "autoAcceptPrice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "currency", + "value" + ], + "type": "object" + }, + "autoDeclinePrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "bestOfferEnabled": { + "description": "Enable Best Offer where the category allows it. On AUCTION offers it cannot be combined with a Buy It Now price (pricingSummary.price)", + "type": "boolean" + } + }, + "type": "object" + }, + "eBayPlusIfEligible": { + "description": "FIXED_PRICE offers only; not applicable to auctions", + "type": "boolean" + }, + "fulfillmentPolicyId": { + "type": "string" + }, + "paymentPolicyId": { + "type": "string" + }, + "productCompliancePolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "returnPolicyId": { + "type": "string" + }, + "takeBackPolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "listingStartDate": { + "description": "Schedules the listing to go live later (ISO 8601 UTC). Only set it when the user explicitly asked for a scheduled start — eBay may charge a scheduling fee; never add it on your own", + "type": "string" + }, + "lotSize": { + "type": "number" + }, + "marketplaceId": { + "enum": [ + "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" + ], + "type": "string" + }, + "merchantLocationKey": { + "type": "string" + }, + "pricingSummary": { + "additionalProperties": true, + "properties": { + "auctionReservePrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Optional AUCTION reserve; must be higher than auctionStartPrice and eBay charges a reserve fee whether or not the item sells" + }, + "auctionStartPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Opening bid for AUCTION offers (required before publish); not allowed on FIXED_PRICE offers" + }, + "minimumAdvertisedPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "originalRetailPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "price": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Listing price for FIXED_PRICE offers (required before publish). For AUCTION offers this is the optional Buy It Now price, at least 30% above auctionStartPrice and not combinable with Best Offer" + }, + "pricingVisibility": { + "enum": [ + "NONE", + "PRE_CHECKOUT", + "DURING_CHECKOUT" + ], + "type": "string" + } + }, + "type": "object" + }, + "quantityLimitPerBuyer": { + "description": "Per-buyer purchase cap for FIXED_PRICE offers; not applicable to auctions", + "type": "number" + }, + "secondaryCategoryId": { + "type": "string" + }, + "sku": { + "type": "string" + }, + "storeCategoryNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tax": { + "additionalProperties": true, + "properties": { + "applyTax": { + "type": "boolean" + }, + "thirdPartyTaxCategory": { + "type": "string" + }, + "vatPercentage": { + "type": "number" + } + }, + "type": "object" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "sku", + "marketplaceId", + "format" +] - added
Input schema / properties / body / typeAdded value: +"object"
- Changed
ebay_create_or_replace_inventory_item4 fields changed- added
Input schema / properties / body / additionalPropertiesAdded value: +false - removed
Input schema / properties / body / descriptionRemoved value: -"Generated InventoryItem request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "availability": { + "additionalProperties": false, + "properties": { + "shipToLocationAvailability": { + "additionalProperties": false, + "properties": { + "availabilityDistributions": { + "items": { + "additionalProperties": false, + "properties": { + "fulfillmentTime": { + "additionalProperties": false, + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "number" + } + }, + "type": "object" + }, + "merchantLocationKey": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "quantity": { + "type": "number" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "condition": { + "enum": [ + "NEW", + "LIKE_NEW", + "NEW_OTHER", + "NEW_WITH_DEFECTS", + "MANUFACTURER_REFURBISHED", + "CERTIFIED_REFURBISHED", + "EXCELLENT_REFURBISHED", + "VERY_GOOD_REFURBISHED", + "GOOD_REFURBISHED", + "SELLER_REFURBISHED", + "USED_EXCELLENT", + "USED_VERY_GOOD", + "USED_GOOD", + "USED_ACCEPTABLE", + "FOR_PARTS_OR_NOT_WORKING", + "PRE_OWNED_EXCELLENT", + "PRE_OWNED_FAIR" + ], + "type": "string" + }, + "conditionDescription": { + "type": "string" + }, + "conditionDescriptors": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "locale": { + "type": "string" + }, + "packageWeightAndSize": { + "additionalProperties": false, + "properties": { + "dimensions": { + "additionalProperties": false, + "properties": { + "height": { + "type": "number" + }, + "length": { + "type": "number" + }, + "unit": { + "enum": [ + "INCH", + "FEET", + "CENTIMETER", + "METER" + ], + "type": "string" + }, + "width": { + "type": "number" + } + }, + "type": "object" + }, + "packageType": { + "type": "string" + }, + "weight": { + "additionalProperties": false, + "properties": { + "unit": { + "enum": [ + "POUND", + "KILOGRAM", + "OUNCE", + "GRAM" + ], + "type": "string" + }, + "value": { + "type": "number" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "product": { + "additionalProperties": false, + "properties": { + "aspects": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object" + }, + "brand": { + "type": "string" + }, + "description": { + "type": "string" + }, + "ean": { + "items": { + "type": "string" + }, + "type": "array" + }, + "epid": { + "type": "string" + }, + "imageUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "isbn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "mpn": { + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "title": { + "maxLength": 80, + "type": "string" + }, + "upc": { + "items": { + "type": "string" + }, + "type": "array" + }, + "videoIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +} - added
Input schema / properties / body / typeAdded value: +"object"
- Changed
ebay_end_listing2 fields changed- added
Input schema / properties / formatAdded value: +{ + "description": "Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules.", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" +} - changed
Input schema / properties / reason / descriptionPrevious value: -"Trading API ending reason, defaulting to NotAvailable"New value: +"Trading API ending reason, defaulting to NotAvailable. SellToHighBidder only applies to AUCTION listings with bids."
- Added
ebay_find_active_items - Added
ebay_get_item_details - Changed
ebay_get_offers5 fields changed- changed
Input schema / properties / format / descriptionPrevious value: -"Filter by listing format"New value: +"Filter offers by listing format" - changed
Input schema / properties / marketplaceId / descriptionPrevious value: -"Filter by marketplace ID"New value: +"Filter offers by marketplace" - changed
Input schema / properties / sku / descriptionPrevious value: -"Filter by SKU"New value: +"Seller-defined SKU whose offers to return" - added
Input schema / properties / sku / minLengthAdded value: +1 - added
Input schema / requiredAdded value: +[ + "sku" +]
- Added
ebay_get_offers_by_skus - Added
ebay_get_video - Changed
ebay_relist_item1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules.", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" +}
- Changed
ebay_revise_listing1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Listing format, defaulting to FIXED_PRICE. AUCTION switches to the auction-capable Trading calls (AddItem, ReviseItem, EndItem, RelistItem) and enforces the auction Item rules.", + "enum": [ + "AUCTION", + "FIXED_PRICE" + ], + "type": "string" +}
- Changed
ebay_update_offer4 fields changed- added
Input schema / properties / body / additionalPropertiesAdded value: +true - removed
Input schema / properties / body / descriptionRemoved value: -"Generated EbayOfferDetailsWithId request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "availableQuantity": { + "description": "Purchasable quantity. FIXED_PRICE offers take any quantity; AUCTION offers list a single unit, so omit it or set it to 1", + "type": "number" + }, + "categoryId": { + "type": "string" + }, + "charity": { + "additionalProperties": false, + "properties": { + "charityId": { + "type": "string" + }, + "donationPercentage": { + "type": "string" + } + }, + "type": "object" + }, + "extendedProducerResponsibility": { + "additionalProperties": false, + "properties": { + "producerProductId": { + "type": "string" + }, + "productDocumentationId": { + "type": "string" + }, + "productPackageId": { + "type": "string" + }, + "shipmentPackageId": { + "type": "string" + } + }, + "type": "object" + }, + "hideBuyerDetails": { + "type": "boolean" + }, + "includeCatalogProductDetails": { + "type": "boolean" + }, + "listingDescription": { + "type": "string" + }, + "listingDuration": { + "description": "FIXED_PRICE offers use GTC. AUCTION offers need a day count (DAYS_1, DAYS_3, DAYS_5, DAYS_7, or DAYS_10 everywhere; DAYS_14, DAYS_21, and DAYS_30 only where ebay_get_listing_type_policies lists them for the category) and never GTC", + "enum": [ + "DAYS_1", + "DAYS_3", + "DAYS_5", + "DAYS_7", + "DAYS_10", + "DAYS_14", + "DAYS_21", + "DAYS_30", + "GTC" + ], + "type": "string" + }, + "listingPolicies": { + "additionalProperties": true, + "properties": { + "bestOfferTerms": { + "additionalProperties": true, + "properties": { + "autoAcceptPrice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "currency", + "value" + ], + "type": "object" + }, + "autoDeclinePrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "bestOfferEnabled": { + "description": "Enable Best Offer where the category allows it. On AUCTION offers it cannot be combined with a Buy It Now price (pricingSummary.price)", + "type": "boolean" + } + }, + "type": "object" + }, + "eBayPlusIfEligible": { + "description": "FIXED_PRICE offers only; not applicable to auctions", + "type": "boolean" + }, + "fulfillmentPolicyId": { + "type": "string" + }, + "paymentPolicyId": { + "type": "string" + }, + "productCompliancePolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "returnPolicyId": { + "type": "string" + }, + "takeBackPolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "listingStartDate": { + "description": "Schedules the listing to go live later (ISO 8601 UTC). Only set it when the user explicitly asked for a scheduled start — eBay may charge a scheduling fee; never add it on your own", + "type": "string" + }, + "lotSize": { + "type": "number" + }, + "merchantLocationKey": { + "type": "string" + }, + "pricingSummary": { + "additionalProperties": true, + "properties": { + "auctionReservePrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Optional AUCTION reserve; must be higher than auctionStartPrice and eBay charges a reserve fee whether or not the item sells" + }, + "auctionStartPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Opening bid for AUCTION offers (required before publish); not allowed on FIXED_PRICE offers" + }, + "minimumAdvertisedPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "originalRetailPrice": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" + }, + "price": { + "$ref": "#/properties/body/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice", + "description": "Listing price for FIXED_PRICE offers (required before publish). For AUCTION offers this is the optional Buy It Now price, at least 30% above auctionStartPrice and not combinable with Best Offer" + }, + "pricingVisibility": { + "enum": [ + "NONE", + "PRE_CHECKOUT", + "DURING_CHECKOUT" + ], + "type": "string" + } + }, + "type": "object" + }, + "quantityLimitPerBuyer": { + "description": "Per-buyer purchase cap for FIXED_PRICE offers; not applicable to auctions", + "type": "number" + }, + "secondaryCategoryId": { + "type": "string" + }, + "storeCategoryNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tax": { + "additionalProperties": true, + "properties": { + "applyTax": { + "type": "boolean" + }, + "thirdPartyTaxCategory": { + "type": "string" + }, + "vatPercentage": { + "type": "number" + } + }, + "type": "object" + } +} - added
Input schema / properties / body / typeAdded value: +"object"
- Added
ebay_upload_images - Added
ebay_upload_video
7 tool updates
v1.14.2- Added
ebay_clear_tokens - Added
ebay_convert_date_to_timestamp - Added
ebay_display_credentials - Added
ebay_get_oauth_url - Added
ebay_get_token_status - Added
ebay_refresh_access_token - Added
fetch
29 tool updates
v1.14.1- Added
ebay_bulk_get_inventory_item - Added
ebay_bulk_update_price_quantity - Removed
ebay_convert_date_to_timestamp - Added
ebay_create_custom_policy - Added
ebay_create_return_policy - Added
ebay_delete_inventory_location - Added
ebay_delete_product_compatibility - Added
ebay_delete_sales_tax - Removed
ebay_display_credentials - Added
ebay_enable_inventory_location - Added
ebay_get_custom_policies - Added
ebay_get_fulfillment_policies - Added
ebay_get_fulfillment_policy - Added
ebay_get_fulfillment_policy_by_name - Added
ebay_get_inventory_item - Added
ebay_get_inventory_location - Added
ebay_get_kyc - Added
ebay_get_opted_in_programs - Added
ebay_get_payment_policies - Added
ebay_get_payment_policy_by_name - Added
ebay_get_privileges - Added
ebay_get_rate_tables - Added
ebay_get_sales_taxes - Removed
ebay_refresh_access_token - Added
ebay_set_user_tokens - Added
ebay_update_custom_policy - Added
ebay_update_fulfillment_policy - Added
ebay_update_offer - Added
ebay_update_return_policy
296 tool updates
v1.14.1- Changed
ebay_accept_payment_dispute4 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "description": "Generated acceptPaymentDispute request body", + "properties": { + "returnAddress": { + "additionalProperties": false, + "description": "Return address for the buyer", + "properties": { + "addressLine1": { + "description": "Street address line 1", + "type": "string" + }, + "addressLine2": { + "description": "Street address line 2", + "type": "string" + }, + "city": { + "description": "City name", + "type": "string" + }, + "country": { + "description": "Two-letter ISO 3166-1 country code", + "type": "string" + }, + "county": { + "description": "County name", + "type": "string" + }, + "fullName": { + "description": "Full name of the return address owner", + "type": "string" + }, + "postalCode": { + "description": "Postal or ZIP code", + "type": "string" + }, + "primaryPhone": { + "additionalProperties": false, + "description": "Primary phone number for the return address", + "properties": { + "countryCode": { + "description": "Two-letter ISO 3166-1 country code", + "type": "string" + }, + "number": { + "description": "Primary phone number", + "type": "string" + } + }, + "type": "object" + }, + "stateOrProvince": { + "description": "State or province", + "type": "string" + } + }, + "type": "object" + }, + "revision": { + "description": "Payment dispute revision number", + "type": "number" + } + }, + "type": "object" +} - changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID to accept"New value: +"The unique payment dispute ID" - removed
Input schema / properties / returnAddressRemoved value: -{ - "additionalProperties": false, - "description": "Return address for buyer to send item back (required for ITEM_NOT_RECEIVED disputes)", - "properties": { - "addressLine1": { - "description": "Street address line 1", - "type": "string" - }, - "addressLine2": { - "description": "Street address line 2", - "type": "string" - }, - "city": { - "description": "City name", - "type": "string" - }, - "countryCode": { - "description": "Two-letter ISO 3166-1 country code (e.g., \"US\")", - "type": "string" - }, - "postalCode": { - "description": "Postal/ZIP code", - "type": "string" - }, - "stateOrProvince": { - "description": "State or province", - "type": "string" - } - }, - "required": [ - "countryCode" - ], - "type": "object" -} - removed
Input schema / properties / revisionNumberRemoved value: -{ - "description": "Dispute revision number for optimistic locking", - "type": "number" -}
- Changed
ebay_add_payment_dispute_evidence7 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "description": "Generated addEvidence request body", + "properties": { + "evidenceType": { + "description": "Evidence type, e.g. PROOF_OF_DELIVERY", + "type": "string" + }, + "files": { + "description": "Evidence files to attach", + "items": { + "additionalProperties": false, + "properties": { + "fileId": { + "description": "File ID from uploadEvidenceFile", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "lineItems": { + "description": "Line items this evidence covers", + "items": { + "additionalProperties": false, + "properties": { + "itemId": { + "description": "eBay item ID", + "type": "string" + }, + "lineItemId": { + "description": "Order line item ID", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - removed
Input schema / properties / evidenceIdRemoved value: -{ - "description": "Optional evidence ID to update existing evidence", - "type": "string" -} - removed
Input schema / properties / evidenceTypeRemoved value: -{ - "description": "Type of evidence (e.g., PROOF_OF_DELIVERY, PROOF_OF_AUTHENTICITY)", - "type": "string" -} - removed
Input schema / properties / filesRemoved value: -{ - "description": "Array of file IDs to attach as evidence", - "items": { - "additionalProperties": false, - "properties": { - "fileId": { - "description": "File ID from uploadEvidenceFile", - "type": "string" - } - }, - "required": [ - "fileId" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / properties / lineItemsRemoved value: -{ - "description": "Line items this evidence applies to", - "items": { - "additionalProperties": false, - "properties": { - "itemId": { - "description": "eBay item ID", - "type": "string" - }, - "lineItemId": { - "description": "Order line item ID", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" -} - changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID"New value: +"The unique payment dispute ID" - changed
Input schema / requiredPrevious value: -[ - "paymentDisputeId" -]New value: +[ + "paymentDisputeId", + "body" +]
- Changed
ebay_bulk_cancel_packages3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / bulkCancelRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Bulk cancel request data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "bulkCancelRequest" -]New value: +[ + "body" +]
- Changed
ebay_bulk_confirm_packages3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / bulkConfirmRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Bulk confirm request data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "bulkConfirmRequest" -]New value: +[ + "body" +]
- Changed
ebay_bulk_create_ads_by_inventory_reference4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk ad creation request", - "properties": { - "bidPercentage": { - "description": "Bid percentage for all ads (e.g., \"10.5\")", - "type": "string" - }, - "inventoryReferences": { - "description": "Array of inventory references", - "items": { - "additionalProperties": false, - "properties": { - "inventoryReferenceId": { - "description": "SKU or inventory item group key", - "type": "string" - }, - "inventoryReferenceType": { - "description": "Reference type", - "enum": [ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" - ], - "type": "string" - } - }, - "required": [ - "inventoryReferenceId", - "inventoryReferenceType" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "inventoryReferences" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk create ads by inventory reference request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "bidPercentage": { + "type": "string" + }, + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_bulk_create_ads_by_listing_id4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk ad creation request", - "properties": { - "requests": { - "description": "Array of ad requests (max 500)", - "items": { - "additionalProperties": false, - "properties": { - "bidPercentage": { - "description": "Bid percentage (e.g., \"10.5\")", - "type": "string" - }, - "listingId": { - "description": "eBay listing ID", - "type": "string" - } - }, - "required": [ - "listingId" - ], - "type": "object" - }, - "maxItems": 500, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk create ads by listing id request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "adGroupId": { + "type": "string" + }, + "bidPercentage": { + "type": "string" + }, + "listingId": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Removed
ebay_bulk_create_campaign_keyword - Added
ebay_bulk_create_keyword - Removed
ebay_bulk_create_keywords - Added
ebay_bulk_create_negative_keyword - Removed
ebay_bulk_create_negative_keywords - Changed
ebay_bulk_create_offer3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated BulkEbayOfferDetailsWithKeys request body" +} - removed
Input schema / properties / requestsRemoved value: -{ - "additionalProperties": true, - "description": "Bulk offer creation requests", - "properties": { - "requests": { - "items": { - "additionalProperties": true, - "properties": { - "availableQuantity": { - "type": "number" - }, - "categoryId": { - "type": "string" - }, - "format": { - "enum": [ - "AUCTION", - "FIXED_PRICE" - ], - "type": "string" - }, - "listingDescription": { - "type": "string" - }, - "listingPolicies": { - "additionalProperties": true, - "properties": { - "bestOfferTerms": { - "additionalProperties": true, - "properties": { - "autoAcceptPrice": { - "additionalProperties": true, - "properties": { - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" - }, - "autoDeclinePrice": { - "$ref": "#/properties/requests/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "bestOfferEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "eBayPlusIfEligible": { - "type": "boolean" - }, - "fulfillmentPolicyId": { - "type": "string" - }, - "paymentPolicyId": { - "type": "string" - }, - "returnPolicyId": { - "type": "string" - } - }, - "type": "object" - }, - "marketplaceId": { - "type": "string" - }, - "merchantLocationKey": { - "type": "string" - }, - "pricingSummary": { - "additionalProperties": true, - "properties": { - "minimumAdvertisedPrice": { - "$ref": "#/properties/requests/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "originalRetailPrice": { - "$ref": "#/properties/requests/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "price": { - "$ref": "#/properties/requests/properties/requests/items/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "pricingVisibility": { - "enum": [ - "NONE", - "PRE_CHECKOUT", - "DURING_CHECKOUT" - ], - "type": "string" - } - }, - "required": [ - "price" - ], - "type": "object" - }, - "quantityLimitPerBuyer": { - "type": "number" - }, - "sku": { - "type": "string" - }, - "tax": { - "additionalProperties": true, - "properties": { - "applyTax": { - "type": "boolean" - }, - "thirdPartyTaxCategory": { - "type": "string" - }, - "vatPercentage": { - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "sku", - "marketplaceId", - "format" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "requests" -]New value: +[ + "body" +]
- Changed
ebay_bulk_create_or_replace_inventory_item3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated BulkInventoryItem request body" +} - removed
Input schema / properties / requestsRemoved value: -{ - "additionalProperties": true, - "description": "Bulk inventory item requests", - "properties": { - "requests": { - "items": { - "additionalProperties": true, - "properties": { - "availability": { - "additionalProperties": true, - "properties": { - "shipToLocationAvailability": { - "additionalProperties": true, - "properties": { - "quantity": { - "type": "number" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "condition": { - "type": "string" - }, - "conditionDescription": { - "type": "string" - }, - "product": { - "additionalProperties": true, - "properties": { - "aspects": { - "additionalProperties": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": "object" - }, - "brand": { - "type": "string" - }, - "description": { - "type": "string" - }, - "ean": { - "items": { - "type": "string" - }, - "type": "array" - }, - "epid": { - "type": "string" - }, - "imageUrls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "isbn": { - "items": { - "type": "string" - }, - "type": "array" - }, - "mpn": { - "type": "string" - }, - "title": { - "type": "string" - }, - "upc": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "sku": { - "type": "string" - } - }, - "required": [ - "sku" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "requests" -]New value: +[ + "body" +]
- Changed
ebay_bulk_create_or_replace_sales_tax2 fields changed- changed
Input schema / properties / requests / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / requests / items / properties / salesTaxBase / additionalPropertiesPrevious value: -trueNew value: +false
- Changed
ebay_bulk_delete_ads_by_inventory_reference4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk ad deletion request", - "properties": { - "inventoryReferences": { - "description": "Array of inventory references to delete", - "items": { - "additionalProperties": false, - "properties": { - "inventoryReferenceId": { - "description": "SKU or inventory item group key", - "type": "string" - }, - "inventoryReferenceType": { - "description": "Reference type", - "enum": [ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" - ], - "type": "string" - } - }, - "required": [ - "inventoryReferenceId", - "inventoryReferenceType" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "inventoryReferences" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk delete ads by inventory reference request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_bulk_delete_ads_by_listing_id4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk ad deletion request", - "properties": { - "listingIds": { - "description": "Array of listing IDs to delete", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "listingIds" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk delete ads by listing id request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "adId": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Removed
ebay_bulk_delete_keywords - Changed
ebay_bulk_delete_packages3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / bulkDeleteRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Bulk delete request data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "bulkDeleteRequest" -]New value: +[ + "body" +]
- Removed
ebay_bulk_get_inventory_item - Changed
ebay_bulk_migrate_listing3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated BulkMigrateListing request body" +} - removed
Input schema / properties / requestsRemoved value: -{ - "additionalProperties": true, - "description": "Bulk listing migration requests", - "properties": { - "requests": { - "items": { - "additionalProperties": true, - "properties": { - "listingId": { - "type": "string" - } - }, - "required": [ - "listingId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "requests" -]New value: +[ + "body" +]
- Changed
ebay_bulk_publish_offer3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated BulkOffer request body" +} - removed
Input schema / properties / requestsRemoved value: -{ - "additionalProperties": true, - "description": "Bulk offer publish requests", - "properties": { - "requests": { - "items": { - "additionalProperties": true, - "properties": { - "offerId": { - "type": "string" - } - }, - "required": [ - "offerId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "requests" -]New value: +[ + "body" +]
- Changed
ebay_bulk_update_ads_bid_by_inventory_reference4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk bid update request", - "properties": { - "requests": { - "description": "Array of bid update requests", - "items": { - "additionalProperties": false, - "properties": { - "bidPercentage": { - "description": "New bid percentage (e.g., \"10.5\")", - "type": "string" - }, - "inventoryReferenceId": { - "description": "SKU or inventory item group key", - "type": "string" - }, - "inventoryReferenceType": { - "description": "Reference type", - "enum": [ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" - ], - "type": "string" - } - }, - "required": [ - "inventoryReferenceId", - "inventoryReferenceType", - "bidPercentage" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk update ads bid by inventory reference request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "bidPercentage": { + "type": "string" + }, + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_bulk_update_ads_bid_by_listing_id4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk bid update request", - "properties": { - "requests": { - "description": "Array of bid update requests", - "items": { - "additionalProperties": false, - "properties": { - "bidPercentage": { - "description": "New bid percentage (e.g., \"10.5\")", - "type": "string" - }, - "listingId": { - "description": "eBay listing ID", - "type": "string" - } - }, - "required": [ - "listingId", - "bidPercentage" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk update ads bid by listing id request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "adGroupId": { + "type": "string" + }, + "bidPercentage": { + "type": "string" + }, + "listingId": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_bulk_update_ads_status4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk status update request", - "properties": { - "requests": { - "description": "Array of status update requests", - "items": { - "additionalProperties": false, - "properties": { - "adId": { - "description": "Ad ID", - "type": "string" - }, - "adStatus": { - "description": "New ad status", - "enum": [ - "ACTIVE", - "PAUSED", - "ARCHIVED" - ], - "type": "string" - } - }, - "required": [ - "adId", - "adStatus" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk update ads status request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "adStatus": { + "type": "string" + } + }, + "required": [ + "adStatus" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_bulk_update_ads_status_by_listing_id4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Bulk status update request", - "properties": { - "requests": { - "description": "Array of status update requests", - "items": { - "additionalProperties": false, - "properties": { - "adStatus": { - "description": "New ad status", - "enum": [ - "ACTIVE", - "PAUSED", - "ARCHIVED" - ], - "type": "string" - }, - "listingId": { - "description": "eBay listing ID", - "type": "string" - } - }, - "required": [ - "listingId", - "adStatus" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "requests" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Bulk update ads status by listing id request body", + "properties": { + "requests": { + "items": { + "additionalProperties": false, + "properties": { + "adStatus": { + "type": "string" + }, + "listingId": { + "type": "string" + } + }, + "required": [ + "adStatus", + "listingId" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Removed
ebay_bulk_update_campaign_keyword - Changed
ebay_bulk_update_conversation6 fields changed- added
Input schema / properties / conversations / items / properties / conversationIdAdded value: +{ + "description": "The unique identifier of the conversation", + "type": "string" +} - added
Input schema / properties / conversations / items / properties / conversationStatusAdded value: +{ + "description": "The updated status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", + "type": "string" +} - added
Input schema / properties / conversations / items / properties / conversationTypeAdded value: +{ + "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", + "type": "string" +} - removed
Input schema / properties / conversations / items / properties / conversation_idRemoved value: -{ - "description": "The unique identifier of the conversation", - "type": "string" -} - removed
Input schema / properties / conversations / items / properties / conversation_statusRemoved value: -{ - "description": "The updated status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", - "type": "string" -} - removed
Input schema / properties / conversations / items / properties / conversation_typeRemoved value: -{ - "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", - "type": "string" -}
- Added
ebay_bulk_update_keyword - Removed
ebay_bulk_update_keyword_bids - Added
ebay_bulk_update_negative_keyword - Removed
ebay_bulk_update_negative_keywords - Removed
ebay_bulk_update_price_quantity - Changed
ebay_cancel_bundle1 field changed- removed
Input schema / properties / bundleId / descriptionRemoved value: -"The bundle ID to cancel"
- Changed
ebay_cancel_package1 field changed- removed
Input schema / properties / packageId / descriptionRemoved value: -"The package ID to cancel"
- Removed
ebay_clear_tokens - Removed
ebay_clone_ad - Removed
ebay_clone_ad_group - Changed
ebay_clone_campaign4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - removed
Input schema / properties / cloneDataRemoved value: -{ - "additionalProperties": false, - "description": "New campaign settings", - "properties": { - "campaignName": { - "description": "Name for the cloned campaign", - "type": "string" - }, - "endDate": { - "description": "End date (ISO 8601 format)", - "type": "string" - }, - "fundingStrategy": { - "additionalProperties": false, - "properties": { - "bidPercentage": { - "description": "Bid percentage (e.g., \"10.5\")", - "type": "string" - }, - "fundingModel": { - "enum": [ - "COST_PER_SALE", - "COST_PER_CLICK" - ], - "type": "string" - } - }, - "type": "object" - }, - "startDate": { - "description": "Start date (ISO 8601 format)", - "type": "string" - } - }, - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Clone campaign request body", + "properties": { + "campaignName": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "fundingStrategy": { + "additionalProperties": false, + "properties": { + "bidPercentage": { + "type": "string" + }, + "fundingModel": { + "type": "string" + } + }, + "type": "object" + }, + "startDate": { + "type": "string" + } + }, + "required": [ + "campaignName" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "cloneData" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_clone_package1 field changed- removed
Input schema / properties / packageId / descriptionRemoved value: -"The package ID to clone"
- Changed
ebay_confirm_package1 field changed- removed
Input schema / properties / packageId / descriptionRemoved value: -"The package ID to confirm"
- Changed
ebay_contest_payment_dispute4 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "description": "Generated contestPaymentDispute request body", + "properties": { + "note": { + "description": "Seller note for contesting the dispute", + "maxLength": 1000, + "type": "string" + }, + "returnAddress": { + "additionalProperties": false, + "description": "Return address for the buyer", + "properties": { + "addressLine1": { + "description": "Street address line 1", + "type": "string" + }, + "addressLine2": { + "description": "Street address line 2", + "type": "string" + }, + "city": { + "description": "City name", + "type": "string" + }, + "country": { + "description": "Two-letter ISO 3166-1 country code", + "type": "string" + }, + "county": { + "description": "County name", + "type": "string" + }, + "fullName": { + "description": "Full name of the return address owner", + "type": "string" + }, + "postalCode": { + "description": "Postal or ZIP code", + "type": "string" + }, + "primaryPhone": { + "additionalProperties": false, + "description": "Primary phone number for the return address", + "properties": { + "countryCode": { + "description": "Two-letter ISO 3166-1 country code", + "type": "string" + }, + "number": { + "description": "Primary phone number", + "type": "string" + } + }, + "type": "object" + }, + "stateOrProvince": { + "description": "State or province", + "type": "string" + } + }, + "type": "object" + }, + "revision": { + "description": "Payment dispute revision number", + "type": "number" + } + }, + "type": "object" +} - changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID to contest"New value: +"The unique payment dispute ID" - removed
Input schema / properties / returnAddressRemoved value: -{ - "additionalProperties": false, - "description": "Return address for item returns (if applicable)", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "city": { - "type": "string" - }, - "countryCode": { - "description": "Two-letter ISO 3166-1 country code", - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "stateOrProvince": { - "type": "string" - } - }, - "required": [ - "countryCode" - ], - "type": "object" -} - removed
Input schema / properties / revisionNumberRemoved value: -{ - "description": "Dispute revision number", - "type": "number" -}
- Changed
ebay_convert_date_to_timestamp1 field changed- changed
Input schema / properties / dateInput / descriptionPrevious value: -"Date to convert. Supports ISO 8601 strings (e.g., \"2025-01-15T10:30:00Z\"), Unix timestamps (seconds or milliseconds), or relative time (e.g., \"in 2 hours\")"New value: +"Date to convert as an ISO date string, Unix timestamp, or relative time"
- Removed
ebay_create_ad - Added
ebay_create_ad_by_listing_id - Changed
ebay_create_ad_group4 fields changed- removed
Input schema / properties / adGroupRemoved value: -{ - "additionalProperties": false, - "description": "Ad group configuration", - "properties": { - "defaultBid": { - "additionalProperties": false, - "description": "Default bid for keywords in this ad group", - "properties": { - "amount": { - "description": "Default bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code (e.g., USD)", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - }, - "name": { - "description": "Ad group name", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create ad group request body", + "properties": { + "defaultBid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroup" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_create_address_preference3 fields changed- removed
Input schema / properties / addressPreferenceRemoved value: -{ - "additionalProperties": {}, - "description": "Address preference data", - "type": "object" -} - added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "addressPreference" -]New value: +[ + "body" +]
- Changed
ebay_create_ads_by_inventory_reference4 fields changed- removed
Input schema / properties / adsRemoved value: -{ - "additionalProperties": false, - "description": "Ad creation request", - "properties": { - "bidPercentage": { - "description": "Bid percentage for all ads", - "type": "string" - }, - "inventoryReferences": { - "description": "Array of inventory references", - "items": { - "additionalProperties": false, - "properties": { - "inventoryReferenceId": { - "description": "SKU or inventory item group key", - "type": "string" - }, - "inventoryReferenceType": { - "description": "Reference type", - "enum": [ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" - ], - "type": "string" - } - }, - "required": [ - "inventoryReferenceId", - "inventoryReferenceType" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "inventoryReferences" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create ads by inventory reference request body", + "properties": { + "bidPercentage": { + "type": "string" + }, + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "ads" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_create_bundle3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / bundleRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Bundle creation data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "bundleRequest" -]New value: +[ + "body" +]
- Changed
ebay_create_campaign3 fields changed- removed
Input schema / properties / campaignRemoved value: -{ - "additionalProperties": false, - "description": "Campaign configuration", - "properties": { - "campaignName": { - "description": "Campaign name", - "type": "string" - }, - "endDate": { - "description": "Campaign end date (ISO 8601 format)", - "type": "string" - }, - "fundingStrategy": { - "additionalProperties": false, - "description": "Funding strategy configuration", - "properties": { - "bidPercentage": { - "description": "Bid percentage for CPS campaigns (e.g., \"10.5\")", - "type": "string" - }, - "fundingModel": { - "description": "Funding model: CPS or CPC", - "enum": [ - "COST_PER_SALE", - "COST_PER_CLICK" - ], - "type": "string" - } - }, - "required": [ - "fundingModel" - ], - "type": "object" - }, - "marketplaceId": { - "description": "Marketplace ID", - "enum": [ - "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" - ], - "type": "string" - }, - "startDate": { - "description": "Campaign start date (ISO 8601 format)", - "type": "string" - } - }, - "required": [ - "campaignName", - "marketplaceId", - "fundingStrategy" - ], - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create campaign request body", + "properties": { + "budget": { + "additionalProperties": false, + "properties": { + "daily": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "campaignCriterion": { + "additionalProperties": false, + "properties": { + "autoSelectFutureInventory": { + "type": "boolean" + }, + "criterionType": { + "type": "string" + }, + "selectionRules": { + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryScope": { + "type": "string" + }, + "listingConditionIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxPrice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "minPrice": { + "$ref": "#/properties/request/properties/campaignCriterion/properties/selectionRules/items/properties/maxPrice" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "campaignName": { + "type": "string" + }, + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "endDate": { + "type": "string" + }, + "fundingStrategy": { + "additionalProperties": false, + "properties": { + "bidPercentage": { + "type": "string" + }, + "fundingModel": { + "type": "string" + } + }, + "type": "object" + }, + "marketplaceId": { + "type": "string" + }, + "startDate": { + "type": "string" + } + }, + "required": [ + "campaignName", + "marketplaceId", + "startDate" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaign" -]New value: +[ + "request" +]
- Changed
ebay_create_complaint3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / complaintRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Complaint request data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "complaintRequest" -]New value: +[ + "body" +]
- Changed
ebay_create_consign_preference3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / consignPreferenceRemoved value: -{ - "additionalProperties": {}, - "description": "Consign preference data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "consignPreference" -]New value: +[ + "body" +]
- Removed
ebay_create_custom_policy - Changed
ebay_create_email_campaign4 fields changed- removed
Input schema / properties / emailCampaignRemoved value: -{ - "additionalProperties": false, - "description": "Email campaign configuration", - "properties": { - "campaignName": { - "description": "Email campaign name", - "type": "string" - }, - "marketplaceId": { - "description": "Marketplace ID", - "enum": [ - "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" - ], - "type": "string" - }, - "subject": { - "description": "Email subject line", - "type": "string" - } - }, - "required": [ - "campaignName", - "marketplaceId" - ], - "type": "object" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID", + "type": "string" +} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create email campaign request body", + "properties": { + "audiences": { + "items": { + "additionalProperties": false, + "properties": { + "audienceType": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "emailCampaignType": { + "type": "string" + }, + "itemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "marketplaceId": { + "type": "string" + }, + "scheduleDate": { + "type": "string" + }, + "scheduleDateType": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "emailCampaignType", + "marketplaceId" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "emailCampaign" -]New value: +[ + "marketplaceId", + "request" +]
- Changed
ebay_create_fulfillment_policy24 fields changed- changed
Input schema / properties / policy / additionalPropertiesPrevious value: -trueNew value: +false - removed
Input schema / properties / policy / descriptionRemoved value: -"Fulfillment policy details" - changed
Input schema / properties / policy / properties / categoryTypes / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / handlingTime / additionalPropertiesPrevious value: -trueNew value: +false - removed
Input schema / properties / policy / properties / handlingTime / requiredRemoved value: -[ - "unit", - "value" -] - added
Input schema / properties / policy / properties / marketplaceId / enumAdded 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" +] - changed
Input schema / properties / policy / properties / shippingOptions / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / policy / properties / shippingOptions / items / properties / insuranceFeeAdded value: +{ + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" +} - added
Input schema / properties / policy / properties / shippingOptions / items / properties / insuranceOfferedAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / $refAdded value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee" - removed
Input schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / additionalPropertiesRemoved value: -true - removed
Input schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / propertiesRemoved value: -{ - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } -} - removed
Input schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / requiredRemoved value: -[ - "currency", - "value" -] - removed
Input schema / properties / policy / properties / shippingOptions / items / properties / packageHandlingCost / typeRemoved value: -"object" - added
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingDiscountProfileIdAdded value: +{ + "type": "string" +} - added
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingPromotionOfferedAdded value: +{ + "type": "boolean" +} - changed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / additionalShippingCost / $refPrevious value: -"#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost"New value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee" - removed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / cashOnDeliveryFeeRemoved value: -{ - "$ref": "#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost" -} - changed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shipToLocations / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shipToLocations / properties / regionIncluded / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / shippingCost / $refPrevious value: -"#/properties/policy/properties/shippingOptions/items/properties/packageHandlingCost"New value: +"#/properties/policy/properties/shippingOptions/items/properties/insuranceFee" - added
Input schema / properties / policy / properties / shippingOptions / items / properties / shippingServices / items / properties / surchargeAdded value: +{ + "$ref": "#/properties/policy/properties/shippingOptions/items/properties/insuranceFee" +} - removed
Input schema / properties / policy / properties / shippingOptions / items / requiredRemoved value: -[ - "costType", - "optionType" -]
- Removed
ebay_create_inventory_item - Added
ebay_create_inventory_location - Changed
ebay_create_item_price_markdown_promotion3 fields changed- removed
Input schema / properties / promotionRemoved value: -{ - "additionalProperties": false, - "description": "Markdown promotion configuration", - "properties": { - "discountPercentage": { - "description": "Discount percentage (e.g., \"20\")", - "type": "string" - }, - "endDate": { - "description": "End date (ISO 8601 format)", - "type": "string" - }, - "marketplaceId": { - "description": "Marketplace ID", - "enum": [ - "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" - ], - "type": "string" - }, - "name": { - "description": "Promotion name", - "type": "string" - }, - "startDate": { - "description": "Start date (ISO 8601 format)", - "type": "string" - } - }, - "required": [ - "name", - "marketplaceId", - "startDate", - "endDate" - ], - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create item price markdown promotion request body", + "properties": { + "applyFreeShipping": { + "type": "boolean" + }, + "autoSelectFutureInventory": { + "type": "boolean" + }, + "blockPriceIncreaseInItemRevision": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "marketplaceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "promotionImageUrl": { + "type": "string" + }, + "promotionStatus": { + "type": "string" + }, + "selectedInventoryDiscounts": { + "items": { + "additionalProperties": false, + "properties": { + "discountBenefit": { + "additionalProperties": false, + "properties": { + "amountOffItem": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "amountOffOrder": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + }, + "percentageOffItem": { + "type": "string" + }, + "percentageOffOrder": { + "type": "string" + } + }, + "type": "object" + }, + "discountId": { + "type": "string" + }, + "inventoryCriterion": { + "additionalProperties": false, + "properties": { + "inventoryCriterionType": { + "type": "string" + }, + "inventoryItems": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ruleCriteria": { + "additionalProperties": false, + "properties": { + "excludeInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "excludeListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "markupInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "markupListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "selectionRules": { + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryScope": { + "type": "string" + }, + "listingConditionIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxPrice": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + }, + "minPrice": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "ruleOrder": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "startDate": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "promotion" -]New value: +[ + "request" +]
- Changed
ebay_create_item_promotion3 fields changed- removed
Input schema / properties / promotionRemoved value: -{ - "additionalProperties": {}, - "description": "Promotion configuration with discountRules, inventoryCriterion, etc.", - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create item promotion request body", + "properties": { + "applyDiscountToSingleItemOnly": { + "type": "boolean" + }, + "budget": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "couponConfiguration": { + "additionalProperties": false, + "properties": { + "couponCode": { + "type": "string" + }, + "couponType": { + "type": "string" + }, + "maxCouponRedemptionPerUser": { + "type": "number" + } + }, + "type": "object" + }, + "description": { + "type": "string" + }, + "discountRules": { + "items": { + "additionalProperties": false, + "properties": { + "discountBenefit": { + "additionalProperties": false, + "properties": { + "amountOffItem": { + "$ref": "#/properties/request/properties/budget" + }, + "amountOffOrder": { + "$ref": "#/properties/request/properties/budget" + }, + "percentageOffItem": { + "type": "string" + }, + "percentageOffOrder": { + "type": "string" + } + }, + "type": "object" + }, + "discountSpecification": { + "additionalProperties": false, + "properties": { + "forEachAmount": { + "$ref": "#/properties/request/properties/budget" + }, + "forEachQuantity": { + "type": "number" + }, + "minAmount": { + "$ref": "#/properties/request/properties/budget" + }, + "minQuantity": { + "type": "number" + }, + "numberOfDiscountedItems": { + "type": "number" + } + }, + "type": "object" + }, + "ruleOrder": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "endDate": { + "type": "string" + }, + "inventoryCriterion": { + "additionalProperties": false, + "properties": { + "inventoryCriterionType": { + "type": "string" + }, + "inventoryItems": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ruleCriteria": { + "additionalProperties": false, + "properties": { + "excludeInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "excludeListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "markupInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "markupListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "selectionRules": { + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryScope": { + "type": "string" + }, + "listingConditionIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxPrice": { + "$ref": "#/properties/request/properties/budget" + }, + "minPrice": { + "$ref": "#/properties/request/properties/budget" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "marketplaceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "promotionImageUrl": { + "type": "string" + }, + "promotionStatus": { + "type": "string" + }, + "promotionType": { + "type": "string" + }, + "startDate": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "promotion" -]New value: +[ + "request" +]
- Changed
ebay_create_keyword5 fields changed- removed
Input schema / properties / adGroupIdRemoved value: -{ - "description": "Ad Group ID", - "type": "string" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - removed
Input schema / properties / keywordRemoved value: -{ - "additionalProperties": false, - "description": "Keyword configuration", - "properties": { - "bid": { - "additionalProperties": false, - "description": "Keyword-specific bid (overrides ad group default)", - "properties": { - "amount": { - "description": "Bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - }, - "keywordText": { - "description": "Keyword text", - "type": "string" - }, - "matchType": { - "description": "Keyword match type", - "enum": [ - "BROAD", - "PHRASE", - "EXACT" - ], - "type": "string" - } - }, - "required": [ - "keywordText", - "matchType" - ], - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create keyword request body", + "properties": { + "adGroupId": { + "type": "string" + }, + "bid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "keywordText": { + "type": "string" + }, + "matchType": { + "type": "string" + } + }, + "required": [ + "adGroupId", + "keywordText", + "matchType" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId", - "keyword" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_create_listing1 field changed- changed
Input schema / properties / item / descriptionPrevious value: -"Item details object. Required fields: Title, PrimaryCategory.CategoryID, StartPrice, ConditionID, Country, Currency, DispatchTimeMax, ListingDuration, ListingType (\"FixedPriceItem\"), Quantity, SKU."New value: +"Trading API Item payload for AddFixedPriceItem"
- Changed
ebay_create_negative_keyword6 fields changed- removed
Input schema / properties / adGroupIdRemoved value: -{ - "description": "Ad Group ID", - "type": "string" -} - removed
Input schema / properties / campaignIdRemoved value: -{ - "description": "Campaign ID", - "type": "string" -} - removed
Input schema / properties / negativeKeywordMatchTypeRemoved value: -{ - "description": "Match type (broad matching is not supported for negative keywords).", - "enum": [ - "EXACT", - "PHRASE" - ], - "type": "string" -} - removed
Input schema / properties / negativeKeywordTextRemoved value: -{ - "description": "The negative keyword text.", - "type": "string" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create negative keyword request body", + "properties": { + "adGroupId": { + "type": "string" + }, + "campaignId": { + "type": "string" + }, + "negativeKeywordMatchType": { + "type": "string" + }, + "negativeKeywordText": { + "type": "string" + } + }, + "required": [ + "negativeKeywordMatchType", + "negativeKeywordText" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "negativeKeywordText", - "negativeKeywordMatchType" -]New value: +[ + "request" +]
- Changed
ebay_create_notification_destination2 fields changed- added
Input schema / properties / deliveryConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "endpoint": { + "description": "HTTPS endpoint URL", + "format": "uri", + "type": "string" + }, + "verificationToken": { + "description": "Verification token (32-80 alphanumeric, underscore, hyphen characters)", + "maxLength": 80, + "minLength": 32, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / delivery_configRemoved value: -{ - "additionalProperties": false, - "description": "Delivery configuration with endpoint and verification token", - "properties": { - "endpoint": { - "description": "HTTPS endpoint URL (no internal IPs or localhost)", - "format": "uri", - "type": "string" - }, - "verification_token": { - "description": "Verification token (32-80 alphanumeric, underscore, hyphen characters)", - "maxLength": 80, - "minLength": 32, - "pattern": "^[a-zA-Z0-9_-]+$", - "type": "string" - } - }, - "type": "object" -}
- Changed
ebay_create_notification_subscription10 fields changed- added
Input schema / properties / destinationIdAdded value: +{ + "description": "The unique identifier of the destination endpoint", + "type": "string" +} - removed
Input schema / properties / destination_idRemoved value: -{ - "description": "The destination endpoint ID", - "type": "string" -} - removed
Input schema / properties / payload / descriptionRemoved value: -"Payload configuration" - added
Input schema / properties / payload / properties / deliveryProtocolAdded value: +{ + "description": "Delivery protocol", + "type": "string" +} - removed
Input schema / properties / payload / properties / delivery_protocolRemoved value: -{ - "description": "Delivery protocol (HTTPS)", - "type": "string" -} - changed
Input schema / properties / payload / properties / format / descriptionPrevious value: -"Payload format (JSON)"New value: +"Payload format" - added
Input schema / properties / payload / properties / schemaVersionAdded value: +{ + "description": "Schema version for the notification topic", + "type": "string" +} - removed
Input schema / properties / payload / properties / schema_versionRemoved value: -{ - "description": "Schema version", - "type": "string" -} - added
Input schema / properties / topicIdAdded value: +{ + "description": "The unique identifier of the notification topic", + "type": "string" +} - removed
Input schema / properties / topic_idRemoved value: -{ - "description": "The notification topic ID", - "type": "string" -}
- Changed
ebay_create_notification_subscription_filter5 fields changed- added
Input schema / properties / filterSchemaAdded value: +{ + "additionalProperties": {}, + "description": "Valid JSON Schema Core document (version 2020-12 or later) to filter notifications", + "type": "object" +} - removed
Input schema / properties / filter_schemaRemoved value: -{ - "additionalProperties": {}, - "description": "JSON Schema document to filter notifications", - "type": "object" -} - added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Changed
ebay_create_offer3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated EbayOfferDetailsWithKeys request body" +} - removed
Input schema / properties / offerRemoved value: -{ - "additionalProperties": true, - "description": "Offer details including SKU, marketplace, pricing, and policies", - "properties": { - "availableQuantity": { - "type": "number" - }, - "categoryId": { - "type": "string" - }, - "format": { - "enum": [ - "AUCTION", - "FIXED_PRICE" - ], - "type": "string" - }, - "listingDescription": { - "type": "string" - }, - "listingPolicies": { - "additionalProperties": true, - "properties": { - "bestOfferTerms": { - "additionalProperties": true, - "properties": { - "autoAcceptPrice": { - "additionalProperties": true, - "properties": { - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" - }, - "autoDeclinePrice": { - "$ref": "#/properties/offer/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "bestOfferEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "eBayPlusIfEligible": { - "type": "boolean" - }, - "fulfillmentPolicyId": { - "type": "string" - }, - "paymentPolicyId": { - "type": "string" - }, - "returnPolicyId": { - "type": "string" - } - }, - "type": "object" - }, - "marketplaceId": { - "type": "string" - }, - "merchantLocationKey": { - "type": "string" - }, - "pricingSummary": { - "additionalProperties": true, - "properties": { - "minimumAdvertisedPrice": { - "$ref": "#/properties/offer/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "originalRetailPrice": { - "$ref": "#/properties/offer/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "price": { - "$ref": "#/properties/offer/properties/listingPolicies/properties/bestOfferTerms/properties/autoAcceptPrice" - }, - "pricingVisibility": { - "enum": [ - "NONE", - "PRE_CHECKOUT", - "DURING_CHECKOUT" - ], - "type": "string" - } - }, - "required": [ - "price" - ], - "type": "object" - }, - "quantityLimitPerBuyer": { - "type": "number" - }, - "sku": { - "type": "string" - }, - "tax": { - "additionalProperties": true, - "properties": { - "applyTax": { - "type": "boolean" - }, - "thirdPartyTaxCategory": { - "type": "string" - }, - "vatPercentage": { - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "sku", - "marketplaceId", - "format" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "offer" -]New value: +[ + "body" +]
- Added
ebay_create_or_replace_inventory_item - Changed
ebay_create_or_replace_inventory_item_group3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated InventoryItemGroup request body" +} - removed
Input schema / properties / inventoryItemGroupRemoved value: -{ - "additionalProperties": true, - "description": "Inventory item group details", - "properties": { - "aspects": { - "additionalProperties": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": "object" - }, - "description": { - "type": "string" - }, - "imageUrls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "inventoryItemGroupKey": { - "type": "string" - }, - "subtitle": { - "type": "string" - }, - "title": { - "type": "string" - }, - "variantSKUs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "variesBy": { - "additionalProperties": true, - "properties": { - "specifications": { - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name", - "values" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "required": [ - "aspects", - "inventoryItemGroupKey", - "title" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "inventoryItemGroupKey", - "inventoryItemGroup" -]New value: +[ + "inventoryItemGroupKey", + "body" +]
- Removed
ebay_create_or_replace_inventory_location - Changed
ebay_create_or_replace_product_compatibility3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated Compatibility request body" +} - removed
Input schema / properties / compatibilityRemoved value: -{ - "additionalProperties": true, - "description": "Product compatibility details", - "properties": { - "compatibleProducts": { - "items": { - "additionalProperties": true, - "properties": { - "notes": { - "type": "string" - }, - "productFamilyProperties": { - "additionalProperties": true, - "properties": { - "engine": { - "type": "string" - }, - "make": { - "type": "string" - }, - "model": { - "type": "string" - }, - "trim": { - "type": "string" - }, - "year": { - "type": "string" - } - }, - "type": "object" - }, - "productIdentifier": { - "additionalProperties": true, - "properties": { - "epid": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "sku", - "compatibility" -]New value: +[ + "sku", + "body" +]
- Changed
ebay_create_or_replace_sales_tax1 field changed- changed
Input schema / properties / salesTaxBase / additionalPropertiesPrevious value: -trueNew value: +false
- Changed
ebay_create_or_replace_sku_location_mapping3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated LocationMapping request body" +} - removed
Input schema / properties / locationMappingRemoved value: -{ - "additionalProperties": true, - "description": "Location mapping configuration", - "properties": { - "locationDetails": { - "description": "Array of location details with quantities", - "items": { - "additionalProperties": false, - "properties": { - "merchantLocationKey": { - "description": "The fulfillment center location key", - "type": "string" - }, - "quantity": { - "description": "Available quantity at this location", - "type": "number" - } - }, - "required": [ - "merchantLocationKey" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "locationDetails" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "listingId", - "sku", - "locationMapping" -]New value: +[ + "listingId", + "sku", + "body" +]
- Changed
ebay_create_package3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / packageRequestRemoved value: -{ - "additionalProperties": {}, - "description": "Package creation data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "packageRequest" -]New value: +[ + "body" +]
- Changed
ebay_create_payment_policy16 fields changed- changed
Input schema / properties / policy / additionalPropertiesPrevious value: -trueNew value: +false - removed
Input schema / properties / policy / descriptionRemoved value: -"Payment policy details" - changed
Input schema / properties / policy / properties / categoryTypes / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / deposit / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / policy / properties / deposit / properties / amountAdded value: +{ + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / policy / properties / deposit / properties / depositAmountRemoved value: -{ - "additionalProperties": true, - "properties": { - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" -} - removed
Input schema / properties / policy / properties / deposit / properties / depositTypeRemoved value: -{ - "enum": [ - "PERCENTAGE", - "FIXED_AMOUNT" - ], - "type": "string" -} - changed
Input schema / properties / policy / properties / deposit / properties / dueIn / additionalPropertiesPrevious value: -trueNew value: +false - removed
Input schema / properties / policy / properties / deposit / properties / dueIn / requiredRemoved value: -[ - "unit", - "value" -] - added
Input schema / properties / policy / properties / deposit / properties / paymentMethodsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "paymentMethodType": { + "type": "string" + }, + "recipientAccountReference": { + "additionalProperties": false, + "properties": { + "referenceId": { + "type": "string" + }, + "referenceType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / policy / properties / marketplaceId / enumAdded 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" +] - added
Input schema / properties / policy / properties / paymentMethods / items / $refAdded value: +"#/properties/policy/properties/deposit/properties/paymentMethods/items" - removed
Input schema / properties / policy / properties / paymentMethods / items / additionalPropertiesRemoved value: -true - removed
Input schema / properties / policy / properties / paymentMethods / items / propertiesRemoved value: -{ - "brands": { - "items": { - "type": "string" - }, - "type": "array" - }, - "paymentMethodType": { - "type": "string" - }, - "recipientAccountReference": { - "additionalProperties": true, - "properties": { - "referenceId": { - "type": "string" - }, - "referenceType": { - "type": "string" - } - }, - "type": "object" - } -} - removed
Input schema / properties / policy / properties / paymentMethods / items / requiredRemoved value: -[ - "paymentMethodType" -] - removed
Input schema / properties / policy / properties / paymentMethods / items / typeRemoved value: -"object"
- Changed
ebay_create_report_task3 fields changed- removed
Input schema / properties / reportTaskRemoved value: -{ - "additionalProperties": false, - "description": "Report task configuration", - "properties": { - "campaignIds": { - "description": "Campaign IDs to include in report", - "items": { - "type": "string" - }, - "type": "array" - }, - "dateFrom": { - "description": "Start date for report data (ISO 8601 format)", - "type": "string" - }, - "dateTo": { - "description": "End date for report data (ISO 8601 format)", - "type": "string" - }, - "dimensions": { - "description": "Report dimensions", - "items": { - "type": "string" - }, - "type": "array" - }, - "marketplaceId": { - "description": "Marketplace ID", - "enum": [ - "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" - ], - "type": "string" - }, - "metrics": { - "description": "Report metrics", - "items": { - "type": "string" - }, - "type": "array" - }, - "reportType": { - "description": "Type of report to generate", - "enum": [ - "CAMPAIGN_PERFORMANCE_REPORT", - "LISTING_PERFORMANCE_REPORT", - "KEYWORD_PERFORMANCE_REPORT", - "ACCOUNT_PERFORMANCE_REPORT" - ], - "type": "string" - } - }, - "required": [ - "reportType", - "dateFrom", - "dateTo" - ], - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Create report task request body", + "properties": { + "campaignIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "dateFrom": { + "type": "string" + }, + "dateTo": { + "type": "string" + }, + "dimensions": { + "items": { + "additionalProperties": false, + "properties": { + "dimensionKey": { + "type": "string" + }, + "dimensionValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "fundingModels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "inventoryReferences": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "marketplaceId": { + "type": "string" + }, + "metricKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "reportFormat": { + "type": "string" + }, + "reportType": { + "type": "string" + } + }, + "required": [ + "dateFrom", + "dateTo", + "marketplaceId", + "reportType" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "reportTask" -]New value: +[ + "request" +]
- Removed
ebay_create_return_policy - Changed
ebay_create_shipping_fulfillment4 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "properties": { + "lineItems": { + "description": "Line items to fulfill", + "items": { + "additionalProperties": false, + "properties": { + "lineItemId": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "lineItemId" + ], + "type": "object" + }, + "type": "array" + }, + "shippedDate": { + "description": "Date the items were shipped (ISO 8601 format)", + "type": "string" + }, + "shippingCarrierCode": { + "description": "Shipping carrier code", + "type": "string" + }, + "trackingNumber": { + "description": "Tracking number for the shipment", + "type": "string" + } + }, + "required": [ + "lineItems" + ], + "type": "object" +} - removed
Input schema / properties / fulfillmentRemoved value: -{ - "additionalProperties": true, - "description": "Shipping fulfillment details including tracking number", - "properties": { - "lineItems": { - "items": { - "additionalProperties": true, - "properties": { - "lineItemId": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "lineItemId" - ], - "type": "object" - }, - "type": "array" - }, - "shippedDate": { - "type": "string" - }, - "shippingCarrierCode": { - "type": "string" - }, - "trackingNumber": { - "type": "string" - } - }, - "required": [ - "lineItems" - ], - "type": "object" -} - changed
Input schema / properties / orderId / descriptionPrevious value: -"The order ID"New value: +"The unique identifier of the order" - changed
Input schema / requiredPrevious value: -[ - "orderId", - "fulfillment" -]New value: +[ + "orderId", + "body" +]
- Removed
ebay_create_shipping_quote - Changed
ebay_create_signing_key2 fields changed- added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Optional signing-key request body", + "properties": { + "signingKeyCipher": { + "description": "Cipher for the generated keypair, e.g. ED25519 or RSA", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / signingKeyCipherRemoved value: -{ - "description": "Cipher to use for keypair: ED25519 (recommended, shorter keys) or RSA (legacy support)", - "enum": [ - "ED25519", - "RSA" - ], - "type": "string" -}
- Removed
ebay_create_targeting - Changed
ebay_create_vero_report7 fields changed- changed
Input schema / properties / reportData / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / reportData / descriptionPrevious value: -"VERO report data containing item details and intellectual property violation information"New value: +"Generated VeroReportItemsRequest body" - removed
Input schema / properties / reportData / properties / itemsRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "itemId": { - "type": "string" - }, - "reportingReason": { - "type": "string" - } - }, - "required": [ - "itemId", - "reportingReason" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / properties / reportData / properties / messageRemoved value: -{ - "type": "string" -} - added
Input schema / properties / reportData / properties / reportItemsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "brand": { + "type": "string" + }, + "copyEmailToRightsOwner": { + "type": "boolean" + }, + "countries": { + "items": { + "type": "string" + }, + "type": "array" + }, + "detailedMessage": { + "type": "string" + }, + "itemId": { + "type": "string" + }, + "messageToSeller": { + "type": "string" + }, + "patent": { + "type": "string" + }, + "regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "veroReasonCodeId": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / reportData / properties / rightsOwnerEmailRemoved value: -{ - "format": "email", - "type": "string" -} - removed
Input schema / properties / reportData / requiredRemoved value: -[ - "items" -]
- Changed
ebay_delete_ad3 fields changed- changed
Input schema / properties / adId / descriptionPrevious value: -"Ad ID"New value: +"adId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adId" -]New value: +[ + "adId", + "campaignId" +]
- Changed
ebay_delete_ads_by_inventory_reference5 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - removed
Input schema / properties / inventoryReferenceIdRemoved value: -{ - "description": "SKU or inventory item group key", - "type": "string" -} - removed
Input schema / properties / inventoryReferenceTypeRemoved value: -{ - "description": "Reference type", - "enum": [ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" - ], - "type": "string" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Delete ads by inventory reference request body", + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "inventoryReferenceId", - "inventoryReferenceType" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_delete_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Removed
ebay_delete_custom_policy - Changed
ebay_delete_email_campaign1 field changed- changed
Input schema / properties / emailCampaignId / descriptionPrevious value: -"Email campaign ID"New value: +"emailCampaignId required endpoint parameter"
- Changed
ebay_delete_inventory_item1 field changed- changed
Input schema / properties / sku / descriptionPrevious value: -"The seller-defined SKU to delete"New value: +"The seller-defined SKU"
- Removed
ebay_delete_inventory_location - Changed
ebay_delete_item_price_markdown_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Changed
ebay_delete_item_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Removed
ebay_delete_keyword - Changed
ebay_delete_notification_destination3 fields changed- added
Input schema / properties / destinationIdAdded value: +{ + "description": "The unique identifier for the destination", + "type": "string" +} - removed
Input schema / properties / destination_idRemoved value: -{ - "description": "The unique identifier for the destination", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "destination_id" -]New value: +[ + "destinationId" +]
- Changed
ebay_delete_notification_subscription3 fields changed- added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Changed
ebay_delete_notification_subscription_filter5 fields changed- added
Input schema / properties / filterIdAdded value: +{ + "description": "The unique identifier for the filter", + "type": "string" +} - removed
Input schema / properties / filter_idRemoved value: -{ - "description": "The unique identifier for the filter", - "type": "string" -} - added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id", - "filter_id" -]New value: +[ + "subscriptionId", + "filterId" +]
- Changed
ebay_delete_offer1 field changed- changed
Input schema / properties / offerId / descriptionPrevious value: -"The offer ID to delete"New value: +"The offer ID"
- Changed
ebay_delete_package1 field changed- removed
Input schema / properties / packageId / descriptionRemoved value: -"The package ID to delete"
- Removed
ebay_delete_product_compatibility - Changed
ebay_delete_report_task1 field changed- changed
Input schema / properties / reportTaskId / descriptionPrevious value: -"Report Task ID"New value: +"reportTaskId required endpoint parameter"
- Removed
ebay_delete_sales_tax - Changed
ebay_disable_notification_subscription3 fields changed- added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Removed
ebay_enable_inventory_location - Changed
ebay_enable_notification_subscription3 fields changed- added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Changed
ebay_end_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Changed
ebay_end_listing1 field changed- changed
Input schema / properties / reason / descriptionPrevious value: -"Reason for ending (default: NotAvailable)"New value: +"Trading API ending reason, defaulting to NotAvailable"
- Changed
ebay_exchange_authorization_code1 field changed- changed
Input schema / properties / code / descriptionPrevious value: -"The authorization code received from eBay after user authorization. This is the \"code\" parameter in the redirect URL."New value: +"The authorization code received from eBay after user authorization"
- Changed
ebay_fetch_payment_dispute_evidence_content1 field changed- changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID"New value: +"The unique payment dispute ID"
- Changed
ebay_find_campaign_by_ad_reference4 fields changed- changed
Input schema / properties / inventoryReferenceId / descriptionPrevious value: -"SKU or inventory item group key"New value: +"inventoryReferenceId optional endpoint parameter" - changed
Input schema / properties / inventoryReferenceType / descriptionPrevious value: -"Reference type"New value: +"inventoryReferenceType optional endpoint parameter" - removed
Input schema / properties / inventoryReferenceType / enumRemoved value: -[ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" -] - changed
Input schema / properties / listingId / descriptionPrevious value: -"eBay listing ID"New value: +"listingId optional endpoint parameter"
- Added
ebay_find_completed_items - Added
ebay_find_eligible_items - Changed
ebay_find_listing_recommendations7 fields changed- changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria"New value: +"Recommendation filter expression" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"Maximum recommendations to return" - removed
Input schema / properties / listingIdsRemoved value: -{ - "description": "Array of listing IDs to get recommendations for", - "items": { - "type": "string" - }, - "type": "array" -} - changed
Input schema / properties / marketplaceId / descriptionPrevious value: -"Marketplace ID"New value: +"Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"Recommendations to skip before returning results" - added
Input schema / properties / requestBodyAdded value: +{ + "additionalProperties": false, + "properties": { + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +} - added
Input schema / requiredAdded value: +[ + "marketplaceId" +]
- Changed
ebay_get_active_listings2 fields changed- changed
Input schema / properties / entriesPerPage / descriptionPrevious value: -"Items per page, max 200 (default 50)"New value: +"Items per page, defaulting to 50" - changed
Input schema / properties / page / descriptionPrevious value: -"Page number (default 1)"New value: +"Page number, defaulting to 1"
- Changed
ebay_get_actual_costs4 fields changed- removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (e.g., package_id)", - "type": "object" -} - added
Input schema / properties / trackingNumbersAdded value: +{ + "type": "string" +} - added
Input schema / properties / transactionBeginTimeAdded value: +{ + "type": "string" +} - added
Input schema / properties / transactionEndTimeAdded value: +{ + "type": "string" +}
- Changed
ebay_get_ad3 fields changed- changed
Input schema / properties / adId / descriptionPrevious value: -"Ad ID"New value: +"adId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adId" -]New value: +[ + "adId", + "campaignId" +]
- Changed
ebay_get_ad_group3 fields changed- changed
Input schema / properties / adGroupId / descriptionPrevious value: -"Ad Group ID"New value: +"adGroupId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId" -]New value: +[ + "adGroupId", + "campaignId" +]
- Changed
ebay_get_ad_groups4 fields changed- added
Input schema / properties / adGroupStatusAdded value: +{ + "description": "adGroupStatus optional endpoint parameter", + "type": "string" +} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter"
- Removed
ebay_get_ad_report - Removed
ebay_get_ad_report_metadata - Removed
ebay_get_ad_report_metadata_for_type - Changed
ebay_get_ads6 fields changed- changed
Input schema / properties / adGroupIds / descriptionPrevious value: -"Comma-separated ad group IDs to filter by"New value: +"adGroupIds optional endpoint parameter" - changed
Input schema / properties / adStatus / descriptionPrevious value: -"Filter by ad status: ACTIVE, PAUSED, or ARCHIVED"New value: +"adStatus optional endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / listingIds / descriptionPrevious value: -"Comma-separated listing IDs to filter by"New value: +"listingIds optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter"
- Changed
ebay_get_ads_by_inventory_reference4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / inventoryReferenceId / descriptionPrevious value: -"SKU or inventory item group key"New value: +"inventoryReferenceId required endpoint parameter" - changed
Input schema / properties / inventoryReferenceType / descriptionPrevious value: -"Reference type"New value: +"inventoryReferenceType required endpoint parameter" - removed
Input schema / properties / inventoryReferenceType / enumRemoved value: -[ - "INVENTORY_ITEM", - "INVENTORY_ITEM_GROUP" -]
- Removed
ebay_get_ads_by_listing_id - Changed
ebay_get_agents3 fields changed- added
Input schema / properties / limitAdded value: +{ + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "type": "integer" +} - removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (e.g., country)", - "type": "object" -}
- Changed
ebay_get_api_status3 fields changed- changed
Input schema / properties / api / descriptionPrevious value: -"Filter by API name (e.g. \"Trading API\", \"Inventory API\", \"Sandbox\")"New value: +"Optional API-name substring filter" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of items to return (default 20)"New value: +"Maximum number of feed items to return" - changed
Input schema / properties / status / descriptionPrevious value: -"Filter by status: Resolved or Unresolved"New value: +"Optional incident status filter"
- Added
ebay_get_audiences - Changed
ebay_get_awaiting_feedback7 fields changed- changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria"New value: +"Filter criteria for the query" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of items to return (25-200)"New value: +"Maximum number of items to return per page (25-200)" - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / offset / minimumAdded value: +0 - changed
Input schema / properties / offset / typePrevious value: -"string"New value: +"number" - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order"New value: +"Sort order for results"
- Changed
ebay_get_battery_qualifications3 fields changed- added
Input schema / properties / limitAdded value: +{ + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "type": "integer" +} - removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (e.g., battery_type)", - "type": "object" -}
- Changed
ebay_get_bundle1 field changed- removed
Input schema / properties / bundleId / descriptionRemoved value: -"The bundle ID"
- Changed
ebay_get_bundle_label1 field changed- removed
Input schema / properties / bundleId / descriptionRemoved value: -"The bundle ID"
- Changed
ebay_get_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Changed
ebay_get_campaign_by_name1 field changed- changed
Input schema / properties / campaignName / descriptionPrevious value: -"Campaign name to search for"New value: +"campaignName required endpoint parameter"
- Changed
ebay_get_campaigns10 fields changed- added
Input schema / properties / campaignNameAdded value: +{ + "description": "campaignName optional endpoint parameter", + "type": "string" +} - changed
Input schema / properties / campaignStatus / descriptionPrevious value: -"Filter by campaign status: RUNNING, PAUSED, ENDED, or ARCHIVED"New value: +"campaignStatus optional endpoint parameter" - added
Input schema / properties / campaignTargetingTypesAdded value: +{ + "description": "campaignTargetingTypes optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / channelsAdded value: +{ + "description": "channels optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / endDateRangeAdded value: +{ + "description": "endDateRange optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / fundingStrategyAdded value: +{ + "description": "fundingStrategy optional endpoint parameter", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - removed
Input schema / properties / marketplaceIdRemoved value: -{ - "description": "Filter by marketplace ID", - "enum": [ - "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" - ], - "type": "string" -} - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter" - added
Input schema / properties / startDateRangeAdded value: +{ + "description": "startDateRange optional endpoint parameter", + "type": "string" +}
- Added
ebay_get_cancellation_requests - Changed
ebay_get_compatibilities_by_specification12 fields changed- added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - added
Input schema / properties / specification / properties / categoryId / descriptionAdded value: +"eBay leaf category ID" - removed
Input schema / properties / specification / properties / categoryTreeIdRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / specification / properties / compatibilityPropertiesRemoved value: -{ - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array" -} - added
Input schema / properties / specification / properties / compatibilityPropertyFiltersAdded value: +{ + "description": "Compatibility property filters", + "items": { + "additionalProperties": true, + "properties": { + "propertyName": { + "description": "Compatibility property name", + "type": "string" + }, + "propertyValue": { + "description": "Compatibility property value", + "type": "string" + }, + "unitOfMeasurement": { + "description": "Property unit of measurement", + "type": "string" + }, + "url": { + "description": "Property reference URL", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / specification / properties / datasetAdded value: +{ + "description": "Dataset to return", + "type": "string" +} - added
Input schema / properties / specification / properties / datasetPropertyNameAdded value: +{ + "description": "Specific dataset property names", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / specification / properties / exactMatchAdded value: +{ + "description": "Return only exact specification matches", + "type": "boolean" +} - added
Input schema / properties / specification / properties / paginationInputAdded value: +{ + "additionalProperties": true, + "description": "Pagination input", + "properties": { + "limit": { + "description": "Maximum number of results", + "type": "number" + }, + "offset": { + "description": "Number of results to skip", + "type": "number" + } + }, + "type": "object" +} - added
Input schema / properties / specification / properties / sortOrdersAdded value: +{ + "description": "Compatibility property sort order", + "items": { + "additionalProperties": true, + "properties": { + "sortOrder": { + "additionalProperties": true, + "description": "Sort property definition", + "properties": { + "order": { + "description": "Sort order", + "type": "string" + }, + "propertyName": { + "description": "Property name to sort by", + "type": "string" + } + }, + "type": "object" + }, + "sortPriority": { + "description": "Sort priority", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / specification / properties / specificationsAdded value: +{ + "description": "Part specifications", + "items": { + "$ref": "#/properties/specification/properties/compatibilityPropertyFilters/items" + }, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "specification" -]New value: +[ + "marketplaceId", + "specification" +]
- Changed
ebay_get_compatibility_property_names7 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"Request data for getting compatibility property names"New value: +"Compatibility property-name request data" - added
Input schema / properties / data / properties / categoryIdAdded value: +{ + "description": "eBay leaf category ID", + "type": "string" +} - removed
Input schema / properties / data / properties / categoryTreeIdRemoved value: -{ - "type": "string" -} - added
Input schema / properties / data / properties / datasetAdded value: +{ + "description": "Datasets to return", + "items": { + "type": "string" + }, + "type": "array" +} - removed
Input schema / properties / data / properties / specificationRemoved value: -{ - "additionalProperties": true, - "properties": { - "categoryId": { - "type": "string" - }, - "categoryTreeId": { - "type": "string" - }, - "compatibilityProperties": { - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "data" -]New value: +[ + "marketplaceId", + "data" +]
- Changed
ebay_get_compatibility_property_values9 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"Request data for getting compatibility property values"New value: +"Compatibility property-value request data" - added
Input schema / properties / data / properties / categoryIdAdded value: +{ + "description": "eBay leaf category ID", + "type": "string" +} - removed
Input schema / properties / data / properties / categoryTreeIdRemoved value: -{ - "type": "string" -} - added
Input schema / properties / data / properties / propertyFiltersAdded value: +{ + "description": "Property filters", + "items": { + "additionalProperties": true, + "properties": { + "propertyName": { + "description": "Compatibility property name", + "type": "string" + }, + "propertyValue": { + "description": "Compatibility property value", + "type": "string" + }, + "unitOfMeasurement": { + "description": "Property unit of measurement", + "type": "string" + }, + "url": { + "description": "Property reference URL", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / data / properties / propertyNameAdded value: +{ + "description": "Property name whose values should be returned", + "type": "string" +} - added
Input schema / properties / data / properties / sortOrderAdded value: +{ + "description": "Property value sort order", + "type": "string" +} - removed
Input schema / properties / data / properties / specificationRemoved value: -{ - "additionalProperties": true, - "properties": { - "categoryId": { - "type": "string" - }, - "categoryTreeId": { - "type": "string" - }, - "compatibilityProperties": { - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "data" -]New value: +[ + "marketplaceId", + "data" +]
- Changed
ebay_get_conversation9 fields changed- added
Input schema / properties / conversationIdAdded value: +{ + "description": "The unique identifier for the conversation", + "type": "string" +} - added
Input schema / properties / conversationTypeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - removed
Input schema / properties / conversation_idRemoved value: -{ - "description": "The unique identifier for the conversation", - "type": "string" -} - removed
Input schema / properties / conversation_typeRemoved value: -{ - "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", - "type": "string" -} - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / offset / minimumAdded value: +0 - changed
Input schema / properties / offset / typePrevious value: -"string"New value: +"number" - changed
Input schema / requiredPrevious value: -[ - "conversation_id", - "conversation_type" -]New value: +[ + "conversationId", + "conversationType" +]
- Changed
ebay_get_conversations19 fields changed- added
Input schema / properties / conversationStatusAdded value: +{ + "description": "Filter by status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", + "type": "string" +} - added
Input schema / properties / conversationTypeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - removed
Input schema / properties / conversation_statusRemoved value: -{ - "description": "Filter by status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", - "type": "string" -} - removed
Input schema / properties / conversation_typeRemoved value: -{ - "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", - "type": "string" -} - added
Input schema / properties / endTimeAdded value: +{ + "description": "End time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - removed
Input schema / properties / end_timeRemoved value: -{ - "description": "End time for retrieving conversations (ISO 8601 format)", - "type": "string" -} - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / offset / minimumAdded value: +0 - changed
Input schema / properties / offset / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / otherPartyUsernameAdded value: +{ + "description": "Filter by specific eBay user", + "type": "string" +} - removed
Input schema / properties / other_party_usernameRemoved value: -{ - "description": "Filter by specific eBay user", - "type": "string" -} - added
Input schema / properties / referenceIdAdded value: +{ + "description": "Filter by reference ID (e.g., listing ID)", + "type": "string" +} - added
Input schema / properties / referenceTypeAdded value: +{ + "description": "Reference type (currently only LISTING is supported)", + "type": "string" +} - removed
Input schema / properties / reference_idRemoved value: -{ - "description": "Filter by reference ID (e.g., listing ID)", - "type": "string" -} - removed
Input schema / properties / reference_typeRemoved value: -{ - "description": "Reference type (currently only LISTING is supported)", - "type": "string" -} - added
Input schema / properties / startTimeAdded value: +{ + "description": "Start time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - removed
Input schema / properties / start_timeRemoved value: -{ - "description": "Start time for retrieving conversations (ISO 8601 format)", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "conversation_type" -]New value: +[ + "conversationType" +]
- Removed
ebay_get_custom_policies - Changed
ebay_get_customer_service_metric3 fields changed- changed
Input schema / properties / customerServiceMetricType / descriptionPrevious value: -"Type of metric"New value: +"Customer service metric type, e.g., ITEM_NOT_AS_DESCRIBED" - changed
Input schema / properties / evaluationMarketplaceId / descriptionPrevious value: -"Marketplace ID for evaluation"New value: +"Marketplace ID used for the evaluation" - changed
Input schema / properties / evaluationType / descriptionPrevious value: -"Evaluation type"New value: +"Evaluation type, e.g., CURRENT or PROJECTED"
- Changed
ebay_get_dropoff_sites4 fields changed- added
Input schema / properties / limitAdded value: +{ + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "type": "integer" +} - removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (postal_code, country required)", - "type": "object" -} - removed
Input schema / requiredRemoved value: -[ - "params" -]
- Removed
ebay_get_email_audiences - Changed
ebay_get_email_campaign1 field changed- changed
Input schema / properties / emailCampaignId / descriptionPrevious value: -"Email campaign ID"New value: +"emailCampaignId required endpoint parameter"
- Changed
ebay_get_email_campaigns4 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter" - added
Input schema / properties / qAdded value: +{ + "description": "q optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "sort optional endpoint parameter", + "type": "string" +}
- Changed
ebay_get_email_preview1 field changed- changed
Input schema / properties / emailCampaignId / descriptionPrevious value: -"Email campaign ID"New value: +"emailCampaignId required endpoint parameter"
- Changed
ebay_get_email_report5 fields changed- added
Input schema / properties / endDateAdded value: +{ + "description": "endDate required endpoint parameter", + "type": "string" +} - removed
Input schema / properties / limitRemoved value: -{ - "description": "Maximum number of results to return", - "type": "number" -} - removed
Input schema / properties / offsetRemoved value: -{ - "description": "Number of results to skip", - "type": "number" -} - added
Input schema / properties / startDateAdded value: +{ + "description": "startDate required endpoint parameter", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "endDate", + "startDate" +]
- Changed
ebay_get_feedback20 fields changed- added
Input schema / properties / feedbackIdAdded value: +{ + "description": "Filter by specific feedback ID", + "type": "string" +} - added
Input schema / properties / feedbackTypeAdded value: +{ + "description": "Type of feedback (FEEDBACK_RECEIVED or FEEDBACK_SENT)", + "type": "string" +} - removed
Input schema / properties / feedback_idRemoved value: -{ - "description": "Filter by specific feedback ID", - "type": "string" -} - removed
Input schema / properties / feedback_typeRemoved value: -{ - "description": "Type: FEEDBACK_RECEIVED or FEEDBACK_SENT", - "type": "string" -} - changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria"New value: +"Filter criteria for the query" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of feedback items to return"New value: +"Maximum number of items to return per page (25-200)" - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / listingIdAdded value: +{ + "description": "Filter by listing ID", + "type": "string" +} - removed
Input schema / properties / listing_idRemoved value: -{ - "description": "Filter by listing ID", - "type": "string" -} - added
Input schema / properties / offset / minimumAdded value: +0 - changed
Input schema / properties / offset / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / orderLineItemIdAdded value: +{ + "description": "Filter by order line item ID", + "type": "string" +} - removed
Input schema / properties / order_line_item_idRemoved value: -{ - "description": "Filter by order line item ID", - "type": "string" -} - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order"New value: +"Sort order for results" - added
Input schema / properties / transactionIdAdded value: +{ + "description": "The unique identifier of the transaction", + "type": "string" +} - removed
Input schema / properties / transaction_idRemoved value: -{ - "description": "Filter by transaction ID", - "type": "string" -} - added
Input schema / properties / userIdAdded value: +{ + "description": "The unique identifier (eBay username) of the user", + "type": "string" +} - removed
Input schema / properties / user_idRemoved value: -{ - "description": "The eBay username of the user", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "user_id", - "feedback_type" -]New value: +[ + "userId", + "feedbackType" +]
- Changed
ebay_get_feedback_rating_summary3 fields changed- added
Input schema / properties / userIdAdded value: +{ + "description": "The unique identifier of the eBay user", + "type": "string" +} - removed
Input schema / properties / user_idRemoved value: -{ - "description": "The eBay username of the user", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "user_id", - "filter" -]New value: +[ + "userId", + "filter" +]
- Removed
ebay_get_feedback_summary - Removed
ebay_get_fulfillment_policies - Removed
ebay_get_fulfillment_policy - Removed
ebay_get_fulfillment_policy_by_name - Changed
ebay_get_handover_sheet3 fields changed- removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (e.g., bundle_id)", - "type": "object" -} - added
Input schema / properties / trackingNumbersAdded value: +{ + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "trackingNumbers" +]
- Removed
ebay_get_inventory_item - Changed
ebay_get_inventory_items2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of items to return (max 100)"New value: +"Number of records to return" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of items to skip"New value: +"Number of records to skip"
- Removed
ebay_get_inventory_location - Changed
ebay_get_inventory_locations2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of locations to return"New value: +"Number of records to return" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of locations to skip"New value: +"Number of records to skip"
- Changed
ebay_get_item_price_markdown_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Changed
ebay_get_item_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Changed
ebay_get_keyword4 fields changed- removed
Input schema / properties / adGroupIdRemoved value: -{ - "description": "Ad Group ID", - "type": "string" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / keywordId / descriptionPrevious value: -"Keyword ID"New value: +"keywordId required endpoint parameter" - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId", - "keywordId" -]New value: +[ + "campaignId", + "keywordId" +]
- Changed
ebay_get_keywords6 fields changed- removed
Input schema / properties / adGroupIdRemoved value: -{ - "description": "Ad group ID to filter by", - "type": "string" -} - added
Input schema / properties / adGroupIdsAdded value: +{ + "description": "adGroupIds optional endpoint parameter", + "type": "string" +} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / keywordStatus / descriptionPrevious value: -"Filter by keyword status: ACTIVE, PAUSED, or ARCHIVED"New value: +"keywordStatus optional endpoint parameter" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter"
- Removed
ebay_get_kyc - Changed
ebay_get_labels5 fields changed- added
Input schema / properties / pageSizeAdded value: +{ + "type": "string" +} - removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (e.g., package_id)", - "type": "object" -} - added
Input schema / properties / printPreferenceAdded value: +{ + "type": "string" +} - added
Input schema / properties / trackingNumbersAdded value: +{ + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "trackingNumbers" +]
- Changed
ebay_get_listing1 field changed- changed
Input schema / properties / itemId / descriptionPrevious value: -"The eBay item ID (e.g., \"167382780779\")"New value: +"The eBay item ID to retrieve"
- Changed
ebay_get_listing_fees3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated OfferKeysWithId request body" +} - removed
Input schema / properties / offersRemoved value: -{ - "additionalProperties": true, - "description": "Offers to calculate listing fees for", - "properties": { - "offers": { - "items": { - "additionalProperties": true, - "properties": { - "format": { - "enum": [ - "AUCTION", - "FIXED_PRICE" - ], - "type": "string" - }, - "marketplaceId": { - "type": "string" - }, - "offerId": { - "type": "string" - }, - "sku": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "offers" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "offers" -]New value: +[ + "body" +]
- Removed
ebay_get_listing_locations - Changed
ebay_get_listing_set6 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "limit optional endpoint parameter", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "offset optional endpoint parameter", + "type": "number" +} - changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter" - added
Input schema / properties / qAdded value: +{ + "description": "q optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "sort optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / statusAdded value: +{ + "description": "status optional endpoint parameter", + "type": "string" +}
- Changed
ebay_get_listing_violations6 fields changed- removed
Input schema / properties / complianceType / descriptionRemoved value: -"Type of compliance violation" - added
Input schema / properties / filterAdded value: +{ + "type": "string" +} - removed
Input schema / properties / limit / descriptionRemoved value: -"Number of violations to return" - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - removed
Input schema / properties / offset / descriptionRemoved value: -"Number of violations to skip" - changed
Input schema / properties / offset / typePrevious value: -"number"New value: +"integer"
- Changed
ebay_get_listing_violations_summary1 field changed- removed
Input schema / properties / complianceType / descriptionRemoved value: -"Type of compliance violation"
- Removed
ebay_get_message - Changed
ebay_get_multi_compatibility_property_values8 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"Request data for getting multi compatibility property values"New value: +"Multi-property values request data" - added
Input schema / properties / data / properties / categoryIdAdded value: +{ + "description": "eBay leaf category ID", + "type": "string" +} - removed
Input schema / properties / data / properties / categoryTreeIdRemoved value: -{ - "type": "string" -} - added
Input schema / properties / data / properties / propertyFiltersAdded value: +{ + "description": "Property filters", + "items": { + "additionalProperties": true, + "properties": { + "propertyName": { + "description": "Compatibility property name", + "type": "string" + }, + "propertyValue": { + "description": "Compatibility property value", + "type": "string" + }, + "unitOfMeasurement": { + "description": "Property unit of measurement", + "type": "string" + }, + "url": { + "description": "Property reference URL", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / data / properties / propertyNamesAdded value: +{ + "description": "Property names", + "items": { + "type": "string" + }, + "type": "array" +} - removed
Input schema / properties / data / properties / specificationRemoved value: -{ - "additionalProperties": true, - "properties": { - "categoryId": { - "type": "string" - }, - "categoryTreeId": { - "type": "string" - }, - "compatibilityProperties": { - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "data" -]New value: +[ + "marketplaceId", + "data" +]
- Changed
ebay_get_negative_keyword1 field changed- changed
Input schema / properties / negativeKeywordId / descriptionPrevious value: -"Negative Keyword ID"New value: +"negativeKeywordId required endpoint parameter"
- Changed
ebay_get_negative_keywords5 fields changed- changed
Input schema / properties / adGroupIds / descriptionPrevious value: -"Comma-separated list of ad group IDs to filter by."New value: +"adGroupIds optional endpoint parameter" - changed
Input schema / properties / campaignIds / descriptionPrevious value: -"Filter by campaign ID (only one campaign ID is supported per request)."New value: +"campaignIds optional endpoint parameter" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / negativeKeywordStatus / descriptionPrevious value: -"Comma-separated list of negative keyword statuses to filter by."New value: +"negativeKeywordStatus optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter"
- Changed
ebay_get_notification_destination3 fields changed- added
Input schema / properties / destinationIdAdded value: +{ + "description": "The unique identifier for the destination", + "type": "string" +} - removed
Input schema / properties / destination_idRemoved value: -{ - "description": "The unique identifier for the destination", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "destination_id" -]New value: +[ + "destinationId" +]
- Changed
ebay_get_notification_destinations3 fields changed- changed
Input schema / properties / continuationToken / descriptionPrevious value: -"Token to retrieve next page of results"New value: +"Token for pagination" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of destinations to return (10-100, default: 20)"New value: +"Maximum number of items to return per page (10-100)" - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0
- Changed
ebay_get_notification_public_key3 fields changed- added
Input schema / properties / publicKeyIdAdded value: +{ + "description": "The unique identifier for the public key", + "type": "string" +} - removed
Input schema / properties / public_key_idRemoved value: -{ - "description": "The unique identifier for the public key", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "public_key_id" -]New value: +[ + "publicKeyId" +]
- Changed
ebay_get_notification_subscription3 fields changed- added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Changed
ebay_get_notification_subscription_filter5 fields changed- added
Input schema / properties / filterIdAdded value: +{ + "description": "The unique identifier for the filter", + "type": "string" +} - removed
Input schema / properties / filter_idRemoved value: -{ - "description": "The unique identifier for the filter", - "type": "string" -} - added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id", - "filter_id" -]New value: +[ + "subscriptionId", + "filterId" +]
- Changed
ebay_get_notification_subscriptions5 fields changed- added
Input schema / properties / continuationTokenAdded value: +{ + "description": "Token for pagination", + "type": "string" +} - removed
Input schema / properties / continuation_tokenRemoved value: -{ - "description": "Token for pagination", - "type": "string" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of subscriptions to return"New value: +"Maximum number of items to return per page (10-100)" - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number"
- Changed
ebay_get_notification_topic3 fields changed- added
Input schema / properties / topicIdAdded value: +{ + "description": "The unique identifier for the topic", + "type": "string" +} - removed
Input schema / properties / topic_idRemoved value: -{ - "description": "The unique identifier for the topic", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "topic_id" -]New value: +[ + "topicId" +]
- Changed
ebay_get_notification_topics5 fields changed- added
Input schema / properties / continuationTokenAdded value: +{ + "description": "Token for pagination", + "type": "string" +} - removed
Input schema / properties / continuation_tokenRemoved value: -{ - "description": "Token for pagination", - "type": "string" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of topics to return"New value: +"Maximum number of items to return per page (10-100)" - added
Input schema / properties / limit / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / limit / typePrevious value: -"string"New value: +"number"
- Removed
ebay_get_oauth_url - Changed
ebay_get_offers2 fields changed- added
Input schema / properties / formatAdded value: +{ + "description": "Filter by listing format", + "type": "string" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Number of offers to skip", + "type": "number" +}
- Removed
ebay_get_offers_to_buyers - Removed
ebay_get_opted_in_programs - Changed
ebay_get_order2 fields changed- added
Input schema / properties / fieldGroupsAdded value: +{ + "description": "Response field group, e.g. TAX_BREAKDOWN", + "type": "string" +} - changed
Input schema / properties / orderId / descriptionPrevious value: -"The unique order ID"New value: +"The unique identifier of the order"
- Changed
ebay_get_orders5 fields changed- added
Input schema / properties / fieldGroupsAdded value: +{ + "description": "Response field group, e.g. TAX_BREAKDOWN", + "type": "string" +} - changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria (e.g., orderfulfillmentstatus:{NOT_STARTED})"New value: +"Filter criteria for orders (e.g., creationdate:[2024-01-01..2024-12-31])" - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of orders to return"New value: +"Number of orders to return per page" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of orders to skip"New value: +"Number of orders to skip for pagination" - added
Input schema / properties / orderIdsAdded value: +{ + "description": "Comma-separated list of order IDs", + "type": "string" +}
- Changed
ebay_get_package1 field changed- removed
Input schema / properties / packageId / descriptionRemoved value: -"The package ID"
- Removed
ebay_get_package_by_order_line_item - Added
ebay_get_packages_by_line_item_id - Changed
ebay_get_payment_dispute_activities1 field changed- changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID"New value: +"The unique payment dispute ID"
- Changed
ebay_get_payment_dispute_summaries10 fields changed- removed
Input schema / properties / buyerFilterRemoved value: -{ - "description": "Filter by buyer username (e.g., buyer_username:testbuyer)", - "type": "string" -} - added
Input schema / properties / buyerUsernameAdded value: +{ + "description": "Filter by buyer username", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of disputes to return (default: 200)"New value: +"Number of disputes to return" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of disputes to skip for pagination"New value: +"Number of disputes to skip" - added
Input schema / properties / openDateFromAdded value: +{ + "description": "Start date for dispute open date filter", + "type": "string" +} - added
Input schema / properties / openDateToAdded value: +{ + "description": "End date for dispute open date filter", + "type": "string" +} - removed
Input schema / properties / openFilterRemoved value: -{ - "description": "If true, only return open disputes. If false, only return closed disputes", - "type": "boolean" -} - removed
Input schema / properties / orderFilterRemoved value: -{ - "description": "Filter by order ID (e.g., orderid:170123456789)", - "type": "string" -} - added
Input schema / properties / orderIdAdded value: +{ + "description": "Filter by one order ID", + "type": "string" +} - added
Input schema / properties / paymentDisputeStatusAdded value: +{ + "description": "Filter by payment dispute status", + "type": "string" +}
- Removed
ebay_get_payment_policies - Removed
ebay_get_payment_policy_by_name - Changed
ebay_get_payments_program1 field changed- changed
Input schema / properties / paymentsProgramType / descriptionPrevious value: -"The type of payments program (e.g., EBAY_PAYMENTS)"New value: +"The type of payments program"
- Changed
ebay_get_payments_program_onboarding1 field changed- changed
Input schema / properties / paymentsProgramType / descriptionPrevious value: -"The type of payments program (e.g., EBAY_PAYMENTS)"New value: +"The type of payments program"
- Removed
ebay_get_payments_program_status - Removed
ebay_get_privileges - Changed
ebay_get_product_compatibilities12 fields changed- changed
Input schema / properties / data / descriptionPrevious value: -"Request data for getting product compatibilities"New value: +"Product compatibility request data" - added
Input schema / properties / data / properties / applicationPropertyFiltersAdded value: +{ + "description": "Application property filters", + "items": { + "additionalProperties": true, + "properties": { + "propertyName": { + "description": "Compatibility property name", + "type": "string" + }, + "propertyValue": { + "description": "Compatibility property value", + "type": "string" + }, + "unitOfMeasurement": { + "description": "Property unit of measurement", + "type": "string" + }, + "url": { + "description": "Property reference URL", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / data / properties / categoryTreeIdRemoved value: -{ - "type": "string" -} - added
Input schema / properties / data / properties / datasetAdded value: +{ + "description": "Datasets to return", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / data / properties / datasetPropertyNameAdded value: +{ + "description": "Dataset property names", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / data / properties / disabledProductFilterAdded value: +{ + "additionalProperties": true, + "description": "Disabled product filter", + "properties": { + "excludeForEbayReviews": { + "description": "Exclude products blocked for reviews", + "type": "boolean" + }, + "excludeForEbaySelling": { + "description": "Exclude products blocked for selling", + "type": "boolean" + } + }, + "type": "object" +} - added
Input schema / properties / data / properties / paginationInputAdded value: +{ + "additionalProperties": true, + "description": "Pagination input", + "properties": { + "limit": { + "description": "Maximum number of results", + "type": "number" + }, + "offset": { + "description": "Number of results to skip", + "type": "number" + } + }, + "type": "object" +} - added
Input schema / properties / data / properties / productIdentifierAdded value: +{ + "additionalProperties": true, + "description": "Product identifier", + "properties": { + "ean": { + "description": "EAN product identifier", + "type": "string" + }, + "epid": { + "description": "eBay product identifier", + "type": "string" + }, + "isbn": { + "description": "ISBN product identifier", + "type": "string" + }, + "productId": { + "description": "Product identifier", + "type": "string" + }, + "upc": { + "description": "UPC product identifier", + "type": "string" + } + }, + "type": "object" +} - added
Input schema / properties / data / properties / sortOrdersAdded value: +{ + "description": "Compatibility property sort order", + "items": { + "additionalProperties": true, + "properties": { + "sortOrder": { + "additionalProperties": true, + "description": "Sort property definition", + "properties": { + "order": { + "description": "Sort order", + "type": "string" + }, + "propertyName": { + "description": "Property name to sort by", + "type": "string" + } + }, + "type": "object" + }, + "sortPriority": { + "description": "Sort priority", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / data / properties / specificationRemoved value: -{ - "additionalProperties": true, - "properties": { - "categoryId": { - "type": "string" - }, - "categoryTreeId": { - "type": "string" - }, - "compatibilityProperties": { - "items": { - "additionalProperties": true, - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "data" -]New value: +[ + "marketplaceId", + "data" +]
- Removed
ebay_get_promotion_report - Added
ebay_get_promotion_reports - Changed
ebay_get_promotion_summary_report2 fields changed- changed
Input schema / properties / marketplaceId / descriptionPrevious value: -"Marketplace ID"New value: +"marketplaceId required endpoint parameter" - removed
Input schema / properties / marketplaceId / enumRemoved 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" -]
- Changed
ebay_get_promotions9 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / marketplaceId / descriptionPrevious value: -"Filter by marketplace ID"New value: +"marketplaceId required endpoint parameter" - removed
Input schema / properties / marketplaceId / enumRemoved 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" -] - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter" - changed
Input schema / properties / promotionStatus / descriptionPrevious value: -"Filter by status: DRAFT, SCHEDULED, RUNNING, PAUSED, ENDED"New value: +"promotionStatus optional endpoint parameter" - changed
Input schema / properties / promotionType / descriptionPrevious value: -"Filter by type: ORDER_DISCOUNT, MARKDOWN_SALE, etc."New value: +"promotionType optional endpoint parameter" - added
Input schema / properties / qAdded value: +{ + "description": "q optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "sort optional endpoint parameter", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "marketplaceId" +]
- Changed
ebay_get_rate_limits2 fields changed- changed
Input schema / properties / apiContext / descriptionPrevious value: -"Filter by API context: buy, sell, commerce, developer, or tradingapi"New value: +"Optional API context filter, e.g. buy, sell, commerce, developer, or tradingapi" - changed
Input schema / properties / apiName / descriptionPrevious value: -"Filter by specific API name: browse, inventory, taxonomy, tradingapi, etc."New value: +"Optional API name filter, e.g. browse, inventory, taxonomy, or tradingapi"
- Removed
ebay_get_rate_tables - Added
ebay_get_refunded_orders - Changed
ebay_get_report1 field changed- changed
Input schema / properties / reportId / descriptionPrevious value: -"Report ID"New value: +"reportId required endpoint parameter"
- Added
ebay_get_report_metadata - Added
ebay_get_report_metadata_for_report_type - Changed
ebay_get_report_task1 field changed- changed
Input schema / properties / reportTaskId / descriptionPrevious value: -"Report Task ID"New value: +"reportTaskId required endpoint parameter"
- Changed
ebay_get_report_tasks3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"limit optional endpoint parameter" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of results to skip"New value: +"offset optional endpoint parameter" - changed
Input schema / properties / reportTaskStatuses / descriptionPrevious value: -"Comma-separated status filters: PENDING, IN_PROGRESS, SUCCESS, FAILED"New value: +"reportTaskStatuses optional endpoint parameter"
- Changed
ebay_get_return_policies1 field changed- changed
Input schema / properties / marketplaceId / descriptionPrevious value: -"Required: eBay marketplace ID"New value: +"eBay marketplace ID"
- Changed
ebay_get_return_policy_metadata1 field changed- changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria to limit results to specific category IDs"New value: +"Filter criteria"
- Removed
ebay_get_sales_taxes - Changed
ebay_get_seller_standards_profile2 fields changed- changed
Input schema / properties / cycle / descriptionPrevious value: -"The cycle (e.g., CURRENT)"New value: +"Seller standards cycle, e.g., CURRENT or PROJECTED" - changed
Input schema / properties / program / descriptionPrevious value: -"The program (e.g., CUSTOMER_SERVICE)"New value: +"Seller standards program identifier"
- Added
ebay_get_services - Removed
ebay_get_shipping_cost_type_policies - Changed
ebay_get_shipping_fulfillment2 fields changed- changed
Input schema / properties / fulfillmentId / descriptionPrevious value: -"The fulfillment ID"New value: +"The unique identifier of the shipping fulfillment" - changed
Input schema / properties / orderId / descriptionPrevious value: -"The order ID"New value: +"The unique identifier of the order"
- Changed
ebay_get_shipping_fulfillments1 field changed- changed
Input schema / properties / orderId / descriptionPrevious value: -"The order ID to get fulfillments for"New value: +"The unique identifier of the order"
- Removed
ebay_get_shipping_quote - Removed
ebay_get_shipping_services - Changed
ebay_get_signing_key1 field changed- changed
Input schema / properties / signingKeyId / descriptionPrevious value: -"The system-generated eBay ID of the signing key"New value: +"System-generated eBay signing key identifier"
- Added
ebay_get_sku_location_mapping - Changed
ebay_get_subscription3 fields changed- added
Input schema / properties / continuationTokenAdded value: +{ + "description": "Optional continuation token", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Optional subscription page size limit", + "type": "string" +} - removed
Input schema / properties / limitTypeRemoved value: -{ - "description": "Optional limit type filter", - "type": "string" -}
- Removed
ebay_get_targeting - Removed
ebay_get_token_status - Changed
ebay_get_tracking3 fields changed- removed
Input schema / properties / paramsRemoved value: -{ - "additionalProperties": { - "type": "string" - }, - "description": "Query parameters (tracking_number required)", - "type": "object" -} - added
Input schema / properties / trackingNumberAdded value: +{ + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "params" -]New value: +[ + "trackingNumber" +]
- Changed
ebay_get_traffic_report4 fields changed- changed
Input schema / properties / dimension / descriptionPrevious value: -"Dimension for the report (e.g., LISTING, DAY)"New value: +"Report dimension, e.g., LISTING or DAY" - changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria"New value: +"eBay traffic report filter expression" - changed
Input schema / properties / metric / descriptionPrevious value: -"Metrics to retrieve (e.g., CLICK_THROUGH_RATE, IMPRESSION)"New value: +"Comma-delimited report metrics to retrieve" - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order"New value: +"Optional metric sort expression"
- Changed
ebay_get_user_rate_limits2 fields changed- changed
Input schema / properties / apiContext / descriptionPrevious value: -"Filter by API context: buy, sell, commerce, developer, or tradingapi"New value: +"Optional API context filter, e.g. buy, sell, commerce, developer, or tradingapi" - changed
Input schema / properties / apiName / descriptionPrevious value: -"Filter by specific API name: browse, inventory, taxonomy, tradingapi, etc."New value: +"Optional API name filter, e.g. browse, inventory, taxonomy, or tradingapi"
- Changed
ebay_get_vero_reason_code1 field changed- changed
Input schema / properties / veroReasonCodeId / descriptionPrevious value: -"The unique identifier of the VERO reason code"New value: +"VeRO reason-code identifier"
- Changed
ebay_get_vero_report1 field changed- changed
Input schema / properties / veroReportId / descriptionPrevious value: -"The unique identifier of the VERO report"New value: +"VeRO report identifier returned by createVeroReport"
- Changed
ebay_get_vero_report_items5 fields changed- removed
Input schema / properties / filter / descriptionRemoved value: -"Filter criteria for the query (e.g., date range)" - removed
Input schema / properties / limit / descriptionRemoved value: -"Maximum number of items to return" - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - removed
Input schema / properties / offset / descriptionRemoved value: -"Number of items to skip for pagination" - changed
Input schema / properties / offset / typePrevious value: -"number"New value: +"integer"
- Changed
ebay_issue_refund4 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "properties": { + "comment": { + "description": "Optional comment about the refund", + "type": "string" + }, + "orderLevelRefundAmount": { + "$ref": "#/properties/body/properties/refundItems/items/properties/refundAmount", + "description": "Order-level refund amount (for partial refunds)" + }, + "reasonForRefund": { + "description": "Reason for issuing the refund", + "enum": [ + "BUYER_CANCEL", + "OUT_OF_STOCK", + "FOUND_CHEAPER_PRICE", + "INCORRECT_PRICE", + "ITEM_DAMAGED", + "ITEM_DEFECTIVE", + "LOST_IN_TRANSIT", + "MUTUALLY_AGREED", + "SELLER_CANCEL" + ], + "type": "string" + }, + "refundItems": { + "description": "Line items to refund", + "items": { + "additionalProperties": false, + "properties": { + "legacyReference": { + "additionalProperties": false, + "properties": { + "legacyItemId": { + "type": "string" + }, + "legacyTransactionId": { + "type": "string" + } + }, + "type": "object" + }, + "lineItemId": { + "type": "string" + }, + "refundAmount": { + "additionalProperties": false, + "properties": { + "convertedFromCurrency": { + "type": "string" + }, + "convertedFromValue": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "exchangeRate": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "currency", + "value" + ], + "type": "object" + } + }, + "required": [ + "lineItemId" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "reasonForRefund" + ], + "type": "object" +} - changed
Input schema / properties / orderId / descriptionPrevious value: -"The unique eBay order ID to refund"New value: +"The unique identifier of the order" - removed
Input schema / properties / refundDataRemoved value: -{ - "additionalProperties": false, - "description": "Refund details including amount, reason, and optional comment. Must include reasonForRefund (required), and either refundItems (for line item refunds) OR orderLevelRefundAmount (for full order refunds).", - "properties": { - "comment": { - "description": "Optional comment to buyer about the refund (max 100 characters)", - "type": "string" - }, - "orderLevelRefundAmount": { - "additionalProperties": false, - "description": "Use this to refund the entire order amount. Alternative to refundItems. Include value and currency.", - "properties": { - "currency": { - "description": "Three-letter ISO 4217 currency code (e.g., \"USD\")", - "type": "string" - }, - "value": { - "description": "The monetary amount (e.g., \"99.99\")", - "type": "string" - } - }, - "required": [ - "value", - "currency" - ], - "type": "object" - }, - "reasonForRefund": { - "description": "REQUIRED. Reason code: BUYER_CANCEL, OUT_OF_STOCK, FOUND_CHEAPER_PRICE, INCORRECT_PRICE, ITEM_DAMAGED, ITEM_DEFECTIVE, LOST_IN_TRANSIT, MUTUALLY_AGREED, SELLER_CANCEL", - "type": "string" - }, - "refundItems": { - "description": "Array of individual line items to refund. Use this for partial refunds of specific items. Each item requires lineItemId and refundAmount.", - "items": { - "additionalProperties": false, - "properties": { - "legacyReference": { - "additionalProperties": false, - "description": "Optional legacy item ID/transaction ID pair for identifying the line item", - "properties": { - "legacyItemId": { - "type": "string" - }, - "legacyTransactionId": { - "type": "string" - } - }, - "type": "object" - }, - "lineItemId": { - "description": "The unique identifier of the order line item to refund", - "type": "string" - }, - "refundAmount": { - "additionalProperties": false, - "description": "The amount to refund for this line item", - "properties": { - "currency": { - "description": "Three-letter ISO 4217 currency code (e.g., \"USD\")", - "type": "string" - }, - "value": { - "description": "The monetary amount (e.g., \"25.99\")", - "type": "string" - } - }, - "required": [ - "value", - "currency" - ], - "type": "object" - } - }, - "required": [ - "lineItemId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "reasonForRefund" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "orderId", - "refundData" -]New value: +[ + "orderId", + "body" +]
- Changed
ebay_launch_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Changed
ebay_leave_feedback_for_buyer12 fields changed- added
Input schema / properties / commentTextAdded value: +{ + "description": "The feedback comment text (max 500 characters)", + "maxLength": 500, + "type": "string" +} - added
Input schema / properties / commentTypeAdded value: +{ + "description": "Overall rating: POSITIVE, NEUTRAL, or NEGATIVE", + "type": "string" +} - removed
Input schema / properties / comment_textRemoved value: -{ - "description": "The feedback comment text (max 500 characters)", - "maxLength": 500, - "type": "string" -} - removed
Input schema / properties / comment_typeRemoved value: -{ - "description": "Overall rating: POSITIVE, NEUTRAL, or NEGATIVE", - "type": "string" -} - added
Input schema / properties / listingIdAdded value: +{ + "description": "The listing ID related to the transaction", + "type": "string" +} - removed
Input schema / properties / listing_idRemoved value: -{ - "description": "The listing ID related to the transaction", - "type": "string" -} - added
Input schema / properties / orderLineItemIdAdded value: +{ + "description": "The unique identifier of the line item", + "type": "string" +} - removed
Input schema / properties / order_line_item_idRemoved value: -{ - "description": "The unique identifier of the line item", - "type": "string" -} - added
Input schema / properties / sellerRatingsAdded value: +{ + "description": "Array of seller performance ratings", + "items": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Rating category (e.g., ON_TIME_DELIVERY, ITEM_AS_DESCRIBED)", + "type": "string" + }, + "value": { + "description": "Rating value (1-5)", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / seller_ratingsRemoved value: -{ - "description": "Array of seller performance ratings", - "items": { - "additionalProperties": false, - "properties": { - "key": { - "description": "Rating category (e.g., ON_TIME_DELIVERY, ITEM_AS_DESCRIBED)", - "type": "string" - }, - "value": { - "description": "Rating value (1-5)", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" -} - added
Input schema / properties / transactionIdAdded value: +{ + "description": "The unique identifier of the transaction", + "type": "string" +} - removed
Input schema / properties / transaction_idRemoved value: -{ - "description": "The unique identifier of the transaction", - "type": "string" -}
- Removed
ebay_opt_in_to_payments_program - Changed
ebay_opt_in_to_program1 field changed- changed
Input schema / properties / request / additionalPropertiesPrevious value: -trueNew value: +false
- Changed
ebay_opt_out_of_program1 field changed- changed
Input schema / properties / request / additionalPropertiesPrevious value: -trueNew value: +false
- Changed
ebay_pause_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Removed
ebay_pause_item_promotion - Changed
ebay_pause_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Changed
ebay_publish_offer1 field changed- changed
Input schema / properties / offerId / descriptionPrevious value: -"The offer ID to publish"New value: +"The offer ID"
- Changed
ebay_publish_offer_by_inventory_item_group3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated PublishByInventoryItemGroup body" +} - removed
Input schema / properties / requestRemoved value: -{ - "additionalProperties": true, - "description": "Publish request with inventory item group key and marketplace ID", - "properties": { - "inventoryItemGroupKey": { - "type": "string" - }, - "marketplaceId": { - "enum": [ - "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" - ], - "type": "string" - } - }, - "required": [ - "inventoryItemGroupKey", - "marketplaceId" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "request" -]New value: +[ + "body" +]
- Changed
ebay_register_client6 fields changed- changed
Input schema / properties / clientSettings / descriptionPrevious value: -"Client registration settings"New value: +"Generated ClientSettings request body" - changed
Input schema / properties / clientSettings / properties / contacts / descriptionPrevious value: -"Array of contact email addresses"New value: +"Contact email addresses for the registrant" - changed
Input schema / properties / clientSettings / properties / policy_uri / descriptionPrevious value: -"HTTPS URL to privacy policy document"New value: +"HTTPS URL to the application privacy policy" - changed
Input schema / properties / clientSettings / properties / redirect_uris / descriptionPrevious value: -"Array of redirect URIs"New value: +"OAuth redirect URIs" - changed
Input schema / properties / clientSettings / properties / software_id / descriptionPrevious value: -"Unique identifier for the client software"New value: +"Stable identifier for the client software" - changed
Input schema / properties / clientSettings / properties / software_statement / descriptionPrevious value: -"Base64-encoded Software Statement Assertion (SSA) JWT"New value: +"Base64-encoded Software Statement Assertion JWT"
- Changed
ebay_relist_item1 field changed- changed
Input schema / properties / modifications / descriptionPrevious value: -"Optional fields to change when relisting (e.g., { \"Quantity\": 20 })"New value: +"Optional Trading API Item fields to change while relisting"
- Removed
ebay_reply_to_message - Changed
ebay_respond_to_feedback8 fields changed- added
Input schema / properties / feedbackIdAdded value: +{ + "description": "The unique identifier of the feedback being responded to", + "type": "string" +} - removed
Input schema / properties / feedback_idRemoved value: -{ - "description": "The feedback ID being responded to", - "type": "string" -} - added
Input schema / properties / recipientUserIdAdded value: +{ + "description": "The user ID of the feedback provider", + "type": "string" +} - removed
Input schema / properties / recipient_user_idRemoved value: -{ - "description": "The user ID of the feedback provider", - "type": "string" -} - added
Input schema / properties / responseTextAdded value: +{ + "description": "The text content of the response (max 500 characters)", + "maxLength": 500, + "type": "string" +} - added
Input schema / properties / responseTypeAdded value: +{ + "description": "The type of response: REPLY or FOLLOW_UP", + "type": "string" +} - removed
Input schema / properties / response_textRemoved value: -{ - "description": "The response text content (max 500 characters)", - "type": "string" -} - removed
Input schema / properties / response_typeRemoved value: -{ - "description": "The response type: REPLY or FOLLOW_UP", - "type": "string" -}
- Changed
ebay_resume_campaign1 field changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter"
- Removed
ebay_resume_item_promotion - Changed
ebay_resume_promotion1 field changed- changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter"
- Changed
ebay_revise_listing1 field changed- changed
Input schema / properties / fields / descriptionPrevious value: -"Fields to update (e.g., { \"Quantity\": 10, \"StartPrice\": 14.99 })"New value: +"Trading API Item fields to update"
- Removed
ebay_search_messages - Changed
ebay_send_message14 fields changed- added
Input schema / properties / conversationIdAdded value: +{ + "description": "ID of existing conversation (required if sending in existing conversation)", + "type": "string" +} - removed
Input schema / properties / conversation_idRemoved value: -{ - "description": "ID of existing conversation (required if sending in existing conversation)", - "type": "string" -} - added
Input schema / properties / emailCopyToSenderAdded value: +{ + "description": "Whether to email a copy to the sender", + "type": "boolean" +} - removed
Input schema / properties / email_copy_to_senderRemoved value: -{ - "description": "Whether to email a copy to the sender", - "type": "boolean" -} - added
Input schema / properties / messageMediaAdded value: +{ + "description": "Array of up to 5 media attachments", + "items": { + "additionalProperties": false, + "properties": { + "mediaName": { + "description": "Name of the media", + "type": "string" + }, + "mediaType": { + "description": "Type of media: IMAGE, PDF, DOC, TXT", + "type": "string" + }, + "mediaUrl": { + "description": "HTTPS URL of the self-hosted media", + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 5, + "type": "array" +} - added
Input schema / properties / messageTextAdded value: +{ + "description": "The text of the message (max 2000 characters)", + "maxLength": 2000, + "type": "string" +} - removed
Input schema / properties / message_mediaRemoved value: -{ - "description": "Array of up to 5 media attachments", - "items": { - "additionalProperties": false, - "properties": { - "media_name": { - "description": "Name of the media", - "type": "string" - }, - "media_type": { - "description": "Type of media: IMAGE, PDF, DOC, TXT", - "type": "string" - }, - "media_url": { - "description": "HTTPS URL of the self-hosted media", - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 5, - "type": "array" -} - removed
Input schema / properties / message_textRemoved value: -{ - "description": "The text of the message (max 2000 characters)", - "maxLength": 2000, - "type": "string" -} - added
Input schema / properties / otherPartyUsernameAdded value: +{ + "description": "eBay username to send message to (required for new conversations)", + "type": "string" +} - removed
Input schema / properties / other_party_usernameRemoved value: -{ - "description": "eBay username to send message to (required for new conversations)", - "type": "string" -} - added
Input schema / properties / reference / properties / referenceIdAdded value: +{ + "description": "The reference ID (e.g., item ID for LISTING)", + "type": "string" +} - added
Input schema / properties / reference / properties / referenceTypeAdded value: +{ + "description": "The reference type (currently only LISTING is supported)", + "type": "string" +} - removed
Input schema / properties / reference / properties / reference_idRemoved value: -{ - "description": "The reference ID (e.g., item ID for LISTING)", - "type": "string" -} - removed
Input schema / properties / reference / properties / reference_typeRemoved value: -{ - "description": "The reference type (currently only LISTING is supported)", - "type": "string" -}
- Changed
ebay_send_offer_to_interested_buyers8 fields changed- added
Input schema / properties / allowCounterOfferAdded value: +{ + "description": "Whether to allow counter-offers (currently must be false)", + "type": "boolean" +} - removed
Input schema / properties / allow_counter_offerRemoved value: -{ - "description": "Whether to allow counter-offers (currently must be false)", - "type": "boolean" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "The eBay marketplace ID (X-EBAY-C-MARKETPLACE-ID header)", + "type": "string" +} - removed
Input schema / properties / marketplace_idRemoved value: -{ - "description": "The eBay marketplace ID (X-EBAY-C-MARKETPLACE-ID header)", - "type": "string" -} - added
Input schema / properties / offerDurationAdded value: +{ + "additionalProperties": false, + "description": "Duration the offer is valid (default: 2 days)", + "properties": { + "unit": { + "description": "Time unit (currently must be DAY)", + "type": "string" + }, + "value": { + "description": "Duration value (currently must be 2)", + "type": "integer" + } + }, + "type": "object" +} - removed
Input schema / properties / offer_durationRemoved value: -{ - "additionalProperties": false, - "description": "Duration the offer is valid (default: 2 days)", - "properties": { - "unit": { - "description": "Time unit (currently must be DAY)", - "type": "string" - }, - "value": { - "description": "Duration value (currently must be 2)", - "type": "integer" - } - }, - "type": "object" -} - added
Input schema / properties / offeredItemsAdded value: +{ + "description": "Array of items to offer (currently limited to one item)", + "items": { + "additionalProperties": false, + "properties": { + "discountPercentage": { + "description": "Percentage discount (minimum 5)", + "type": "string" + }, + "listingId": { + "description": "The unique eBay listing ID", + "type": "string" + }, + "price": { + "additionalProperties": false, + "description": "The discounted price", + "properties": { + "currency": { + "description": "3-letter ISO 4217 currency code", + "type": "string" + }, + "value": { + "description": "The monetary amount", + "type": "string" + } + }, + "type": "object" + }, + "quantity": { + "description": "Number of items (all-or-nothing offer)", + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / offered_itemsRemoved value: -{ - "description": "Array of items to offer (currently limited to one item)", - "items": { - "additionalProperties": false, - "properties": { - "discount_percentage": { - "description": "Percentage discount (minimum 5)", - "type": "string" - }, - "listing_id": { - "description": "The unique eBay listing ID", - "type": "string" - }, - "price": { - "additionalProperties": false, - "description": "The discounted price", - "properties": { - "currency": { - "description": "3-letter ISO 4217 currency code", - "type": "string" - }, - "value": { - "description": "The monetary amount", - "type": "string" - } - }, - "type": "object" - }, - "quantity": { - "description": "Number of items (all-or-nothing offer)", - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" -}
- Removed
ebay_set_user_tokens - Changed
ebay_set_user_tokens_with_expiry3 fields changed- changed
Input schema / properties / accessTokenExpiry / descriptionPrevious value: -"Optional: Access token expiry time. If not provided, defaults to 2 hours from now. Can be ISO date string, Unix timestamp, or relative time (e.g., \"in 7200 seconds\")"New value: +"Optional access-token expiry. Supports ISO date strings, Unix timestamps, and relative time." - changed
Input schema / properties / autoRefresh / descriptionPrevious value: -"If true and access token is expired but refresh token is valid, automatically refresh the access token. Default: true"New value: +"Whether to validate and refresh the access token immediately" - changed
Input schema / properties / refreshTokenExpiry / descriptionPrevious value: -"Optional: Refresh token expiry time. If not provided, defaults to 18 months from now. Can be ISO date string, Unix timestamp, or relative time"New value: +"Optional refresh-token expiry. Supports ISO date strings, Unix timestamps, and relative time."
- Changed
ebay_setup_quick_campaign3 fields changed- removed
Input schema / properties / quickCampaignRemoved value: -{ - "additionalProperties": false, - "description": "Quick campaign configuration", - "properties": { - "campaignName": { - "description": "Campaign name", - "type": "string" - }, - "fundingStrategy": { - "additionalProperties": false, - "description": "Funding strategy", - "properties": { - "bidPercentage": { - "description": "Bid percentage (e.g., \"10.5\")", - "type": "string" - }, - "fundingModel": { - "description": "Funding model", - "enum": [ - "COST_PER_SALE", - "COST_PER_CLICK" - ], - "type": "string" - } - }, - "required": [ - "fundingModel" - ], - "type": "object" - }, - "marketplaceId": { - "description": "Marketplace ID", - "enum": [ - "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" - ], - "type": "string" - } - }, - "required": [ - "campaignName", - "marketplaceId", - "fundingStrategy" - ], - "type": "object" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Setup quick campaign request body", + "properties": { + "campaignName": { + "type": "string" + }, + "dailyBudget": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "endDate": { + "type": "string" + }, + "fundingStrategy": { + "additionalProperties": false, + "properties": { + "bidPercentage": { + "type": "string" + }, + "fundingModel": { + "type": "string" + } + }, + "type": "object" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "marketplaceId": { + "type": "string" + }, + "startDate": { + "type": "string" + } + }, + "required": [ + "campaignName", + "marketplaceId" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "quickCampaign" -]New value: +[ + "request" +]
- Changed
ebay_suggest_bids4 fields changed- changed
Input schema / properties / adGroupId / descriptionPrevious value: -"Ad Group ID"New value: +"adGroupId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Suggest bids request body", + "properties": { + "bid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "listingId": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId" -]New value: +[ + "adGroupId", + "campaignId", + "request" +]
- Changed
ebay_suggest_budget3 fields changed- removed
Input schema / properties / campaignIdRemoved value: -{ - "description": "Campaign ID to get budget suggestions for", - "type": "string" -} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID sent as X-EBAY-C-MARKETPLACE-ID", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "marketplaceId" +]
- Changed
ebay_suggest_items4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / categoryIdsAdded value: +{ + "description": "categoryIds optional endpoint parameter", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "limit optional endpoint parameter", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "offset optional endpoint parameter", + "type": "number" +}
- Changed
ebay_suggest_keywords5 fields changed- changed
Input schema / properties / adGroupId / descriptionPrevious value: -"Ad Group ID"New value: +"adGroupId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Suggest keywords request body", + "properties": { + "adGroupId": { + "type": "string" + }, + "bid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "keywordText": { + "type": "string" + }, + "matchType": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / suggestionRemoved value: -{ - "additionalProperties": {}, - "description": "Optional keyword suggestion request payload", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId" -]New value: +[ + "adGroupId", + "campaignId", + "request" +]
- Changed
ebay_suggest_max_cpc3 fields changed- added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Suggest max cpc request body", + "properties": { + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "marketplaceId": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / suggestionRequestRemoved value: -{ - "additionalProperties": false, - "description": "CPC suggestion request", - "properties": { - "listingIds": { - "description": "Listing IDs to get suggestions for", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "suggestionRequest" -]New value: +[ + "request" +]
- Removed
ebay_suppress_violation - Changed
ebay_test_notification_subscription3 fields changed- added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Changed
ebay_translate5 fields changed- removed
Input schema / properties / from / descriptionRemoved value: -"Source language code" - removed
Input schema / properties / text / descriptionRemoved value: -"Array of text to translate" - removed
Input schema / properties / to / descriptionRemoved value: -"Target language code" - removed
Input schema / properties / translationContext / descriptionRemoved value: -"Translation context (e.g., ITEM_TITLE, ITEM_DESCRIPTION)" - changed
Input schema / requiredPrevious value: -[ - "from", - "to", - "translationContext", - "text" -]New value: +[ + "to", + "text" +]
- Removed
ebay_update_ad_bid - Changed
ebay_update_ad_group5 fields changed- changed
Input schema / properties / adGroupId / descriptionPrevious value: -"Ad Group ID"New value: +"adGroupId required endpoint parameter" - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update ad group request body", + "properties": { + "adGroupStatus": { + "type": "string" + }, + "defaultBid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "name": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / updateDataRemoved value: -{ - "additionalProperties": false, - "description": "Ad group update data", - "properties": { - "defaultBid": { - "additionalProperties": false, - "description": "New default bid", - "properties": { - "amount": { - "description": "Default bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - }, - "name": { - "description": "New ad group name", - "type": "string" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId", - "updateData" -]New value: +[ + "adGroupId", + "campaignId", + "request" +]
- Removed
ebay_update_ad_group_bids - Removed
ebay_update_ad_group_keywords - Changed
ebay_update_ad_rate_strategy4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update ad rate strategy request body", + "properties": { + "adRateStrategy": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / strategyRemoved value: -{ - "additionalProperties": false, - "description": "Ad rate strategy", - "properties": { - "bidPercentage": { - "description": "New bid percentage (e.g., \"10.5\")", - "type": "string" - } - }, - "required": [ - "bidPercentage" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "strategy" -]New value: +[ + "campaignId", + "request" +]
- Added
ebay_update_bid - Changed
ebay_update_bidding_strategy4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update bidding strategy request body", + "properties": { + "bidPercentage": { + "type": "string" + }, + "biddingStrategy": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / strategyRemoved value: -{ - "additionalProperties": false, - "description": "Bidding strategy", - "properties": { - "biddingStrategyType": { - "description": "Bidding strategy type", - "enum": [ - "FIXED", - "DYNAMIC" - ], - "type": "string" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "strategy" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_update_campaign_budget4 fields changed- removed
Input schema / properties / budgetRemoved value: -{ - "additionalProperties": false, - "description": "Campaign budget", - "properties": { - "amount": { - "description": "Budget amount", - "type": "string" - }, - "currency": { - "description": "Currency code (e.g., USD)", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" -} - changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update campaign budget request body", + "properties": { + "budget": { + "additionalProperties": false, + "properties": { + "daily": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "budget" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_update_campaign_identification4 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update campaign identification request body", + "properties": { + "campaignName": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / updateDataRemoved value: -{ - "additionalProperties": false, - "description": "Campaign identification data to update", - "properties": { - "campaignName": { - "description": "New campaign name", - "type": "string" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "updateData" -]New value: +[ + "campaignId", + "request" +]
- Changed
ebay_update_conversation6 fields changed- added
Input schema / properties / conversationIdAdded value: +{ + "description": "The unique identifier of the conversation", + "type": "string" +} - added
Input schema / properties / conversationStatusAdded value: +{ + "description": "The updated status: ACTIVE, ARCHIVE, DELETE", + "type": "string" +} - added
Input schema / properties / conversationTypeAdded value: +{ + "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", + "type": "string" +} - removed
Input schema / properties / conversation_idRemoved value: -{ - "description": "The unique identifier of the conversation", - "type": "string" -} - removed
Input schema / properties / conversation_statusRemoved value: -{ - "description": "The updated status: ACTIVE, ARCHIVE, DELETE", - "type": "string" -} - removed
Input schema / properties / conversation_typeRemoved value: -{ - "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", - "type": "string" -}
- Removed
ebay_update_custom_policy - Changed
ebay_update_email_campaign4 fields changed- removed
Input schema / properties / emailCampaignRemoved value: -{ - "additionalProperties": {}, - "description": "Updated email campaign configuration", - "type": "object" -} - changed
Input schema / properties / emailCampaignId / descriptionPrevious value: -"Email campaign ID"New value: +"emailCampaignId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update email campaign request body", + "properties": { + "audienceCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryId": { + "type": "string" + }, + "categoryType": { + "type": "string" + }, + "itemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "itemSelectMode": { + "type": "string" + }, + "personalizedMessage": { + "type": "string" + }, + "priceRange": { + "additionalProperties": false, + "properties": { + "maxPrice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "minPrice": { + "$ref": "#/properties/request/properties/priceRange/properties/maxPrice" + } + }, + "type": "object" + }, + "promotionId": { + "type": "string" + }, + "promotionSelectModeEnum": { + "type": "string" + }, + "scheduleDate": { + "type": "string" + }, + "sort": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "emailCampaignId", - "emailCampaign" -]New value: +[ + "emailCampaignId", + "request" +]
- Removed
ebay_update_fulfillment_policy - Added
ebay_update_inventory_location - Changed
ebay_update_item_price_markdown_promotion4 fields changed- removed
Input schema / properties / promotionRemoved value: -{ - "additionalProperties": {}, - "description": "Updated promotion configuration", - "type": "object" -} - changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update item price markdown promotion request body", + "properties": { + "applyFreeShipping": { + "type": "boolean" + }, + "autoSelectFutureInventory": { + "type": "boolean" + }, + "blockPriceIncreaseInItemRevision": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "marketplaceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "promotionImageUrl": { + "type": "string" + }, + "promotionStatus": { + "type": "string" + }, + "selectedInventoryDiscounts": { + "items": { + "additionalProperties": false, + "properties": { + "discountBenefit": { + "additionalProperties": false, + "properties": { + "amountOffItem": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "amountOffOrder": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + }, + "percentageOffItem": { + "type": "string" + }, + "percentageOffOrder": { + "type": "string" + } + }, + "type": "object" + }, + "discountId": { + "type": "string" + }, + "inventoryCriterion": { + "additionalProperties": false, + "properties": { + "inventoryCriterionType": { + "type": "string" + }, + "inventoryItems": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ruleCriteria": { + "additionalProperties": false, + "properties": { + "excludeInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "excludeListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "markupInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "markupListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "selectionRules": { + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryScope": { + "type": "string" + }, + "listingConditionIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxPrice": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + }, + "minPrice": { + "$ref": "#/properties/request/properties/selectedInventoryDiscounts/items/properties/discountBenefit/properties/amountOffItem" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "ruleOrder": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "startDate": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "promotionId", - "promotion" -]New value: +[ + "promotionId", + "request" +]
- Changed
ebay_update_item_promotion4 fields changed- removed
Input schema / properties / promotionRemoved value: -{ - "additionalProperties": {}, - "description": "Updated promotion configuration", - "type": "object" -} - changed
Input schema / properties / promotionId / descriptionPrevious value: -"Promotion ID"New value: +"promotionId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update item promotion request body", + "properties": { + "applyDiscountToSingleItemOnly": { + "type": "boolean" + }, + "budget": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "couponConfiguration": { + "additionalProperties": false, + "properties": { + "couponCode": { + "type": "string" + }, + "couponType": { + "type": "string" + }, + "maxCouponRedemptionPerUser": { + "type": "number" + } + }, + "type": "object" + }, + "description": { + "type": "string" + }, + "discountRules": { + "items": { + "additionalProperties": false, + "properties": { + "discountBenefit": { + "additionalProperties": false, + "properties": { + "amountOffItem": { + "$ref": "#/properties/request/properties/budget" + }, + "amountOffOrder": { + "$ref": "#/properties/request/properties/budget" + }, + "percentageOffItem": { + "type": "string" + }, + "percentageOffOrder": { + "type": "string" + } + }, + "type": "object" + }, + "discountSpecification": { + "additionalProperties": false, + "properties": { + "forEachAmount": { + "$ref": "#/properties/request/properties/budget" + }, + "forEachQuantity": { + "type": "number" + }, + "minAmount": { + "$ref": "#/properties/request/properties/budget" + }, + "minQuantity": { + "type": "number" + }, + "numberOfDiscountedItems": { + "type": "number" + } + }, + "type": "object" + }, + "ruleOrder": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "endDate": { + "type": "string" + }, + "inventoryCriterion": { + "additionalProperties": false, + "properties": { + "inventoryCriterionType": { + "type": "string" + }, + "inventoryItems": { + "items": { + "additionalProperties": false, + "properties": { + "inventoryReferenceId": { + "type": "string" + }, + "inventoryReferenceType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "listingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ruleCriteria": { + "additionalProperties": false, + "properties": { + "excludeInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "excludeListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "markupInventoryItems": { + "items": { + "$ref": "#/properties/request/properties/inventoryCriterion/properties/inventoryItems/items" + }, + "type": "array" + }, + "markupListingIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "selectionRules": { + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categoryScope": { + "type": "string" + }, + "listingConditionIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxPrice": { + "$ref": "#/properties/request/properties/budget" + }, + "minPrice": { + "$ref": "#/properties/request/properties/budget" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "marketplaceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "promotionImageUrl": { + "type": "string" + }, + "promotionStatus": { + "type": "string" + }, + "promotionType": { + "type": "string" + }, + "startDate": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "promotionId", - "promotion" -]New value: +[ + "promotionId", + "request" +]
- Changed
ebay_update_keyword5 fields changed- changed
Input schema / properties / campaignId / descriptionPrevious value: -"Campaign ID"New value: +"campaignId required endpoint parameter" - changed
Input schema / properties / keywordId / descriptionPrevious value: -"Keyword ID"New value: +"keywordId required endpoint parameter" - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update keyword request body", + "properties": { + "bid": { + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "keywordStatus": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / updateDataRemoved value: -{ - "additionalProperties": false, - "description": "Keyword update data", - "properties": { - "bid": { - "additionalProperties": false, - "description": "New keyword bid", - "properties": { - "amount": { - "description": "Bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - }, - "keywordText": { - "description": "New keyword text", - "type": "string" - }, - "matchType": { - "description": "New match type", - "enum": [ - "BROAD", - "PHRASE", - "EXACT" - ], - "type": "string" - } - }, - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywordId", - "updateData" -]New value: +[ + "campaignId", + "keywordId", + "request" +]
- Removed
ebay_update_keyword_bid - Removed
ebay_update_location_details - Changed
ebay_update_negative_keyword4 fields changed- changed
Input schema / properties / negativeKeywordId / descriptionPrevious value: -"Negative Keyword ID"New value: +"negativeKeywordId required endpoint parameter" - removed
Input schema / properties / negativeKeywordStatusRemoved value: -{ - "description": "New status for the negative keyword (e.g. ACTIVE, ARCHIVED).", - "type": "string" -} - added
Input schema / properties / requestAdded value: +{ + "additionalProperties": false, + "description": "Update negative keyword request body", + "properties": { + "negativeKeywordStatus": { + "type": "string" + } + }, + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "negativeKeywordId", - "negativeKeywordStatus" -]New value: +[ + "negativeKeywordId", + "request" +]
- Changed
ebay_update_notification_config2 fields changed- added
Input schema / properties / alertEmailAdded value: +{ + "description": "Email address for Notification API alerts", + "format": "email", + "type": "string" +} - removed
Input schema / properties / alert_emailRemoved value: -{ - "description": "Email address for Notification API alerts", - "format": "email", - "type": "string" -}
- Changed
ebay_update_notification_destination5 fields changed- added
Input schema / properties / deliveryConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "endpoint": { + "description": "HTTPS endpoint URL", + "format": "uri", + "type": "string" + }, + "verificationToken": { + "description": "Verification token (32-80 alphanumeric, underscore, hyphen characters)", + "maxLength": 80, + "minLength": 32, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / delivery_configRemoved value: -{ - "additionalProperties": false, - "description": "Delivery configuration", - "properties": { - "endpoint": { - "description": "HTTPS endpoint URL", - "type": "string" - }, - "verification_token": { - "description": "Verification token (32-80 characters)", - "type": "string" - } - }, - "type": "object" -} - added
Input schema / properties / destinationIdAdded value: +{ + "description": "The unique identifier for the destination", + "type": "string" +} - removed
Input schema / properties / destination_idRemoved value: -{ - "description": "The unique identifier for the destination", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "destination_id" -]New value: +[ + "destinationId" +]
- Changed
ebay_update_notification_subscription10 fields changed- added
Input schema / properties / destinationIdAdded value: +{ + "description": "The unique identifier of the destination", + "type": "string" +} - removed
Input schema / properties / destination_idRemoved value: -{ - "description": "The destination endpoint ID", - "type": "string" -} - removed
Input schema / properties / payload / descriptionRemoved value: -"Payload configuration" - added
Input schema / properties / payload / properties / deliveryProtocolAdded value: +{ + "description": "Delivery protocol", + "type": "string" +} - removed
Input schema / properties / payload / properties / delivery_protocolRemoved value: -{ - "description": "Delivery protocol", - "type": "string" -} - added
Input schema / properties / payload / properties / schemaVersionAdded value: +{ + "description": "Schema version for the notification topic", + "type": "string" +} - removed
Input schema / properties / payload / properties / schema_versionRemoved value: -{ - "description": "Schema version", - "type": "string" -} - added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "The unique identifier for the subscription", + "type": "string" +} - removed
Input schema / properties / subscription_idRemoved value: -{ - "description": "The unique identifier for the subscription", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "subscription_id" -]New value: +[ + "subscriptionId" +]
- Removed
ebay_update_offer - Changed
ebay_update_payment_dispute_evidence7 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "description": "Generated updateEvidence request body", + "properties": { + "evidenceId": { + "description": "Evidence set ID to update", + "type": "string" + }, + "evidenceType": { + "description": "Evidence type, e.g. PROOF_OF_DELIVERY", + "type": "string" + }, + "files": { + "description": "Evidence files to attach", + "items": { + "additionalProperties": false, + "properties": { + "fileId": { + "description": "File ID from uploadEvidenceFile", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "lineItems": { + "description": "Line items this evidence covers", + "items": { + "additionalProperties": false, + "properties": { + "itemId": { + "description": "eBay item ID", + "type": "string" + }, + "lineItemId": { + "description": "Order line item ID", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - removed
Input schema / properties / evidenceIdRemoved value: -{ - "description": "The evidence ID to update", - "type": "string" -} - removed
Input schema / properties / evidenceTypeRemoved value: -{ - "description": "Updated evidence type", - "type": "string" -} - removed
Input schema / properties / filesRemoved value: -{ - "description": "Updated file IDs", - "items": { - "additionalProperties": false, - "properties": { - "fileId": { - "type": "string" - } - }, - "required": [ - "fileId" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / properties / lineItemsRemoved value: -{ - "description": "Updated line items", - "items": { - "additionalProperties": false, - "properties": { - "itemId": { - "type": "string" - }, - "lineItemId": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" -} - changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID"New value: +"The unique payment dispute ID" - changed
Input schema / requiredPrevious value: -[ - "paymentDisputeId", - "evidenceId" -]New value: +[ + "paymentDisputeId", + "body" +]
- Changed
ebay_update_payment_policy15 fields changed- changed
Input schema / properties / policy / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / categoryTypes / items / additionalPropertiesPrevious value: -trueNew value: +false - changed
Input schema / properties / policy / properties / deposit / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / policy / properties / deposit / properties / amountAdded value: +{ + "additionalProperties": false, + "properties": { + "currency": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / policy / properties / deposit / properties / depositAmountRemoved value: -{ - "additionalProperties": true, - "properties": { - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" -} - removed
Input schema / properties / policy / properties / deposit / properties / depositTypeRemoved value: -{ - "enum": [ - "PERCENTAGE", - "FIXED_AMOUNT" - ], - "type": "string" -} - changed
Input schema / properties / policy / properties / deposit / properties / dueIn / additionalPropertiesPrevious value: -trueNew value: +false - removed
Input schema / properties / policy / properties / deposit / properties / dueIn / requiredRemoved value: -[ - "unit", - "value" -] - added
Input schema / properties / policy / properties / deposit / properties / paymentMethodsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "brands": { + "items": { + "type": "string" + }, + "type": "array" + }, + "paymentMethodType": { + "type": "string" + }, + "recipientAccountReference": { + "additionalProperties": false, + "properties": { + "referenceId": { + "type": "string" + }, + "referenceType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / policy / properties / marketplaceId / enumAdded 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" +] - added
Input schema / properties / policy / properties / paymentMethods / items / $refAdded value: +"#/properties/policy/properties/deposit/properties/paymentMethods/items" - removed
Input schema / properties / policy / properties / paymentMethods / items / additionalPropertiesRemoved value: -true - removed
Input schema / properties / policy / properties / paymentMethods / items / propertiesRemoved value: -{ - "brands": { - "items": { - "type": "string" - }, - "type": "array" - }, - "paymentMethodType": { - "type": "string" - }, - "recipientAccountReference": { - "additionalProperties": true, - "properties": { - "referenceId": { - "type": "string" - }, - "referenceType": { - "type": "string" - } - }, - "type": "object" - } -} - removed
Input schema / properties / policy / properties / paymentMethods / items / requiredRemoved value: -[ - "paymentMethodType" -] - removed
Input schema / properties / policy / properties / paymentMethods / items / typeRemoved value: -"object"
- Removed
ebay_update_return_policy - Removed
ebay_update_targeting - Changed
ebay_upload_payment_dispute_evidence_file4 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": false, + "description": "Multipart-compatible file body to upload", + "properties": { + "data": { + "description": "Base64-encoded file data", + "type": "string" + }, + "filename": { + "description": "File name with extension", + "type": "string" + } + }, + "required": [ + "data", + "filename" + ], + "type": "object" +} - removed
Input schema / properties / fileRemoved value: -{ - "additionalProperties": false, - "description": "File to upload", - "properties": { - "data": { - "description": "Base64-encoded file data", - "type": "string" - }, - "filename": { - "description": "File name with extension", - "type": "string" - } - }, - "required": [ - "data", - "filename" - ], - "type": "object" -} - changed
Input schema / properties / paymentDisputeId / descriptionPrevious value: -"The payment dispute ID"New value: +"The unique payment dispute ID" - changed
Input schema / requiredPrevious value: -[ - "paymentDisputeId", - "file" -]New value: +[ + "paymentDisputeId", + "body" +]
- Changed
ebay_validate_token_expiry2 fields changed- changed
Input schema / properties / accessTokenExpiry / descriptionPrevious value: -"Access token expiry time. Can be ISO date string, Unix timestamp (seconds or milliseconds), or relative time"New value: +"Access token expiry as an ISO date string, Unix timestamp, or relative time" - changed
Input schema / properties / refreshTokenExpiry / descriptionPrevious value: -"Refresh token expiry time. Can be ISO date string, Unix timestamp (seconds or milliseconds), or relative time"New value: +"Refresh token expiry as an ISO date string, Unix timestamp, or relative time"
- Changed
ebay_withdraw_offer1 field changed- changed
Input schema / properties / offerId / descriptionPrevious value: -"The offer ID to withdraw"New value: +"The offer ID"
- Changed
ebay_withdraw_offer_by_inventory_item_group3 fields changed- added
Input schema / properties / bodyAdded value: +{ + "description": "Generated WithdrawByInventoryItemGroup body" +} - removed
Input schema / properties / requestRemoved value: -{ - "additionalProperties": true, - "description": "Withdraw request with inventory item group key and marketplace ID", - "properties": { - "inventoryItemGroupKey": { - "type": "string" - }, - "marketplaceId": { - "enum": [ - "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" - ], - "type": "string" - } - }, - "required": [ - "inventoryItemGroupKey", - "marketplaceId" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "request" -]New value: +[ + "body" +]
- Removed
fetch
50 tool updates
v1.12.0- Removed
ebay_bulk_create_ad_group_negative_keywords - Removed
ebay_bulk_create_campaign_negative_keywords - Changed
ebay_bulk_create_keywords2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywords" -]New value: +[ + "campaignId", + "adGroupId", + "keywords" +]
- Added
ebay_bulk_create_negative_keywords - Changed
ebay_bulk_create_or_replace_sales_tax5 fields changed- removed
Input schema / properties / requests / additionalPropertiesRemoved value: -true - added
Input schema / properties / requests / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "countryCode": { + "type": "string" + }, + "jurisdictionId": { + "type": "string" + }, + "salesTaxBase": { + "additionalProperties": true, + "properties": { + "salesTaxPercentage": { + "type": "string" + }, + "shippingAndHandlingTaxed": { + "type": "boolean" + } + }, + "required": [ + "salesTaxPercentage" + ], + "type": "object" + } + }, + "required": [ + "countryCode", + "jurisdictionId", + "salesTaxBase" + ], + "type": "object" +} - removed
Input schema / properties / requests / propertiesRemoved value: -{ - "requests": { - "items": { - "additionalProperties": true, - "properties": { - "countryCode": { - "type": "string" - }, - "jurisdictionId": { - "type": "string" - }, - "salesTaxBase": { - "additionalProperties": true, - "properties": { - "salesTaxPercentage": { - "type": "string" - }, - "shippingAndHandlingTaxed": { - "type": "boolean" - } - }, - "required": [ - "salesTaxPercentage" - ], - "type": "object" - } - }, - "required": [ - "countryCode", - "jurisdictionId", - "salesTaxBase" - ], - "type": "object" - }, - "type": "array" - } -} - removed
Input schema / properties / requests / requiredRemoved value: -[ - "requests" -] - changed
Input schema / properties / requests / typePrevious value: -"object"New value: +"array"
- Removed
ebay_bulk_delete_ad_group_negative_keywords - Removed
ebay_bulk_delete_campaign_negative_keywords - Changed
ebay_bulk_delete_keywords2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywords" -]New value: +[ + "campaignId", + "adGroupId", + "keywords" +]
- Removed
ebay_bulk_update_ad_group_negative_keywords - Removed
ebay_bulk_update_campaign_negative_keywords - Changed
ebay_bulk_update_conversation7 fields changed- changed
Input schema / properties / conversations / items / properties / conversation_id / descriptionPrevious value: -"The conversation ID"New value: +"The unique identifier of the conversation" - added
Input schema / properties / conversations / items / properties / conversation_statusAdded value: +{ + "description": "The updated status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", + "type": "string" +} - added
Input schema / properties / conversations / items / properties / conversation_typeAdded value: +{ + "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", + "type": "string" +} - removed
Input schema / properties / conversations / items / properties / flaggedRemoved value: -{ - "description": "Mark as flagged/unflagged", - "type": "boolean" -} - removed
Input schema / properties / conversations / items / properties / readRemoved value: -{ - "description": "Mark as read/unread", - "type": "boolean" -} - removed
Input schema / properties / conversations / items / requiredRemoved value: -[ - "conversation_id" -] - removed
Input schema / requiredRemoved value: -[ - "conversations" -]
- Changed
ebay_bulk_update_keyword_bids2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywords" -]New value: +[ + "campaignId", + "adGroupId", + "keywords" +]
- Added
ebay_bulk_update_negative_keywords - Changed
ebay_clone_ad2 fields changed- added
Input schema / properties / adAdded value: +{ + "additionalProperties": {}, + "description": "Ad configuration for the cloned ad", + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adId" -]New value: +[ + "campaignId", + "adId", + "ad" +]
- Changed
ebay_clone_ad_group2 fields changed- added
Input schema / properties / adGroupAdded value: +{ + "additionalProperties": {}, + "description": "Ad group configuration for the clone", + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId" -]New value: +[ + "campaignId", + "adGroupId", + "adGroup" +]
- Removed
ebay_create_ad_group_negative_keyword - Removed
ebay_create_campaign_negative_keyword - Changed
ebay_create_keyword2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keyword" -]New value: +[ + "campaignId", + "adGroupId", + "keyword" +]
- Added
ebay_create_negative_keyword - Changed
ebay_create_notification_destination5 fields changed- added
Input schema / properties / delivery_configAdded value: +{ + "additionalProperties": false, + "description": "Delivery configuration with endpoint and verification token", + "properties": { + "endpoint": { + "description": "HTTPS endpoint URL (no internal IPs or localhost)", + "format": "uri", + "type": "string" + }, + "verification_token": { + "description": "Verification token (32-80 alphanumeric, underscore, hyphen characters)", + "maxLength": 80, + "minLength": 32, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / destinationRemoved value: -{ - "additionalProperties": true, - "description": "Destination configuration", - "properties": { - "endpoint": { - "type": "string" - }, - "name": { - "type": "string" - }, - "verificationToken": { - "type": "string" - } - }, - "required": [ - "name", - "endpoint" - ], - "type": "object" -} - added
Input schema / properties / nameAdded value: +{ + "description": "Seller-specified name for the destination", + "type": "string" +} - added
Input schema / properties / statusAdded value: +{ + "description": "Status: ENABLED or DISABLED", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "destination" -]
- Removed
ebay_delete_ad_group_negative_keyword - Removed
ebay_delete_campaign_negative_keyword - Changed
ebay_delete_keyword2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywordId" -]New value: +[ + "campaignId", + "adGroupId", + "keywordId" +]
- Removed
ebay_get_ad_group_negative_keyword - Removed
ebay_get_ad_group_negative_keywords - Changed
ebay_get_ad_report9 fields changed- added
Input schema / properties / dimensionAdded value: +{ + "description": "Report dimension (e.g., CAMPAIGN, LISTING, KEYWORD)", + "type": "string" +} - added
Input schema / properties / listingIdsAdded value: +{ + "description": "Comma-separated listing IDs to filter by", + "type": "string" +} - added
Input schema / properties / marketplaceIdAdded value: +{ + "description": "Marketplace ID", + "enum": [ + "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" + ], + "type": "string" +} - added
Input schema / properties / metricAdded value: +{ + "description": "Comma-separated metrics to include (e.g., CLICKS,SALES)", + "type": "string" +} - added
Input schema / properties / reportEndDateAdded value: +{ + "description": "Report end date (ISO 8601 format)", + "type": "string" +} - removed
Input schema / properties / reportIdRemoved value: -{ - "description": "Report ID", - "type": "string" -} - added
Input schema / properties / reportStartDateAdded value: +{ + "description": "Report start date (ISO 8601 format)", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "Sort order for report rows", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "reportId" -]New value: +[ + "dimension", + "metric", + "reportStartDate", + "reportEndDate" +]
- Removed
ebay_get_campaign_negative_keyword - Removed
ebay_get_campaign_negative_keywords - Changed
ebay_get_conversation4 fields changed- added
Input schema / properties / conversation_typeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Maximum number of items to return (25-50)", + "type": "string" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Number of items to skip", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "conversation_id" -]New value: +[ + "conversation_id", + "conversation_type" +]
- Changed
ebay_get_conversations13 fields changed- added
Input schema / properties / conversation_statusAdded value: +{ + "description": "Filter by status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", + "type": "string" +} - added
Input schema / properties / conversation_typeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - added
Input schema / properties / end_timeAdded value: +{ + "description": "End time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - removed
Input schema / properties / filterRemoved value: -{ - "description": "Filter criteria for conversations", - "type": "string" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of conversations to return"New value: +"Maximum number of items to return (25-50)" - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"string" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of conversations to skip"New value: +"Number of items to skip" - changed
Input schema / properties / offset / typePrevious value: -"number"New value: +"string" - added
Input schema / properties / other_party_usernameAdded value: +{ + "description": "Filter by specific eBay user", + "type": "string" +} - added
Input schema / properties / reference_idAdded value: +{ + "description": "Filter by reference ID (e.g., listing ID)", + "type": "string" +} - added
Input schema / properties / reference_typeAdded value: +{ + "description": "Reference type (currently only LISTING is supported)", + "type": "string" +} - added
Input schema / properties / start_timeAdded value: +{ + "description": "Start time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "conversation_type" +]
- Changed
ebay_get_keyword2 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywordId" -]New value: +[ + "campaignId", + "adGroupId", + "keywordId" +]
- Changed
ebay_get_keywords3 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad group ID to filter by", + "type": "string" +} - removed
Input schema / properties / adGroupIdsRemoved value: -{ - "description": "Comma-separated ad group IDs to filter by", - "type": "string" -} - added
Input schema / properties / keywordStatusAdded value: +{ + "description": "Filter by keyword status: ACTIVE, PAUSED, or ARCHIVED", + "type": "string" +}
- Changed
ebay_get_message6 fields changed- added
Input schema / properties / conversation_idAdded value: +{ + "description": "The unique identifier for the conversation", + "type": "string" +} - added
Input schema / properties / conversation_typeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Maximum number of items to return (25-50)", + "type": "string" +} - removed
Input schema / properties / messageIdRemoved value: -{ - "description": "The message ID", - "type": "string" -} - added
Input schema / properties / offsetAdded value: +{ + "description": "Number of items to skip", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "messageId" -]New value: +[ + "conversation_id", + "conversation_type" +]
- Added
ebay_get_negative_keyword - Added
ebay_get_negative_keywords - Changed
ebay_get_offers_to_buyers5 fields changed- changed
Input schema / properties / filter / descriptionPrevious value: -"Filter criteria for offers"New value: +"Filter criteria for the query" - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of offers to return"New value: +"Maximum number of items to return (1-200)" - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"string" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of offers to skip"New value: +"Number of items to skip" - changed
Input schema / properties / offset / typePrevious value: -"number"New value: +"string"
- Changed
ebay_leave_feedback_for_buyer9 fields changed- added
Input schema / properties / comment_textAdded value: +{ + "description": "The feedback comment text (max 500 characters)", + "maxLength": 500, + "type": "string" +} - added
Input schema / properties / comment_typeAdded value: +{ + "description": "Overall rating: POSITIVE, NEUTRAL, or NEGATIVE", + "type": "string" +} - removed
Input schema / properties / feedbackDataRemoved value: -{ - "additionalProperties": true, - "description": "Feedback details including rating and comment", - "properties": { - "feedbackText": { - "type": "string" - }, - "orderLineItemId": { - "type": "string" - }, - "rating": { - "enum": [ - "POSITIVE", - "NEUTRAL", - "NEGATIVE" - ], - "type": "string" - } - }, - "required": [ - "orderLineItemId", - "rating" - ], - "type": "object" -} - added
Input schema / properties / imagesAdded value: +{ + "description": "Array of up to 5 images", + "items": { + "additionalProperties": false, + "properties": { + "url": { + "description": "URL of the image", + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 5, + "type": "array" +} - added
Input schema / properties / listing_idAdded value: +{ + "description": "The listing ID related to the transaction", + "type": "string" +} - added
Input schema / properties / order_line_item_idAdded value: +{ + "description": "The unique identifier of the line item", + "type": "string" +} - added
Input schema / properties / seller_ratingsAdded value: +{ + "description": "Array of seller performance ratings", + "items": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Rating category (e.g., ON_TIME_DELIVERY, ITEM_AS_DESCRIBED)", + "type": "string" + }, + "value": { + "description": "Rating value (1-5)", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / transaction_idAdded value: +{ + "description": "The unique identifier of the transaction", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "feedbackData" -]
- Changed
ebay_search_messages13 fields changed- added
Input schema / properties / conversation_statusAdded value: +{ + "description": "Filter by status: ACTIVE, ARCHIVE, DELETE, READ, UNREAD", + "type": "string" +} - added
Input schema / properties / conversation_typeAdded value: +{ + "description": "Type of conversation: FROM_EBAY or FROM_MEMBERS", + "type": "string" +} - added
Input schema / properties / end_timeAdded value: +{ + "description": "End time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - removed
Input schema / properties / filterRemoved value: -{ - "description": "Filter criteria for messages", - "type": "string" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of messages to return"New value: +"Maximum number of items to return (25-50)" - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"string" - changed
Input schema / properties / offset / descriptionPrevious value: -"Number of messages to skip"New value: +"Number of items to skip" - changed
Input schema / properties / offset / typePrevious value: -"number"New value: +"string" - added
Input schema / properties / other_party_usernameAdded value: +{ + "description": "Filter by specific eBay user", + "type": "string" +} - added
Input schema / properties / reference_idAdded value: +{ + "description": "Filter by reference ID (e.g., listing ID)", + "type": "string" +} - added
Input schema / properties / reference_typeAdded value: +{ + "description": "Reference type (currently only LISTING is supported)", + "type": "string" +} - added
Input schema / properties / start_timeAdded value: +{ + "description": "Start time for retrieving conversations (ISO 8601 format)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "conversation_type" +]
- Changed
ebay_send_message8 fields changed- added
Input schema / properties / conversation_idAdded value: +{ + "description": "ID of existing conversation (required if sending in existing conversation)", + "type": "string" +} - added
Input schema / properties / email_copy_to_senderAdded value: +{ + "description": "Whether to email a copy to the sender", + "type": "boolean" +} - removed
Input schema / properties / messageDataRemoved value: -{ - "additionalProperties": false, - "description": "Message details including recipient and content. Must include messageText (required), and either conversationId (for replies) OR otherPartyUsername (for new messages).", - "properties": { - "conversationId": { - "description": "Optional conversation ID to reply to an existing thread. Use getConversations to retrieve conversation IDs. Required if replying to existing conversation.", - "type": "string" - }, - "emailCopyToSender": { - "description": "If true, a copy of the message will be emailed to the sender.", - "type": "boolean" - }, - "messageMedia": { - "description": "Optional array of media attachments (max 5 per message)", - "items": { - "additionalProperties": false, - "properties": { - "mediaType": { - "description": "MIME type of the media (e.g., \"image/jpeg\")", - "type": "string" - }, - "mediaUrl": { - "description": "URL of the media to attach", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "messageText": { - "description": "REQUIRED. The text of the message to send (max 2000 characters).", - "type": "string" - }, - "otherPartyUsername": { - "description": "eBay username of the other party (buyer or seller). Required when starting a new conversation.", - "type": "string" - }, - "reference": { - "additionalProperties": false, - "description": "Optional reference to associate message with a listing or order.", - "properties": { - "referenceId": { - "description": "The ID of the listing or order to reference (e.g., item ID or order ID)", - "type": "string" - }, - "referenceType": { - "description": "Type of reference. Valid values: \"LISTING\" (for item listings) or \"ORDER\" (for orders)", - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "messageText" - ], - "type": "object" -} - added
Input schema / properties / message_mediaAdded value: +{ + "description": "Array of up to 5 media attachments", + "items": { + "additionalProperties": false, + "properties": { + "media_name": { + "description": "Name of the media", + "type": "string" + }, + "media_type": { + "description": "Type of media: IMAGE, PDF, DOC, TXT", + "type": "string" + }, + "media_url": { + "description": "HTTPS URL of the self-hosted media", + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 5, + "type": "array" +} - added
Input schema / properties / message_textAdded value: +{ + "description": "The text of the message (max 2000 characters)", + "maxLength": 2000, + "type": "string" +} - added
Input schema / properties / other_party_usernameAdded value: +{ + "description": "eBay username to send message to (required for new conversations)", + "type": "string" +} - added
Input schema / properties / referenceAdded value: +{ + "additionalProperties": false, + "description": "Reference to associate with the conversation", + "properties": { + "reference_id": { + "description": "The reference ID (e.g., item ID for LISTING)", + "type": "string" + }, + "reference_type": { + "description": "The reference type (currently only LISTING is supported)", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / requiredRemoved value: -[ - "messageData" -]
- Changed
ebay_send_offer_to_interested_buyers8 fields changed- added
Input schema / properties / allow_counter_offerAdded value: +{ + "description": "Whether to allow counter-offers (currently must be false)", + "type": "boolean" +} - added
Input schema / properties / marketplace_idAdded value: +{ + "description": "The eBay marketplace ID (X-EBAY-C-MARKETPLACE-ID header)", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Seller-defined message to buyers (max 2000 characters)", + "maxLength": 2000, + "type": "string" +} - removed
Input schema / properties / offerDataRemoved value: -{ - "additionalProperties": true, - "description": "Offer details to send to buyers", - "properties": { - "allowCounterOffer": { - "type": "boolean" - }, - "message": { - "type": "string" - }, - "offeredItems": { - "items": { - "additionalProperties": true, - "properties": { - "availableQuantity": { - "type": "number" - }, - "offerId": { - "type": "string" - }, - "price": { - "additionalProperties": true, - "properties": { - "currency": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / properties / offerIdRemoved value: -{ - "description": "The offer ID", - "type": "string" -} - added
Input schema / properties / offer_durationAdded value: +{ + "additionalProperties": false, + "description": "Duration the offer is valid (default: 2 days)", + "properties": { + "unit": { + "description": "Time unit (currently must be DAY)", + "type": "string" + }, + "value": { + "description": "Duration value (currently must be 2)", + "type": "integer" + } + }, + "type": "object" +} - added
Input schema / properties / offered_itemsAdded value: +{ + "description": "Array of items to offer (currently limited to one item)", + "items": { + "additionalProperties": false, + "properties": { + "discount_percentage": { + "description": "Percentage discount (minimum 5)", + "type": "string" + }, + "listing_id": { + "description": "The unique eBay listing ID", + "type": "string" + }, + "price": { + "additionalProperties": false, + "description": "The discounted price", + "properties": { + "currency": { + "description": "3-letter ISO 4217 currency code", + "type": "string" + }, + "value": { + "description": "The monetary amount", + "type": "string" + } + }, + "type": "object" + }, + "quantity": { + "description": "Number of items (all-or-nothing offer)", + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" +} - removed
Input schema / requiredRemoved value: -[ - "offerId", - "offerData" -]
- Changed
ebay_suggest_keywords1 field changed- added
Input schema / properties / suggestionAdded value: +{ + "additionalProperties": {}, + "description": "Optional keyword suggestion request payload", + "type": "object" +}
- Changed
ebay_update_ad_bid3 fields changed- added
Input schema / properties / bidDataAdded value: +{ + "additionalProperties": false, + "description": "Bid update payload", + "properties": { + "bidPercentage": { + "description": "New bid percentage (e.g., \"10.5\")", + "type": "string" + } + }, + "required": [ + "bidPercentage" + ], + "type": "object" +} - removed
Input schema / properties / bidPercentageRemoved value: -{ - "description": "New bid percentage (e.g., \"10.5\")", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adId", - "bidPercentage" -]New value: +[ + "campaignId", + "adId", + "bidData" +]
- Changed
ebay_update_ad_group_bids3 fields changed- added
Input schema / properties / bidsDataAdded value: +{ + "additionalProperties": false, + "description": "Bid update data", + "properties": { + "defaultBid": { + "additionalProperties": false, + "description": "New default bid", + "properties": { + "amount": { + "description": "New default bid amount", + "type": "string" + }, + "currency": { + "description": "Currency code", + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + } + }, + "required": [ + "defaultBid" + ], + "type": "object" +} - removed
Input schema / properties / updateDataRemoved value: -{ - "additionalProperties": false, - "description": "Bid update data", - "properties": { - "defaultBid": { - "additionalProperties": false, - "description": "New default bid", - "properties": { - "amount": { - "description": "New default bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - } - }, - "required": [ - "defaultBid" - ], - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId", - "updateData" -]New value: +[ + "campaignId", + "adGroupId", + "bidsData" +]
- Changed
ebay_update_ad_group_keywords3 fields changed- added
Input schema / properties / keywordsDataAdded value: +{ + "additionalProperties": {}, + "description": "Keyword update data", + "type": "object" +} - removed
Input schema / properties / updateDataRemoved value: -{ - "additionalProperties": {}, - "description": "Keyword update data", - "type": "object" -} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "adGroupId", - "updateData" -]New value: +[ + "campaignId", + "adGroupId", + "keywordsData" +]
- Removed
ebay_update_ad_group_negative_keyword - Removed
ebay_update_campaign_negative_keyword - Changed
ebay_update_conversation6 fields changed- changed
Input schema / properties / conversation_id / descriptionPrevious value: -"The conversation ID"New value: +"The unique identifier of the conversation" - added
Input schema / properties / conversation_statusAdded value: +{ + "description": "The updated status: ACTIVE, ARCHIVE, DELETE", + "type": "string" +} - added
Input schema / properties / conversation_typeAdded value: +{ + "description": "The existing type: FROM_MEMBERS or FROM_EBAY (required but cannot be updated)", + "type": "string" +} - removed
Input schema / properties / flaggedRemoved value: -{ - "description": "Mark as flagged/unflagged", - "type": "boolean" -} - changed
Input schema / properties / read / descriptionPrevious value: -"Mark as read/unread"New value: +"The read status to set (true = read, false = unread)" - removed
Input schema / requiredRemoved value: -[ - "conversation_id" -]
- Changed
ebay_update_keyword_bid4 fields changed- added
Input schema / properties / adGroupIdAdded value: +{ + "description": "Ad Group ID", + "type": "string" +} - removed
Input schema / properties / bidRemoved value: -{ - "additionalProperties": false, - "description": "New bid", - "properties": { - "amount": { - "description": "New bid amount", - "type": "string" - }, - "currency": { - "description": "Currency code", - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" -} - added
Input schema / properties / bidDataAdded value: +{ + "additionalProperties": false, + "description": "New bid", + "properties": { + "amount": { + "description": "New bid amount", + "type": "string" + }, + "currency": { + "description": "Currency code", + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" +} - changed
Input schema / requiredPrevious value: -[ - "campaignId", - "keywordId", - "bid" -]New value: +[ + "campaignId", + "adGroupId", + "keywordId", + "bidData" +]
- Added
ebay_update_negative_keyword - Changed
ebay_update_notification_config3 fields changed- added
Input schema / properties / alert_emailAdded value: +{ + "description": "Email address for Notification API alerts", + "format": "email", + "type": "string" +} - removed
Input schema / properties / configRemoved value: -{ - "additionalProperties": true, - "description": "Notification configuration settings", - "properties": { - "deliveryConfigs": { - "items": { - "additionalProperties": true, - "properties": { - "endpoint": { - "type": "string" - }, - "format": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / requiredRemoved value: -[ - "config" -]
332 tool updates
v1.8.10- First observed
ebay_accept_payment_dispute - First observed
ebay_add_payment_dispute_evidence - First observed
ebay_bulk_cancel_packages - First observed
ebay_bulk_confirm_packages - First observed
ebay_bulk_create_ad_group_negative_keywords - First observed
ebay_bulk_create_ads_by_inventory_reference - First observed
ebay_bulk_create_ads_by_listing_id - First observed
ebay_bulk_create_campaign_keyword - First observed
ebay_bulk_create_campaign_negative_keywords - First observed
ebay_bulk_create_keywords - First observed
ebay_bulk_create_offer - First observed
ebay_bulk_create_or_replace_inventory_item - First observed
ebay_bulk_create_or_replace_sales_tax - First observed
ebay_bulk_delete_ad_group_negative_keywords - First observed
ebay_bulk_delete_ads_by_inventory_reference - First observed
ebay_bulk_delete_ads_by_listing_id - First observed
ebay_bulk_delete_campaign_negative_keywords - First observed
ebay_bulk_delete_keywords - First observed
ebay_bulk_delete_packages - First observed
ebay_bulk_get_inventory_item - First observed
ebay_bulk_migrate_listing - First observed
ebay_bulk_publish_offer - First observed
ebay_bulk_update_ad_group_negative_keywords - First observed
ebay_bulk_update_ads_bid_by_inventory_reference - First observed
ebay_bulk_update_ads_bid_by_listing_id - First observed
ebay_bulk_update_ads_status - First observed
ebay_bulk_update_ads_status_by_listing_id - First observed
ebay_bulk_update_campaign_keyword - First observed
ebay_bulk_update_campaign_negative_keywords - First observed
ebay_bulk_update_conversation - First observed
ebay_bulk_update_keyword_bids - First observed
ebay_bulk_update_price_quantity - First observed
ebay_cancel_bundle - First observed
ebay_cancel_package - First observed
ebay_clear_tokens - First observed
ebay_clone_ad - First observed
ebay_clone_ad_group - First observed
ebay_clone_campaign - First observed
ebay_clone_package - First observed
ebay_confirm_package - First observed
ebay_contest_payment_dispute - First observed
ebay_convert_date_to_timestamp - First observed
ebay_create_ad - First observed
ebay_create_ad_group - First observed
ebay_create_ad_group_negative_keyword - First observed
ebay_create_address_preference - First observed
ebay_create_ads_by_inventory_reference - First observed
ebay_create_bundle - First observed
ebay_create_campaign - First observed
ebay_create_campaign_negative_keyword - First observed
ebay_create_complaint - First observed
ebay_create_consign_preference - First observed
ebay_create_custom_policy - First observed
ebay_create_email_campaign - First observed
ebay_create_fulfillment_policy - First observed
ebay_create_inventory_item - First observed
ebay_create_item_price_markdown_promotion - First observed
ebay_create_item_promotion - First observed
ebay_create_keyword - First observed
ebay_create_listing - First observed
ebay_create_notification_destination - First observed
ebay_create_notification_subscription - First observed
ebay_create_notification_subscription_filter - First observed
ebay_create_offer - First observed
ebay_create_or_replace_inventory_item_group - First observed
ebay_create_or_replace_inventory_location - First observed
ebay_create_or_replace_product_compatibility - First observed
ebay_create_or_replace_sales_tax - First observed
ebay_create_or_replace_sku_location_mapping - First observed
ebay_create_package - First observed
ebay_create_payment_policy - First observed
ebay_create_report_task - First observed
ebay_create_return_policy - First observed
ebay_create_shipping_fulfillment - First observed
ebay_create_shipping_quote - First observed
ebay_create_signing_key - First observed
ebay_create_targeting - First observed
ebay_create_vero_report - First observed
ebay_delete_ad - First observed
ebay_delete_ad_group_negative_keyword - First observed
ebay_delete_ads_by_inventory_reference - First observed
ebay_delete_campaign - First observed
ebay_delete_campaign_negative_keyword - First observed
ebay_delete_custom_policy - First observed
ebay_delete_email_campaign - First observed
ebay_delete_fulfillment_policy - First observed
ebay_delete_inventory_item - First observed
ebay_delete_inventory_item_group - First observed
ebay_delete_inventory_location - First observed
ebay_delete_item_price_markdown_promotion - First observed
ebay_delete_item_promotion - First observed
ebay_delete_keyword - First observed
ebay_delete_notification_destination - First observed
ebay_delete_notification_subscription - First observed
ebay_delete_notification_subscription_filter - First observed
ebay_delete_offer - First observed
ebay_delete_package - First observed
ebay_delete_payment_policy - First observed
ebay_delete_product_compatibility - First observed
ebay_delete_report_task - First observed
ebay_delete_return_policy - First observed
ebay_delete_sales_tax - First observed
ebay_delete_sku_location_mapping - First observed
ebay_disable_inventory_location - First observed
ebay_disable_notification_subscription - First observed
ebay_display_credentials - First observed
ebay_enable_inventory_location - First observed
ebay_enable_notification_subscription - First observed
ebay_end_campaign - First observed
ebay_end_listing - First observed
ebay_exchange_authorization_code - First observed
ebay_fetch_payment_dispute_evidence_content - First observed
ebay_find_campaign_by_ad_reference - First observed
ebay_find_listing_recommendations - First observed
ebay_find_seller_standards_profiles - First observed
ebay_get_active_listings - First observed
ebay_get_actual_costs - First observed
ebay_get_ad - First observed
ebay_get_ad_group - First observed
ebay_get_ad_group_negative_keyword - First observed
ebay_get_ad_group_negative_keywords - First observed
ebay_get_ad_groups - First observed
ebay_get_ad_report - First observed
ebay_get_ad_report_metadata - First observed
ebay_get_ad_report_metadata_for_type - First observed
ebay_get_address_preferences - First observed
ebay_get_ads - First observed
ebay_get_ads_by_inventory_reference - First observed
ebay_get_ads_by_listing_id - First observed
ebay_get_advertising_eligibility - First observed
ebay_get_agents - First observed
ebay_get_api_status - First observed
ebay_get_automotive_parts_compatibility_policies - First observed
ebay_get_awaiting_feedback - First observed
ebay_get_battery_qualifications - First observed
ebay_get_bundle - First observed
ebay_get_bundle_label - First observed
ebay_get_campaign - First observed
ebay_get_campaign_by_name - First observed
ebay_get_campaign_negative_keyword - First observed
ebay_get_campaign_negative_keywords - First observed
ebay_get_campaigns - First observed
ebay_get_category_policies - First observed
ebay_get_category_suggestions - First observed
ebay_get_category_tree - First observed
ebay_get_classified_ad_policies - First observed
ebay_get_compatibilities_by_specification - First observed
ebay_get_compatibility_property_names - First observed
ebay_get_compatibility_property_values - First observed
ebay_get_consign_preferences - First observed
ebay_get_conversation - First observed
ebay_get_conversations - First observed
ebay_get_currencies - First observed
ebay_get_custom_policies - First observed
ebay_get_custom_policy - First observed
ebay_get_customer_service_metric - First observed
ebay_get_default_category_tree_id - First observed
ebay_get_dropoff_sites - First observed
ebay_get_email_audiences - First observed
ebay_get_email_campaign - First observed
ebay_get_email_campaigns - First observed
ebay_get_email_preview - First observed
ebay_get_email_report - First observed
ebay_get_extended_producer_responsibility_policies - First observed
ebay_get_feedback - First observed
ebay_get_feedback_rating_summary - First observed
ebay_get_feedback_summary - First observed
ebay_get_fulfillment_policies - First observed
ebay_get_fulfillment_policy - First observed
ebay_get_fulfillment_policy_by_name - First observed
ebay_get_handover_sheet - First observed
ebay_get_hazardous_materials_labels - First observed
ebay_get_inventory_item - First observed
ebay_get_inventory_item_group - First observed
ebay_get_inventory_items - First observed
ebay_get_inventory_location - First observed
ebay_get_inventory_locations - First observed
ebay_get_item_aspects_for_category - First observed
ebay_get_item_condition_policies - First observed
ebay_get_item_price_markdown_promotion - First observed
ebay_get_item_promotion - First observed
ebay_get_keyword - First observed
ebay_get_keywords - First observed
ebay_get_kyc - First observed
ebay_get_labels - First observed
ebay_get_listing - First observed
ebay_get_listing_fees - First observed
ebay_get_listing_locations - First observed
ebay_get_listing_set - First observed
ebay_get_listing_structure_policies - First observed
ebay_get_listing_type_policies - First observed
ebay_get_listing_violations - First observed
ebay_get_listing_violations_summary - First observed
ebay_get_message - First observed
ebay_get_motors_listing_policies - First observed
ebay_get_multi_compatibility_property_values - First observed
ebay_get_negotiated_price_policies - First observed
ebay_get_notification_config - First observed
ebay_get_notification_destination - First observed
ebay_get_notification_destinations - First observed
ebay_get_notification_public_key - First observed
ebay_get_notification_subscription - First observed
ebay_get_notification_subscription_filter - First observed
ebay_get_notification_subscriptions - First observed
ebay_get_notification_topic - First observed
ebay_get_notification_topics - First observed
ebay_get_oauth_url - First observed
ebay_get_offer - First observed
ebay_get_offers - First observed
ebay_get_offers_to_buyers - First observed
ebay_get_opted_in_programs - First observed
ebay_get_order - First observed
ebay_get_orders - First observed
ebay_get_package - First observed
ebay_get_package_by_order_line_item - First observed
ebay_get_payment_dispute - First observed
ebay_get_payment_dispute_activities - First observed
ebay_get_payment_dispute_summaries - First observed
ebay_get_payment_policies - First observed
ebay_get_payment_policy - First observed
ebay_get_payment_policy_by_name - First observed
ebay_get_payments_program - First observed
ebay_get_payments_program_onboarding - First observed
ebay_get_payments_program_status - First observed
ebay_get_privileges - First observed
ebay_get_product_compatibilities - First observed
ebay_get_product_compatibility - First observed
ebay_get_product_safety_labels - First observed
ebay_get_promotion_report - First observed
ebay_get_promotion_summary_report - First observed
ebay_get_promotions - First observed
ebay_get_rate_limits - First observed
ebay_get_rate_tables - First observed
ebay_get_regulatory_policies - First observed
ebay_get_report - First observed
ebay_get_report_task - First observed
ebay_get_report_tasks - First observed
ebay_get_return_policies - First observed
ebay_get_return_policy - First observed
ebay_get_return_policy_by_name - First observed
ebay_get_return_policy_metadata - First observed
ebay_get_sales_tax - First observed
ebay_get_sales_tax_jurisdictions - First observed
ebay_get_sales_taxes - First observed
ebay_get_seller_standards_profile - First observed
ebay_get_shipping_cost_type_policies - First observed
ebay_get_shipping_fulfillment - First observed
ebay_get_shipping_fulfillments - First observed
ebay_get_shipping_policies - First observed
ebay_get_shipping_quote - First observed
ebay_get_shipping_services - First observed
ebay_get_signing_key - First observed
ebay_get_signing_keys - First observed
ebay_get_site_visibility_policies - First observed
ebay_get_subscription - First observed
ebay_get_targeting - First observed
ebay_get_token_status - First observed
ebay_get_tracking - First observed
ebay_get_traffic_report - First observed
ebay_get_user - First observed
ebay_get_user_rate_limits - First observed
ebay_get_vero_reason_code - First observed
ebay_get_vero_reason_codes - First observed
ebay_get_vero_report - First observed
ebay_get_vero_report_items - First observed
ebay_issue_refund - First observed
ebay_launch_campaign - First observed
ebay_leave_feedback_for_buyer - First observed
ebay_opt_in_to_payments_program - First observed
ebay_opt_in_to_program - First observed
ebay_opt_out_of_program - First observed
ebay_pause_campaign - First observed
ebay_pause_item_promotion - First observed
ebay_pause_promotion - First observed
ebay_publish_offer - First observed
ebay_publish_offer_by_inventory_item_group - First observed
ebay_refresh_access_token - First observed
ebay_register_client - First observed
ebay_relist_item - First observed
ebay_reply_to_message - First observed
ebay_respond_to_feedback - First observed
ebay_resume_campaign - First observed
ebay_resume_item_promotion - First observed
ebay_resume_promotion - First observed
ebay_revise_listing - First observed
ebay_search_messages - First observed
ebay_send_message - First observed
ebay_send_offer_to_interested_buyers - First observed
ebay_set_user_tokens - First observed
ebay_set_user_tokens_with_expiry - First observed
ebay_setup_quick_campaign - First observed
ebay_suggest_bids - First observed
ebay_suggest_budget - First observed
ebay_suggest_items - First observed
ebay_suggest_keywords - First observed
ebay_suggest_max_cpc - First observed
ebay_suppress_violation - First observed
ebay_test_notification_subscription - First observed
ebay_translate - First observed
ebay_update_ad_bid - First observed
ebay_update_ad_group - First observed
ebay_update_ad_group_bids - First observed
ebay_update_ad_group_keywords - First observed
ebay_update_ad_group_negative_keyword - First observed
ebay_update_ad_rate_strategy - First observed
ebay_update_bidding_strategy - First observed
ebay_update_campaign_budget - First observed
ebay_update_campaign_identification - First observed
ebay_update_campaign_negative_keyword - First observed
ebay_update_conversation - First observed
ebay_update_custom_policy - First observed
ebay_update_email_campaign - First observed
ebay_update_fulfillment_policy - First observed
ebay_update_item_price_markdown_promotion - First observed
ebay_update_item_promotion - First observed
ebay_update_keyword - First observed
ebay_update_keyword_bid - First observed
ebay_update_location_details - First observed
ebay_update_notification_config - First observed
ebay_update_notification_destination - First observed
ebay_update_notification_subscription - First observed
ebay_update_offer - First observed
ebay_update_payment_dispute_evidence - First observed
ebay_update_payment_policy - First observed
ebay_update_return_policy - First observed
ebay_update_targeting - First observed
ebay_upload_payment_dispute_evidence_file - First observed
ebay_validate_token_expiry - First observed
ebay_withdraw_offer - First observed
ebay_withdraw_offer_by_inventory_item_group - First observed
fetch - First observed
search
TDQS
Scored across 384 tools
With 384 tools spanning dozens of eBay APIs, there are many overlapping tool families: two parallel listing models (Trading `ebay_create_listing`/`ebay_revise_listing` vs Inventory `ebay_create_offer`/`ebay_publish_offer`), multiple search entry points (`search`, `fetch`, `ebay_find_active_items`, `ebay_find_completed_items`), and near-duplicate Marketing sets (`ebay_create_ad` vs `ebay_create_ads_by_inventory_reference` vs `ebay_create_ad_by_listing_id`, plus bulk variants). The unprefixed `search`/`fetch` tools are particularly hard to place against the `ebay_*` surface. Descriptions do name the underlying API, which helps, but the boundaries between sibling tools remain genuinely blurry at this scale.
The overwhelming majority of tools follow a consistent `ebay_<verb>_<noun>` snake_case convention (get/create/update/delete/bulk_*), which is highly predictable. The main deviations are the two unprefixed tools (`search`, `fetch`) and occasional awkward ordering/pluralization (`ebay_bulk_create_ads_by_listing_id`, `ebay_create_ad_by_listing_id`, `ebay_setup_quick_campaign`). These are minor relative to the overall pattern.
384 tools is an extreme mismatch for any coherent toolset, far beyond the 3-15 sweet spot. Even granting that eBay exposes a vast public API surface, this is essentially a one-to-one wrapper of hundreds of endpoints, making selection and maintenance impractical for an agent.
Coverage is exceptionally broad across sell, buy, marketing, finances, feeds, stores, media, metadata, notifications, feedback, and VERO domains, so almost no workflow dead-ends exist. The deduction is for dead or deprecated entries (`ebay_get_listing_violations` and `_summary` are decommissioned and always fail, payments-program tools are marked deprecated) and a few threadbare singular/plural pairs that leave minor gaps.
Maintenance
Related MCP Connectors
Run an eBay seller account from your AI assistant: orders, listings, stock, fees and payouts.
Run storefronts, listings, orders, content, fulfillment, and analytics through AI.
AI marketplace: search, buy, sell across Amazon, eBay, AliExpress. 13 tools.
Directory of APIs, merchants, and tools AI agents can actually use.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search eBay listings, track item prices over time, and identify deals below market value using eBay's APIs. It provides tools for category browsing and retrieving detailed information for specific listings.1MIT
- AlicenseCqualityDmaintenanceA comprehensive MCP server providing AI assistants with 325 tools to manage eBay inventory, orders, marketing, and analytics via eBay's Sell APIs.100918 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables eBay sellers to manage inventory, view orders, handle messages, and browse listings through AI assistants using eBay seller APIs.-
- AlicenseNot gradedqualityAmaintenanceAn MCP server providing AI assistants comprehensive access to eBay's Sell APIs for inventory management, order fulfillment, marketing, analytics, and more, with hosted multi-user and local modes.48 npm5MIT