Macfax
Used-Mac market: quality-gated listings with deep links, asking-price stats, trust checks, alerts.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin check_mac_listing
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"macfax": {
"url": "https://macfax.com/mcp"
}
}
}Remote endpoints
https://macfax.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢lookup_mac_serial(serial)
Resolve a Mac serial number to its exact model, including 2021+ randomized serials whose characters encode nothing (so no character-decoder can read them). Also returns what that model is worth (the market block: sale estimate and asking band per configuration) and whether a verified Macfax report exists for the serial. Lookup is advisory and cannot verify condition, Activation Lock, or possession; a Macfax report can.
Input Schema
{
"type": "object",
"properties": {
"serial": {
"type": "string",
"description": "The Mac's serial number: 10 characters on 2021+ Macs (a letter first, never a vowel), 11-12 on older ones."
}
},
"required": [
"serial"
]
}🟢get_mac_price_stats(config)
What a used Mac configuration actually sells for AND what sellers are asking right now. The sold slice is the headline: verified-sale percentiles when the config has enough recent sales (sold.basis 'direct'; n and window ride along), else the asking band scaled by a measured clearance ratio (sold.basis 'calibrated', ratio disclosed). The asking band (median/p25/p75 with sample size), per-channel medians with net-to-seller after fees, launch MSRP retention and Apple trade-in floor ride along as seller guidance. Use the sold estimate as the price of the Mac; use asking to set a list price. The slices are separate and never blended — preserve the basis label when quoting.
Input Schema
{
"type": "object",
"properties": {
"config": {
"type": "string",
"description": "Macfax config key: family[-screen]-chip-year, optionally -RAMgb-STORAGEgb. Examples: macbook-pro-14-m3pro-2023, mac-studio-m2ultra-2023-192gb-1024gb."
}
},
"required": [
"config"
]
}🟢get_mac_market_value(model)
What a used Mac is worth, from the name Apple gives the model, e.g. "MacBook Pro (14-inch, 2021)" or "MacBook Air (13-inch, M4, 2025)". Returns every Apple Silicon configuration the name can mean, each with its sale estimate (verified sales, or the asking band scaled by a measured clearance ratio; basis labeled) and its live asking band, plus an estimate across them: a single mid when the name pins one configuration, a low-to-high range when Apple's name leaves the chip open. Apple Silicon Macs only. Use the sale estimate as the price of the Mac; asking is seller guidance.
Input Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "The Mac's model name as Apple writes it, with a chip or a year: \"MacBook Pro (14-inch, M3 Pro or M3 Max, Nov 2023)\", \"Mac mini (2023) with M2 Pro\", \"iMac (24-inch, M1, 2021)\"."
}
},
"required": [
"model"
]
}🟢search_mac_listings(config, family, chip_tier, year, ram_gb, ...)
Live used-Mac listings aggregated across eBay, Craigslist, OfferUp, Swappa, Facebook and Reddit, with scam clusters, junk titles, classified-ad bait, auctions and stale/sold rows already filtered out. Every result deep-links to the source listing where the purchase happens. Filter by configuration, family, chip, RAM, storage, price ceiling, and verified-report tier.
Input Schema
{
"type": "object",
"properties": {
"config": {
"type": "string",
"description": "Macfax config key: family[-screen]-chip-year, optionally -RAMgb-STORAGEgb. Examples: macbook-pro-14-m3pro-2023, mac-studio-m2ultra-2023-192gb-1024gb. The year may be omitted when the rest pins one build: mac-studio-m3ultra resolves to mac-studio-m3ultra-2025."
},
"family": {
"type": "string",
"enum": [
"macbook-pro",
"macbook-air",
"mac-studio",
"mac-mini",
"mac-pro",
"imac",
"imac-pro"
],
"description": "Coarse browse by product family."
},
"chip_tier": {
"type": "string",
"description": "e.g. m3, m3pro, m4max, m3ultra"
},
"year": {
"type": "integer"
},
"ram_gb": {
"type": "integer"
},
"storage_gb": {
"type": "integer"
},
"max_price_usd": {
"type": "integer"
},
"min_tier": {
"type": "string",
"enum": [
"listed",
"free",
"premium"
],
"description": "free/premium = only listings with a verified Macfax report attached."
},
"sort": {
"type": "string",
"enum": [
"fresh",
"price_asc",
"price_desc"
]
},
"limit": {
"type": "integer",
"maximum": 50,
"default": 12
}
}
}🟢check_mac_listing(url, id)
The trust picture for one specific listing, by URL (eBay/Craigslist/OfferUp/Swappa/Facebook/Reddit) or Macfax listing id: whether Macfax knows it, whether it still passes every quality gate, scam/junk/classified/auction flags, when a scan last verified it live, its ask against the configuration's typical asking band, the platform's own seller-reputation figures where the marketplace has them (seller_signals: eBay feedback, Swappa rating; null elsewhere), and whether a verified Macfax report is attached. Facts, not verdicts.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The listing's URL on the source marketplace."
},
"id": {
"type": "string",
"description": "A Macfax listing id (from search results)."
}
}
}🟢get_mac_report(report_id)
A verified Macfax condition report as structured data: hardware-verified identity, Activation Lock / MDM / serial-match checks, coverage status, and the signing chain. Use when a listing or seller shares a macfax.com/r/ link and the buyer wants the facts behind it. status "superseded" means the same Mac was re-verified more recently under a newer report; treat the payload as historical state, not current.
Input Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"description": "The 8-character report id from a macfax.com/r/<id> URL."
}
},
"required": [
"report_id"
]
}🟡create_mac_alert(email, config, ram_gb, storage_gb, max_price_usd, ...)
Watch the market for a configuration: Macfax emails the given address when new matching listings appear. CONSENT CONTRACT: create an alert only for a user who explicitly asked for this alert on this email address. The first alert for a new email stays inactive until the email's owner clicks the confirmation link Macfax sends; nothing is emailed before that, and every alert email carries manage and unsubscribe links.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The user's own email address. Confirmation is required before anything sends."
},
"config": {
"type": "string",
"description": "Macfax config key: family[-screen]-chip-year, optionally -RAMgb-STORAGEgb. Examples: macbook-pro-14-m3pro-2023, mac-studio-m2ultra-2023-192gb-1024gb."
},
"ram_gb": {
"type": "integer"
},
"storage_gb": {
"type": "integer"
},
"max_price_usd": {
"type": "integer",
"description": "Only alert under this asking price."
},
"min_tier": {
"type": "string",
"enum": [
"listed",
"free",
"premium"
]
},
"under_typical": {
"type": "boolean",
"description": "Only listings under the configuration's typical asking range."
}
},
"required": [
"email",
"config"
]
}🟢get_macfax_credit_balance
How many serial resolutions this API key has left, and what actually costs a credit. Only a brand new resolution is billed: a 2021+ (10 character) serial Macfax has never resolved and that this key has not looked up in the last 24 hours. Cached serials, pre-2021 serials, repeats within 24 hours and every other tool are free at every tier. Call this before a large batch of serials to find out whether it can be finished. Without a key it reports the anonymous allowance instead.
Input Schema
{
"type": "object",
"properties": {}
}Community
Evidence