@striderlabs/mcp-rover
A Model Context Protocol (MCP) connector for Rover — the pet services marketplace. Enables AI assistants to search for pet sitters, manage bookings, communicate with sitters, and handle pet profiles through Rover's platform.
Features
- Search pet sitters by location, service type, and dates
- View detailed sitter profiles with reviews and pricing
- Browse available service types (boarding, walking, drop-in, etc.)
- Request bookings and manage existing ones
- Send and receive messages with sitters
- Manage pet profiles (add, update, list)
- Leave reviews for completed services
- View favorited sitters
Prerequisites
- Node.js 18+
- A Rover account at rover.com
- Playwright browsers installed
Installation
npm install @striderlabs/mcp-rover
# Install Playwright browsers (first time only)
npx playwright install chromium
MCP Configuration
Add to your MCP client configuration (e.g., Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"rover": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-rover"]
}
}
}
Or if installed globally:
{
"mcpServers": {
"rover": {
"command": "mcp-rover"
}
}
}
Available Tools
Authentication
login
Log in to your Rover account.
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Your Rover email | |
| password | string | Yes | Your Rover password |
Sitter Search
search_sitters
Search for pet sitters by location and service type.
| Parameter | Type | Required | Description |
|---|---|---|---|
| location | string | Yes | City, neighborhood, or zip code |
| serviceType | enum | Yes | boarding, house_sitting, drop_in, doggy_day_care, dog_walking |
| startDate | string | No | YYYY-MM-DD format |
| endDate | string | No | YYYY-MM-DD format |
| petCount | number | No | Number of pets |
| petSize | enum | No | small, medium, large, giant |
get_sitter_profile
Get detailed profile for a sitter including reviews and rates.
| Parameter | Type | Required | Description |
|---|---|---|---|
| sitterIdOrUrl | string | Yes | Sitter username or full Rover profile URL |
search_services
List all available service types in a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
| location | string | Yes | Location to search |
Bookings
request_booking
Send a booking request to a sitter. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| sitterId | string | Yes | Sitter ID or profile URL |
| serviceType | enum | Yes | Type of service |
| startDate | string | Yes | YYYY-MM-DD |
| endDate | string | Yes | YYYY-MM-DD |
| petIds | string[] | Yes | Array of pet IDs |
| message | string | No | Message to the sitter |
get_bookings
View all current and past bookings. Requires login.
Messaging
message_sitter
Send a message to a sitter. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| sitterId | string | Yes | Sitter ID or profile URL |
| message | string | Yes | Message text |
get_messages
Get message threads. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| sitterId | string | No | Filter to a specific sitter thread |
Pet Management
add_pet_profile
Add a new pet to your account. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Pet's name |
| species | enum | Yes | dog, cat, other |
| breed | string | No | Pet's breed |
| age | number | No | Age in years |
| weight | number | No | Weight in pounds |
| size | enum | No | small, medium, large, giant |
| temperament | string | No | Personality description |
| specialNeeds | string | No | Medical/care requirements |
| vaccinated | boolean | No | Vaccination status |
| spayedNeutered | boolean | No | Spayed/neutered status |
update_pet_profile
Update an existing pet profile. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| petId | string | Yes | Pet's Rover ID |
| ...fields | — | No | Any fields from add_pet_profile |
get_pets
List all pets on your account. Requires login.
Reviews & Favorites
leave_review
Leave a review for a completed service. Requires login.
| Parameter | Type | Required | Description |
|---|---|---|---|
| bookingId | string | Yes | Booking ID |
| rating | number | Yes | 1–5 stars |
| reviewText | string | Yes | Written review |
get_favorites
Get your list of favorited sitters. Requires login.
Usage Examples
# Search for dog boarders in Seattle for a week
search_sitters location="Seattle, WA" serviceType="boarding" startDate="2025-06-01" endDate="2025-06-07"
# View a sitter's full profile
get_sitter_profile sitterIdOrUrl="john-d"
# Book a sitter
request_booking sitterId="john-d" serviceType="boarding" startDate="2025-06-01" endDate="2025-06-07" petIds=["pet-123"] message="Hi! My dog Bella is friendly and loves to play."
# Send a message
message_sitter sitterId="john-d" message="Hi, is your place good for large dogs?"
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run dev
Architecture
src/index.ts— MCP server entry point. Defines all tools, handles request routing, formats responses.src/browser.ts— Playwright-based browser automation layer. Handles all interactions with rover.com.
The server uses stdio transport for MCP communication and launches a headless Chromium browser to interact with Rover's website.
Notes
- This connector uses browser automation to interact with Rover's website, as Rover does not provide a public API.
- Login credentials are only used for the current session and are never stored.
- Browser runs in headless mode by default.
License
MIT