Skip to main content
Glama

get_marketplace_item_history

Read-onlyIdempotent

Get ONE listing item's action-log timeline — the sequence of events that acted on the product and its Koongo/channel state at each point, so you can explain WHY an item ended in its current state (e.g. it was created, changed, validated, pre-paired, submitted, rescheduled, removed, locked). Use this to see what happened to one marketplace listing over time. Returns {itemId, returned, entries:[{createdAt, event, eventLabel, message, messageLabel, operation, operationLabel, koongoStatus, channelStatus}]} newest first. eventLabel/messageLabel/operationLabel are the human-readable rendering the Koongo UI shows (event name, plain-language explanation, operation title); event/message/ operation are the raw codes. Entries are process metadata only (no raw product values). item_id is the itemId from list_marketplace_items (the same id get_marketplace_item_report uses). Pair this with get_marketplace_item_report (current errors) to diagnose a failing product. marketplace_id is the integrationId from list_marketplaces. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "marketplace_id": "<marketplace_id>",
      "item_id": "<item_id>"
    },
    "name": "get_marketplace_item_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax timeline entries to return (default 20, max 50).
item_idYesThe listing itemId (from list_marketplace_items).
project_idNo
marketplace_idYesintegrationId of the marketplace (from list_marketplaces).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial behavior: results are newest-first, entries are process metadata only (no raw product values), and it documents the conditional project_id inference rule. The field-by-field return contract and the raw-code vs. human-label distinction go well beyond what the annotations convey.

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

Conciseness4/5

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

Purpose is front-loaded and the paragraph flows purpose → return shape → field semantics → parameter sourcing, with no filler sentences. There is mild redundancy between 'so you can explain WHY an item ended in its current state' and 'Use this to see what happened to one marketplace listing over time,' and the dense run-on style makes it slightly harder to scan than it needs to be.

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

Completeness5/5

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

With no output schema, the description carries the full return contract and does so: it names every entry field (createdAt, event, message, operation, koongoStatus, channelStatus plus label variants), states ordering, and clarifies that labels are UI renderings while raw codes are the underlying values. Combined with the parameter provenance and sibling pairing, 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.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, but the description compensates for the undocumented project_id by explaining it is OPTIONAL, inferred for single-project customers, and triggers project_id_required otherwise. It also pins the provenance of item_id (from list_marketplace_items, same id used by get_marketplace_item_report) and marketplace_id (integrationId from list_marketplaces), which is meaning the schema does not carry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and resource — 'Get ONE listing item's action-log timeline' — and immediately bounds the scope ('ONE listing item') so it cannot be confused with list-level siblings. It enumerates the event types captured (created, changed, validated, pre-paired, submitted, rescheduled, removed, locked), which makes the tool's domain unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the diagnostic use case explicitly ('explain WHY an item ended in its current state', 'see what happened to one marketplace listing over time') and names the complementary sibling with its distinct role: get_marketplace_item_report for current errors vs. this tool for the timeline. It also gives the fallback path for project_id (inferred, or call list_projects when project_id_required).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources