For agents and the people directing them
Global connectivity, one prompt.
A downloadable SIM is no longer only a phone plan. Cellular watches, cellular tablets, and some laptops take one. FC Barcelona sells Barça Mobile. Millwall sells Millwall Mobile. SWISS, Lufthansa, Austrian, and Brussels sell a travel eSIM beside the trip, and KLM points passengers at one. Those brands launched this themselves. You can put the same kind of offer inside a membership, a match, a fare, or a device you already sell. You do not need the phone company's switchboard to add one to an app. Teach your AI with one note, then ask for the practice SIM named test_global_1gb.
1
Teach your AI
Install the skill once. It is a note, not the SIM.
2
Ask for a practice SIM
The name is test_global_1gb. It is pretend. Nothing is charged.
3
Skip the switchboard
The operator plug and the typed commands are for people who already run many SIMs.
Four tools. You only need the first two.
Skill
A skill is a note your AI reads so it follows the same steps every time.
Install it once, on your computer, before you ask for a SIM.
The note does not create the SIM. It only tells the AI how.
One-button plug
A plug lets an AI app press a button. This plug has one button: give this order a SIM.
Use it when you are adding connectivity to an app.
Its name is carrier-intent. It is not the big switchboard.
Operator switchboard
This other plug opens every button a phone company uses to run many SIMs.
Use it only if that is already your job.
Do not plug it in to give one app a SIM. The AI sees every button and gets lost.
Typed commands
These are the same switchboard buttons, typed into a terminal instead of clicked. People call that a CLI.
Use it if you already run many SIMs and you like typing.
Your first SIM does not need it. npx only means 'run this tool now'.
The words
- Paste one install line so your AI learns the steps.
- Ask for the practice SIM named test_global_1gb.
- You get a pretend SIM back. Nothing is charged, and no real network is used.
- A real SIM uses an offer someone saved. You pass that offer's id. You still skip the switchboard.
- Intent
- An intent is your ask: please attach a SIM to this order. The same ask twice does not make two SIMs.
- Product
- A product is the offer you sell: how much data, how many days, which countries, and the price. Saving it does not charge anyone.
- Package
- A package is the data sitting on one SIM after it is issued. A code package, such as the library named @carrierllc/sdk, is a different thing.
- Subscriber
- A subscriber is one SIM line, and the person or device that line belongs to.
- Client
- On this page a client is the small code library your app uses to ask for a SIM. A customer is the person who buys that SIM.
- Country list
- A country list is the countries someone typed on an offer. Carrier stores that list. It does not look up a live coverage map.
- Steering
- Steering is which mobile networks a SIM is told to join. Changing it is a job for the person who runs the SIMs.
- Green zone
- A green zone is a short list of sites that can stay reachable after the data is used up, so someone can get help, pay, or download the SIM again.
Paste this once
This installs the note. You do it one time on your computer. The block labeled Prompt is for your AI. You can paste it without reading the short names inside it.
npx skill
npx skills add https://carrier.llc -g -a cursor -a claude-code -y
Direct link
npx skills add https://carrier.llc/.well-known/agent-skills/issue-esim -g -a cursor -a claude-code -y
Prompt
Add a downloadable SIM to this app with Carrier. 1. Install the skill once. It is a note for the AI: npx skills add https://carrier.llc -g -a cursor -a claude-code -y 2. Connect the one-button plug named carrier-intent: npx -y -p @carrierllc/mcp-intent carrier-intent Call create_connectivity_intent with plan test_global_1gb and a reuse label for this order, so a repeat does not make a second SIM. If that plug is not set up, POST /v1/connectivity/intents with the same plan. 3. A plan whose name starts with test_ is pretend. It does not use a real network. Do not connect the operator switchboard at https://mcp.carrier.llc/mcp. 4. Show the SIM number and the download address from the response.
The one button
Paste this only if your AI app needs the plug. Leave the key blank in the snippet and set it on the computer. The button is named create_connectivity_intent.
carrier-intent
{
"mcpServers": {
"carrier-intent": {
"command": "npx",
"args": ["-y", "-p", "@carrierllc/mcp-intent", "carrier-intent"],
"env": { "CARRIER_API_KEY": "" }
}
}
}The switchboard. Skip this for one SIM.
These snippets are for someone who already runs many SIMs. Skip them when you are adding one SIM to an app.
Cursor
# .cursor/mcp.json
{
"mcpServers": {
"carrier": { "url": "https://mcp.carrier.llc/mcp" }
}
}Claude Code
claude mcp add --transport http carrier https://mcp.carrier.llc/mcp
VS Code
code --add-mcp '{"name":"carrier","type":"http","url":"https://mcp.carrier.llc/mcp"}'Codex
codex mcp add carrier --url https://mcp.carrier.llc/mcp
Test intent
curl https://api.carrier.llc/v1/connectivity/intents \
-H "Authorization: Bearer $CARRIER_API_KEY" \
-H "Idempotency-Key: order_123" \
-H "Content-Type: application/json" \
-d '{"plan":"test_global_1gb"}'UI stack
The marketing site and the console are the stack coding agents already edit well: source in the repo, Tailwind utilities, no black-box component kit.
Next.js 16
App Router on the marketing site and the console
React 19
Server Components, no class components
Tailwind CSS v4
OKLCH brand tokens from @carrier/brand
Motion
framer-motion 13 for the install and hero motion
Radix
Accessible primitives behind the shadcn-style controls
Geist
Console type, self-hosted on the marketing site
The same request from your own app is in the TypeScript, Python, and Go clients for the API, MCP, and CLI. Operator fleet tools stay on Carrier MCP. Manage the same install from the console.