npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@devkind/starshipit-mcp

v1.3.0

Published

MCP server for the StarShipIt shipping API: orders, shipments, labels, tracking, rates, manifests, address book and products

Readme

StarShipIt MCP Server: shipping orders, labels and tracking for AI agents

npm CI License: ISC

StarShipIt MCP server lets Claude Desktop, Claude Code, Cursor, VS Code and any MCP client manage StarShipIt orders, print labels, track shipments, compare rates and manifest with carriers. It runs with npx on Node.js 22 or later, over stdio or local HTTP, and calls the StarShipIt API with your own keys.

Quickstart

Get your keys in StarShipIt under Settings > API: the API Key and the Subscription key. Then, for Claude Code:

read -rsp 'StarShipIt API key: ' STARSHIPIT_API_KEY; echo
read -rsp 'StarShipIt subscription key: ' STARSHIPIT_SUBSCRIPTION_KEY; echo
claude mcp add --scope local starshipit \
  -e STARSHIPIT_API_KEY="$STARSHIPIT_API_KEY" \
  -e STARSHIPIT_SUBSCRIPTION_KEY="$STARSHIPIT_SUBSCRIPTION_KEY" \
  -- npx -y @devkind/starshipit-mcp

read -rsp keeps the keys out of your shell history. --scope local stores them in your user config, outside the repository.

Then ask: "List my unshipped StarShipIt orders."

Install in your client

Requirements:

  • Node.js 22 or later (the server runs with npx)
  • A StarShipIt API key and subscription key
  • Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, or another MCP client

Standard config works in most MCP clients:

{
  "mcpServers": {
    "starshipit": {
      "command": "npx",
      "args": ["-y", "@devkind/starshipit-mcp"],
      "env": {
        "STARSHIPIT_API_KEY": "your-api-key",
        "STARSHIPIT_SUBSCRIPTION_KEY": "your-subscription-key"
      }
    }
  }
}

Do not put real keys in a project .mcp.json or any other file that you commit.

Open Settings > Developer > Edit Config, or edit the file directly:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the standard config, then restart Claude Desktop. The StarShipIt tools appear in the tools menu.

Use the claude mcp add command from the Quickstart, or install the Claude Code plugin.

Add the standard config to your Cursor mcp.json.

code --add-mcp '{"name":"starshipit","command":"npx","args":["-y","@devkind/starshipit-mcp"],"env":{"STARSHIPIT_API_KEY":"your-api-key","STARSHIPIT_SUBSCRIPTION_KEY":"your-subscription-key"}}'

Follow the Windsurf MCP documentation and use the standard config above.

Most clients accept the standard config: command npx, arguments -y @devkind/starshipit-mcp, and the two environment variables.

Tools

The server has 40 tools. Every tool declares MCP annotations: 15 are read-only and 5 are destructive, so a client can ask before it changes data. 20 list and lookup tools accept response_format (markdown or json). Every tool also returns the full API response as structured content.

| Area | Count | Tools | |---|---|---| | Orders | 18 | list unshipped, printed, shipped and delivered; summary; search; get; create; create bulk; update; update bulk; batch update; delete; archive; restore; merge; suggested merges; assign | | Shipments | 6 | print label, print labels, print packing slips, manifest, clone, replace | | Tracking | 2 | track shipment, create tracking-only order | | Rates | 2 | get rates, get delivery services | | Address book | 4 | list, add, update, delete | | Manifests | 4 | list, get files, manifest by tracking number, manifest by carrier | | Products | 4 | list and search, add, update, delete |

Destructive tools: starshipit_delete_order, starshipit_merge_orders, starshipit_replace_shipment, starshipit_delete_addresses, starshipit_delete_products. Archive is reversible with starshipit_restore_order.

Example

{ "tool": "starshipit_track_shipment", "arguments": { "tracking_number": "2XD198209601000935102" } }

Illustrative output (the values are not real):

## Tracking: 2XD198209601000935102

**Status:** InTransit
**Order:** 1001 (Shipped)
**Carrier:** Australia Post

### Tracking Events

- **2026-10-30T09:12:00Z — InTransit:** Item processed at facility

Other prompts: "Compare rates for a 2 kg parcel from Melbourne 3000 to Paddington 2021", "Which orders can be merged?", "Manifest all unmanifested Australia Post shipments".

Configuration

| Variable | Required | Default | Description | |---|---|---|---| | STARSHIPIT_API_KEY | Yes | | StarShipIt API key (Settings > API) | | STARSHIPIT_SUBSCRIPTION_KEY | Yes | | StarShipIt subscription key (Settings > API) | | TRANSPORT | No | stdio | stdio or http | | MCP_HOST | No | 127.0.0.1 | HTTP bind address (when TRANSPORT=http) | | PORT | No | 3000 | HTTP port (when TRANSPORT=http) |

The server starts and lists its tools without keys. Each tool call without keys returns an error that names the missing variable.

Claude Code plugin

The repository root is a Claude Code plugin. It adds the StarShipIt MCP server, pinned to the release version, and prompts for the two keys when you enable it. Claude Code stores the keys in your system credential store, not in settings.json.

The plugin also ships the starshipit-shipping skill. The skill teaches Claude the fulfilment order: find the order, pick a service, print the label, manifest and track. Claude asks you before it prints a label, manifests or runs a destructive tool.

Install it now (Claude Code 2.1.275 or later):

/plugin install starshipit --marketplace devkindhq/starshipit-mcp

On older Claude Code versions, use the claude mcp add command in the Quickstart. A listing in the Claude plugin directory comes later.

HTTP mode

TRANSPORT=http STARSHIPIT_API_KEY=... STARSHIPIT_SUBSCRIPTION_KEY=... npx -y @devkind/starshipit-mcp
# MCP endpoint: http://127.0.0.1:3000/mcp  (stateless Streamable HTTP)
# Health check: http://127.0.0.1:3000/health

By default the server listens on 127.0.0.1 only. It rejects requests whose Host header is not localhost, 127.0.0.1 or ::1, which blocks DNS rebinding attacks from web pages. Set MCP_HOST=0.0.0.0 to listen on all interfaces, for example in a container.

Warning: HTTP mode has no authentication, and every request runs with the server's StarShipIt keys. If you set MCP_HOST to anything other than a loopback address, put an authenticating proxy in front of the server.

Development

git clone https://github.com/devkindhq/starshipit-mcp.git
cd starshipit-mcp
yarn install --frozen-lockfile
yarn build
node --env-file=.env dist/index.js

Put your keys in .env (STARSHIPIT_API_KEY= and STARSHIPIT_SUBSCRIPTION_KEY=). Git ignores that file. See CONTRIBUTING.md for the checks, commit style and release process.

Built by

Built by Devkind. Maintained by the Devkind team.

License

ISC. See CONTRIBUTING.md and SECURITY.md.

Shipping with StarShipIt?

Devkind builds the store and fulfilment side around it. We work with Shopify, Swell and headless commerce stacks, and build custom MCP servers and AI agent workflows for operations teams. Talk to Devkind or email [email protected].