{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "karrioapi--karrio",
    "name": "Karrio",
    "tagline": "Self-hosted multi-carrier shipping API with an official MCP for rates, labels, and tracking.",
    "shortTagline": "Self-hosted multi-carrier shipping",
    "description": "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.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "ecommerce",
    "alternativeTo": [
      "ShipStation",
      "Shippo",
      "EasyPost"
    ],
    "shape": "business-app",
    "formFactor": "api",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "Python",
        "TypeScript"
      ],
      "frameworks": [
        "Django",
        "Next.js"
      ],
      "packageManager": "pip",
      "database": [
        "PostgreSQL"
      ],
      "hostingTarget": [
        "Docker",
        "Karrio Cloud"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/karrioapi/karrio",
        "owner": "karrioapi",
        "name": "karrio",
        "license": "LGPL-3.0 (ee/ under Karrio Enterprise License)",
        "stars": 787,
        "lastCommit": "2026-06-23"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://www.karrio.io/docs/developing/mcp-server",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Get shipping rates",
        "reachable": true,
        "evidence": "MCP tool get_shipping_rates"
      },
      {
        "job": "Buy and void labels",
        "reachable": true,
        "evidence": "MCP tools create_shipment, cancel_shipment"
      },
      {
        "job": "Track packages",
        "reachable": true,
        "evidence": "MCP tool track_package"
      },
      {
        "job": "List carriers and connections",
        "reachable": true,
        "evidence": "MCP tools list_carriers, list_carrier_connections"
      },
      {
        "job": "Inspect shipments and API logs",
        "reachable": true,
        "evidence": "MCP tools get_shipment, list_shipments, list_api_logs, get_api_log, list_tracing_records"
      },
      {
        "job": "Schedule pickups",
        "reachable": false,
        "evidence": "docs: no pickup tools; REST API only"
      },
      {
        "job": "Generate manifests and documents",
        "reachable": false,
        "evidence": "docs: no manifest or document tools"
      },
      {
        "job": "Manage orders",
        "reachable": false,
        "evidence": "docs: no order tools"
      },
      {
        "job": "Add carrier connections",
        "reachable": false,
        "evidence": "only list tools for carriers; connection setup is dashboard or REST"
      },
      {
        "job": "Configure webhooks",
        "reachable": false,
        "evidence": "docs: no webhook tools"
      }
    ],
    "editions": [
      {
        "name": "Community (LGPL-3.0)",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/karrioapi/karrio",
            "command": "docker compose up"
          },
          {
            "kind": "container",
            "url": "https://hub.docker.com/r/karrio/server",
            "command": ""
          },
          {
            "kind": "installable",
            "url": "https://github.com/karrioapi/karrio",
            "command": "/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/karrioapi/karrio/HEAD/bin/deploy-hobby)\""
          }
        ]
      },
      {
        "name": "Karrio Cloud",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://karrio.io",
            "command": ""
          }
        ]
      },
      {
        "name": "Enterprise (ee/)",
        "price": null,
        "open": false,
        "distributions": []
      }
    ],
    "skills": {
      "kind": "contributor",
      "paths": [
        ".claude/skills/*/SKILL.md",
        "carrier-testing/TESTING_SKILL.md"
      ],
      "install": null,
      "note": "Repo carries contributor-facing development skills, chiefly carrier-integration authoring, plus a carrier testing skill. [contributor tooling, not adopter-facing]"
    },
    "customization": {
      "summary": "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.",
      "envVars": [
        "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"
      ],
      "configFiles": [
        "docker/.env",
        "docker/docker-compose.yml"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 23
    },
    "useWhen": [
      "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"
    ],
    "accounts": [
      "carrier accounts such as UPS, FedEx, DHL, or USPS",
      "Karrio Cloud (hosted edition only)"
    ],
    "active": true,
    "lastActivity": "2026-06-23",
    "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"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 2
    },
    "evidence": {
      "formFactor": "README: headless shipping API with dashboard",
      "executionModel": "no model at runtime",
      "operability": "README 'MCP Server' section and karrio.io docs under the Builder's domain; package @karrio/mcp",
      "effort": ".env.sample names 20 vars; docker compose documented in README",
      "editions": "README License section: LGPL-3.0 core, Karrio EE; karrio.io cloud",
      "active": "pushedAt 2026-06-23"
    },
    "confidence": {
      "formFactor": 0.9,
      "executionModel": 0.95,
      "operability": 0.95,
      "effort": 0.8,
      "reach": 0.85,
      "editions": 0.7
    },
    "openQuestions": [
      "Karrio Cloud pricing",
      "README config uses npx karrio-mcp while docs name @karrio/mcp; confirm the package"
    ],
    "sources": [
      {
        "url": "https://github.com/karrioapi/karrio",
        "foundBy": "sourcing:ecommerce:github"
      },
      {
        "url": "https://www.karrio.io/docs/developing/mcp-server",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official MCP with partial Reach (10 tools, no pickups or orders); copyleft core keeps adaptable at 2.",
      "disputed": []
    },
    "url": "apps/karrioapi--karrio.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/karrioapi--karrio.json"
  }
}
