MCP server

Tin Can exposes one MCP JSON-RPC endpoint at /mcp/. Anyone can use the public tools (product, pricing, API overview, FAQ). Sign in with a personal access token to unlock phone tools such as send_sms.

Endpoint: https://www.tincansmartphone.com/mcp/

Public (no token)

For search engines, LLMs, and agents that only need public website facts.

mcp.json
{
  "mcpServers": {
    "tincan": {
      "url": "https://www.tincansmartphone.com/mcp/"
    }
  }
}

Authenticated (phone tools)

Add a Bearer header with your access token. Create tokens under Developer → Access tokens, then configure tools in the MCP console.

mcp.json
{
  "mcpServers": {
    "tincan": {
      "url": "https://www.tincansmartphone.com/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN"
      }
    }
  }
}

MCP setup console · Access tokens

Public tools

  • get_product_overview — What Tin Can Smartphone is: product summary, company, and key public URLs.
  • get_how_it_works — Architecture steps: agent/API → cloud → Android SIM → audience.
  • get_pricing_summary — Public plan names and limits from the marketing site. Source of truth is the homepage #pricing section.
  • get_api_overview — Public REST API overview: base URL, auth style, docs and OpenAPI links.
  • get_mcp_setup — How to connect MCP clients to /mcp/ — public (no token) and authenticated (Bearer YOUR_ACCESS_TOKEN for phone tools). Includes mcp.json snippets.
  • list_public_pages — Canonical public website URLs with short descriptions.
  • get_faq — Frequently asked questions mirrored from the public FAQ page.
  • get_app_download — Latest Android app version and public download links.

Phone tools (authenticated)

Available after authentication, subject to your account MCP settings and plan.

  • send_sms — Send an SMS via the user's phone (primary SIM, with fallback).
  • read_otp — Read recent inbound SMS and extract OTP/verification codes.
  • list_sims — List SIM cards with route priority, availability, and fallback order.
  • get_status — Gateway overview: SIM availability, recent traffic, MCP settings.
  • get_telemetry — Read live phone telemetry (battery, signal, network, last_seen, pending command).
  • notify — Push a notification to the phone via FCM (title/body). Optionally set find_phone=true to vibrate/locate.
  • locate — Find-phone: vibrate and notify the gateway handset.
  • place_call — Trigger an outbound call on the gateway phone. Test allowlist: only +4915563336709. Returns call_id for wait_call_result.
  • wait_call_result — Poll a CallEvent until the remote party answers/ends/misses/fails, or timeout. Use after place_call. Returns picked_up=true when outcome is answered or ended after an answer.
  • get_call — Fetch one CallEvent by id (state, outcome, answered_at, number).
  • announce — Speak or ring an announcement on the phone (not yet available).
  • snapshot — Capture a camera snapshot (off by default; not yet available).
  • create_webhook — Create an HTTP webhook for an event (e.g. sms.in.received, sms.out.created).
  • list_webhooks — List HTTP webhooks for this account.
  • delete_webhook — Delete a webhook by id.
  • test_webhook — POST a sample payload (test:true) to a webhook target and return delivery status.

REST API stays under /api/. GEO discovery: /llms.txt and /llms-full.txt.