mothermachine

Browse / Ecommerce

Karrio

Self-hosted multi-carrier shipping API with an official MCP for rates, labels, and tracking.

AdaptableOperable Business appAPI / service Deterministic PythonTypeScript MCP server License: LGPL-3.0 (ee/ under Karrio Enterprise License)

Open-source shipping platform: connect carrier accounts, get live rates, buy labels, track packages, through a REST API, SDKs, and a dashboard. The Builder ships @karrio/mcp so an agent can quote, ship, and track from chat. Core is LGPL-3.0; an ee/ directory and Karrio Cloud are commercial.

Use it when
  • I ship from my own warehouse with several carriers and want one API and one dashboard I host
  • my agent should quote rates and buy labels for orders without me opening a carrier portal
Gotchas
  • LGPL-3.0 core; ee/ features (multi-tenancy, workflows, SSO, audit log) are under a separate commercial license
  • Quietest repo in the batch: last push 2026-06-23
  • README: 'not designed as an out-of-the-box shipping software' beyond its API scope
  • Carrier plugins live in a git submodule (community); run git submodule update --init

Last activity Jun 23, 2026. Fit: adaptable 2, operable 2.

Editions

Community (LGPL-3.0) · Free open source

  • Clonegit clone https://github.com/karrioapi/karrio
  • ImageContainer
  • Install/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/karrioapi/karrio/HEAD/bin/deploy-hobby)"

Karrio Cloud · Free closed source

Enterprise (ee/) · Free closed source

No distribution recorded.

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only23 things to edit

docker/.env (from .env.sample) sets the admin login, allowed hosts, database, email, worker mode, and whether all carrier plugins load. Carrier accounts are added in the dashboard or API, not files. The MCP needs KARRIO_API_URL and KARRIO_API_KEY. Writing a new carrier is code (SDK plugin), but the shipped community carriers cover the usual ones, so a standard deployment is config-only.

Env vars
SECRET_KEY ADMIN_EMAIL ADMIN_PASSWORD ALLOWED_HOSTS CSRF_TRUSTED_ORIGINS DATABASE_NAME DEBUG_MODE USE_HTTPS ALLOW_SIGNUP ADMIN_DASHBOARD ENABLE_ALL_PLUGINS_BY_DEFAULT DETACHED_WORKER WORKER_IMMEDIATE_MODE TRACKING_PULSE EMAIL_HOST EMAIL_HOST_USER EMAIL_PORT EMAIL_USE_TLS OIDC_RSA_PRIVATE_KEY KARRIO_API_URL KARRIO_API_KEY
Config files
docker/.env docker/docker-compose.yml
Prompt files
none
Accounts you need
carrier accounts such as UPS, FedEx, DHL, or USPSKarrio Cloud (hosted edition only)

Source

Operable: what an agent can drive

Interface

OfficialMCP serverpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
www.karrio.io/docs/developing/mcp-server

Reach

Partial coverage. 5 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Get shipping ratesReachableMCP tool get_shipping_rates
Buy and void labelsReachableMCP tools create_shipment, cancel_shipment
Track packagesReachableMCP tool track_package
List carriers and connectionsReachableMCP tools list_carriers, list_carrier_connections
Inspect shipments and API logsReachableMCP tools get_shipment, list_shipments, list_api_logs, get_api_log, list_tracing_records
Schedule pickupsNot reachabledocs: no pickup tools; REST API only
Generate manifests and documentsNot reachabledocs: no manifest or document tools
Manage ordersNot reachabledocs: no order tools
Add carrier connectionsNot reachableonly list tools for carriers; connection setup is dashboard or REST
Configure webhooksNot reachabledocs: no webhook tools

Code stack

Languages
PythonTypeScript
Frameworks
DjangoNext.js
Package manager
pip
Database
PostgreSQL
Hosting target
DockerKarrio Cloud
Built
Human-written (recorded, never ranked)

Skills

Repo carries contributor-facing development skills, chiefly carrier-integration authoring, plus a carrier testing skill. [contributor tooling, not adopter-facing]

Kind
contributor
Paths
.claude/skills/*/SKILL.md carrier-testing/TESTING_SKILL.md

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: headless shipping API with dashboard90%
executionModelno model at runtime95%
operabilityREADME 'MCP Server' section and karrio.io docs under the Builder's domain; package @karrio/mcp95%
effort.env.sample names 20 vars; docker compose documented in README80%
editionsREADME License section: LGPL-3.0 core, Karrio EE; karrio.io cloud70%
activepushedAt 2026-06-23–
reach85%

Open questions

  • Karrio Cloud pricing
  • README config uses npx karrio-mcp while docs name @karrio/mcp; confirm the package

Sources