Pirate Ship MCP Server and API by Cotlet
Server Details
Pirate Ship MCP server for ChatGPT, Claude and any AI agent: get rates, buy labels in bulk, import orders, track shipment and refund labels in your own Pirate Ship account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Pirate Ship yourself; Cotlet does not store your password and you need no Pirate Ship API key. About the official Pirate Ship API: Pirate Ship has no API (checked 11 Oct 2026). Its help center says so and points to store integrations and spreadsheet uploads instead. Setup and FAQ: https://cotlet.dev/integrations/pirate-ship-api-mcp-server
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- cotletdev/pirate-ship-api-mcp-server
- GitHub Stars
- 6
- Server Listing
- Pirate Ship MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 31 tools
The ~20 cotlet_browser_* tools are largely distinct (click vs type vs select vs drag vs scroll), though click/press/drag and read/find/screenshot need the descriptions to separate. The real overlap is the five pirate_ship_* tools, which all behave identically (return step-by-step instructions, open nothing) and duplicate what cotlet_app_guide already claims to cover for the same five actions — an agent has little basis to choose between them.
Everything is snake_case throughout, with a predictable group prefix (cotlet_ for platform tools, cotlet_browser_ for browser primitives, pirate_ship_ for the app wrappers). Most are verb_noun (browser_click, get_rates, buy_labels_in_bulk); a few bare nouns (cotlet_apps, cotlet_balance, cotlet_whoami) are minor deviations.
31 tools exceeds a comfortable set, and the count is inflated: the five pirate_ship_* wrappers only return textual instructions and restate coverage already claimed by cotlet_app_guide. The ~20 browser primitives are individually defensible, but the redundant app layer pushes this into over-scoped territory.
Browser control is unusually complete for its domain — navigation, tabs, click/drag/scroll/press, form fill and select, download/upload, JS evaluate, screenshot, wait, plus account, balance, file upload and issue reporting. Minor gaps: no call-history listing, no explicit dialog/alert handler, and no cancel/cleanup path beyond closing the session.
Publisher details
- Operator
- Cotlet.dev
- Operator website
- https://cotlet.dev
- Vendor relationship
- Independent
- Trust center
- https://cotlet.dev/security
- Restrictions
- Needs a Cotlet account (free trial, then credits). The user signs in to Pirate Ship once in their own Cotlet Cloud Browser; no Pirate Ship API key or paid Pirate Ship plan is needed.
Available Tools
31 toolscotlet_app_guideCotlet: how to work in an appARead-onlyIdempotentInspect
How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session. For Pirate Ship it covers these actions: Get rates, Buy labels in bulk, Import orders, Track shipment, Refund labels.
Inputs: app, task.
cotlet_appsCotlet: apps I can useBRead-onlyInspect
The apps of the user's workspace and whether each works now: the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.
Inputs: app.
cotlet_balanceCotlet: credit balanceARead-onlyInspect
The user's current credit balance. Free. Needs the user's Cotlet API key or sign-in.
Inputs: no named parameters.
cotlet_browser_clickClick on the pageADestructiveInspect
Clicks element element, or point x, y of the screenshot; double double-clicks, button: right right-clicks. Answers the page after it: the elements and text in view, with the same numbers. Says when nothing changed. A link that would open a new tab opens in this one. Buttons that pay or buy, and sign-in and account pages, are refused.
Inputs: x, y, app, button, +4 more.
cotlet_browser_closeClose the browserAIdempotentInspect
Ends the browser session when the task is done: the browser keeps its cookies and sleeps, and the per-minute charge stops. Answers the session's minutes and credits.
Inputs: app.
cotlet_browser_downloadDownload a fileADestructiveInspect
Gets the file that clicking element (a download link or button) or opening url starts, also an image or PDF it only opens: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.
Inputs: app, url, element.
cotlet_browser_dragDrag on the pageADestructiveInspect
Drags from one element or point to another: a card between columns, a piece on a board, a slider's handle. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: to (required), from (required), app, dialog, +1 more.
cotlet_browser_evaluateRun a script on the pageADestructiveInspect
Runs a JavaScript function body on the page and answers what it returns, as JSON. Use it to extract data the page holds (a table, a list, attributes); act with the other tools. It cannot send requests, click, submit, or read cookies or storage; a filled field's value reads [hidden by Cotlet]. Example: return [...document.querySelectorAll('h2')].map(h => h.innerText)
Inputs: script (required), app.
cotlet_browser_fill_formFill in a formADestructiveInspect
Fills several fields in one step: text fields take text, drop-downs an option's label, checkboxes, radios and switches true or false. Stops at the first field that fails and names those filled. Does not send the form: click its button after. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: fields (required), app, dialog, dialog_text.
cotlet_browser_findFind on the pageARead-onlyIdempotentInspect
Finds text on the whole current page, frames included: the elements whose label holds it, with their numbers, and each line of text that holds it. Use it instead of reading or scrolling a long page for one thing.
Inputs: text (required), app, kind.
cotlet_browser_hoverPoint at the pageARead-onlyIdempotentInspect
Rests the pointer on an element or a point, to open a hover menu, a tooltip or a preview. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: x, y, app, element.
cotlet_browser_openOpen the browserARead-onlyInspect
Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens url. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers. In Pirate Ship it serves these actions: Get rates, Buy labels in bulk, Import orders, Track shipment, Refund labels.
Inputs: app, url.
cotlet_browser_pressPress a keyADestructiveInspect
Presses a key on the focused element: Enter to send, Tab to the next field, Escape to close a pop-up, arrows in a list or slider, or one character (a site's shortcut). Answers the page after it: the elements and text in view, with the same numbers.
Inputs: key (required), app, dialog, repeat, +1 more.
cotlet_browser_readRead the pageARead-onlyIdempotentInspect
The whole current page: its text (up to 20,000 characters) and a numbered list of its links, buttons, fields and other controls, open dialogs first. Use it on a new page or when a step's answer is not enough; element reads only inside one element (a dialog, a form, a list). Never returns field values, cookies or storage.
Inputs: app, element.
cotlet_browser_screenshotSee the pageARead-onlyIdempotentInspect
A JPEG of the visible part of the page. Use it for boards, canvases, maps, charts and layout that the text does not show, then click or drag by x, y of the image.
Inputs: app.
cotlet_browser_scrollScroll the pageARead-onlyIdempotentInspect
Scrolls with the mouse wheel: down or up by screens, to top or bottom, until element is in view, or inside a panel or list (inside). Content that loads on scroll appears. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: app, inside, element, screens, +1 more.
cotlet_browser_selectChoose from a listADestructiveInspect
Chooses option (its label as listed, or its value) in drop-down element. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: option (required), element (required), app, dialog, +1 more.
cotlet_browser_tabsBrowser tabsAInspect
The tabs of the user's web browser, where they keep their signed-in sites open. list (default) answers each tab's id, URL and title and which is shown; switch with tab shows that tab, and every later step acts on it; new with url opens a tab (at most 8); close with tab closes it. Work in the tab of the site the task is about and close only the tabs you opened.
Inputs: tab, url, action.
cotlet_browser_typeType on the pageADestructiveInspect
Types text into field element, replacing what it held; submit presses Enter after it. For several fields use fill_form. Without element the text goes where the focus is, as a person types after clicking: for spreadsheet cells and editors that read does not number (Google Sheets, Docs), click the place first; there a tab in text presses Tab and a line break Enter, so one call fills a table. Answers the page after it: the elements and text in view, with the same numbers. Password, card and one-time code fields are refused: the user types them.
Inputs: text (required), app, dialog, slowly, +3 more.
cotlet_browser_uploadUpload a fileADestructiveInspect
Puts files into file field or upload button element: each file is {"url": "https://..."} or {"file_id": "..."} of a file uploaded to Cotlet; up to 10 files, 20 MB each. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: files (required), element (required), app.
cotlet_browser_waitWait for the pageARead-onlyIdempotentInspect
Waits until text shows on the page (at most seconds, default 5, up to 20), or just seconds: for results that load slowly. Says whether the text appeared. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: app, text, seconds.
cotlet_get_callCotlet: check a callARead-onlyInspect
Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.
Inputs: call_id (required).
cotlet_report_issueCotlet: report a bug or a missing featureAInspect
Sends a report to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a step the browser could not do, with the page, the step and what you saw. A missing dedicated tool is not a problem to report: do the task in the browser. A feature the user asks for goes as feature_request. A report promises nothing: tell the user it was sent, never that something will be built or fixed, or when. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.
Inputs: kind (required), title (required), description (required), app, +3 more.
cotlet_upload_fileCotlet: upload a file for a toolAInspect
Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": "..."}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.
Inputs: name, content_type.
cotlet_whoamiCotlet: who am IARead-onlyInspect
The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.
Inputs: no named parameters.
pirate_ship_buy_labels_in_bulkBuy labels in bulk in Pirate ShipARead-onlyIdempotentInspect
Buy labels in bulk in the user's own Pirate Ship account from ChatGPT, Claude or any AI agent. Returns how to do it in Pirate Ship step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pirate Ship Cloud Browser. Pirate Ship's official API: Pirate Ship has no API (checked 11 Oct 2026).
Inputs: no named parameters.
pirate_ship_get_ratesGet rates in Pirate ShipARead-onlyIdempotentInspect
Get rates in the user's own Pirate Ship account from ChatGPT, Claude or any AI agent. Returns how to do it in Pirate Ship step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pirate Ship Cloud Browser. Pirate Ship's official API: Pirate Ship has no API (checked 11 Oct 2026).
Inputs: no named parameters.
pirate_ship_import_ordersImport orders in Pirate ShipARead-onlyIdempotentInspect
Import orders in the user's own Pirate Ship account from ChatGPT, Claude or any AI agent. Returns how to do it in Pirate Ship step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pirate Ship Cloud Browser. Pirate Ship's official API: Pirate Ship has no API (checked 11 Oct 2026).
Inputs: no named parameters.
pirate_ship_refund_labelsRefund labels in Pirate ShipARead-onlyIdempotentInspect
Refund labels in the user's own Pirate Ship account from ChatGPT, Claude or any AI agent. Returns how to do it in Pirate Ship step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pirate Ship Cloud Browser. Pirate Ship's official API: Pirate Ship has no API (checked 11 Oct 2026).
Inputs: no named parameters.
pirate_ship_track_shipmentTrack shipment in Pirate ShipARead-onlyIdempotentInspect
Track shipment in the user's own Pirate Ship account from ChatGPT, Claude or any AI agent. Returns how to do it in Pirate Ship step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pirate Ship Cloud Browser. Pirate Ship's official API: Pirate Ship has no API (checked 11 Oct 2026).
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Printful MCP server for ChatGPT, Claude and any AI agent: list orders, create draft order, confirm order, check shipping rates, list sync products, upload design file, generate mockups and cancel order in your own Printful account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Printful yourself; Cotlet does not store your password and you need no Printful API key. About the official Printful API: Printful has a full REST API, documented at developers.printful.com, with private tokens for your own store and OAuth for public apps, but no official MCP server (checked 17 Oct 2026). The API docs never mention MCP. Setup and FAQ: https://cotlet.dev/integrations/printful-api-mcp-server
Printify MCP server for ChatGPT, Claude and any AI agent: list products, create product, publish product, update variant prices, list orders and cancel order in your own Printify account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Printify yourself; Cotlet does not store your password and you need no Printify API key. About the official Printify API: Printify has a full public REST API, version 1, for shops, catalog, products, orders, uploads and webhooks, but no official MCP server (checked 17 Oct 2026). You authenticate with a personal access token or an approved OAuth app, and you build the agent tool layer yourself. Setup and FAQ: https://cotlet.dev/integrations/printify-api-mcp-server
ThriveCart MCP server for ChatGPT, Claude and any AI agent: create product, create checkout, issue refund and list affiliates in your own ThriveCart account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to ThriveCart yourself; Cotlet does not store your password and you need no ThriveCart API key. About the official ThriveCart API: ThriveCart has an official API, but it is limited (checked 11 Oct 2026). It reads products, transactions, customers and affiliates, and it can refund, pause, resume and cancel subscriptions and approve affiliates. Setup and FAQ: https://cotlet.dev/integrations/thrivecart-api-mcp-server
ClockShark MCP server for ChatGPT, Claude and any AI agent: list time entries, approve timesheet, create job, schedule shift and export payroll hours in your own ClockShark account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to ClockShark yourself; Cotlet does not store your password and you need no ClockShark API key. About the official ClockShark API: ClockShark has no public developer API or API docs (checked 10 Oct 2026). Admins can only generate a Zapier API key, which Zapier uses for 6 triggers and 2 actions: Create Job and Create Task. Setup and FAQ: https://cotlet.dev/integrations/clockshark-api-mcp-server
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets any AI agent buy shipping labels worldwide via AfterShip Shipping, using the merchant's own carrier accounts.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with ShipEngine's shipping API, allowing users to manage shipments, labels, carriers, and other shipping operations through natural language commands.-
- AlicenseAqualityCmaintenanceConnect any MCP-compatible AI to Royal Mail shipping. This server exposes five tools that let Claude, Cursor or any MCP client book orders, fetch postage labels, track shipments and cancel bookings through the official Click & Drop API.519 npm3MIT
- AlicenseAqualityDmaintenanceCarrier-agnostic shipping labels as a self-hostable MCP server. Build one shipment request, get a tracking number and a print-ready label back for DHL, DPD, UPS, FedEx, GLS, Sendcloud, and Shipcloud.32MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.