npm package: @striderlabs/mcp-angi
Description: MCP server for Angi (formerly Angie's List) - let AI agents search home service providers, request quotes, book appointments, and manage home projects
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-angi

Angi (formerly Angie's List) home services connector for personal AI agents. Search for vetted service providers, request quotes, book appointments, track projects, and manage payments — all through natural language.

Built by [Strider Labs](https://striderlabs.ai).

## Features

- **Search providers** — Find plumbers, electricians, HVAC techs, general contractors, cleaners, and more by location
- **Provider profiles** — View ratings, reviews, years in business, and contact info
- **Request quotes** — Submit quote requests for home projects
- **Book appointments** — Schedule service appointments with providers
- **Message providers** — Send and receive messages with service pros
- **Project tracking** — View active and completed home projects
- **Payment management** — Review payment history and invoices
- **Booking history** — See all past and upcoming appointments

## Installation

```bash
npm install -g @striderlabs/mcp-angi
```

After installing, set up Playwright's browser binaries:

```bash
npx patchright install chromium
```

## MCP Client Configuration

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "angi": {
      "command": "striderlabs-mcp-angi"
    }
  }
}
```

### Generic MCP Client

```json
{
  "mcpServers": {
    "angi": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-angi"]
    }
  }
}
```

## Tool Reference

| Tool | Description |
|------|-------------|
| `angi_status` | Check login status and session info |
| `angi_login` | Open Angi login page to authenticate |
| `angi_logout` | Log out and clear session data |
| `angi_search_providers` | Search for home service providers by type and location |
| `angi_provider_profile` | Get provider profile, ratings, and reviews |
| `angi_request_quote` | Request a quote for a home project |
| `angi_book_appointment` | Book an appointment with a provider |
| `angi_get_messages` | Retrieve messages from your Angi inbox |
| `angi_send_message` | Send a message to a provider |
| `angi_get_projects` | View active and completed home projects |
| `angi_payment_history` | View payment history and invoices |
| `angi_booking_history` | View past and upcoming appointments |

## Usage Examples

### Find a plumber

> "Find me highly-rated plumbers in Denver, CO"

The agent will call `angi_search_providers` with `service_type: "plumber"` and `location: "Denver, CO"`.

### Get provider details

> "Show me reviews for this plumber: /pro/acme-plumbing-123/"

The agent will call `angi_provider_profile` with the URL.

### Request a quote

> "Request quotes for bathroom tile installation in zip code 80203"

The agent will call `angi_request_quote` with your project details.

### Book an appointment

> "Book a house cleaning appointment for next Saturday morning"

The agent will call `angi_book_appointment` with your preferred date and time.

### Check your projects

> "What home projects do I have going on right now?"

The agent will call `angi_get_projects`.

## Authentication Flow

Angi uses browser-based authentication:

1. Call `angi_login` — the MCP server opens Angi's login page in a headless browser
2. Complete login manually (Angi may require email/password or Google sign-in)
3. Call `angi_status` to confirm you're logged in
4. Your session is saved to `~/.strider/angi/` and reused automatically in future sessions

## Session Storage

```
~/.strider/angi/
├── cookies.json    # Browser cookies (auto-managed)
└── session.json    # Session metadata
```

## Technical Details

- Uses [Patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright) (Playwright with stealth patches) for browser automation
- Headless Chrome — no visible browser window
- Cookie persistence for seamless re-authentication
- Graceful cleanup on server shutdown

## Limitations

- Requires manual login (Angi does not provide a public API)
- UI scraping may break if Angi updates their website layout
- Some features (booking, messaging) require an active Angi account

## Troubleshooting

**"Not logged in" errors**
Run `angi_login`, complete login in the browser, then call `angi_status`.

**"Browser failed to launch"**
Ensure Playwright browsers are installed: `npx patchright install chromium`

**Empty search results**
Try a more specific service type or verify the location format (city, state or zip code).

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run directly
npm start
```