SIMcloud
by simcloud.co.za · remote · no sign-in to list tools · v0.2.0 · published by za.co.simcloud
South African MCP server for airtime, data, SMS, VAS, electricity, balance, and network lookup.
17 tools: 6 can delete or cancel things, 2 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http simcloud https://simcloud.co.za/api/mcp.phpFindings
Matches of fixed checks, with the text they matched.
- Warnlookup_network
The server marks "lookup_network" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "lookup_network" says "lookup": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Deletes or cancels 6Claude Code: deny
create_airtime_orderUse this when an authenticated SIMcloud user asks to send or recharge prepaid airtime to a South African mobile number on MTN, Vodacom, Cell C or Telkom.No findings
Why it is in this group
- The name "create_airtime_order" says "create": a word for a change.
- The description says "irreversible".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when an authenticated SIMcloud user asks to send or recharge prepaid airtime to a South African mobile number on MTN, Vodacom, Cell C or Telkom. Confirm the MSISDN, network, rand amount and reference before calling. This spends wallet funds and queues an irreversible external transaction. Never automatically retry an ambiguous result. Duplicate same-MSISDN-and-amount requests inside 5 minutes return HTTP 409.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
create_data_orderUse this when an authenticated SIMcloud user asks to send a confirmed South African mobile data bundle.No findings
Why it is in this group
- The name "create_data_order" says "create": a word for a change.
- The description says "irreversible".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when an authenticated SIMcloud user asks to send a confirmed South African mobile data bundle. Call list_data_products first and use an available network and sell value. This spends wallet funds and queues an irreversible external transaction. Never automatically retry an ambiguous result. Duplicate same-MSISDN-and-amount requests inside 5 minutes return HTTP 409.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
create_electricity_orderUse this when an authenticated SIMcloud user asks to buy prepaid electricity for a meter already confirmed with check_electricity_meter.No findings
Why it is in this group
- The name "create_electricity_order" says "create": a word for a change.
- The description says "irreversible".
- The input addresses people (input.recipient): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when an authenticated SIMcloud user asks to buy prepaid electricity for a meter already confirmed with check_electricity_meter. Confirm the meter, rand amount, reference and SMS recipient before calling. This spends wallet funds and submits an irreversible external transaction; do not automatically retry an ambiguous result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
create_vas_orderUse this when an authenticated SIMcloud user asks to buy a confirmed VAS voucher.No findings
Why it is in this group
- The name "create_vas_order" says "create": a word for a change.
- The description says "irreversible".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when an authenticated SIMcloud user asks to buy a confirmed VAS voucher. Call list_vas_products first and use an available product and denomination. This spends wallet funds and queues an irreversible external transaction; do not automatically retry an ambiguous result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
register_simcloud_userCreate a normal SIMcloud account under the authenticated account for a client application user.No findings
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a normal SIMcloud account under the authenticated account for a client application user. Confirm that the person consents to account creation and that their cell number, email and password are correct before calling. The response contains the child account API token, which must be stored securely and used only for that child account.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
send_smsUse this when an authenticated SIMcloud user asks to send a confirmed SMS to a South African recipient.No findings
Why it is in this group
- The name "send_sms" says "send": a word for sending, and what is sent cannot be taken back.
- The description says "irreversible".
- The input addresses people (input.recipient): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when an authenticated SIMcloud user asks to send a confirmed SMS to a South African recipient. Confirm the final recipient and message before calling. Sending is an irreversible external action and may spend wallet funds; do not automatically retry an ambiguous result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: false
Changes things 2Claude Code: ask
check_electricity_meterUse this before create_electricity_order to check whether a prepaid electricity meter is supported.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this before create_electricity_order to check whether a prepaid electricity meter is supported. This does not buy electricity or spend wallet funds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
lookup_networkUse this when the user needs to identify the South African mobile network for a number before sending airtime, data or SMS.1 finding
Why it is in this group
- The name "lookup_network" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "lookup_network" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "lookup_network" says "lookup": a word for reading.
Description, as the server wrote it Use this when the user needs to identify the South African mobile network for a number before sending airtime, data or SMS. The lookup is recorded in the authenticated account history.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- idempotentHint: false
Only reads 9Claude Code: allow
get_airtime_orderUse this after create_airtime_order, or after an ambiguous create result, to fetch the authenticated account airtime order by request_id or orderno.No findings
Why it is in this group
- The name "get_airtime_order" says "get": a word for reading.
Description, as the server wrote it Use this after create_airtime_order, or after an ambiguous create result, to fetch the authenticated account airtime order by request_id or orderno.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_data_orderUse this after create_data_order, or after an ambiguous create result, to fetch the authenticated account data order by request_id or orderno.No findings
Why it is in this group
- The name "get_data_order" says "get": a word for reading.
Description, as the server wrote it Use this after create_data_order, or after an ambiguous create result, to fetch the authenticated account data order by request_id or orderno.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_electricity_orderUse this after create_electricity_order, or after an ambiguous create result, to fetch an authenticated account electricity order by order_id, client_reference or order_reference_i…No findings
Why it is in this group
- The name "get_electricity_order" says "get": a word for reading.
Description, as the server wrote it Use this after create_electricity_order, or after an ambiguous create result, to fetch an authenticated account electricity order by order_id, client_reference or order_reference_id.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_sms_statusUse this after send_sms to fetch the delivery status of an authenticated account SMS by sms_id.No findings
Why it is in this group
- The name "get_sms_status" says "get": a word for reading.
Description, as the server wrote it Use this after send_sms to fetch the delivery status of an authenticated account SMS by sms_id.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_transaction_historyUse this to retrieve read-only transaction history for the authenticated SIMcloud account across web, CSV, recurring and API airtime, data, SMS, VAS and electricity activity.No findings
Why it is in this group
- The name "get_transaction_history" says "get": a word for reading.
Description, as the server wrote it Use this to retrieve read-only transaction history for the authenticated SIMcloud account across web, CSV, recurring and API airtime, data, SMS, VAS and electricity activity. Require a date range; optionally filter one or more services with a comma-separated type value. SMS is successful only after a delivery receipt.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_vas_orderUse this after create_vas_order, or after an ambiguous create result, to fetch an authenticated account VAS order by order_id or transaction_id.No findings
Why it is in this group
- The name "get_vas_order" says "get": a word for reading.
Description, as the server wrote it Use this after create_vas_order, or after an ambiguous create result, to fetch an authenticated account VAS order by order_id or transaction_id.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_wallet_balanceUse this before a wallet-funded SIMcloud transaction or when the user asks for their available SIMcloud balance.No findings
Why it is in this group
- The name "get_wallet_balance" says "get": a word for reading.
Description, as the server wrote it Use this before a wallet-funded SIMcloud transaction or when the user asks for their available SIMcloud balance. Returns the authenticated account wallet balance and does not spend funds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
list_data_productsUse this before create_data_order to list the current SIMcloud data bundle products and exact sell values available for API ordering, optionally filtered by South African network.No findings
Why it is in this group
- The name "list_data_products" says "list": a word for reading.
Description, as the server wrote it Use this before create_data_order to list the current SIMcloud data bundle products and exact sell values available for API ordering, optionally filtered by South African network.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
list_vas_productsUse this before create_vas_order to list active SIMcloud VAS voucher products and their available denominations.No findings
Why it is in this group
- The name "list_vas_products" says "list": a word for reading.
Description, as the server wrote it Use this before create_vas_order to list active SIMcloud VAS voucher products and their available denominations.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http simcloud https://simcloud.co.za/api/mcp.phpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__simcloud__get_wallet_balance",
"mcp__simcloud__get_transaction_history",
"mcp__simcloud__get_sms_status",
"mcp__simcloud__get_airtime_order",
"mcp__simcloud__list_data_products",
"mcp__simcloud__get_data_order",
"mcp__simcloud__list_vas_products",
"mcp__simcloud__get_vas_order",
"mcp__simcloud__get_electricity_order"
],
"ask": [
"mcp__simcloud__lookup_network",
"mcp__simcloud__check_electricity_meter"
],
"deny": [
"mcp__simcloud__register_simcloud_user",
"mcp__simcloud__send_sms",
"mcp__simcloud__create_airtime_order",
"mcp__simcloud__create_data_order",
"mcp__simcloud__create_vas_order",
"mcp__simcloud__create_electricity_order"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as simcloud. Review it before you use it.