Skip to main content
Glama

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

Ownership verified
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

A3.6/5.0

Scored across 31 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness4/5

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
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 tools
cotlet_app_guideCotlet: how to work in an appA
Read-onlyIdempotent
Inspect

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 useB
Read-only
Inspect

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 balanceA
Read-only
Inspect

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 pageA
Destructive
Inspect

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 browserA
Idempotent
Inspect

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 fileA
Destructive
Inspect

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 pageA
Destructive
Inspect

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 pageA
Destructive
Inspect

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 formA
Destructive
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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_navigateGo to a pageA
Read-only
Inspect

Opens url in the current tab, or goes history back or forward. Answers the page after it: the elements and text in view, with the same numbers.

Inputs: app, url, dialog, history, +1 more.

cotlet_browser_openOpen the browserA
Read-only
Inspect

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 keyA
Destructive
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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 listA
Destructive
Inspect

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 pageA
Destructive
Inspect

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 fileA
Destructive
Inspect

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 pageA
Read-onlyIdempotent
Inspect

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 callA
Read-only
Inspect

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 IA
Read-only
Inspect

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 ShipA
Read-onlyIdempotent
Inspect

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 ShipA
Read-onlyIdempotent
Inspect

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 ShipA
Read-onlyIdempotent
Inspect

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 ShipA
Read-onlyIdempotent
Inspect

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 ShipA
Read-onlyIdempotent
Inspect

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

    • A
      license
      A
      quality
      C
      maintenance
      Connect 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.
      5
      19 npm
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Carrier-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.
      3
      2
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.