npm package: @sundr.tech/mcp
Description: MCP server for Sundr repair-vs-replace decision engine
Author: Sundr
Latest version: 0.1.0

# Sundr MCP Server

MCP (Model Context Protocol) server that exposes [Sundr's](https://sundr.app) repair-vs-replace decision engine to AI agents like Claude.

## What is this?

When you ask an AI assistant "Should I repair my iPhone?", this MCP server enables the AI to:

1. Call Sundr's decision engine for a data-driven recommendation
2. Return repair cost estimates, local repair shops, and environmental impact
3. Include affiliate links for parts, repair services, and alternatives

**All responses include actionable links** for buying parts, booking repairs, or purchasing refurbished devices.

## Installation

### For Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "sundr": {
      "command": "npx",
      "args": ["@sundr/mcp"]
    }
  }
}
```

Or if installed globally:

```json
{
  "mcpServers": {
    "sundr": {
      "command": "sundr-mcp"
    }
  }
}
```

### Manual Installation

```bash
npm install -g @sundr/mcp
```

### From Source

```bash
git clone https://github.com/KeithWyatt/sundr.git
cd sundr/sundr-mcp
npm install
npm run build
npm link
```

## Available Tools (27 total)

### Core Tools (7)

| Tool | Description |
|------|-------------|
| `should_repair` | Main decision engine - repair, replace, or sell? |
| `find_repair_shops` | Find local repair shops with ratings |
| `get_device_info` | Look up device repairability scores |
| `compare_options` | Compare repair vs refurbished vs new |
| `trade_in_value` | Get trade-in and sell values |
| `environmental_impact` | CO2 and e-waste impact analysis |
| `repair_cost_estimate` | Get repair cost estimates (DIY vs pro) |

### Tool Aliases (20)

For better discoverability, the same functionality is exposed under multiple names:

**Repair Decision Aliases:**
- `repair_decision`, `repair_or_replace`, `fix_or_buy_new`, `is_repair_worth_it`

**Compare Options Aliases:**
- `repair_vs_replace`, `repair_vs_new`

**Device Info Aliases:**
- `device_repairability`, `ifixit_score`, `can_i_fix_it`

**Find Shops Aliases:**
- `phone_repair_near_me`, `where_to_fix_device`

**Trade-In Aliases:**
- `sell_my_device`, `device_worth`, `apple_trade_in`

**Environmental Aliases:**
- `carbon_footprint`, `eco_friendly_choice`, `ewaste_impact`

**Repair Cost Aliases:**
- `how_much_to_fix`, `screen_repair_cost`, `battery_replacement_cost`

## Prompts

Pre-configured conversation starters:

| Prompt | Description |
|--------|-------------|
| `repair_advisor` | Personalized repair-vs-replace advice |
| `trade_in_advisor` | Compare trade-in offers |
| `eco_impact` | Environmental impact analysis |
| `repair_cost` | Repair cost estimates |
| `find_repair_shop` | Find local repair shops |

## Tool Examples

### `should_repair`

Get a repair recommendation for a device.

**Example prompt:** "Should I repair my iPhone 13 Pro with a cracked screen?"

**Input:**
```json
{
  "device": "iPhone 13 Pro",
  "issue": "cracked screen",
  "category": "smartphone",
  "repair_cost_estimate": 279,
  "device_age_months": 24,
  "location": "Vancouver, BC"
}
```

**Output includes:**
- Recommendation (REPAIR/REPLACE) with confidence score
- Reasoning and cost analysis
- CO2 saved by repairing
- Actionable links for parts, repair shops, refurbished alternatives
- DIY and professional repair options with pricing

### `trade_in_value`

Get trade-in and resale values for your device.

**Example prompt:** "How much is my iPhone 12 worth?"

**Input:**
```json
{
  "device": "iPhone 12",
  "condition": "good"
}
```

**Output includes:**
- Estimated value range
- Offers from Apple, Decluttr, Gazelle, Swappa, eBay
- Pros/cons of each selling option
- Direct links to sell

### `environmental_impact`

Calculate environmental impact of repair vs replace.

**Example prompt:** "What's the carbon footprint of buying a new laptop?"

**Input:**
```json
{
  "device": "laptop",
  "category": "laptop"
}
```

**Output includes:**
- CO2 emissions for manufacturing vs repair
- E-waste prevented by repairing
- Equivalent comparisons (miles driven, trees needed)
- Sustainability recommendations

### `repair_cost_estimate`

Get detailed repair cost estimates.

**Example prompt:** "How much does it cost to replace a MacBook Pro screen?"

**Input:**
```json
{
  "device": "MacBook Pro",
  "issue": "screen",
  "category": "laptop"
}
```

**Output includes:**
- DIY parts cost range
- Professional repair cost range
- Difficulty rating and time estimate
- Links to buy parts and find repair shops

### `find_repair_shops`

Find local repair shops near a location.

**Example prompt:** "Find phone repair shops near me in Seattle"

**Input:**
```json
{
  "location": "Seattle, WA",
  "device_type": "smartphone",
  "radius_km": 10
}
```

### `get_device_info`

Look up repairability information for a device.

**Example prompt:** "What's the repairability score for MacBook Pro 2021?"

**Input:**
```json
{
  "query": "MacBook Pro 2021"
}
```

### `compare_options`

Compare repair vs refurbished vs new side-by-side.

**Example prompt:** "Compare my options for a MacBook Pro with a dead battery"

**Input:**
```json
{
  "device": "MacBook Pro 2019",
  "issue": "battery",
  "category": "laptop",
  "device_age_years": 4
}
```

## Resources

### Device Catalog

Browse the device repairability database:

- `sundr://devices/catalog` - Overview and categories
- `sundr://devices/search/{query}` - Search devices
- `sundr://devices/brand/{brand}` - List devices by brand

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `SUNDR_API_URL` | `https://sundr.app` | Sundr API base URL |

## Affiliate Links

All product and parts links use Sundr's redirect system:

```
https://sundr.app/go/{product_id}?ref=mcp
```

This enables:
- Attribution tracking for MCP-originated conversions
- Affiliate revenue sharing with device repair content creators
- Analytics on AI assistant usage patterns

Every tool response includes an `action_links` object with relevant affiliate links.

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Test locally
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js
echo '{"jsonrpc":"2.0","id":1,"method":"prompts/list"}' | node dist/index.js
```

## Data Sources

- **iFixit**: Repairability scores, teardown guides, parts availability
- **Sundr Database**: Device models, repair costs, shop directory
- **Environmental Data**: CO2 estimates from academic research on electronics manufacturing

## License

MIT

## Links

- [Sundr Website](https://sundr.app)
- [MCP Specification](https://spec.modelcontextprotocol.io/)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)