SDK matrix
TypeScript, Python, and Go call the API, the MCP server at mcp.carrier.llc, and the carrier CLI. The Node package is the CLI and the fleet switchboard.
The typed commands and the big switchboard, in one package on npm. Use this if you already run many SIMs. Your first SIM does not need it.
npx -y -p @carrierllc/mcp carrier-mcpCall every API operation, the MCP server, and the carrier CLI. Install @carrierllc/sdk@0.2.2. The 0.1.0 tarball only creates connectivity intents and products. A practice plan named test_global_1gb is pretend: nothing is charged. The price on an offer is catalogue data and is not charged by this library.
import { Carrier, Mcp, restTools } from "@carrierllc/sdk"
const carrier = new Carrier(process.env.CARRIER_API_KEY)
const intent = await carrier.intents.create(
{ plan: "test_global_1gb", metadata: { order: "123" } },
{ idempotencyKey: "order_123" },
)
const accounts = await carrier.call("list_reseller_accounts")
const session = new Mcp(process.env.ESIMVAULT_API_TOKEN ?? "")
const tools = restTools(carrier)Call every API operation, the MCP server, and the carrier CLI. rest_tools returns LangGraph-shaped dicts. A practice plan named test_global_1gb is pretend: nothing is charged. Install from PyPI.
pip install carrier-python
import os
from carrier import Carrier, Mcp, rest_tools
carrier = Carrier(os.environ["CARRIER_API_KEY"])
intent = carrier.intents.create(
plan="test_global_1gb",
metadata={"order": "123"},
idempotency_key="order_123",
)
accounts = carrier.call("list_reseller_accounts")
session = Mcp(os.environ["ESIMVAULT_API_TOKEN"])
tools = rest_tools(carrier)carrier-goCall every API operation, the MCP server, and the carrier CLI from a Go service. RESTTools returns definitions an agent can register. Install the public module.
go get github.com/Lifecycle-Innovations-Limited/carrier-go@latest
client, err := carrier.New(os.Getenv("CARRIER_API_KEY"))
intent, err := client.Intents.Create(ctx, carrier.IntentCreateParams{
Plan: carrier.StringPtr("test_global_1gb"),
Metadata: map[string]string{"order": "123"},
}, "order_123")
raw, err := client.Call(ctx, "list_reseller_accounts", carrier.CallParams{})
session, err := carrier.NewMCP(os.Getenv("ESIMVAULT_API_TOKEN"))
tools, err := client.RESTTools()Issue one eSIM with the connectivity intent, or call any operation id from the public OpenAPI document. Customer API keys use bearer auth. Two internal routes do not. TypeScript 0.2.2 is on npm. Python is on PyPI. Go is the public module carrier-go. The guide is on the SDK docs.