SaveOnPhone — Cell Phone Plan Comparison
Search U.S. cell plans, compare supported costs, find wireless news, and get switching guidance.
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cell-phone-plan-comparison": {
"url": "https://saveonphone.com/mcp"
}
}
}Remote endpoints
https://saveonphone.com/mcpstreamable-httpTool inventory
Tools (6)
🟢search_plans(criteria)
Search all published plans by carrier/name/network/budget/data. Results include next_offset for pagination. Catalog prices retain original dates and conditions; verified_only limits results to detailed billing evidence. Catalog-only results do not establish confirmed savings.
Input Schema
{
"type": "object",
"properties": {
"criteria": {
"additionalProperties": false,
"properties": {
"autopay": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Autopay"
},
"age": {
"anyOf": [
{
"maximum": 120,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Age"
},
"bundles": {
"anyOf": [
{
"items": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bundles"
},
"new_customer": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "New Customer"
},
"line_count": {
"default": 1,
"maximum": 100,
"minimum": 1,
"title": "Line Count",
"type": "integer"
},
"max_monthly_cents": {
"anyOf": [
{
"maximum": 10000000,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Monthly Cents"
},
"min_data_gb": {
"anyOf": [
{
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Data Gb"
},
"unlimited": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Unlimited"
},
"network": {
"anyOf": [
{
"maxLength": 80,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"max_prepay_months": {
"anyOf": [
{
"maximum": 12,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Prepay Months"
},
"carrier": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Carrier"
},
"query": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Query"
},
"verified_only": {
"default": false,
"title": "Verified Only",
"type": "boolean"
},
"offset": {
"default": 0,
"maximum": 100000,
"minimum": 0,
"title": "Offset",
"type": "integer"
},
"limit": {
"default": 3,
"maximum": 10,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
"title": "SearchCriteria",
"type": "object"
}
},
"required": [
"criteria"
],
"title": "search_plansArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "search_plansDictOutput"
}🟢list_carriers
List every searchable carrier, plan counts and networks from the site catalog.
Input Schema
{
"type": "object",
"properties": {},
"title": "list_carriersArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "list_carriersDictOutput"
}🟢get_plan_details(plan_id)
Read a plan's terms, verification status, source evidence and carrier links.
Input Schema
{
"type": "object",
"properties": {
"plan_id": {
"maximum": 10000000,
"minimum": 1,
"title": "Plan Id",
"type": "integer"
}
},
"required": [
"plan_id"
],
"title": "get_plan_detailsArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_plan_detailsDictOutput"
}🟢compare_plan_costs(request)
Compare site prices, features and conditions for up to five plans. Calculate upfront/renewal/first-year costs only where complete evidence exists. Catalog-only rows retain useful facts but do not infer totals or savings.
Input Schema
{
"type": "object",
"properties": {
"request": {
"additionalProperties": false,
"properties": {
"plan_ids": {
"items": {
"maximum": 10000000,
"minimum": 1,
"type": "integer"
},
"maxItems": 5,
"minItems": 1,
"title": "Plan Ids",
"type": "array"
},
"current_service_monthly_cents": {
"anyOf": [
{
"maximum": 10000000,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Current Service Monthly Cents"
},
"line_count": {
"default": 1,
"maximum": 100,
"minimum": 1,
"title": "Line Count",
"type": "integer"
},
"eligibility": {
"additionalProperties": false,
"properties": {
"autopay": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Autopay"
},
"age": {
"anyOf": [
{
"maximum": 120,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Age"
},
"bundles": {
"anyOf": [
{
"items": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bundles"
},
"new_customer": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "New Customer"
}
},
"title": "Eligibility",
"type": "object"
}
},
"required": [
"plan_ids"
],
"title": "ComparisonRequest",
"type": "object"
}
},
"required": [
"request"
],
"title": "compare_plan_costsArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "compare_plan_costsDictOutput"
}🟢find_articles(query, limit)
Find published consumer wireless reporting in the canonical SaveOnPhone news feed.
Input Schema
{
"type": "object",
"properties": {
"query": {
"default": "",
"maxLength": 200,
"title": "Query",
"type": "string"
},
"limit": {
"default": 5,
"maximum": 10,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
"title": "find_articlesArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "find_articlesDictOutput"
}🟢get_switching_guide(plan_id)
Read a switching checklist with offer and coverage checks; performs no account actions.
Input Schema
{
"type": "object",
"properties": {
"plan_id": {
"maximum": 10000000,
"minimum": 1,
"title": "Plan Id",
"type": "integer"
}
},
"required": [
"plan_id"
],
"title": "get_switching_guideArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_switching_guideDictOutput"
}