Skip to main content
Glama
cotletdev

Pirate Ship MCP Server

Export report

export_report
Read-onlyIdempotent

Export a CSV of transactions, refunds, receipts, return labels or carrier adjustments for an optional date range and search. Returns a link; no matching rows yield empty true.

Instructions

A CSV of the transactions, refunds, receipts, return labels or carrier adjustments report.

Builds the same spreadsheet as the Export button of the chosen Reports table, with every column of the matching list_ tool, for an optional date range and search. Returns a link to the CSV; no matching rows return empty true and no link. Shipments have their own tool, export_shipments.

Input Schema

NameRequiredDescriptionDefault
sortNonewest
reportYes
searchNoFree text, as in the report's search box.
to_dateNoLast day, YYYY-MM-DD, included.
from_dateNoFirst day, YYYY-MM-DD, in your timezone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already carry readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely new behavior: it returns a link to a CSV, and when no rows match it returns empty=true with no link — a non-obvious outcome the agent would otherwise be surprised by.

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

Conciseness4/5

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

The no-results behavior and the sibling exclusion are front-loaded where an agent will read them. Slightly wasteful: the opening sentence is a sentence fragment and the 'every column of the matching list_ tool' clause is dense, but overall tight.

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

Completeness4/5

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

With no output schema, the description does the work of explaining the return contract (a link, or empty=true and no link). That plus the date/search scoping makes it callable with confidence; only the sort param and column-set details are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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

Schema description coverage is 60%; search and both dates are documented in the schema, and the report enum is self-describing. The description adds framing (optional date range and search, columns mirror the list_ tool) but does not explain 'sort' or how report choice maps to available columns beyond a one-line mirror statement — baseline 3 for partially documented params.

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

Purpose5/5

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

States a specific verb (export/builds a CSV) and the exact resources covered (transactions, refunds, receipts, return labels, carrier adjustments), and explicitly routes shipments to export_shipments. An agent can distinguish this from the list_* siblings and from export_shipments 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.

Usage Guidelines4/5

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

'Shipments have their own tool, export_shipments' names an explicit alternative and exclusion. It also positions itself against the matching list_ tool ('same spreadsheet as the Export button... every column of the matching list_ tool'), giving clear context, though it does not say when to prefer list_* over exporting.

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